/* WriterStead's Saga theme: a complete fantasy series, one clear path in. */
:root {
  --saga-ink: #17201f;
  --saga-ink-soft: #485250;
  --saga-muted: #727a76;
  --saga-paper: #f6f1e7;
  --saga-paper-deep: #ebe2d1;
  --saga-surface: #fffdf7;
  --saga-night: #132b2d;
  --saga-night-deep: #091b1d;
  --saga-gold: #d3a94f;
  --saga-gold-dark: #9b7122;
  --saga-line: rgba(23, 32, 31, .14);
  --saga-serif: Iowan Old Style, Baskerville, Palatino Linotype, Georgia, serif;
  --saga-sans: Avenir Next, Avenir, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--saga-ink); background: var(--saga-paper); font: 400 16px/1.65 var(--saga-sans); text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration-color: rgba(23, 32, 31, .3); text-underline-offset: .2em; }
a:hover { color: var(--saga-gold-dark); }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible { outline: 3px solid var(--saga-gold); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 30; top: 12px; left: 12px; padding: 11px 15px; color: var(--saga-night); background: var(--saga-gold); font: 700 12px/1 var(--saga-sans); text-decoration: none; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.theme-shell-header, .theme-shell-main, .theme-shell-footer { width: min(100% - 64px, 1240px); margin-inline: auto; }
.theme-shell-header { display: flex; position: relative; z-index: 3; align-items: center; justify-content: space-between; gap: 32px; min-height: 96px; }
.theme-shell-name { color: var(--saga-ink); font: 600 23px/1 var(--saga-serif); letter-spacing: -.035em; text-decoration: none; }
.theme-shell-name:hover { color: var(--saga-gold-dark); }
.theme-shell-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 26px; font: 700 10px/1.3 var(--saga-sans); letter-spacing: .14em; text-transform: uppercase; }
.theme-shell-nav a { position: relative; padding: 10px 0; color: var(--saga-muted); text-decoration: none; }
.theme-shell-nav a:hover, .theme-shell-nav a[aria-current="page"] { color: var(--saga-ink); }
.theme-shell-nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; background: var(--saga-gold); content: ""; }
.theme-shell-main { min-height: 68vh; padding: clamp(62px, 8vw, 110px) 0 clamp(88px, 11vw, 150px); }
.theme-shell-main:has(.saga-home-hero) { padding-top: 0; }
.theme-shell-footer { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 24px 42px; padding: 34px 0 48px; border-top: 1px solid var(--saga-line); color: var(--saga-muted); font: 700 10px/1.5 var(--saga-sans); letter-spacing: .1em; text-transform: uppercase; }

.saga-eyebrow, .saga-meta { margin: 0; color: var(--saga-muted); font: 700 10px/1.4 var(--saga-sans); letter-spacing: .15em; text-transform: uppercase; }
.saga-meta { letter-spacing: .1em; }
.saga-actions, .saga-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 31px; }
.saga-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; min-height: 50px; padding: 15px 21px; border: 0; border-radius: 3px; color: var(--saga-night-deep); background: var(--saga-gold); box-shadow: 0 10px 24px rgba(5, 17, 18, .22); cursor: pointer; font: 800 11px/1.2 var(--saga-sans); letter-spacing: .075em; text-decoration: none; text-transform: uppercase; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.saga-button:hover { color: var(--saga-night-deep); background: #e1bb68; box-shadow: 0 14px 30px rgba(5, 17, 18, .28); transform: translateY(-2px); }
.saga-button span { font-size: 16px; font-weight: 500; }
.saga-button-dark { color: var(--saga-surface); background: var(--saga-night); box-shadow: 0 10px 22px rgba(19, 43, 45, .18); }
.saga-button-dark:hover { color: var(--saga-surface); background: var(--saga-night-deep); }
.saga-text-link, .saga-buy-link, .saga-back-link { display: inline-flex; align-items: center; gap: 8px; color: var(--saga-ink); font: 750 11px/1.3 var(--saga-sans); letter-spacing: .055em; text-decoration: none; text-transform: uppercase; }
.saga-text-link span, .saga-buy-link span { color: var(--saga-gold-dark); font-size: 16px; transition: transform .18s ease; }
.saga-text-link:hover span, .saga-buy-link:hover span { transform: translateX(3px); }
.saga-text-link-light { color: rgba(255, 253, 247, .74); }
.saga-text-link-light:hover { color: var(--saga-surface); }
.saga-buy-link { padding: 10px 13px; border: 1px solid rgba(23, 32, 31, .18); border-radius: 3px; }
.saga-buy-link:hover { border-color: var(--saga-gold-dark); }
.saga-back-link { margin-bottom: 32px; color: var(--saga-muted); }

.saga-home-hero { display: grid; position: relative; grid-template-columns: minmax(0, 1fr) minmax(220px, 390px); gap: clamp(48px, 9vw, 130px); align-items: center; min-height: min(690px, calc(100vh - 96px)); padding: clamp(76px, 10vw, 126px) 0; color: var(--saga-surface); }
.saga-home-hero::before { position: absolute; z-index: -2; inset: 0 calc(50% - 50vw); background: linear-gradient(120deg, var(--saga-night-deep), var(--saga-night) 66%, #1f4442); content: ""; }
.saga-home-hero::after { position: absolute; z-index: -1; inset: 0 calc(50% - 50vw); opacity: .22; background-image: radial-gradient(circle at 80% 23%, rgba(211, 169, 79, .45), transparent 18%), linear-gradient(145deg, transparent 67%, rgba(211, 169, 79, .18) 67.2%, transparent 67.6%); content: ""; }
.saga-hero-copy { min-width: 0; max-width: 770px; }
.saga-home-hero .saga-eyebrow { color: rgba(255, 253, 247, .6); }
.saga-home-hero h1 { max-width: 9ch; margin: 17px 0 0; font: 500 clamp(62px, 9.6vw, 126px)/.84 var(--saga-serif); letter-spacing: -.067em; text-wrap: balance; }
.saga-deck { max-width: 45ch; margin: 30px 0 0; color: rgba(255, 253, 247, .74); font: 400 clamp(19px, 2.2vw, 24px)/1.48 var(--saga-serif); }
.saga-sigil { display: grid; position: relative; width: min(100%, 380px); aspect-ratio: 1; place-items: center; justify-self: end; border: 1px solid rgba(211, 169, 79, .38); border-radius: 50%; box-shadow: inset 0 0 0 24px rgba(255, 255, 255, .018), 0 0 70px rgba(211, 169, 79, .08); text-align: center; }
.saga-sigil::before, .saga-sigil::after { position: absolute; top: 50%; left: 50%; width: min(27vw, 330px); aspect-ratio: 1; border: 1px solid rgba(211, 169, 79, .18); content: ""; transform: translate(-50%, -50%) rotate(45deg); }
.saga-sigil::after { width: min(18vw, 220px); }
.saga-sigil span { color: var(--saga-gold); font-size: clamp(52px, 7vw, 90px); line-height: 1; text-shadow: 0 0 32px rgba(211, 169, 79, .35); }
.saga-sigil small { position: absolute; margin-top: 135px; color: rgba(255, 253, 247, .55); font: 700 9px/1 var(--saga-sans); letter-spacing: .2em; text-transform: uppercase; }
.saga-cover.saga-hero-cover { width: min(100%, 350px); justify-self: end; box-shadow: 18px 24px 54px rgba(5, 17, 18, .38), 7px 8px 0 rgba(211, 169, 79, .22); }
.saga-cover.saga-hero-cover:hover { box-shadow: 22px 29px 64px rgba(5, 17, 18, .46), 7px 8px 0 rgba(211, 169, 79, .28); }

.saga-section { margin-top: clamp(82px, 11vw, 148px); }
.saga-section-head { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 39px; }
.saga-section-head h2, .saga-newsletter h2 { max-width: 14ch; margin: 10px 0 0; font: 500 clamp(38px, 5.5vw, 64px)/.94 var(--saga-serif); letter-spacing: -.053em; }
.saga-book-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); }
.saga-book-card { display: flex; min-width: 0; flex-direction: column; }
.saga-cover { display: grid; position: relative; width: 100%; aspect-ratio: 2 / 3; place-items: center; overflow: hidden; color: var(--saga-surface); background: radial-gradient(circle at 60% 22%, #526b61, transparent 23%), linear-gradient(145deg, #193a3b, #0b1e20 65%); box-shadow: 10px 14px 30px rgba(23, 32, 31, .18), 5px 6px 0 var(--saga-paper-deep); text-align: center; text-decoration: none; transition: box-shadow .22s ease, transform .22s ease; }
.saga-cover::before { position: absolute; inset: 8%; border: 1px solid rgba(211, 169, 79, .45); content: ""; }
.saga-cover::after { position: absolute; top: 15%; width: 42%; aspect-ratio: 1; border: 1px solid rgba(211, 169, 79, .25); content: ""; transform: rotate(45deg); }
.saga-cover:hover { color: var(--saga-surface); box-shadow: 14px 19px 38px rgba(23, 32, 31, .23), 5px 6px 0 var(--saga-paper-deep); transform: translateY(-5px); }
.saga-cover img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
.saga-cover > span { display: grid; position: relative; z-index: 1; gap: 20px; max-width: 12ch; padding: 30px; font: 500 clamp(24px, 2.8vw, 39px)/.96 var(--saga-serif); letter-spacing: -.04em; }
.saga-cover small { color: rgba(255, 253, 247, .55); font: 700 8px/1.4 var(--saga-sans); letter-spacing: .15em; text-transform: uppercase; }
.saga-book-card-copy { padding: 25px 4px 0; }
.saga-book-card h3 { margin: 10px 0 11px; font: 500 clamp(25px, 2.7vw, 36px)/.98 var(--saga-serif); letter-spacing: -.045em; }
.saga-book-card h3 a { text-decoration: none; }
.saga-book-card-copy > p:last-of-type { display: -webkit-box; overflow: hidden; margin: 0; color: var(--saga-ink-soft); font-size: 13px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.saga-card-actions { align-items: flex-start; flex-direction: column; gap: 10px; margin-top: 20px; }
.saga-empty { grid-column: 1 / -1; padding: 46px; border: 1px solid var(--saga-line); background: rgba(255, 253, 247, .45); }
.saga-empty h2, .saga-empty h3 { margin: 9px 0 0; font: 500 33px/1 var(--saga-serif); letter-spacing: -.04em; }

.saga-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--saga-line); list-style: none; }
.saga-post-grid li { border-bottom: 1px solid var(--saga-line); }
.saga-post-grid li:not(:nth-child(3n + 1)) { border-left: 1px solid var(--saga-line); }
.saga-post-grid article { display: flex; min-height: 100%; flex-direction: column; padding: 28px 32px 34px; }
.saga-post-grid h3 { margin: 14px 0 12px; font: 500 clamp(25px, 3vw, 35px)/1 var(--saga-serif); letter-spacing: -.04em; }
.saga-post-grid h3 a { text-decoration: none; }
.saga-post-grid article > p:last-of-type { margin: 0 0 22px; color: var(--saga-ink-soft); font-size: 13px; line-height: 1.6; }
.saga-post-grid .saga-text-link { margin-top: auto; }
.saga-newsletter { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(50px, 9vw, 120px); align-items: start; margin-top: clamp(90px, 13vw, 166px); padding-top: clamp(54px, 7vw, 82px); border-top: 1px solid var(--saga-line); }
.saga-newsletter > div > p:last-child { max-width: 47ch; margin: 22px 0 0; color: var(--saga-ink-soft); }
.saga-newsletter:has(.theme-subscription-unavailable) { display: none; }
.theme-subscription { margin: 0; padding: clamp(27px, 4vw, 43px); color: var(--saga-surface); background: var(--saga-night); box-shadow: 0 18px 44px rgba(19, 43, 45, .15); }
.theme-subscription h2 { margin: 0 0 8px; font: 500 30px/1.05 var(--saga-serif); letter-spacing: -.035em; }
.theme-subscription p { margin: 0 0 23px; color: rgba(255, 253, 247, .62); font-size: 14px; }
.theme-subscription form { display: grid; gap: 15px; }
.theme-subscription label { color: rgba(255, 253, 247, .8); font: 700 11px/1.4 var(--saga-sans); letter-spacing: .04em; }
.theme-subscription-email { display: grid; gap: 7px; }
.theme-subscription input[type="email"] { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid rgba(255, 253, 247, .27); border-radius: 3px; color: var(--saga-surface); background: rgba(255, 253, 247, .07); font: 400 16px/1.2 var(--saga-sans); }
.theme-subscription input[type="email"]:focus { border-color: var(--saga-gold); }
.theme-subscription .theme-subscription-consent { display: flex; align-items: flex-start; gap: 9px; color: rgba(255, 253, 247, .6); font-weight: 500; }
.theme-subscription input[type="checkbox"] { flex: 0 0 1em; width: 1em; height: 1em; margin: .2em 0 0; accent-color: var(--saga-gold); }
.theme-subscription button, .theme-subscription-action { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 44px; padding: 12px 18px; border: 0; border-radius: 3px; color: var(--saga-night-deep); background: var(--saga-gold); cursor: pointer; font: 800 11px/1.2 var(--saga-sans); letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.theme-subscription button:hover, .theme-subscription-action:hover { color: var(--saga-night-deep); background: #e1bb68; }

.saga-page-head { max-width: 850px; margin-bottom: clamp(62px, 9vw, 106px); }
.saga-page-head h1, .saga-reading-head h1, .saga-subscribe-intro h1 { max-width: 13ch; margin: 14px 0 0; font: 500 clamp(58px, 8.7vw, 105px)/.88 var(--saga-serif); letter-spacing: -.064em; text-wrap: balance; }
.saga-page-head > p:last-child:not(.saga-eyebrow), .saga-subscribe-intro > p:last-child { max-width: 42ch; margin: 27px 0 0; color: var(--saga-ink-soft); font: 400 clamp(19px, 2.3vw, 23px)/1.5 var(--saga-serif); }
.saga-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(52px, 7vw, 86px) clamp(36px, 5vw, 66px); }
.saga-catalog-book { display: grid; grid-template-columns: minmax(135px, 190px) minmax(0, 1fr); gap: clamp(25px, 3vw, 40px); align-items: start; }
.saga-catalog-book .saga-cover > span { gap: 14px; padding: 21px; font-size: clamp(20px, 2vw, 29px); }
.saga-catalog-book .saga-cover small { font-size: 7px; }
.saga-catalog-copy { padding-top: 12px; }
.saga-catalog-copy h2 { margin: 10px 0 15px; font: 500 clamp(33px, 4vw, 50px)/.93 var(--saga-serif); letter-spacing: -.052em; }
.saga-catalog-copy h2 a { text-decoration: none; }
.saga-catalog-copy > p:last-of-type { display: -webkit-box; overflow: hidden; margin: 0; color: var(--saga-ink-soft); font: 400 15px/1.62 var(--saga-serif); -webkit-box-orient: vertical; -webkit-line-clamp: 7; }
.saga-catalog .saga-actions { align-items: flex-start; flex-direction: column; margin-top: 23px; }

.saga-book-detail { display: grid; grid-template-columns: minmax(250px, 410px) minmax(0, 1fr); gap: clamp(55px, 9vw, 122px); align-items: center; max-width: 1110px; margin-inline: auto; }
.saga-book-detail-copy h1 { max-width: 11ch; margin: 12px 0 0; font: 500 clamp(53px, 8vw, 94px)/.88 var(--saga-serif); letter-spacing: -.064em; }
.saga-book-description { max-width: 52ch; margin: 28px 0 0; color: var(--saga-ink-soft); font: 400 clamp(18px, 2vw, 21px)/1.62 var(--saga-serif); }.saga-book-description p { margin: 0; }.saga-book-description p + p { margin-top: 1em; }
.saga-book-detail .saga-cover { max-width: 410px; }
.saga-series-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; max-width: 1110px; margin: clamp(72px, 10vw, 126px) auto 0; background: var(--saga-line); }
.saga-series-nav a { display: grid; gap: 8px; min-height: 126px; padding: 29px 32px; color: var(--saga-ink); background: var(--saga-surface); text-decoration: none; transition: background .18s ease; }
.saga-series-nav a:hover { color: var(--saga-ink); background: var(--saga-paper-deep); }
.saga-series-nav span { color: var(--saga-ink-soft); font: 700 10px/1.4 var(--saga-sans); letter-spacing: .12em; text-transform: uppercase; }
.saga-series-nav strong { font: 500 clamp(24px, 3vw, 34px)/1 var(--saga-serif); letter-spacing: -.04em; }
.saga-series-nav .saga-series-next { grid-column: 2; text-align: right; }

.saga-archive { max-width: 980px; margin: 0; padding: 0; border-top: 1px solid var(--saga-line); list-style: none; }
.saga-archive > li { border-bottom: 1px solid var(--saga-line); }
.saga-archive article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; padding: 34px 0 38px; }
.saga-archive h2 { margin: 12px 0; font: 500 clamp(31px, 4.5vw, 48px)/.98 var(--saga-serif); letter-spacing: -.045em; }
.saga-archive h2 a { text-decoration: none; }
.saga-archive article > div > p:last-of-type { max-width: 62ch; margin: 0; color: var(--saga-ink-soft); font-size: 14px; }
.saga-round-link { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--saga-line); border-radius: 50%; color: var(--saga-ink); text-decoration: none; }
.saga-round-link:hover { border-color: var(--saga-night); color: var(--saga-surface); background: var(--saga-night); }

.saga-reading { max-width: 760px; margin-left: clamp(0px, 9vw, 112px); }
.saga-reading-head { padding-bottom: clamp(42px, 6vw, 68px); border-bottom: 1px solid var(--saga-line); }
.saga-reading-head h1 { max-width: 13ch; }
.saga-reading-deck { max-width: 36ch; margin: 29px 0 0; color: var(--saga-ink-soft); font: 400 clamp(20px, 2.6vw, 25px)/1.48 var(--saga-serif); }
.saga-prose { margin-top: clamp(42px, 6vw, 68px); font-family: var(--saga-serif); }
.saga-prose p, .saga-prose li { font-size: clamp(18px, 2vw, 20px); line-height: 1.72; }
.saga-prose p { margin: 0 0 1.5em; }
.saga-prose h2, .saga-prose h3, .saga-prose h4 { margin: 2.1em 0 .65em; font-weight: 500; line-height: 1.04; letter-spacing: -.04em; }
.saga-prose h2 { font-size: clamp(31px, 4vw, 42px); }
.saga-prose h3 { font-size: clamp(25px, 3vw, 32px); }
.saga-prose a { color: var(--saga-gold-dark); text-decoration-thickness: 1px; }
.saga-prose blockquote { margin: 2.2em 0; padding: 3px 0 3px 28px; border-left: 3px solid var(--saga-gold); color: #4b5552; font-size: 1.16em; font-style: italic; }
.saga-prose img { display: block; max-width: 100%; height: auto; }
.saga-prose figure { margin: 2.3em 0; }
.saga-prose figcaption { margin-top: 9px; color: var(--saga-muted); font: 600 12px/1.5 var(--saga-sans); }
.saga-prose pre { overflow: auto; padding: 20px; background: var(--saga-paper-deep); font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.saga-prose code { font-size: .88em; }
.saga-share { margin-top: clamp(58px, 8vw, 92px); padding-top: 25px; border-top: 1px solid var(--saga-line); }
.saga-share > div { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 15px; }
.saga-share details { color: var(--saga-muted); font-size: 12px; font-weight: 700; }
.saga-share summary { cursor: pointer; }
.saga-qr { width: fit-content; margin-top: 15px; padding: 13px; background: var(--saga-surface); box-shadow: 0 12px 26px rgba(23, 32, 31, .12); }
.saga-qr img { display: block; }
.saga-about-action { margin-top: 36px; }
.saga-subscribe-intro { max-width: 850px; margin-bottom: 48px; }

.theme-footer-signup { max-width: 380px; margin-left: auto; color: var(--saga-muted); font: 400 12px/1.45 var(--saga-sans); letter-spacing: 0; text-transform: none; }
.theme-footer-signup p { margin: 0 0 9px; }
.theme-footer-signup-form { display: flex; align-items: end; gap: 7px; }
.theme-footer-signup-email { display: grid; flex: 1; gap: 4px; color: var(--saga-muted); font-size: 11px; }
.theme-footer-signup-email input { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid var(--saga-line); background: var(--saga-surface); font: inherit; }
.theme-footer-signup-form button, .theme-footer-signup-link { min-height: 34px; padding: 8px 11px; border: 0; border-radius: 3px; color: var(--saga-surface); background: var(--saga-night); font: 700 11px/1.1 var(--saga-sans); text-decoration: none; }
.theme-footer-signup-form button:hover, .theme-footer-signup-link:hover { color: var(--saga-night-deep); background: var(--saga-gold); }

@media (max-width: 1040px) {
  .saga-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 28px; }
  .saga-catalog { grid-template-columns: 1fr; }
  .saga-catalog-book { max-width: 720px; }
}
@media (max-width: 760px) {
  .theme-shell-header, .theme-shell-main, .theme-shell-footer { width: min(100% - 40px, 1240px); }
  .theme-shell-header { align-items: flex-start; flex-direction: column; gap: 15px; padding: 22px 0 19px; }
  .theme-shell-nav { justify-content: flex-start; gap: 7px 18px; }
  .theme-shell-main { padding-top: 58px; }
  .saga-home-hero { grid-template-columns: 1fr; min-height: auto; }
  .saga-sigil { display: none; }
  .saga-cover.saga-hero-cover { width: min(68vw, 310px); justify-self: start; }
  .saga-post-grid { grid-template-columns: 1fr; }
  .saga-post-grid li:not(:nth-child(3n + 1)) { border-left: 0; }
  .saga-newsletter, .saga-book-detail { grid-template-columns: 1fr; }
  .saga-book-detail { max-width: 610px; margin-left: 0; }
  .saga-book-detail .saga-cover { width: min(72vw, 330px); }
  .saga-reading { margin-left: 0; }
  .theme-shell-footer { grid-template-columns: 1fr; }
  .theme-footer-signup { width: 100%; max-width: none; margin-left: 0; }
}
@media (max-width: 520px) {
  .theme-shell-header, .theme-shell-main, .theme-shell-footer { width: min(100% - 32px, 1240px); }
  .theme-shell-nav { gap: 6px 14px; font-size: 9px; }
  .saga-home-hero { padding: 68px 0 74px; }
  .saga-home-hero h1 { font-size: clamp(58px, 19vw, 88px); }
  .saga-section-head { align-items: flex-start; flex-direction: column; }
  .saga-book-grid { grid-template-columns: 1fr; gap: 60px; }
  .saga-book-card { max-width: 330px; }
  .saga-book-card h3 { font-size: 34px; }
  .saga-page-head h1, .saga-reading-head h1, .saga-subscribe-intro h1 { font-size: clamp(49px, 15vw, 72px); }
  .saga-catalog-book { grid-template-columns: 112px minmax(0, 1fr); gap: 23px; }
  .saga-catalog-copy { padding-top: 3px; }
  .saga-catalog-book .saga-cover > span { gap: 10px; padding: 13px; font-size: 18px; }
  .saga-catalog-book .saga-cover small { font-size: 5px; }
  .saga-catalog-copy h2 { font-size: 30px; }
  .saga-catalog-copy > p:last-of-type { -webkit-line-clamp: 5; }
  .saga-catalog .saga-button { min-height: 42px; padding: 12px 14px; }
  .saga-book-detail { gap: 44px; }
  .saga-series-nav { grid-template-columns: 1fr; }
  .saga-series-nav .saga-series-next { grid-column: 1; text-align: left; }
  .saga-archive article { grid-template-columns: minmax(0, 1fr) 38px; gap: 18px; }
  .saga-round-link { width: 38px; height: 38px; }
  .theme-footer-signup-form { align-items: stretch; flex-direction: column; }
  .theme-footer-signup-form button { width: fit-content; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .saga-button, .saga-cover, .saga-text-link span, .saga-buy-link span { transition: none; }
}
