/* Donegal Novels — a literary publishing lane distinct from Storybooks. */

.novels-page {
  background: #09111b;
}

.novels-page .site-header:not(.scrolled) {
  background: linear-gradient(180deg,rgba(5,11,18,.72),transparent);
}

.novels-river-lines {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.novels-river-lines::before,
.novels-river-lines::after {
  content: "";
  position: absolute;
  width: 115%;
  height: 42%;
  left: -8%;
  bottom: 2%;
  border: 1px solid rgba(216,189,120,.12);
  border-radius: 50%;
  transform: rotate(-5deg);
}

.novels-river-lines::after {
  bottom: -8%;
  border-color: rgba(141,166,188,.1);
  transform: rotate(3deg);
}

.novels-hero {
  position: relative;
  min-height: 880px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 24%,rgba(216,189,120,.15),transparent 24%),
    radial-gradient(circle at 12% 80%,rgba(41,76,109,.32),transparent 32%),
    linear-gradient(145deg,#07101a 0%,#102039 58%,#080e16 100%);
}

.novels-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .14;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom,#000,transparent 92%);
}

.novels-hero-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.02fr) minmax(430px,.98fr);
  gap: 58px;
  align-items: center;
  padding: 155px 0 92px;
}

.novels-hero-copy {
  max-width: 690px;
}

.novels-hero-copy h1 {
  margin: .55rem 0 1.25rem;
  font-size: clamp(4.2rem,7vw,7.1rem);
}

.novels-hero-copy h1 em {
  color: var(--gold-soft);
  font-weight: inherit;
}

.novels-hero-copy .lead {
  max-width: 670px;
  font-size: clamp(1.08rem,1.55vw,1.3rem);
}

.novel-audience-line,
.novel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.novel-audience-line {
  margin-top: 26px;
}

.novel-audience-line > *,
.novel-meta span {
  padding: 7px 10px;
  border: 1px solid rgba(216,189,120,.19);
  border-radius: 999px;
  color: #bec9d5;
  background: rgba(255,255,255,.035);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.novel-audience-line strong {
  color: #172019;
  background: var(--gold-soft);
  border-color: var(--gold-soft);
}

.novel-clarifier {
  max-width: 620px;
  margin: 30px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #9facb9;
  font-size: .78rem;
}

.novel-cover-pair {
  position: relative;
  min-height: 660px;
}

.novel-cover-frame {
  position: absolute;
  display: block;
  width: min(310px,61%);
  padding: 10px;
  border: 1px solid rgba(216,189,120,.22);
  border-radius: 12px;
  background: rgba(8,14,21,.86);
  box-shadow: 0 34px 76px rgba(0,0,0,.48);
  transition: transform .25s ease,border-color .25s ease;
}

.novel-cover-frame:hover {
  border-color: rgba(216,189,120,.68);
}

.novel-cover-frame img {
  width: 100%;
  aspect-ratio: .64;
  object-fit: cover;
  border-radius: 6px;
}

.novel-cover-frame > span {
  position: absolute;
  z-index: 2;
  top: 22px;
  left: -14px;
  padding: 7px 12px;
  color: #151a18;
  border-radius: 999px;
  background: var(--gold-soft);
  box-shadow: 0 10px 26px rgba(0,0,0,.25);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.novel-cover-frame.huck {
  z-index: 1;
  left: 0;
  bottom: 24px;
  transform: rotate(-3deg);
}

.novel-cover-frame.huck:hover {
  transform: rotate(-3deg) translateY(-8px);
}

.novel-cover-frame.anastasia {
  z-index: 2;
  right: 0;
  top: 0;
  transform: rotate(2.5deg);
}

.novel-cover-frame.anastasia:hover {
  transform: rotate(2.5deg) translateY(-8px);
}

.novel-release-band {
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #080d14;
}

.novel-release-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
}

.novel-release-grid > div {
  min-height: 126px;
  display: grid;
  align-content: center;
  padding: 24px 34px;
  border-left: 1px solid rgba(255,255,255,.08);
}

.novel-release-grid > div:first-child {
  border-left: 0;
}

.novel-release-grid strong {
  color: var(--gold-soft);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.45rem;
  font-weight: 500;
}

.novel-release-grid span {
  margin-top: 3px;
  color: #929eaa;
  font-size: .72rem;
}

.finn-dynasty-section {
  color: #172c28;
  background:
    radial-gradient(circle at 4% 8%,rgba(183,146,58,.09),transparent 23%),
    #f2ede2;
}

.novel-section-head .lead {
  color: #66746d;
}

.finn-dynasty-section .eyebrow,
.reading-lanes-section .eyebrow,
.novel-elements-section .eyebrow {
  color: #8a692d;
}

.novel-release-grid-cards {
  display: grid;
  gap: 28px;
}

.novel-release-card {
  display: grid;
  grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr);
  gap: 0;
  overflow: hidden;
  min-height: 585px;
  border: 1px solid #d7d3c7;
  border-radius: 24px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 26px 64px rgba(21,41,35,.08);
}

.novel-release-card.reverse {
  grid-template-columns: minmax(0,1.28fr) minmax(260px,.72fr);
}

.novel-release-card.reverse .novel-release-cover {
  order: 2;
}

.novel-release-cover {
  position: relative;
  display: grid;
  place-items: center;
  padding: 48px 38px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 34%,rgba(216,189,120,.2),transparent 33%),
    linear-gradient(145deg,#0a1420,#142b43);
}

.novel-release-cover::before {
  content: "";
  position: absolute;
  width: 310px;
  aspect-ratio: 1;
  border: 1px solid rgba(216,189,120,.13);
  border-radius: 50%;
}

.novel-release-cover img {
  position: relative;
  z-index: 1;
  width: min(285px,82%);
  border-radius: 5px;
  box-shadow: 0 28px 60px rgba(0,0,0,.46);
  transition: transform .25s ease;
}

.novel-release-cover:hover img {
  transform: translateY(-6px) scale(1.01);
}

.novel-release-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(36px,5vw,78px);
}

.novel-book-number {
  color: #8a692d;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.novel-release-copy h3 {
  max-width: 690px;
  margin: 16px 0 22px;
  color: #182d29;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.35rem,4vw,4.4rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.035em;
}

.novel-release-copy h3 em {
  display: block;
  margin-top: 8px;
  color: #7e6228;
  font-size: .53em;
  font-weight: inherit;
}

.novel-release-copy > p {
  max-width: 720px;
  margin: 0;
  color: #5d6d66;
  font-size: 1rem;
}

.novel-release-copy .novel-meta {
  margin-top: 24px;
}

.novel-release-copy .novel-meta span {
  color: #31564c;
  border-color: rgba(49,86,76,.18);
  background: rgba(49,86,76,.04);
}

.novel-release-copy .button-row {
  align-items: center;
}

.novel-text-link {
  color: #74591f;
  font-size: .83rem;
  font-weight: 800;
}

.novel-text-link:hover {
  color: #1d443a;
}

.novel-connection-section {
  background:
    radial-gradient(circle at 80% 20%,rgba(216,189,120,.11),transparent 28%),
    #0c1724;
}

.novel-connection-layout,
.novel-story-layout {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(360px,1.08fr);
  gap: 72px;
  align-items: start;
}

.novel-connection-copy {
  padding: 12px 0 0 34px;
  border-left: 1px solid rgba(216,189,120,.29);
}

.novel-connection-copy p {
  margin: 0 0 18px;
  color: #bac4ce;
  font-size: 1rem;
}

.novel-connection-copy strong {
  color: var(--gold-soft);
}

.reading-lanes-section {
  color: #172c28;
  background: #e7dcc0;
}

.reading-lanes {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 16px;
}

.reading-lane {
  position: relative;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 38px;
  border-radius: 22px;
  transition: transform .22s ease,box-shadow .22s ease;
}

.reading-lane:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 58px rgba(22,43,37,.16);
}

.reading-lane::before {
  content: "";
  position: absolute;
  width: 360px;
  aspect-ratio: 1;
  right: -120px;
  top: -150px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .14;
}

.reading-lane > * {
  position: relative;
  z-index: 1;
}

.reading-lane > span {
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.reading-lane h3 {
  margin: 6px 0 8px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.6rem,5vw,4.8rem);
  font-weight: 500;
  line-height: 1;
}

.reading-lane p {
  max-width: 460px;
  margin: 0 0 26px;
}

.reading-lane strong {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.novels-lane {
  color: #f4f0e8;
  background: linear-gradient(145deg,#0c1724,#18334b);
}

.novels-lane > span,
.novels-lane strong {
  color: var(--gold-soft);
}

.storybooks-lane {
  color: #193d36;
  background:
    linear-gradient(180deg,rgba(232,218,182,.65),rgba(218,194,141,.92)),
    url("../images/storybooks-hero.png") center/cover;
}

.storybooks-lane > span,
.storybooks-lane strong {
  color: #765a22;
}

.novel-cta,
.novel-next {
  background:
    radial-gradient(circle at 10% 10%,rgba(216,189,120,.11),transparent 27%),
    #07101a;
}

.novel-cta-layout,
.novel-next-layout {
  min-height: 380px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 50px;
  align-items: center;
}

.novel-cta h2,
.novel-next h2 {
  margin: 9px 0 13px;
  font-size: clamp(3rem,6vw,6rem);
}

.novel-cta p,
.novel-next p {
  margin: 0;
  color: #9facb8;
}

/* Homepage novel launch. */
.home-novels-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 35%,rgba(216,189,120,.12),transparent 25%),
    linear-gradient(145deg,#07101a,#12253c 60%,#080e16);
}

.home-novels-section::after {
  content: "";
  position: absolute;
  width: 820px;
  aspect-ratio: 1;
  left: -250px;
  bottom: -660px;
  border: 1px solid rgba(216,189,120,.12);
  border-radius: 50%;
}

.home-novels-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(390px,.92fr) minmax(0,1.08fr);
  gap: 76px;
  align-items: center;
}

.home-novel-covers {
  position: relative;
  min-height: 590px;
}

.home-novel-covers::before {
  content: "";
  position: absolute;
  width: 430px;
  aspect-ratio: 1;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(216,189,120,.15);
  border-radius: 50%;
  transform: translate(-50%,-50%);
}

.home-novel-cover {
  position: absolute;
  width: min(280px,57%);
  border: 8px solid #101923;
  border-radius: 7px;
  box-shadow: 0 32px 68px rgba(0,0,0,.52);
}

.home-novel-cover.huck {
  z-index: 1;
  left: 3%;
  bottom: 12px;
  transform: rotate(-4deg);
}

.home-novel-cover.anastasia {
  z-index: 2;
  right: 2%;
  top: 3px;
  transform: rotate(3deg);
}

.home-novel-release-badge {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 48%;
  padding: 8px 13px;
  color: #171c19;
  border-radius: 999px;
  background: var(--gold-soft);
  box-shadow: 0 12px 30px rgba(0,0,0,.3);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: translate(-50%,-50%);
  white-space: nowrap;
}

.home-novels-copy .section-title {
  max-width: 720px;
  margin-bottom: 1rem;
}

.home-novels-copy .section-title em {
  color: var(--gold-soft);
  font-weight: inherit;
}

.home-novels-copy .lead {
  max-width: 680px;
}

.home-novels-note {
  max-width: 650px;
  margin: 25px 0 0;
  padding: 17px 0 0 18px;
  color: #aeb9c5;
  border-top: 1px solid rgba(255,255,255,.1);
  border-left: 2px solid rgba(216,189,120,.55);
  font-size: .82rem;
}

.home-novels-note strong {
  color: var(--gold-soft);
}

.home-dynasty-forward {
  max-width: 650px;
  margin: 18px 0 0;
  color: #c3ccd6;
  font-size: .87rem;
  line-height: 1.65;
}

.home-dynasty-forward strong,
.home-dynasty-forward em {
  color: var(--gold-soft);
}

.home-dynasty-forward em {
  font-family: Georgia,"Times New Roman",serif;
}

.hero-note a {
  color: var(--gold-soft);
  font-weight: 750;
}

.hero-note a:hover {
  color: #fff;
}

.world-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: auto;
  padding-top: 20px;
}

.world-card-actions a {
  color: var(--gold-soft);
  font-size: .8rem;
  font-weight: 800;
}

.world-card-actions a:hover {
  color: #fff;
}

.storybook-novel-bridge {
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #0d171f;
}

.storybook-novel-bridge .shell {
  min-height: 104px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding-block: 22px;
}

.storybook-novel-bridge p {
  margin: 0;
  color: #b8c2cc;
  font-size: .9rem;
}

.storybook-novel-bridge strong {
  color: #fff;
}

.storybook-novel-bridge a {
  flex: 0 0 auto;
  color: var(--gold-soft);
  font-size: .77rem;
  font-weight: 850;
}

/* Individual novel pages. */
.novel-detail-hero {
  position: relative;
  min-height: 900px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 28%,rgba(216,189,120,.12),transparent 25%),
    linear-gradient(145deg,#07101a,#12253c 58%,#080e16);
}

.anastasia-detail {
  background:
    radial-gradient(circle at 18% 28%,rgba(216,189,120,.14),transparent 25%),
    radial-gradient(circle at 84% 76%,rgba(45,85,91,.28),transparent 29%),
    linear-gradient(145deg,#08111c,#152d45 58%,#080e16);
}

.novel-detail-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr);
  gap: clamp(50px,8vw,110px);
  align-items: center;
  padding: 145px 0 86px;
}

.novel-detail-cover {
  position: relative;
  justify-self: center;
  width: min(390px,100%);
  padding: 11px;
  border: 1px solid rgba(216,189,120,.25);
  border-radius: 10px;
  background: rgba(7,13,20,.82);
  box-shadow: 0 36px 82px rgba(0,0,0,.5);
  transform: rotate(-1.3deg);
}

.anastasia-detail .novel-detail-cover {
  transform: rotate(1.2deg);
}

.novel-detail-cover img {
  width: 100%;
  border-radius: 5px;
}

.novel-detail-cover span {
  position: absolute;
  left: 50%;
  bottom: -16px;
  padding: 8px 14px;
  color: #121a17;
  border-radius: 999px;
  background: var(--gold-soft);
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
}

.novel-detail-copy {
  max-width: 760px;
}

.novel-back-link {
  display: inline-block;
  margin-bottom: 24px;
  color: #a9b5c1;
  font-size: .73rem;
  font-weight: 750;
}

.novel-back-link:hover {
  color: var(--gold-soft);
}

.novel-detail-copy h1 {
  margin: 16px 0 13px;
  font-size: clamp(3.4rem,6.5vw,6.8rem);
}

.novel-detail-copy h1 em {
  color: var(--gold-soft);
  font-weight: inherit;
}

.novel-detail-subtitle {
  margin: 0 0 26px;
  color: var(--gold-soft);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.5rem,2.5vw,2.25rem);
  font-style: italic;
}

.novel-credit {
  margin: 24px 0 0;
  color: #e2e6eb;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.detail-meta {
  margin-top: 25px;
}

.purchase-note {
  margin: 18px 0 0;
  color: #8f9ca9;
  font-size: .71rem;
}

.novel-format-actions {
  gap: 10px;
}

.novel-format-actions .btn {
  min-height: 46px;
  padding-inline: 18px;
  font-size: .8rem;
}

.novel-story-section {
  color: #1b302c;
  background: #f1ece1;
}

.novel-story-section .eyebrow {
  color: #8a692d;
}

.novel-story-copy {
  padding-left: 36px;
  border-left: 1px solid rgba(71,91,82,.23);
}

.novel-story-copy p {
  margin: 0 0 20px;
  color: #566760;
}

.novel-story-copy .lead {
  color: #294d43;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.35rem,2vw,1.85rem);
  line-height: 1.42;
}

.novel-elements-section {
  color: #192f2a;
  background: #e5d9bb;
}

.novel-elements-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
}

.novel-elements-grid article {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(48,76,67,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
}

.novel-elements-grid article > span {
  color: #9a762f;
  font-family: Georgia,"Times New Roman",serif;
}

.novel-elements-grid h3 {
  margin: auto 0 10px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.75rem;
  font-weight: 500;
}

.novel-elements-grid p {
  margin: 0;
  color: #5d6e66;
  font-size: .87rem;
}

.novel-proper-callout {
  color: #f1ece2;
  background: #132a3a;
}

.novel-proper-layout {
  min-height: 220px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 34px;
  align-items: center;
}

.novel-proper-layout > strong {
  color: var(--gold-soft);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 2rem;
  font-weight: 500;
}

.novel-proper-layout p {
  margin: 0;
  color: #c4cdd6;
}

.novel-proper-layout a {
  color: var(--gold-soft);
  font-size: .75rem;
  font-weight: 850;
}

.novel-edition-band {
  color: #e8ecef;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: #09111a;
}

.novel-edition-layout {
  display: grid;
  grid-template-columns: repeat(4,1fr);
}

.novel-edition-layout > div {
  min-height: 120px;
  display: grid;
  align-content: center;
  padding: 23px;
  border-left: 1px solid rgba(255,255,255,.08);
}

.novel-edition-layout > div:first-child {
  border-left: 0;
}

.novel-edition-layout span {
  color: #82909e;
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.novel-edition-layout strong {
  margin-top: 5px;
  color: #e7d6a7;
  font-size: .82rem;
}

.novel-source-note {
  padding: 24px 0;
  color: #7d8995;
  background: #070d13;
  font-size: .68rem;
}

/* The next current in The Finn Dynasty. */
.dynasty-future-section {
  position: relative;
  overflow: hidden;
  padding: clamp(90px,10vw,150px) 0;
  border-top: 1px solid rgba(216,189,120,.12);
  border-bottom: 1px solid rgba(216,189,120,.12);
  background:
    radial-gradient(circle at 75% 24%,rgba(216,189,120,.15),transparent 26%),
    radial-gradient(circle at 12% 82%,rgba(41,76,109,.34),transparent 32%),
    linear-gradient(145deg,#060d15 0%,#10223a 58%,#070d14 100%);
}

.dynasty-future-section::before,
.dynasty-future-section::after {
  content: "";
  position: absolute;
  width: 95%;
  height: 42%;
  left: -8%;
  bottom: -21%;
  border: 1px solid rgba(216,189,120,.12);
  border-radius: 50%;
  transform: rotate(-4deg);
}

.dynasty-future-section::after {
  left: 20%;
  bottom: -29%;
  border-color: rgba(141,166,188,.1);
  transform: rotate(4deg);
}

.dynasty-future-panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(190px,.38fr) minmax(0,1.04fr) minmax(300px,.78fr);
  gap: clamp(30px,5vw,72px);
  align-items: center;
  padding: clamp(34px,5vw,72px);
  border: 1px solid rgba(216,189,120,.2);
  border-radius: 28px;
  background: rgba(6,12,19,.58);
  box-shadow: 0 36px 90px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}

.dynasty-future-roman,
.dynasty-next-numeral {
  color: transparent;
  font-family: Georgia,"Times New Roman",serif;
  -webkit-text-stroke: 1px rgba(216,189,120,.62);
  text-shadow: 0 0 45px rgba(216,189,120,.09);
}

.dynasty-future-roman {
  justify-self: center;
  font-size: clamp(9rem,17vw,16rem);
  line-height: .72;
  letter-spacing: -.14em;
}

.dynasty-future-copy h2 {
  max-width: 720px;
  margin: 13px 0 23px;
  font-size: clamp(3rem,5.8vw,6.2rem);
}

.dynasty-future-copy > p {
  max-width: 660px;
  margin: 0 0 16px;
  color: #aeb9c5;
}

.dynasty-future-copy .dynasty-future-promise {
  color: #e4d7b6;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.3rem,2vw,1.75rem);
  line-height: 1.45;
}

.dynasty-next-book {
  padding: 30px 0 30px 34px;
  border-left: 1px solid rgba(216,189,120,.28);
}

.dynasty-next-book > span {
  color: #9aa8b6;
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.dynasty-next-book h3 {
  margin: 13px 0 18px;
  color: #f1eee7;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.2rem,3.7vw,4rem);
  font-weight: 500;
  line-height: .98;
}

.dynasty-next-book h3 em {
  display: block;
  color: var(--gold-soft);
  font-weight: inherit;
}

.dynasty-next-book p {
  margin: 0 0 24px;
  color: #aab5c1;
  font-size: .86rem;
}

.dynasty-next-book strong,
.dynasty-next-strip-layout > strong {
  display: inline-flex;
  padding: 8px 12px;
  color: #172019;
  border-radius: 999px;
  background: var(--gold-soft);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.dynasty-future-invitation {
  grid-column: 2 / 4;
  margin: -8px 0 0;
  padding-top: 22px;
  color: #d5dce3;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: .9rem;
}

/* A first look at the forthcoming adult romance line. */
.fenner-preview-section {
  position: relative;
  overflow: hidden;
  padding: clamp(100px,11vw,165px) 0;
  color: #f6eeeb;
  border-bottom: 1px solid rgba(224,180,155,.15);
  background:
    radial-gradient(circle at 17% 18%,rgba(189,105,104,.2),transparent 28%),
    radial-gradient(circle at 86% 74%,rgba(216,189,120,.11),transparent 26%),
    linear-gradient(138deg,#120c13 0%,#321521 52%,#130c12 100%);
}

.fenner-preview-section::before {
  content: "F";
  position: absolute;
  right: -1vw;
  top: -15vw;
  color: transparent;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(31rem,58vw,62rem);
  line-height: 1;
  -webkit-text-stroke: 1px rgba(233,204,180,.055);
  pointer-events: none;
}

.fenner-preview-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.68fr);
  gap: clamp(42px,7vw,104px);
  align-items: center;
}

.fenner-preview-copy {
  max-width: 830px;
}

.fenner-preview-section .eyebrow {
  color: #dcbfa5;
}

.fenner-family-name {
  margin: 30px 0 0;
  color: #d69b98;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.fenner-preview-copy h2 {
  max-width: 820px;
  margin: 12px 0 30px;
  font-size: clamp(3.8rem,7vw,7.6rem);
  line-height: .91;
}

.fenner-preview-copy h2 em {
  display: block;
  color: #e0b990;
  font-weight: inherit;
}

.fenner-preview-lead {
  max-width: 720px;
  margin: 0 0 21px;
  color: #f0dcd5;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.35rem,2.25vw,2rem);
  line-height: 1.42;
}

.fenner-preview-copy > p:not(.fenner-family-name):not(.fenner-preview-lead) {
  max-width: 710px;
  margin: 0;
  color: #c8b9ba;
}

.fenner-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 30px;
}

.fenner-preview-meta span {
  padding: 8px 11px;
  color: #e9d5cd;
  border: 1px solid rgba(224,185,144,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .095em;
  text-transform: uppercase;
}

.fenner-volume-shelf {
  position: relative;
  min-height: 520px;
  display: grid;
  grid-template-columns: repeat(5,1fr);
  gap: 9px;
  align-items: end;
  padding: 48px 34px 58px;
  border: 1px solid rgba(229,195,171,.18);
  border-radius: 190px 190px 24px 24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 55%),
    rgba(9,7,11,.28);
  box-shadow: 0 34px 86px rgba(0,0,0,.31);
}

.fenner-volume-shelf::after {
  content: "";
  position: absolute;
  right: 21px;
  bottom: 42px;
  left: 21px;
  height: 9px;
  border: 1px solid rgba(224,185,144,.31);
  border-radius: 999px;
  background: linear-gradient(90deg,#6d3a3f,#d0a777 48%,#6d3a3f);
  box-shadow: 0 11px 22px rgba(0,0,0,.4);
}

.fenner-volume {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(236,206,183,.24);
  border-radius: 5px 5px 2px 2px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.075),transparent 19%,transparent 81%,rgba(0,0,0,.17)),
    linear-gradient(180deg,#783e48,#3d1b28);
  box-shadow: 8px 18px 28px rgba(0,0,0,.25);
}

.fenner-volume b {
  color: #e5c399;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.3rem,2.6vw,2.25rem);
  font-weight: 400;
}

.volume-one { height: 64%; }
.volume-two { height: 77%; }
.volume-three { height: 90%; }
.volume-four { height: 75%; }
.volume-five { height: 68%; }

.fenner-preview-promise {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 24px;
  align-items: center;
  margin-top: -18px;
  padding-top: 28px;
  border-top: 1px solid rgba(229,195,171,.16);
}

.fenner-preview-promise strong {
  display: inline-flex;
  padding: 9px 13px;
  color: #26151a;
  border-radius: 999px;
  background: #dfb78e;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.fenner-preview-promise p {
  max-width: 900px;
  margin: 0;
  color: #d8c6c1;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.05rem,1.8vw,1.45rem);
}

.dynasty-next-strip {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(216,189,120,.14);
  background:
    radial-gradient(circle at 82% 20%,rgba(216,189,120,.12),transparent 25%),
    linear-gradient(135deg,#0d1927,#071019);
}

.dynasty-next-strip-layout {
  min-height: 280px;
  display: grid;
  grid-template-columns: 140px minmax(0,1fr) auto;
  gap: 38px;
  align-items: center;
}

.dynasty-next-numeral {
  font-size: 7.5rem;
  line-height: 1;
  letter-spacing: -.14em;
}

.dynasty-next-strip h2 {
  margin: 7px 0 10px;
  color: #f0ede6;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(2.15rem,4vw,4rem);
  font-weight: 500;
  line-height: 1;
}

.dynasty-next-strip h2 em {
  color: var(--gold-soft);
  font-weight: inherit;
}

.dynasty-next-strip p {
  max-width: 660px;
  margin: 0;
  color: #a5b1bd;
}

@media (max-width: 1040px) {
  .novels-hero-layout {
    grid-template-columns: minmax(0,1fr) minmax(360px,.8fr);
    gap: 35px;
  }
  .novel-cover-pair {
    min-height: 585px;
  }
  .home-novels-layout {
    grid-template-columns: minmax(350px,.85fr) minmax(0,1.15fr);
    gap: 40px;
  }
  .dynasty-future-panel {
    grid-template-columns: 150px minmax(0,1fr);
  }
  .dynasty-next-book {
    grid-column: 2;
  }
  .dynasty-future-invitation {
    grid-column: 2;
  }
  .fenner-preview-layout {
    grid-template-columns: minmax(0,1fr) minmax(280px,.55fr);
    gap: 45px;
  }
  .fenner-volume-shelf {
    min-height: 450px;
    padding-inline: 24px;
  }
}

@media (max-width: 900px) {
  .novels-hero {
    min-height: auto;
  }
  .novels-hero-layout,
  .novel-detail-layout,
  .home-novels-layout {
    grid-template-columns: 1fr;
  }
  .novels-hero-layout {
    padding-top: 135px;
  }
  .novel-cover-pair {
    width: min(640px,100%);
    min-height: 650px;
    margin: 20px auto 0;
  }
  .novel-release-card,
  .novel-release-card.reverse {
    grid-template-columns: minmax(245px,.72fr) minmax(0,1.28fr);
  }
  .novel-release-card.reverse .novel-release-cover {
    order: 0;
  }
  .novel-release-copy {
    padding: 38px;
  }
  .novel-connection-layout,
  .novel-story-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .novel-connection-copy,
  .novel-story-copy {
    padding: 24px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(216,189,120,.25);
  }
  .home-novel-covers {
    width: min(640px,100%);
    margin-inline: auto;
  }
  .novel-detail-cover {
    width: min(370px,72vw);
  }
  .novel-detail-copy {
    max-width: 760px;
  }
  .novel-proper-layout {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-block: 42px;
  }
  .dynasty-next-strip-layout {
    grid-template-columns: 100px minmax(0,1fr);
    padding-block: 48px;
  }
  .dynasty-next-strip-layout > strong {
    grid-column: 2;
    justify-self: start;
  }
  .fenner-preview-layout {
    grid-template-columns: 1fr;
  }
  .fenner-volume-shelf {
    width: min(520px,100%);
    min-height: 440px;
    margin-inline: auto;
  }
}

@media (max-width: 700px) {
  .novel-release-grid {
    grid-template-columns: 1fr;
  }
  .novel-release-grid > div {
    min-height: 102px;
    padding-inline: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .novel-release-grid > div:first-child {
    border-top: 0;
  }
  .novel-release-card,
  .novel-release-card.reverse {
    grid-template-columns: 1fr;
  }
  .novel-release-cover {
    min-height: 520px;
  }
  .novel-release-card.reverse .novel-release-cover {
    order: 0;
  }
  .reading-lanes,
  .novel-elements-grid {
    grid-template-columns: 1fr;
  }
  .novel-edition-layout {
    grid-template-columns: 1fr 1fr;
  }
  .novel-edition-layout > div:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .novel-edition-layout > div:nth-child(4) {
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .novel-cta-layout,
  .novel-next-layout {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-block: 74px;
  }
  .novel-cta-layout .button-row,
  .novel-next-layout .button-row {
    margin-top: 8px;
  }
  .storybook-novel-bridge .shell {
    align-items: flex-start;
    flex-direction: column;
  }
  .dynasty-future-panel {
    grid-template-columns: 1fr;
  }
  .dynasty-future-roman {
    justify-self: start;
    font-size: 8rem;
  }
  .dynasty-next-book {
    grid-column: 1;
    padding: 28px 0 0;
    border-top: 1px solid rgba(216,189,120,.28);
    border-left: 0;
  }
  .dynasty-future-invitation {
    grid-column: 1;
    margin-top: 0;
  }
  .fenner-preview-promise {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 0;
  }
  .fenner-preview-promise strong {
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .novels-hero-copy h1 {
    font-size: clamp(3.25rem,16vw,5rem);
  }
  .novel-cover-pair {
    min-height: 520px;
  }
  .novel-cover-frame {
    width: 60%;
    padding: 7px;
  }
  .novel-cover-frame > span {
    left: 6px;
    transform: none;
  }
  .novel-release-cover {
    min-height: 450px;
    padding: 36px 25px;
  }
  .novel-release-copy {
    padding: 32px 24px 38px;
  }
  .novel-release-copy h3 {
    font-size: 2.45rem;
  }
  .fenner-preview-copy h2 {
    font-size: clamp(3.35rem,17vw,5rem);
  }
  .fenner-volume-shelf {
    min-height: 330px;
    gap: 5px;
    padding: 34px 19px 46px;
    border-radius: 120px 120px 20px 20px;
  }
  .fenner-volume-shelf::after {
    right: 12px;
    bottom: 33px;
    left: 12px;
  }
  .home-novel-covers {
    min-height: 475px;
  }
  .home-novel-cover {
    width: 59%;
    border-width: 5px;
  }
  .home-novel-release-badge {
    font-size: .57rem;
  }
  .reading-lane {
    min-height: 310px;
    padding: 28px;
  }
  .novel-detail-layout {
    padding-top: 126px;
  }
  .novel-detail-cover {
    width: min(320px,78vw);
  }
  .novel-detail-copy h1 {
    font-size: clamp(3rem,15vw,4.6rem);
  }
  .novel-edition-layout {
    grid-template-columns: 1fr;
  }
  .novel-edition-layout > div {
    min-height: 92px;
    padding-inline: 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .novel-edition-layout > div:first-child {
    border-top: 0;
  }
  .dynasty-next-strip-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .dynasty-next-strip-layout > strong {
    grid-column: 1;
  }
  .dynasty-next-numeral {
    font-size: 5.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .novel-cover-frame,
  .novel-release-cover img,
  .reading-lane {
    transition: none;
  }
}
