/* Kustantaja, versio 74. Sivuston olemassa olevat värit ja kirjasimet. */
.publisher-intro { padding-bottom: clamp(44px, 6vw, 72px); }
.publisher-intro .intro-copy { max-width: 740px; }
.publisher-jump-links { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 25px; }
.publisher-jump-links a { display: inline-flex; align-items: center; min-height: 44px; }
.publisher-release { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: clamp(40px, 6vw, 64px); display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: clamp(36px, 7vw, 84px); align-items: center; }
.publisher-release h2 { max-width: 680px; margin-bottom: 22px; font-size: clamp(2.05rem, 4.2vw, 3.05rem); line-height: 1.14; }
.publisher-release .meta { margin-bottom: 16px; }
.publisher-release .intro-copy { max-width: 630px; }
.publisher-release .link-row { margin-top: 26px; }
.publisher-cover { display: block; width: 100%; max-width: 210px; justify-self: end; }
.publisher-calendar { padding-top: clamp(60px, 7vw, 92px); padding-bottom: 0; scroll-margin-top: 28px; }
.publisher-calendar h2 { margin-bottom: 18px; }
.publisher-calendar-note { max-width: 740px; color: var(--muted); font-family: var(--sans); font-size: .97rem; line-height: 1.6; margin-bottom: 34px; }
.publisher-months, .publisher-books { list-style: none; margin: 0; padding: 0; }
.publisher-month { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); padding-block: 32px; border-top: 1px solid var(--line); }
.publisher-month:last-child { border-bottom: 1px solid var(--line); }
.publisher-month h3 { color: var(--wine); font-family: var(--sans); font-size: 1.16rem; font-weight: 650; letter-spacing: 0; line-height: 1.45; margin: 3px 0 0; }
.publisher-book + .publisher-book { border-top: 1px solid var(--line); padding-top: 25px; margin-top: 25px; }
.publisher-book-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.publisher-book h4 { margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(1.4rem, 2.4vw, 1.65rem); font-weight: 560; letter-spacing: -.02em; line-height: 1.25; }
.publisher-book h4 a { color: var(--wine); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.publisher-book h4 a:hover { text-decoration-thickness: 2px; }
.publisher-book p { color: var(--muted); font-family: var(--sans); font-size: .97rem; line-height: 1.5; margin: 9px 0 0; }
.publisher-status { color: var(--muted); font-family: var(--sans); font-size: .85rem; white-space: nowrap; }
.publisher-series { border-left: 3px solid var(--wine); padding: 8px 0 8px clamp(22px, 4vw, 36px); margin-top: 44px; max-width: 820px; }
.publisher-series h3 { font-size: clamp(1.5rem, 2.5vw, 1.85rem); line-height: 1.25; margin-bottom: 16px; }
.publisher-series p { font-size: 1.02rem; line-height: 1.7; margin: 0; }
.publisher-follow { border-top: 1px solid var(--line); margin-top: clamp(52px, 7vw, 80px); padding-top: 28px; padding-bottom: clamp(70px, 8vw, 104px); }
.publisher-follow p { color: var(--muted); font-family: var(--sans); font-size: .97rem; margin: 0; }
.publisher-follow a { color: var(--wine); text-decoration: underline; text-underline-offset: 4px; }
.publisher-news { padding-top: clamp(56px, 7vw, 94px); padding-bottom: clamp(72px, 8vw, 116px); }
.publisher-news > .back-link { margin-bottom: 30px; min-height: 44px; }
.publisher-news-header { padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.publisher-news-header h1 { max-width: 950px; font-size: clamp(2.35rem, 5.3vw, 4.1rem); line-height: 1.1; margin-bottom: 24px; }
.publisher-news-header .meta { margin: 0; }
.publisher-news-grid { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: clamp(36px, 6vw, 72px); align-items: start; padding-top: 44px; }
.publisher-news-copy { max-width: 710px; }
.publisher-news-copy > p { font-size: 1.04rem; line-height: 1.75; margin-bottom: 1.35em; }
.publisher-news-copy > .intro-copy { font-size: 1.14rem; }
.publisher-news-copy .link-row { margin-top: 30px; }
.publisher-news-reading { margin-top: 26px; }
.publisher-news-end { margin-top: 58px; padding-top: 28px; border-top: 1px solid var(--line); }
@media (width <= 800px) {
  .publisher-release, .publisher-news-grid { grid-template-columns: minmax(0, 1fr) 160px; gap: 30px; }
  .publisher-cover { max-width: 160px; }
  .publisher-month { grid-template-columns: 150px minmax(0, 1fr); gap: 28px; }
}
@media (width <= 600px) {
  .publisher-release, .publisher-news-grid { grid-template-columns: 1fr; gap: 34px; }
  .publisher-cover { max-width: 190px; justify-self: center; }
  .publisher-month { grid-template-columns: 1fr; gap: 20px; padding-block: 28px; }
  .publisher-month h3 { font-size: 1.08rem; }
  .publisher-book-heading { flex-wrap: wrap; gap: 6px 14px; }
  .publisher-book-heading h4 { flex: 1 1 230px; }
  .publisher-jump-links { gap: 0 24px; }
  .publisher-news-header { padding-bottom: 30px; }
}
