/* Core state contract: component CSS files only define the visual treatment. */
[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{position:relative;z-index:50}.site-header--sticky{position:sticky;top:0}.site-header--shrinkable,.site-header--shrinkable .site-header__brand img{transition:min-height .2s ease,padding .2s ease,width .2s ease,max-height .2s ease,box-shadow .2s ease}.site-header--scrolled{min-height:60px!important;padding-block:.35rem!important;box-shadow:0 8px 24px rgba(0,0,0,.12)}.site-header--scrolled .site-header__brand img{max-height:40px!important;width:min(160px,32vw)!important}.site-header__search{display:flex;align-items:center;gap:.4rem}.site-header__search form{display:flex;align-items:center;gap:.35rem}.site-header__search form input{min-width:10rem}.site-header__search-toggle,.site-header__dropdown>summary{cursor:pointer}
.mobile-menu{display:none;position:relative;z-index:70}.mobile-menu__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-menu__brand img{display:block;max-height:46px;width:auto}.mobile-menu__toggle,.mobile-menu__close{cursor:pointer}.mobile-menu__overlay{position:fixed;inset:0;background:rgba(5,20,35,.52);z-index:79}.mobile-menu__panel{position:fixed;inset:0 0 0 auto;z-index:80;width:min(420px,92vw);overflow:auto;background:var(--color-surface);color:var(--color-text);box-shadow:-18px 0 55px rgba(0,0,0,.2)}.mobile-menu__panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-menu__nav,.mobile-menu__submenu{display:grid}.mobile-menu__submenu{padding-left:1rem}.mobile-menu__cta{display:flex;align-items:center;justify-content:center}.mobile-menu__search{display:flex}.mobile-menu__search input{min-width:0;flex:1}html.mobile-menu-open{overflow:hidden}
@media(max-width:640px){.mobile-menu--sm{display:block}.site-header:has(~.mobile-menu--sm){display:none}}@media(max-width:850px){.mobile-menu--md{display:block}.site-header:has(~.mobile-menu--md){display:none}}@media(max-width:1024px){.mobile-menu--lg{display:block}.site-header:has(~.mobile-menu--lg){display:none}}
.site-hero{min-height:var(--hero-min-height,500px);background-color:var(--hero-background,var(--color-surface-alt))}.site-hero--align-left{text-align:left}.site-hero--align-center{text-align:center}.site-hero--align-center>div{margin-inline:auto}.site-hero--align-right{text-align:right}.site-hero--align-right>div{margin-left:auto}.site-hero--has-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr)}.site-hero--text-box .site-hero__content{padding:clamp(1.25rem,3vw,2.5rem);border-radius:var(--radius);background:color-mix(in srgb,var(--color-surface) 92%,transparent);box-shadow:var(--shadow)}.site-hero--text-shadow h1,.site-hero--text-shadow p{text-shadow:0 2px 12px rgba(0,0,0,.22)}.site-hero__media img{opacity:var(--hero-image-opacity,1);object-position:var(--hero-image-position,center)}
.site-content{max-width:var(--content-max-width,820px)}.last-modified--left{text-align:left}.last-modified--center{text-align:center}.last-modified--right{text-align:right}.button--full{display:flex;width:100%}.button--sm{font-size:.85rem}.button--md{font-size:1rem}.button--lg{font-size:1.1rem}.content-grid,.related-content__grid{display:grid;grid-template-columns:repeat(var(--content-grid-columns,3),minmax(0,1fr))}.article-card__image{width:100%;aspect-ratio:var(--article-card-image-ratio,4/3);object-fit:var(--article-card-image-fit,cover)}.toc--numbered ol{counter-reset:toc}.toc--numbered li{counter-increment:toc}.toc--numbered li>a:before{content:counters(toc,'.') '. '}.toc__item--h3{padding-left:1rem}.social-icons{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.social-icons__icon{width:var(--social-icon-size,24px);height:var(--social-icon-size,24px)}.site-faq__header{display:flex;align-items:end;gap:1rem}.site-faq__header img{max-width:120px}.notice-box{border-inline-start:4px solid var(--notice-accent,var(--color-primary))}.notice-box--info{--notice-accent:#1976d2}.notice-box--tip{--notice-accent:#0b8f55}.notice-box--warning{--notice-accent:#c77700}.notice-box--success{--notice-accent:#168346}
@media(max-width:760px){.site-hero{min-height:var(--hero-mobile-min-height,400px)}.site-hero--has-image{grid-template-columns:1fr}.content-grid,.related-content__grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.site-header--shrinkable,.site-header--shrinkable *,.mobile-menu *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Lukemista: teemakortin yhteinen värimaailma ja paikalliset fontit. */
@font-face{font-family:Inter;src:url('/site/images/fonts/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/site/images/fonts/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/site/images/fonts/inter-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('/site/images/fonts/inter-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/site/images/fonts/playfair-display-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/site/images/fonts/playfair-display-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/site/images/fonts/playfair-display-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/site/images/fonts/playfair-display-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--color-forest:#46634D}html{scroll-behavior:smooth}body{line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.12}button,input{font:inherit}a{ text-underline-offset:.22em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}::selection{background:#7A1E2E;color:#fff}
body:has(.reading-home) .layout-shell{width:100%;padding:0;display:block}.layout-shell{min-height:48vh}.reading-home .site-content{max-width:none}.site-content:has(.reading-home){max-width:none;margin:0;padding:0}.reading-home p{margin:0}.reading-home a{text-decoration:none}.reading-home h1,.reading-home h2{color:var(--color-secondary)}
.reading-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;max-width:1240px;margin:auto;padding:76px 48px 84px;gap:40px}.reading-eyebrow{font:600 10px/1.6 var(--font-body),sans-serif;letter-spacing:.2em;color:var(--color-primary)}.reading-intro h1{font-size:clamp(52px,6vw,84px);margin:27px 0 26px;font-weight:500;line-height:1.04}.reading-intro h1 em{color:var(--color-primary);font-weight:400}.reading-intro__lead{font-family:var(--font-heading),serif;font-size:25px;color:var(--color-secondary)}.reading-intro__description{font-size:14px;max-width:370px;line-height:1.85;color:var(--color-muted-text);margin-top:12px!important}.reading-button{display:inline-flex;gap:40px;align-items:center;min-height:52px;padding:14px 24px;margin-top:30px;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:5px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.reading-button:hover{background:#601725;transform:translateY(-2px)}.reading-button span{font-size:22px;line-height:1}
.reading-intro__art{position:relative;min-height:470px;display:grid;place-items:center;isolation:isolate;background:#EFE7D9;border-radius:48% 48% 8px 8px}.reading-intro__art:before{content:'';position:absolute;inset:35px;border:1px solid #D6C6A9;border-radius:48% 48% 4px 4px;z-index:-1}.reading-orbit{position:absolute;width:250px;height:250px;border-radius:50%;background:#E2D2B2;top:65px;right:55px;z-index:-1}.reading-book{width:450px;max-width:100%;transform:translate(0,-5px)}.reading-art__caption{position:absolute;right:24px;bottom:42px;font-family:var(--font-heading),serif;font-style:italic;font-size:20px;line-height:1.3;color:var(--color-forest);text-align:right}.reading-art__number{position:absolute;left:25px;bottom:24px;font-size:8px;letter-spacing:.19em;color:#686252}
.reading-collections{max-width:1240px;margin:auto;padding:20px 48px 70px;scroll-margin-top:110px}.reading-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:25px;border-bottom:1px solid var(--color-border)}.reading-section-heading h2{font-size:36px;margin:10px 0 0}.reading-section-heading>p{font-size:12px;color:var(--color-muted-text);padding-bottom:4px}.reading-collection-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.reading-collection{display:flex;align-items:center;gap:23px;padding:28px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-secondary);transition:transform .2s,border-color .2s}.reading-collection:hover{border-color:var(--color-primary);transform:translateY(-3px)}.reading-collection__number{align-self:start;font-family:var(--font-heading),serif;font-size:17px;color:var(--color-accent)}.reading-collection__body{display:grid;gap:6px}.reading-collection .reading-eyebrow{font-size:8px;letter-spacing:.15em}.reading-collection__title{font-family:var(--font-heading),serif;font-size:32px;line-height:1.2}.reading-collection__note{font-size:11px;color:var(--color-muted-text)}.reading-collection__arrow{font-size:23px;margin-left:auto;color:var(--color-primary)}.reading-collection--english .reading-eyebrow,.reading-collection--english .reading-collection__arrow{color:var(--color-forest)}
.reading-quote{max-width:1144px;margin:0 auto 70px;padding:40px 20px 45px;text-align:center;border-top:1px solid var(--color-border)}.reading-quote>span{display:block;height:46px;font:80px/1 var(--font-heading),serif;color:var(--color-accent)}.reading-quote p{font:400 32px/1.4 var(--font-heading),serif;color:var(--color-secondary)}.reading-quote>div{width:44px;height:2px;background:var(--color-accent);margin:24px auto 0}
@media(max-width:850px){.reading-intro{padding:48px 28px 55px;gap:24px}.reading-intro h1{font-size:54px}.reading-intro__art{min-height:370px}.reading-art__caption{font-size:16px;bottom:38px;right:20px}.reading-orbit{width:180px;height:180px;right:25px}.reading-collections{padding:10px 28px 48px}.reading-collection{padding:22px;gap:14px}.reading-collection__title{font-size:28px}.reading-section-heading>p{display:none}.reading-intro__lead{font-size:21px}.reading-intro__description{font-size:13px}}
@media(max-width:600px){.reading-intro{grid-template-columns:1fr;padding:40px 22px 42px;gap:36px}.reading-intro h1{font-size:58px;margin:20px 0}.reading-intro__text>.reading-eyebrow{font-size:9px;letter-spacing:.15em}.reading-intro__art{min-height:340px;max-width:400px;width:100%;margin:auto}.reading-book{width:340px}.reading-orbit{width:190px;height:190px;right:50px;top:40px}.reading-art__caption{right:25px;bottom:32px}.reading-collections{padding:12px 22px 40px}.reading-section-heading h2{font-size:30px}.reading-collection-grid{grid-template-columns:1fr;gap:14px;margin-top:20px}.reading-quote{margin-bottom:40px;padding-top:30px}.reading-quote p{font-size:27px}.reading-button{min-height:50px}.layout-shell{min-height:42vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-button,.reading-collection{transition:none}}
