/* 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}}

/* Kotiprojekti: yhteiset sivuston omat viimeistelyt. */
html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{letter-spacing:-.035em}a{ text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a46642;outline-offset:5px}.layout-main{min-width:0}.layout-shell{padding-block:44px}.taxonomy-view{max-width:1100px;margin:auto}.taxonomy-view__intro{padding:30px 0 42px;border-bottom:1px solid var(--color-border)}.taxonomy-view__intro h1{font-size:clamp(2.4rem,5vw,4rem);margin:16px 0;font-weight:600}.taxonomy-view__breadcrumbs{font-size:.82rem;color:#626c60}.category-hub__group{margin-top:36px}.category-hub__details{background:#fff;border:1px solid #e1e4da;border-radius:14px;padding:20px}.category-hub__details summary{cursor:pointer;font-weight:600}.category-hub__guides a{line-height:1.5}.category-hub__media img{border-radius:12px}::selection{background:#dbe4c8;color:#29352c}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Sivustokohtainen evästevalinta: yhtä selkeät hyväksymis- ja hylkäystoiminnot. */
body .consent{color:#29352c;font-family:"Avenir Next","Segoe UI",sans-serif}body .consent__panel{border-color:#d4dcc8;border-radius:16px;box-shadow:0 12px 48px #29352c26}body .consent h2{color:#29352c}body .consent button{border-color:#718355;min-height:44px}body .consent [data-accept],body .consent [data-reject]{background:#4b603e;color:white}body .site-footer__bottom button[data-cookie-reopen]{font:inherit;color:#425339;background:transparent;border:1px solid #b6c1a5;border-radius:6px;padding:8px 12px;margin-left:20px;cursor:pointer}
