


body.visual-home { --kr-paper:#f2efe6; --kr-ink:#f2efe6; --kr-night:#14232a; --kr-base:#18282f; --kr-panel:#223740; --kr-gold:#c5a76a; --kr-bronze:#d1b679; --kr-muted:#b7c5c9; --kr-rule:#42555c; --kr-serif:"Source Serif 4 Variable",Georgia,serif; --kr-sans:"Source Sans 3 Variable",Arial,sans-serif; width:100%; color-scheme:dark; }
body.visual-home .kr-site { background:var(--kr-base); color:var(--kr-ink); font-family:var(--kr-sans); font-size:16px; line-height:1.5; }
body.visual-home .kr-site * { box-sizing:border-box; }
body.visual-home .kr-site h1,body.visual-home .kr-site h2,body.visual-home .kr-site h3,body.visual-home .kr-site p { margin:0; }
body.visual-home .kr-site h2,body.visual-home .kr-site h3 { font-family:var(--kr-serif); font-weight:500; }
body.visual-home .kr-site a { color:inherit; text-underline-offset:4px; }
body.visual-home .kr-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:17px 36px; background:var(--kr-night); color:var(--kr-paper); border-bottom:1px solid var(--kr-rule); }
body.visual-home .kr-brand { font-family:var(--kr-serif); font-size:18px; text-decoration:none; white-space:nowrap; }
body.visual-home .kr-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 18px; font-size:14px; }
body.visual-home .kr-nav a { text-decoration:none; }
body.visual-home .kr-nav a:hover { text-decoration:underline; }
body.visual-home .kr-mobile { display:none; position:relative; }
body.visual-home .kr-mobile summary { cursor:pointer; padding:10px 0 10px 10px; }
body.visual-home .kr-mobile nav { display:flex; flex-direction:column; position:absolute; right:0; top:100%; z-index:3; width:220px; padding:16px; background:var(--kr-night); box-shadow:0 8px 20px #00000025; }
body.visual-home .kr-mobile nav a { display:block; padding:10px 6px; }
body.visual-home .kr-hero { padding:35px 28px 30px; background:var(--kr-night); color:var(--kr-paper); text-align:center; border-bottom:3px solid var(--kr-gold); }
body.visual-home .kr-hero {
 background-image:linear-gradient(180deg,rgba(20,35,42,.28) 0%,rgba(20,35,42,.28) 43%,rgba(20,35,42,.66) 54%,rgba(20,35,42,.66) 100%),radial-gradient(ellipse at 50% 36%,rgba(20,35,42,.44) 0%,rgba(20,35,42,.24) 43%,rgba(20,35,42,0) 76%),url("/images/etusivu-jarvimaisema-v80.webp");
 background-size:cover;
 background-position:center;
 background-repeat:no-repeat;
}
body.visual-home .kr-logo { display:block; position:relative; width:min(90%,480px); aspect-ratio:1513/445; overflow:hidden; margin:0 auto 13px; }
body.visual-home .kr-logo img { display:block; position:absolute; width:135.3602115003%; max-width:none; height:auto; left:-19.4315928619%; top:-40%; }
body.visual-home .kr-tagline { font-family:var(--kr-serif); font-size:21px; line-height:1.45; }
body.visual-home .kr-quick { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 26px; margin-top:24px; font-size:16px; }
body.visual-home .kr-quick a { display:inline-flex; align-items:center; gap:9px; padding:6px 0; text-decoration:none; }
body.visual-home .kr-quick a:hover { text-decoration:underline; }
body.visual-home .kr-quick .kr-icon { color:var(--kr-gold); }
body.visual-home .kr-icon { display:inline-flex; align-items:center; flex:0 0 auto; color:var(--kr-bronze); }
body.visual-home .kr-inner { padding-inline:clamp(22px,5vw,54px); }
body.visual-home .kr-feature { display:grid; grid-template-columns:minmax(0,1fr) 215px; gap:46px; align-items:center; padding-block:44px 46px; }
body.visual-home .kr-eyebrow { display:flex; align-items:center; gap:9px; color:var(--kr-bronze); font-size:14px; line-height:1.4; margin-bottom:10px!important; }
body.visual-home .kr-feature h2 { font-size:46px; line-height:1.1; margin-bottom:19px; }
body.visual-home .kr-intro { font-family:var(--kr-serif); font-size:18px; line-height:1.65; max-width:58ch; }
body.visual-home .kr-status { color:var(--kr-muted); font-size:15px; line-height:1.5; margin-top:18px!important; }
body.visual-home .kr-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:24px; }
body.visual-home .kr-primary { display:inline-flex; align-items:center; gap:9px; padding:12px 17px; background:var(--kr-gold); color:var(--kr-night)!important; border-radius:3px; text-decoration:none; font-size:16px; line-height:1.4; }
body.visual-home .kr-primary:hover { text-decoration:underline; }
body.visual-home .kr-textlink { display:inline-flex; align-items:center; gap:8px; color:var(--kr-bronze)!important; font-size:15px; line-height:1.5; }
body.visual-home .kr-feature-cover { width:215px; max-width:100%; height:auto; display:block; box-shadow:0 12px 27px #1b1e201f; }
body.visual-home .kr-magazine { border-top:1px solid var(--kr-rule); display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:36px; padding-block:38px 44px; }
body.visual-home .kr-section-title { display:flex; align-items:center; gap:11px; margin-bottom:20px!important; font-size:28px; line-height:1.2; }
body.visual-home .kr-essay { display:grid; grid-template-columns:66px minmax(0,1fr); gap:16px; align-items:center; padding:17px 0; border-top:1px solid var(--kr-rule); }
body.visual-home .kr-essay:first-of-type { border-top:0; padding-top:0; }
body.visual-home .kr-essay img { width:66px; height:84px; object-fit:cover; display:block; }
body.visual-home .kr-meta { color:var(--kr-muted); font-size:13px; line-height:1.5; margin-bottom:6px!important; }
body.visual-home .kr-essay h3 { font-size:21px; line-height:1.3; }
body.visual-home .kr-essay h3 a { text-decoration:none; }
body.visual-home .kr-essay h3 a:hover { text-decoration:underline; }
body.visual-home .kr-calendar { align-self:start; background:var(--kr-panel); color:var(--kr-paper); padding:26px; border-top:3px solid var(--kr-gold); }
body.visual-home .kr-calendar .kr-section-title { font-size:24px; }
body.visual-home .kr-calendar .kr-icon,body.visual-home .kr-calendar .kr-meta { color:var(--kr-gold); }
body.visual-home .kr-calendar h3 { font-size:29px; line-height:1.18; margin-block:11px 16px; }
body.visual-home .kr-calendar-copy { font-family:var(--kr-serif); font-size:17px; line-height:1.65; }
body.visual-home .kr-calendar .kr-actions { gap:12px 22px; margin-top:24px; }
body.visual-home .kr-calendar a { color:var(--kr-paper); font-size:15px; }
body.visual-home .kr-works { border-top:1px solid var(--kr-rule); padding-block:36px 42px; }
body.visual-home .kr-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:25px; }
body.visual-home .kr-section-head h2 { margin:0!important; }
body.visual-home .kr-books { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
body.visual-home .kr-book { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
body.visual-home .kr-book-cover { height:210px; width:100%; display:flex; align-items:flex-end; justify-content:center; margin-bottom:20px; }
body.visual-home .kr-book-cover img { display:block; max-width:100%; width:auto; height:210px; object-fit:contain; box-shadow:0 8px 20px #1b1e2017; }
body.visual-home .kr-book h3 { font-size:26px; line-height:1.2; margin-bottom:8px; }
body.visual-home .kr-book .kr-genre { font-size:14px; line-height:1.5; color:var(--kr-muted); }
body.visual-home .kr-book .kr-status { font-size:14px; margin-top:12px!important; }
body.visual-home .kr-book .kr-textlink { margin-top:15px; }
body.visual-home .kr-about { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; border-top:1px solid var(--kr-rule); padding-block:32px 36px; }
body.visual-home .kr-about h2 { font-size:25px; margin-bottom:15px!important; }
body.visual-home .kr-about p { font-family:var(--kr-serif); font-size:17px; line-height:1.6; }
body.visual-home .kr-about .kr-textlink { margin-top:15px; }
body.visual-home .kr-follow { background:var(--kr-panel); padding:28px clamp(22px,5vw,54px); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:22px; }
body.visual-home .kr-follow h2 { font-size:25px; line-height:1.25; margin-bottom:8px; }
body.visual-home .kr-follow p { font-size:15px; line-height:1.5; max-width:52ch; }
body.visual-home .kr-follow .kr-actions { margin-top:0; }
body.visual-home .kr-footer { padding:24px clamp(22px,5vw,54px); background:var(--kr-night); color:var(--kr-paper); display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:13px; }
body.visual-home .kr-footer nav { display:flex; flex-wrap:wrap; gap:12px 20px; }
body.visual-home section { scroll-margin-top:16px; }

body.visual-home .kr-site { --kr-surface-text:var(--kr-ink); --kr-surface-link:var(--kr-ink); }
body.visual-home .kr-header,
body.visual-home .kr-hero,
body.visual-home .kr-calendar,
body.visual-home .kr-footer { --kr-surface-text:var(--kr-paper); --kr-surface-link:var(--kr-paper); }
body.visual-home .kr-site :is(h1,h2,h3,h4,h5,h6,p,summary,figcaption,small,label) {
 color:var(--kr-surface-text)!important;
 -webkit-text-fill-color:currentColor;
}
body.visual-home .kr-site a { color:var(--kr-surface-link)!important; }
body.visual-home .kr-site .kr-meta,
body.visual-home .kr-site .kr-status,
body.visual-home .kr-site .kr-genre { color:var(--kr-muted)!important; }
body.visual-home .kr-site .kr-eyebrow,
body.visual-home .kr-site .kr-textlink { color:var(--kr-bronze)!important; }
body.visual-home .kr-site .kr-calendar .kr-meta { color:var(--kr-gold)!important; }
body.visual-home .kr-site .kr-primary { color:var(--kr-night)!important; }
body.visual-home .kr-site .kr-icon { color:var(--kr-bronze)!important; }
body.visual-home .kr-site svg.lucide { color:inherit!important; stroke:currentColor; }
body.visual-home .kr-site .kr-hero .kr-icon,
body.visual-home .kr-site .kr-calendar .kr-icon { color:var(--kr-gold)!important; }
@media(max-width:800px) {
 body.visual-home .kr-header { padding-inline:24px; }
 body.visual-home .kr-nav { display:none; }
 body.visual-home .kr-mobile { display:block; }
 body.visual-home .kr-feature { grid-template-columns:minmax(0,1fr) 180px; gap:30px; }
 body.visual-home .kr-feature-cover { width:180px; }
 body.visual-home .kr-feature h2 { font-size:40px; }
 body.visual-home .kr-magazine { grid-template-columns:1fr; gap:30px; }
 body.visual-home .kr-calendar { width:100%; }
 body.visual-home .kr-book-cover,body.visual-home .kr-book-cover img { height:185px; }
}
@media(max-width:580px) {
 body.visual-home .kr-hero { padding:22px 20px 23px; background-position:center,center,15% center; }
 body.visual-home .kr-tagline { font-size:18px; }
 body.visual-home .kr-quick { gap:4px 20px; font-size:15px; margin-top:18px; }
 body.visual-home .kr-feature { grid-template-columns:1fr; gap:28px; padding-block:32px; }
 body.visual-home .kr-feature-cover { width:175px; justify-self:center; }
 body.visual-home .kr-feature h2 { font-size:38px; }
 body.visual-home .kr-intro { font-size:17px; }
 body.visual-home .kr-section-title { font-size:26px; }
 body.visual-home .kr-essay { grid-template-columns:56px minmax(0,1fr); gap:13px; }
 body.visual-home .kr-essay img { width:56px; height:75px; }
 body.visual-home .kr-essay h3 { font-size:20px; }
 body.visual-home .kr-books { grid-template-columns:1fr; gap:28px; }
 body.visual-home .kr-book { display:grid; grid-template-columns:100px minmax(0,1fr); grid-template-rows:auto; gap:0 19px; align-content:start; }
 body.visual-home .kr-book-cover { grid-column:1; grid-row:1/6; height:auto; width:100px; margin:0; align-self:start; }
 body.visual-home .kr-book-cover img { width:100%; height:auto; max-height:none; box-shadow:none; }
 body.visual-home .kr-book h3,body.visual-home .kr-book p,body.visual-home .kr-book>a { grid-column:2; }
 body.visual-home .kr-book h3 { font-size:23px; }
 body.visual-home .kr-section-head { align-items:flex-start; flex-wrap:wrap; }
 body.visual-home .kr-about { grid-template-columns:1fr; gap:28px; }
 body.visual-home .kr-primary { font-size:15px; }
}

body.visual-home .kr-inner { max-width:1200px; margin-inline:auto; }
body.visual-home .kr-site :is(h1,h2,h3) { letter-spacing:normal; }
body.visual-home .kr-site .visual-icon { width:20px; height:20px; }
body.visual-home .kr-site .kr-primary { min-height:46px; }
body.visual-home .kr-site .kr-textlink { min-height:44px; }
body.visual-home .kr-site .kr-quick a { min-height:44px; }
body.visual-home .home-follow-panel { background:var(--panel); }
body.visual-home .home-follow-panel .mailing-follow { margin:0; border:0; padding:28px 0 18px; }
body.visual-home .home-follow-panel .mailing-inner { max-width:600px; }
body.visual-home .home-follow-panel .rss-follow { margin:0; border:0; padding:0 0 28px; }
body.visual-home .home-follow-panel .mailing-note { margin:22px 5px 0; }
body.visual-home .home-follow-panel .mailing-service { margin:8px 5px 0; }
body.visual-home .home-follow-panel .rss-follow p { color:var(--muted)!important; margin-top:12px; }
body.visual-home .home-follow-panel a { color:var(--wine)!important; }
body.visual-home .home-follow-panel .mailing-fallback p { margin-top:18px; color:var(--muted)!important; }
