/* Kajo Rautio v80: hyväksytty yhteinen ilme. Alkuperäiset sisältö- ja lukupohjat säilyvät. */
:root {
  --night:#14232a; --base:#18282f; --panel:#223740; --gold:#c5a76a;
  --paper:var(--base); --ink:#f2efe6; --wine:#d1b679; --muted:#b7c5c9;
  --line:#42555c; --soft:var(--panel); --graphite:#b7c5c9; --footer-ink:#f2efe6;
  color-scheme:dark;
}
body.visual-v80 { background:var(--paper); color:var(--ink); font-size:18px; }
body.visual-light {
  --paper:#fff; --ink:#1b1e20; --wine:#70582f; --muted:#536168;
  --line:#cbd1d3; --soft:#f2f2ef; --graphite:#22272a;
  background:var(--paper); color:var(--ink); color-scheme:light;
}
body.visual-v80 h1, body.visual-v80 h2, body.visual-v80 h3, body.visual-v80 h4 {
  color:var(--ink); font-weight:500; letter-spacing:normal; overflow-wrap:break-word;
}
body.visual-v80 :is(h1,h2,h3,h4,p,summary,figcaption,small,label,span,em,strong,li,th,td,blockquote) {
  -webkit-text-fill-color:currentColor;
}
::selection { color:#14232a; background:#d1b679; }
.visual-v80 a { text-underline-offset:4px; }
.visual-v80 .site-header, .visual-v80 .site-footer, .visual-v80 ._readerFooter_10v6w_33 {
  --ink:#f2efe6; --wine:#d1b679; --muted:#b7c5c9; --line:#42555c;
  --paper:#14232a; --graphite:#14232a;
  background:#14232a; color:#f2efe6; color-scheme:dark;
}
.visual-v80 .header-inner { min-height:72px; gap:24px; }
.visual-v80 .site-name { color:#f2efe6; font-size:18px; font-weight:500; }
.visual-v80 .site-name-logo { display:block; position:relative; width:150px; aspect-ratio:1513/445; overflow:hidden; flex-shrink:0; }
.visual-v80 .site-name-logo img { position:absolute; width:135.3602115003%; max-width:none; height:auto; left:-19.4315928619%; top:-40%; }
.visual-v80 .desktop-nav { gap:17px; font-size:14px; }
.visual-v80 .desktop-nav a { padding:23px 0; }
.visual-v80 .desktop-nav a:after { bottom:16px; height:1px; }
.visual-v80 .desktop-nav a[aria-current] { color:#d1b679; }
.visual-v80 .mobile-nav { background:#14232a; }
.visual-v80 .mobile-nav a { color:#f2efe6; }
.visual-v80 .mobile-nav a[aria-current] { color:#d1b679; }
.visual-v80 .mobile-menu summary { font-weight:500; }
.visual-v80 .footer-inner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; padding-block:20px; }
.visual-v80 .footer-topline { border:0; padding:0; }
.visual-v80 .footer-nav { gap:4px 20px; font-size:13px; }
.visual-v80 .footer-nav a { display:inline-flex; align-items:center; min-height:44px; }
.visual-v80 .copyright { margin:0; color:#b7c5c9; font-size:13px; }
.visual-v80 ._copyright_10v6w_230 { color:#b7c5c9; }
.visual-v80 .skip-link, .visual-v80 ._skipLink_10v6w_9 { background:#14232a; color:#f2efe6; }
.visual-v80 .visual-icon { width:20px; height:20px; display:inline-block; flex:0 0 auto; vertical-align:middle; color:inherit; stroke:currentColor; }
.visual-v80 .heading-icon { display:flex; align-items:center; gap:15px; }
.visual-v80 .heading-icon > span { min-width:0; }
.visual-v80 .heading-icon > .visual-icon { width:27px; height:27px; color:var(--wine); }
.visual-v80 h1.heading-icon > .visual-icon { width:32px; height:32px; }
.visual-v80 .icon-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; max-width:100%; }
.visual-v80 .icon-link > span { min-width:0; }
.visual-v80 .page-intro { padding-block:35px 29px; }
.visual-v80 .page-intro h1 { font-size:46px; line-height:1.15; margin-bottom:24px; }
.visual-v80 .eyebrow { font:13px/1.5 var(--sans); text-transform:none; letter-spacing:.045em; margin-bottom:9px; color:var(--wine); }
.visual-v80 .intro-copy { font:18px/1.7 var(--serif); }
.visual-v80 .text-button, .visual-v80 .contact-submit {
  gap:10px; justify-content:center; min-height:46px; max-width:100%;
  border:1px solid var(--gold); border-radius:3px; background:var(--gold);
  color:#14232a; font:16px/1.5 var(--sans); padding:10px 17px;
}
.visual-v80 a.text-button, .visual-v80 button.contact-submit { color:#14232a; }
.visual-v80 .text-button:hover, .visual-v80 .contact-submit:hover { background:#d1b679; color:#14232a; text-decoration:underline; }
.visual-v80 .quiet-link, .visual-v80 .back-link { font:16px/1.5 var(--sans); }
.visual-v80 .link-row { gap:14px 26px; margin-top:26px; }
.visual-v80 .cover-frame { background:transparent; border:0; padding:0; box-shadow:0 9px 24px #00000030; }
.visual-v80 .back-row { padding-block:22px 30px; }
.visual-v80 .meta { font:14px/1.5 var(--sans); }
.visual-v80 .visual-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding-block:20px; color:var(--muted); font:14px/1.5 var(--sans); }
.visual-v80 .visual-breadcrumb a { color:var(--wine); min-height:32px; display:inline-flex; align-items:center; text-decoration:underline; }
.visual-v80 .visual-breadcrumb .visual-icon { width:16px; height:16px; }
/* Teosten koonti ja esittelyt: alkuperäinen kansi–teksti-järjestys. */
.visual-works .works-list > .work-feature { padding-block:clamp(48px,7vw,84px); }
.visual-works .work-copy h2 { font-size:32px; line-height:1.2; margin-bottom:14px; }
.visual-works .work-copy h2 a { text-decoration:none; }
.visual-works .work-copy h2 a:hover { text-decoration:underline; }
.visual-works .visual-cover-link { display:block; width:100%; }
.visual-works .work-summary { font:18px/1.65 var(--serif); margin-block:14px 0; }
.visual-works .work-note { display:flex; align-items:flex-start; gap:9px; margin:17px 0 0; font:15px/1.5 var(--sans); }
.visual-works .work-note .visual-icon { width:17px; height:17px; margin-top:3px; }
.visual-works .work-copy > :is(.text-button,.quiet-link) { margin-top:18px; }
.visual-works .work-feature:not(:first-child) .text-button { background:transparent; border:0; padding:0; color:var(--wine); text-decoration:underline; }
.visual-works .works-list > .works-series-note { margin-block:30px 38px; padding:26px!important; background:var(--panel); border-top:2px solid var(--gold); }
.visual-works .works-series-note h2 { font-size:27px; }
.visual-works .works-series-note p:not(.eyebrow) { font:17px/1.65 var(--serif); margin-top:12px; }
.visual-book .book-page { padding-top:0; }
.visual-book .book-opener { padding-block:7px clamp(62px,8vw,104px); }
.visual-book .book-opener h1 { font-size:46px; line-height:1.12; margin-bottom:17px; }
.visual-book .book-opener .work-copy > p:not(.eyebrow) { margin-top:15px; font:18px/1.65 var(--serif); }
.visual-book .book-opener .work-copy > .book-status { color:var(--muted); font:16px/1.6 var(--sans); }
.visual-book .book-section { padding-block:clamp(48px,7vw,82px); }
.visual-book .book-section h2 { font-size:28px; line-height:1.25; margin-bottom:20px; }
.visual-book .book-description { font:18px/1.72 var(--serif); }
.visual-book .book-description p { margin-bottom:16px; }
.visual-book .public-chapter-name { color:var(--ink); font:16px/1.5 var(--sans); }
.visual-book .public-chapter-meta { font-size:13px; }
.visual-book .jalkikuva-part h3 { font-size:26px; }
.visual-book #lataa { gap:12px 22px; margin-top:12px; }
.visual-book .visual-book-archive { margin-block:30px; padding:25px 26px; background:var(--panel); border:0; }
.visual-book .visual-book-archive h2 { font-size:25px; margin-bottom:13px; }
.visual-book .visual-book-archive p { color:var(--muted); font:16px/1.65 var(--sans); }
.visual-book #luvut .text-button, .visual-book .visual-book-archive .text-button { background:transparent; color:var(--wine); border:0; padding:0; text-decoration:underline; }
.visual-book .mailing-follow { background:var(--panel); border-top:2px solid var(--gold); padding:26px; margin-block:30px; }
.visual-book .mailing-follow + .rss-follow { padding-bottom:30px; }
.visual-trilogy .trilogy-lead { padding-block:clamp(48px,7vw,84px); }
.visual-trilogy .later-books h2 { font-size:28px; line-height:1.25; }
/* Tekstien löydettävyys: otsikot alaotsikoineen ja pienet tunnistekuvat. */
.visual-texts .text-type > h2 { font-size:30px; line-height:1.25; }
.visual-texts .visual-essay-row { display:grid; grid-template-columns:66px minmax(0,1fr); gap:16px; align-items:start; }
.visual-texts .visual-essay-image { display:block; width:66px; height:84px; object-fit:cover; margin-top:3px; }
.visual-texts .visual-essay-copy { min-width:0; }
.visual-texts .visual-essay-copy :is(h2,h3) a { color:var(--ink); }
.visual-texts .text-feature h3 { font-size:clamp(23px,2.7vw,30px); line-height:1.25; }
.visual-texts .listing-item h2 { font-size:clamp(25px,3vw,34px); line-height:1.25; max-width:820px; }
.visual-v80.visual-texts a.text-button { background:transparent; color:var(--wine); }
.visual-v80.visual-texts a.text-button:hover { background:var(--panel); color:var(--wine); }
.visual-calendar .calendar-entry h2 a { color:var(--ink); }
.visual-calendar .calendar-body { color:var(--ink); }
.visual-calendar :is(.calendar-navigation,.calendar-breadcrumb,.calendar-months) a { gap:9px; }
/* Lomakkeiden toiminta tulee alkuperäisistä palveluista. Tyylit koskevat vain näkyvää pintaa. */
.visual-v80 .mailing-follow .mailing-embed :is(.inline-container,.form-container) { background:transparent!important; color:var(--ink)!important; }
.visual-v80 .mailing-follow .mailing-embed [eo-block="title"] h2, .visual-v80 .mailing-fallback h2 {
  color:var(--ink)!important; font-family:var(--serif)!important; font-size:30px!important; font-weight:500!important;
}
.visual-v80 .mailing-follow .mailing-embed [eo-block="text"], .visual-v80 .mailing-follow .mailing-embed [eo-block="text"] :is(p,span),
.visual-v80 .mailing-follow .mailing-embed :is(label,.emailoctopus-success-message,.emailoctopus-error-message) {
  color:var(--ink)!important; font-family:var(--sans)!important;
}
.visual-v80 .mailing-follow .mailing-embed [eo-block="text"] a { color:var(--wine)!important; }
.visual-v80 .mailing-follow .mailing-embed :is(input[type="email"],input[type="text"]) {
  background:var(--soft)!important; color:var(--ink)!important; border:1px solid var(--muted)!important;
  font-family:var(--sans)!important; -webkit-text-fill-color:currentColor;
}
.visual-v80 .mailing-follow .mailing-embed input::placeholder { color:var(--muted)!important; opacity:1; }
.visual-v80 .mailing-follow .mailing-embed :is(input[type="submit"],button[type="submit"]) {
  background:var(--gold)!important; color:#14232a!important; border:1px solid var(--gold)!important; font-family:var(--sans)!important;
}
.visual-v80 .mailing-follow .mailing-embed :is(input,button):focus-visible { outline:3px solid var(--wine)!important; outline-offset:4px; }
.visual-v80 .mailing-follow .mailing-embed .emailoctopus-error-message:not(:empty) { border-color:var(--wine); }
.visual-v80 .rss-follow h2 { font-size:24px; line-height:1.3; }
.visual-v80 .rss-follow p { color:var(--muted); font:16px/1.6 var(--sans); }
.visual-v80 .contact-form label { font:500 16px/1.5 var(--sans); }
.visual-v80 .contact-form :is(input,textarea) { background:var(--panel); color:var(--ink); border-color:#8a9a9f; font:16px/1.5 var(--sans); }
.visual-v80 .contact-form :is(input,textarea):hover { border-color:#b7c5c9; }
.visual-v80 .contact-form :is(input,textarea):focus-visible { border-color:var(--wine); }
.visual-v80 .privacy-note { font-size:14px; }
/* Valkoiset lukusivut ja alkuperäiset arkistoasiakirjat. */
.visual-light .article-header .article-subtitle { color:var(--muted); }
.visual-v80 .archive-sheet {
  --paper:#fff; --ink:#1b1e20; --wine:#702331; --muted:#596268; --line:#c9cecd; --soft:#e8e9e5; --graphite:#22272a;
  background:#fff; color:var(--ink); color-scheme:light;
}
.visual-v80 .archive-sheet :is(h1,h2,h3,h4) { color:var(--ink); }
.visual-v80 .archive-document-investigation :is(h2,h3), .visual-v80 .archive-record-preview > h2 { font-weight:720; }
.visual-v80 .archive-page-investigation .archive-sheet { border-top-color:#22272a; }
.visual-v80 .archive-access-badge { font-size:11px; }
.visual-v80 .archive-back-link, .visual-v80 .archive-page-navigation a { min-height:44px; display:inline-flex; align-items:center; }
.visual-v80 ._updated_10v6w_128 { white-space:normal; }
.visual-v80 :is(._chapterNavigation_10v6w_144 a,._returnLink_10v6w_143,.chapter-archive-all) { display:inline-flex; align-items:center; min-height:44px; }
.visual-v80 .privacy-page code { background:var(--soft); color:var(--ink); font:14px/1.5 monospace; padding:2px 4px; }
@media (width <= 800px) {
  .visual-v80 .header-inner { min-height:68px; }
  .visual-book .book-opener h1 { font-size:39px; }
  .visual-works .work-feature > .visual-cover-link { width:min(78vw,360px); margin-inline:auto; }
}
@media (width <= 580px) {
  .visual-v80 .site-name-logo { width:135px; }
  .visual-v80 .page-intro { padding-block:27px 24px; }
  .visual-v80 .page-intro h1 { font-size:36px; }
  .visual-v80 .visual-breadcrumb a { min-height:44px; }
  .visual-works .works-list > .work-feature { padding-block:36px; gap:32px; }
  .visual-works .work-copy h2 { font-size:27px; }
  .visual-works .work-summary { font-size:17px; }
  .visual-book .book-opener { padding-bottom:46px; gap:38px; }
  .visual-book .book-opener h1 { font-size:38px; }
  .visual-book .book-opener .work-copy > p:not(.eyebrow), .visual-book .book-description { font-size:17px; }
  .visual-book .book-section h2 { font-size:26px; }
  .visual-book .visual-book-archive, .visual-book .mailing-follow { padding:22px; }
  .visual-texts .visual-essay-row { grid-template-columns:56px minmax(0,1fr); gap:13px; }
  .visual-texts .visual-essay-image { width:56px; height:75px; }
  .visual-texts .meta { font-size:13px; }
  .visual-texts .listing-item h2 { font-size:24px; }
}
@media print {
  body.visual-v80, body.visual-light { --paper:#fff; --ink:#1b1e20; --wine:#70582f; --muted:#536168; --line:#cbd1d3; --soft:#f2f2ef; background:#fff; color:#1b1e20; }
  .visual-v80 :is(.site-header,.site-footer,._readerHeader_10v6w_27,._readerFooter_10v6w_33,.mailing-follow,.rss-follow) { display:none; }
}

/* Kustantaja ja Tekijä: hyväksyttyjen luonnosten mitoitus. */
.visual-v80 .publisher-intro { padding-bottom:clamp(44px,6vw,72px); }
.visual-v80 .publisher-intro .intro-copy { max-width:740px; }
.visual-v80 .publisher-jump-links { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:25px; }
.visual-v80 .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; }
.visual-v80 .publisher-release h2 { max-width:680px; margin-bottom:22px; font-size:clamp(33px,4.2vw,49px); line-height:1.14; }
.visual-v80 .publisher-release .meta { margin-bottom:16px!important; }
.visual-v80 .publisher-release .intro-copy { max-width:630px; }
.visual-v80 .publisher-release .link-row { margin-top:26px; }
.visual-v80 .publisher-cover { display:block; width:100%; max-width:210px; justify-self:end; }
.visual-v80 .publisher-calendar { padding-top:clamp(60px,7vw,92px); scroll-margin-top:28px; }
.visual-v80 .publisher-calendar h2 { font-size:34px; line-height:1.2; margin-bottom:18px; }
.visual-v80 .publisher-calendar-note { max-width:740px; color:var(--muted)!important; font:16px/1.6 var(--sans); margin-bottom:34px; }
.visual-v80 :is(.publisher-months,.publisher-books) { list-style:none; margin:0; padding:0; }
.visual-v80 .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); }
.visual-v80 .publisher-month:last-child { border-bottom:1px solid var(--line); }
.visual-v80 .publisher-month h3 { color:var(--wine)!important; font:500 19px/1.45 var(--sans); margin-top:3px; }
.visual-v80 .publisher-book + .publisher-book { border-top:1px solid var(--line); padding-top:25px; margin-top:25px; }
.visual-v80 .publisher-book-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.visual-v80 .publisher-book h4 { font-size:clamp(23px,2.4vw,27px); line-height:1.25; }
.visual-v80 .publisher-book h4 a { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.visual-v80 .publisher-book p { color:var(--muted)!important; font:16px/1.5 var(--sans); margin-top:9px; }
.visual-v80 .publisher-status { color:var(--muted)!important; font:14px/1.5 var(--sans); white-space:nowrap; }
.visual-v80 .publisher-series { border-left:3px solid var(--gold); padding:8px 0 8px clamp(22px,4vw,36px); margin-top:44px; max-width:820px; }
.visual-v80 .publisher-series h3 { font-size:clamp(24px,2.5vw,30px); line-height:1.25; margin-bottom:16px; }
.visual-v80 .publisher-series p { font:17px/1.7 var(--serif); }
.visual-v80 .publisher-follow { border-top:1px solid var(--line); margin-top:clamp(52px,7vw,80px); padding-top:28px; padding-bottom:clamp(70px,8vw,104px); }
.visual-v80 .publisher-follow p { color:var(--muted)!important; font:16px/1.6 var(--sans); }
.visual-v80 .publisher-follow a { display:inline-flex; gap:7px; align-items:center; }
.visual-v80 .publisher-news { padding-top:clamp(56px,7vw,94px); padding-bottom:clamp(72px,8vw,116px); }
.visual-v80 .publisher-news > .back-link { margin-bottom:30px; }
.visual-v80 .publisher-news-header { padding-bottom:40px; border-bottom:1px solid var(--line); }
.visual-v80 .publisher-news-header h1 { max-width:950px; font-size:clamp(38px,5.3vw,66px); line-height:1.1; margin-bottom:24px; }
.visual-v80 .publisher-news-header .meta { margin:0!important; }
.visual-v80 .publisher-news-grid { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:clamp(36px,6vw,72px); align-items:start; padding-top:44px; }
.visual-v80 .publisher-news-copy { max-width:710px; }
.visual-v80 .publisher-news-copy > p { font:18px/1.75 var(--serif); margin-bottom:1.35em; }
.visual-v80 .publisher-news-copy > .intro-copy { font-size:19px; }
.visual-v80 .publisher-news-copy .link-row { margin-top:30px; }
.visual-v80 .publisher-news-reading { margin-top:26px; }
.visual-v80 .publisher-news-end { margin-top:58px; padding-top:28px; border-top:1px solid var(--line); }
.visual-v80 .author-page { display:grid; grid-template-columns:minmax(260px,360px) minmax(0,1fr); align-items:center; gap:clamp(58px,9vw,118px); padding-top:clamp(78px,9vw,124px); padding-bottom:clamp(96px,11vw,150px); }
.visual-v80 .author-copy { grid-column:2; max-width:630px; padding:0; }
.visual-v80 .author-copy .intro-copy + .intro-copy { margin-top:1.25em; }
.visual-v80 .author-portrait { grid-column:1; grid-row:1; align-self:end; }
.visual-v80 .author-portrait img { display:block; width:100%; height:auto; }
@media (max-width:800px) {
.visual-v80 .publisher-release,.visual-v80 .publisher-news-grid { grid-template-columns:minmax(0,1fr) 160px; gap:30px; }
.visual-v80 .publisher-cover { max-width:160px; }
.visual-v80 .publisher-month { grid-template-columns:150px minmax(0,1fr); gap:28px; }
.visual-v80 .author-page { grid-template-columns:1fr; gap:44px; padding-top:68px; }
.visual-v80 .author-copy { grid-column:1; grid-row:1; }
.visual-v80 .author-portrait { grid-column:1; grid-row:2; width:min(78vw,360px); margin-inline:auto; }
}
@media (max-width:600px) {
.visual-v80 .publisher-release,.visual-v80 .publisher-news-grid { grid-template-columns:1fr; gap:34px; }
.visual-v80 .publisher-cover { max-width:190px; justify-self:center; }
.visual-v80 .publisher-month { grid-template-columns:1fr; gap:20px; padding-block:28px; }
.visual-v80 .publisher-month h3 { font-size:18px; }
.visual-v80 .publisher-book-heading { flex-wrap:wrap; gap:6px 14px; }
.visual-v80 .publisher-book-heading h4 { flex:1 1 230px; }
.visual-v80 .publisher-jump-links { gap:0 24px; }
.visual-v80 .publisher-news-header { padding-bottom:30px; }
}
@media (max-width:580px) {
.visual-v80 .author-copy { padding:0; }
.visual-v80 .publisher-calendar h2 { font-size:29px; }
}
/* Mobiilissa vähemmän tyhjää ennen lukutekstiä, sama tekstipalsta. */
@media (max-width:580px) {
  .visual-reader ._readerMain_10v6w_32 { padding-top:38px; padding-bottom:58px; }
  .visual-reader ._chapterHeader_10v6w_81 { padding-bottom:28px; }
  .visual-reader ._manuscript_10v6w_168 { padding-top:30px; }
}
