.sl-raportti{--yo:#050814; --muste:#101623; --teksti:#262c39; --vaimea:#5f6779;
  --hiusviiva:#dfe3e9; --paneeli:#f5f6f8; --pohja:#e7e9ee; --pinta:#ffffff;
  --oranssi:#ff7a1a; --korostus:#a83c00; --raita:rgba(255,122,26,.10); --palkki:#ffc9a3;
  --vaalea:#f5f5f7; --yo-vaimea:#98a1b6; --alas:#5f6779;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --serif:"Source Serif 4",Cambria,Georgia,"Times New Roman",serif;}
.sl-raportti *{box-sizing:border-box}
.sl-raportti{color:var(--teksti); font-family:var(--serif); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; font-feature-settings:"kern" 1,"liga" 1}
.sl-raportti .sivu{max-width:1300px; margin:0 auto; padding:1.6rem 236px 3rem clamp(.75rem,3vw,2rem)}
.sl-raportti .arkki{background:var(--pinta); box-shadow:0 2px 20px rgba(16,22,35,.16); min-width:0; max-width:1040px}
@media (max-width:760px){.sl-raportti .sivu{padding-right:clamp(.75rem,3vw,2rem)}}
.sl-raportti main{padding:0 clamp(1.25rem,6vw,56px) 56px}
.sl-raportti .palkki-yla{background:var(--yo); color:var(--yo-vaimea); display:grid; grid-template-columns:1fr; align-items:center;
  padding:0 clamp(1.25rem,6vw,56px); height:76px; font-family:var(--sans); font-size:11.5px; line-height:1.55; letter-spacing:.03em}
.sl-raportti .palkki-yla span{display:block}
.sl-raportti .palkki-yla .logo{justify-self:end}
.sl-raportti .palkki-yla .logo svg{display:block; width:120px; height:auto}
@media (max-width:640px){.sl-raportti .palkki-yla{height:64px}
.sl-raportti .palkki-yla .logo svg{width:100px}}
.sl-raportti .kansi{padding:44px 0 8px}
.sl-raportti .kansi .kansi-yla{font-family:var(--sans); font-size:18px; color:var(--vaimea); margin:0 0 4px}
.sl-raportti .kansi h1{font-family:var(--sans); font-weight:600; font-size:40px; line-height:1.08; letter-spacing:-.022em; color:var(--muste); margin:0; padding-bottom:14px; border-bottom:3px solid var(--oranssi)}
.sl-raportti .kansi .alaotsikko{font-family:var(--serif); font-size:17px; line-height:1.5; color:var(--teksti); margin:18px 0 0; max-width:60ch}
.sl-raportti .tiedot{display:grid; grid-template-columns:1fr 1fr; gap:0 36px; margin:22px 0 0}
.sl-raportti .tiedot > div{padding:9px 0; border-top:1px solid var(--hiusviiva)}
.sl-raportti .tiedot .nimike{display:block; margin:0 0 3px}
.sl-raportti .tiedot .arvo{font-family:var(--sans); font-size:14px; color:var(--muste)}
.sl-raportti .tila{display:inline-block; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--korostus); border:1px solid var(--oranssi); padding:.2rem .5rem; border-radius:2px; margin-top:18px}
.sl-raportti .reuna{position:fixed; top:16px; right:16px; width:200px; max-height:calc(100vh - 32px); overflow:auto; z-index:20;
  font-family:var(--sans); font-size:12.5px; background:var(--pinta); border:1px solid var(--hiusviiva); padding:8px 12px 10px; box-shadow:0 2px 12px rgba(16,22,35,.10)}
@media (min-width:1332px){.sl-raportti .reuna{right:auto; left:calc(50% + 438px); background:transparent; border:0; box-shadow:none; border-left:2px solid var(--hiusviiva); padding:0 0 0 12px}}
@media (max-width:760px){.sl-raportti .reuna{position:static; width:auto; max-height:none; box-shadow:none; margin-bottom:1rem}}
.sl-raportti .reuna a.aktiivinen{color:var(--muste); font-weight:600}
.sl-raportti .reuna .otsikko{font-weight:600; color:var(--muste); list-style:none; padding:.2rem 0 .5rem; font-size:11px; letter-spacing:.14em; text-transform:uppercase}
.sl-raportti .reuna summary::-webkit-details-marker{display:none}
.sl-raportti .reuna ul{list-style:none; margin:0; padding:0}
.sl-raportti .reuna li{margin:0}
.sl-raportti .reuna a{display:block; padding:.3rem 0; color:var(--vaimea); text-decoration:none; line-height:1.35}
.sl-raportti .reuna a:hover, .sl-raportti .reuna a:focus-visible{color:var(--korostus)}
.sl-raportti .reuna .kn{display:inline-block; min-width:1.5rem; font-weight:600; color:var(--korostus)}
.sl-raportti .nimike{font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--vaimea)}
.sl-raportti main p{margin:0 0 .85rem}
.sl-raportti h2{font-family:var(--sans); font-weight:600; color:#fff; background:var(--yo); font-size:26px; line-height:1.15; letter-spacing:-.018em;
  margin:64px 0 24px; padding:20px 24px; display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:baseline}
.sl-raportti h2 .numero-osa{color:var(--oranssi)}
.sl-raportti h2.eka{margin-top:40px}
.sl-raportti h3{font-family:var(--sans); font-weight:600; color:var(--muste); font-size:21px; line-height:1.2; letter-spacing:-.018em; margin:40px 0 14px; padding-bottom:8px; border-bottom:2px solid var(--oranssi)}
.sl-raportti h3.vuosi{font-size:24px; margin-top:44px}
.sl-raportti h4{font-family:var(--sans); font-weight:600; color:var(--muste); font-size:16.5px; line-height:1.3; letter-spacing:-.01em; margin:28px 0 8px}
.sl-raportti h3.taulukko{display:flex; flex-wrap:wrap; align-items:baseline; gap:.6rem; font-size:17px; margin-top:38px}
.sl-raportti h3.taulukko .tunnus{font-size:11px; font-weight:600; letter-spacing:.14em; color:var(--korostus); font-variant-numeric:tabular-nums}
.sl-raportti h3.taulukko .tyyppi{font-size:10px; font-weight:600; letter-spacing:.06em; padding:.1rem .45rem; border-radius:2px; border:1px solid var(--hiusviiva); color:var(--vaimea)}
.sl-raportti h3.taulukko .tyyppi-A{border-color:var(--muste); color:var(--muste)}
.sl-raportti h3.taulukko .tyyppi-P{border-color:var(--oranssi); color:var(--korostus)}
.sl-raportti h3.taulukko .lisa{font-size:12px; font-weight:400; color:var(--vaimea)}
.sl-raportti strong{font-weight:600; color:var(--muste)}
.sl-raportti em{font-style:italic}
.sl-raportti a{color:var(--korostus)}
.sl-raportti code{font-family:var(--sans); font-size:.86em; background:var(--paneeli); padding:.05em .35em; border-radius:2px; color:var(--muste)}
.sl-raportti .paikka{font-family:var(--sans); font-size:.86em; color:var(--vaimea); border:1px dashed var(--hiusviiva); padding:0 .3em; border-radius:2px}
.sl-raportti hr{border:0; margin:0}
.sl-raportti ul, .sl-raportti ol{padding-left:1.4rem; margin:0 0 .9rem}
.sl-raportti li{margin:.25rem 0}
.sl-raportti ul li::marker{content:"▪  "; color:var(--oranssi); font-weight:600}
.sl-raportti ol li::marker{color:var(--korostus); font-weight:600; font-family:var(--sans)}
.sl-raportti .ylos{color:var(--korostus); font-family:var(--sans); font-size:.8em}
.sl-raportti .muutos{font-family:var(--sans); font-weight:600; white-space:nowrap}
.sl-raportti .muutos.pos-1{color:#3f9a72}
.sl-raportti .muutos.pos-2{color:#1f7a55}
.sl-raportti .muutos.pos-3{color:#0d5238}
.sl-raportti .muutos.neg-1{color:#c9706a}
.sl-raportti .muutos.neg-2{color:#b23a35}
.sl-raportti .muutos.neg-3{color:#7c1c1c}
.sl-raportti .muutos.nolla{color:var(--vaimea); font-weight:400}
.sl-raportti .chip{display:inline-block; font-family:var(--sans); font-size:11.5px; font-weight:600; line-height:1; padding:4px 8px; border-radius:3px; white-space:nowrap; border:1px solid var(--viiva); color:var(--teksti); background:#fff}
.sl-raportti .chip.chip-keski{background:#eef0f4; border-color:#d3d8e1}
.sl-raportti .chip.chip-tumma{background:var(--muste); border-color:var(--muste); color:#fff}
.sl-raportti svg.piirakka path.lohko{cursor:pointer; transition:opacity .15s}
.sl-raportti svg.piirakka.valittu path.lohko:not(.aktiivinen){opacity:.25}
.sl-raportti svg.piirakka.valittu g.legenda:not(.aktiivinen){opacity:.25}
.sl-raportti svg.piirakka g.legenda.aktiivinen text{font-weight:600}
.sl-raportti svg.piirakka g.legenda{cursor:pointer; transition:opacity .15s}
.sl-raportti svg.pylvaat g.ryhma{cursor:pointer; outline:none}
.sl-raportti svg.pylvaat g.ryhma rect.pylvas, .sl-raportti svg.pylvaat g.ryhma text{transition:opacity .15s}
.sl-raportti svg.pylvaat.valittu g.ryhma:not(.aktiivinen) rect.pylvas{opacity:.35}
.sl-raportti svg.pylvaat.valittu g.ryhma:not(.aktiivinen) text{opacity:.55}
.sl-raportti svg.pylvaat g.ryhma.aktiivinen rect.tausta, .sl-raportti svg.pylvaat g.ryhma:hover rect.tausta, .sl-raportti svg.pylvaat g.ryhma:focus-visible rect.tausta{fill:#f1f3f7}
.sl-raportti .luokkapaneeli{font-family:var(--sans); border:1px solid var(--viiva); border-top:3px solid var(--korostus); padding:.9rem 1.1rem 1rem; margin:-.6rem 0 1.4rem; background:#fff}
.sl-raportti .luokkapaneeli .valilehdet{display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:.8rem}
.sl-raportti .luokkapaneeli .valilehdet .nimike{margin-right:4px}
.sl-raportti .luokkapaneeli .valilehti, .sl-raportti .suodatin .nappi{font:600 12px/1 var(--sans); padding:6px 11px; border:1px solid var(--viiva); border-radius:3px; background:#fff; color:var(--teksti); cursor:pointer}
.sl-raportti .luokkapaneeli .valilehti:hover, .sl-raportti .suodatin .nappi:hover{border-color:var(--vaimea)}
.sl-raportti .luokkapaneeli .valilehti.aktiivinen, .sl-raportti .suodatin .nappi.aktiivinen{background:var(--muste); border-color:var(--muste); color:#fff}
.sl-raportti .luokkapaneeli .valilehti:focus-visible, .sl-raportti .suodatin .nappi:focus-visible{outline:2px solid var(--korostus); outline-offset:2px}
.sl-raportti .luokkapaneeli .otsikko{font-size:14px; margin-bottom:.7rem}
.sl-raportti .luokkapaneeli .luvut{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:.9rem}
.sl-raportti .luokkapaneeli .luvut > div{border-left:2px solid var(--viiva); padding-left:10px}
.sl-raportti .luokkapaneeli .luvut b{display:block; font-size:22px; font-weight:600; color:var(--muste); line-height:1.15; font-variant-numeric:tabular-nums}
.sl-raportti .luokkapaneeli .luvut span{display:block; font-size:11.5px; color:var(--vaimea)}
.sl-raportti .luokkapaneeli .nimike{display:block; font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--vaimea); margin-bottom:6px}
.sl-raportti .luokkapaneeli ul{list-style:none; margin:0; padding:0; font-size:13px}
.sl-raportti .luokkapaneeli li{display:flex; justify-content:space-between; gap:12px; padding:5px 0; border-top:1px solid var(--viiva)}
.sl-raportti .luokkapaneeli li .num{white-space:nowrap; font-variant-numeric:tabular-nums; color:var(--muste)}
.sl-raportti .luokkapaneeli .pieni{font-size:11.5px; color:var(--vaimea); margin:.5rem 0 0}
@media (max-width:640px){.sl-raportti .luokkapaneeli .luvut{grid-template-columns:repeat(2,1fr)}}
.sl-raportti .suodatin{font-family:var(--sans); display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; margin:0 0 .7rem; font-size:12px}
.sl-raportti .suodatin .ryhma{display:flex; flex-wrap:wrap; gap:5px; align-items:center}
.sl-raportti .suodatin .ryhma .nimike{font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--vaimea); margin-right:2px}
.sl-raportti .suodatin .laskuri{margin-left:auto; color:var(--vaimea)}
.sl-raportti .gvn-sym{display:inline-block; width:1.6em; text-align:center; margin-right:.15em; font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.sl-raportti .koodi{font-family:var(--sans); font-size:11px; color:var(--vaimea); letter-spacing:.04em}
.sl-raportti .pieni{font-size:11px; color:var(--vaimea)}
.sl-raportti .kypsyys{display:inline-flex; align-items:center; gap:2px; vertical-align:middle}
.sl-raportti .kypsyys i{width:8px; height:8px; border-radius:50%; background:var(--hiusviiva); display:inline-block}
.sl-raportti .kypsyys i.on{background:var(--muste)}
.sl-raportti .kypsyys b{font-family:var(--sans); font-size:11px; margin-left:4px; color:var(--muste)}
.sl-raportti .verkostot{font-family:var(--sans); margin:.2rem 0 .8rem}
.sl-raportti .verkosto{border-bottom:1px solid var(--hiusviiva)}
.sl-raportti .verkosto summary{display:grid; grid-template-columns:2em minmax(0,1fr) 7.5em 9em; gap:12px; align-items:center; padding:9px 6px; cursor:pointer; list-style:none; font-size:13px}
.sl-raportti .verkosto summary::-webkit-details-marker{display:none}
.sl-raportti .verkosto summary:hover{background:var(--raita)}
.sl-raportti .verkosto summary .gvn-sym{font-size:18px; width:auto}
.sl-raportti .verkosto summary .nimi b{font-size:14px}
.sl-raportti .verkosto summary .tavoite{color:var(--vaimea); font-size:12px}
.sl-raportti .verkosto summary .osuus{text-align:right; font-size:11px; color:var(--vaimea); line-height:1.25}
.sl-raportti .verkosto summary .osuus b{display:block; font-size:15px; color:var(--muste); font-variant-numeric:tabular-nums}
.sl-raportti .verkosto .sisalto{display:grid; grid-template-columns:1fr 1fr; gap:10px 28px; padding:4px 6px 16px calc(2em + 18px); font-size:13px}
.sl-raportti .verkosto .sisalto p{margin:0 0 10px; font-family:var(--serif); font-size:14px}
.sl-raportti .verkosto .sisalto .nimike{display:block; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--vaimea); margin:6px 0 4px}
.sl-raportti .verkosto ul{list-style:none; margin:0; padding:0}
.sl-raportti .verkosto ul.lista li{display:flex; justify-content:space-between; gap:12px; padding:4px 0; border-top:1px solid var(--hiusviiva)}
.sl-raportti .verkosto ul.tekno li{display:grid; grid-template-columns:2.4em 1fr auto; gap:10px; align-items:center; padding:5px 0; border-top:1px solid var(--hiusviiva)}
.sl-raportti .verkosto .num{font-variant-numeric:tabular-nums; white-space:nowrap}
@media (max-width:640px){.sl-raportti .verkosto summary{grid-template-columns:2em 1fr;}
.sl-raportti .verkosto summary .osuus{display:none}
.sl-raportti .verkosto .sisalto{grid-template-columns:1fr; padding-left:6px}}
.sl-raportti details.luvut{margin:.4rem 0 1rem; font-family:var(--sans)}
.sl-raportti details.luvut > summary{display:inline-block; cursor:pointer; list-style:none; font:600 12px/1 var(--sans); padding:7px 12px; border:1px solid var(--viiva); border-radius:3px; background:#fff; color:var(--teksti)}
.sl-raportti details.luvut > summary::-webkit-details-marker{display:none}
.sl-raportti details.luvut > summary::before{content:"▸ "; color:var(--korostus)}
.sl-raportti details.luvut[open] > summary::before{content:"▾ "}
.sl-raportti details.luvut > summary:hover{border-color:var(--vaimea)}
.sl-raportti .mittarit{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:.6rem 0 1rem; font-family:var(--sans)}
.sl-raportti .mittari{border:1px solid var(--viiva); border-top:3px solid var(--muste); padding:12px 14px 12px; display:flex; flex-direction:column; gap:4px; background:#fff}
.sl-raportti .mittari .nimike{font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--vaimea); line-height:1.35}
.sl-raportti .mittari .arvo{font-size:26px; font-weight:600; color:var(--muste); line-height:1.1; font-variant-numeric:tabular-nums; margin-top:2px}
.sl-raportti .mittari .lisa{font-size:11.5px; color:var(--vaimea)}
.sl-raportti .mittari .mita{font-family:var(--serif); font-size:13.5px; line-height:1.45; margin:6px 0 4px; flex:1}
.sl-raportti .mittari .meta{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-size:11.5px; color:var(--teksti); border-top:1px solid var(--hiusviiva); padding-top:8px}
.sl-raportti .mittari .kynnys b{font-weight:600; color:var(--korostus)}
@media (max-width:900px){.sl-raportti .mittarit{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sl-raportti .mittarit{grid-template-columns:1fr}}
.sl-raportti .riskit{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:.6rem 0 1rem; font-family:var(--sans)}
.sl-raportti .riski{display:grid; grid-template-columns:52px 1fr; border:1px solid var(--viiva); background:#fff}
.sl-raportti .riski .suunta{display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:600; color:#fff; background:var(--vaimea)}
.sl-raportti .riski .suunta.pos{background:#1f7a55}
.sl-raportti .riski .suunta.neg{background:#b23a35}
.sl-raportti .riski .suunta.seka{background:var(--muste)}
.sl-raportti .riski .runko{padding:10px 12px 10px}
.sl-raportti .riski .mekanismi{font-family:var(--serif); font-size:14px; line-height:1.45; margin:0 0 8px}
.sl-raportti .riski .meta{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px}
.sl-raportti .riski .koko{font-size:12.5px; margin:0 0 4px; color:var(--muste)}
.sl-raportti .riski .perusta{font-size:11px; color:var(--vaimea); margin:0}
.sl-raportti .riskit{grid-auto-flow:column}
@media (max-width:640px){.sl-raportti .riskit{grid-template-columns:1fr; grid-auto-flow:row; grid-template-rows:none !important}}
.sl-raportti .luokkapaneeli table.ryhmat{font-size:13px; margin:0}
.sl-raportti .luokkapaneeli table.ryhmat th{cursor:default; font-size:10px}
.sl-raportti .luokkapaneeli table.ryhmat th.num, .sl-raportti .luokkapaneeli table.ryhmat td.num{text-align:right; white-space:nowrap}
.sl-raportti .teknot{display:grid; gap:14px; margin:.4rem 0 1rem}
.sl-raportti .tekno{border:1px solid var(--viiva); background:#fff}
.sl-raportti .tekno header{display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; padding:10px 14px; background:var(--raita); border-bottom:1px solid var(--viiva); font-family:var(--sans); font-size:14px}
.sl-raportti .tekno header .gvn-sym{font-size:18px; width:auto}
.sl-raportti .tekno header .osuudet{margin-left:auto; font-size:12px; color:var(--vaimea)}
.sl-raportti .tekno .taulu{margin:0}
.sl-raportti .tekno table{font-size:12.5px}
.sl-raportti .tekno th{cursor:default}
.sl-raportti .tekno td .pieni{display:block; margin-top:2px}
.sl-raportti th.num{text-align:right}
.sl-raportti .gvn-sym{display:inline-flex; align-items:center; justify-content:center; width:1.75em; height:1.75em; border-radius:50%; background:#eef0f4; margin-right:.3em; vertical-align:-.35em; font-size:1em; line-height:1}
.sl-raportti h4 .gvn-sym{font-size:.95em}
.sl-raportti .verkosto summary .gvn-sym, .sl-raportti .tekno header .gvn-sym{width:38px; height:38px; font-size:20px; background:#eceef3}
.sl-raportti .verkosto[open]{background:#fff7f0; border-left:3px solid var(--oranssi); margin-left:-3px}
.sl-raportti .verkosto[open] summary{background:#ffefe0}
.sl-raportti .verkosto[open] summary .nimi b{color:var(--korostus)}
.sl-raportti .asteikko div{padding:12px 12px 12px; display:flex; flex-direction:column; gap:3px}
.sl-raportti .asteikko div b{margin-bottom:2px}
.sl-raportti .asteikko div .nimi{font-weight:600; color:var(--muste)}
.sl-raportti .asteikko div .osuus{color:var(--teksti)}
.sl-raportti .asteikko div .ankkuri{margin-top:6px; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--korostus); font-weight:600}
.sl-raportti .asteikko div .kuvaus{color:var(--vaimea); font-size:11.5px; line-height:1.4}
.sl-raportti .asteikko div:nth-child(3){border-top-color:#ffd9bf}
.sl-raportti .asteikko div:nth-child(4){border-top-color:#ffab70}
.sl-raportti .asteikko div:nth-child(5){border-top-color:var(--oranssi)}
.sl-raportti .mittari{border-radius:10px; background:#f6f7fa; border:1px solid var(--hiusviiva); border-top:1px solid var(--hiusviiva)}
.sl-raportti .tekno header .otsikko{display:flex; flex-direction:column; gap:2px}
.sl-raportti .tekno header .regiimi{font-size:11.5px; color:var(--vaimea); font-weight:400}
.sl-raportti .tekno header .osuudet{text-align:right; line-height:1.35}
.sl-raportti .tekno tr.paikallinen td{background:transparent}
.sl-raportti .tekno i.merkki{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--oranssi); margin-right:6px; vertical-align:middle}
.sl-raportti .tekno tr.muu td{color:var(--vaimea)}
.sl-raportti .tekno tr.muu td b{font-weight:400}
.sl-raportti .tekno td b{display:block; font-weight:600; color:var(--muste)}
.sl-raportti .tekno tr.paikallinen td:last-child{color:var(--muste)}
.sl-raportti .suositukset{display:grid; gap:10px; margin:.6rem 0 1rem; font-family:var(--sans)}
.sl-raportti .suositus{display:grid; grid-template-columns:48px 1fr; border:1px solid var(--viiva); border-radius:10px; background:#fff; overflow:hidden}
.sl-raportti .suositus .nro{display:flex; align-items:flex-start; justify-content:center; padding-top:12px; font-size:20px; font-weight:600; color:#fff; background:var(--muste)}
.sl-raportti .suositus .runko{padding:10px 14px 10px; background:#f3f4f7}
.sl-raportti .suositus .teksti{font-family:var(--serif); font-size:15px; line-height:1.45; margin:0 0 8px; color:var(--muste)}
.sl-raportti .suositus .meta{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px}
.sl-raportti .suositus dl{display:grid; grid-template-columns:auto 1fr; gap:3px 12px; margin:0; font-size:12.5px}
.sl-raportti .suositus dt{font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--vaimea); padding-top:2px}
.sl-raportti .suositus dd{margin:0}
.sl-raportti p.johdanto{font-family:var(--sans); font-size:14px; margin:.8rem 0 .4rem}
.sl-raportti p.vali{height:1.4rem; margin:0}
.sl-raportti .laatikko{background:#f6f7fa; border-radius:8px; padding:14px 18px 6px; margin:1rem 0 1.4rem}
.sl-raportti .laatikko h4{margin-top:0}
.sl-raportti .laatikko .taulu{margin-top:.4rem}
.sl-raportti .verkosto ul.tekno li.otsikot{display:flex; justify-content:space-between; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--vaimea); border-top:0; padding:0 0 2px; white-space:nowrap}
.sl-raportti .verkosto ul.tekno li.otsikot span:last-child{text-align:right}
.sl-raportti .alas{color:var(--alas); font-family:var(--sans); font-size:.8em}
.sl-raportti .ohje{background:var(--paneeli); padding:14px 20px 4px 18px; margin:.9rem 0 1.3rem; font-size:15px}
.sl-raportti .nosto{background:var(--paneeli); border-left:3px solid var(--oranssi); padding:14px 20px 4px 18px; margin:1rem 0 1.4rem}
.sl-raportti .nosto p{font-size:15px; line-height:1.5}
.sl-raportti .nosto .nimike{display:block; color:var(--korostus); margin-bottom:6px}
.sl-raportti .kysymys{background:var(--paneeli); border-left:3px solid var(--oranssi); padding:14px 20px 4px 18px; margin:1rem 0 1.5rem; font-size:15px; scroll-margin-top:1rem}
.sl-raportti .kysymys .nimike{color:var(--korostus); display:block; margin-bottom:5px}
.sl-raportti .kysymys:target{background:var(--raita)}
.sl-raportti .kchip{font-family:var(--sans); font-weight:600; text-decoration:none; color:var(--korostus); white-space:nowrap}
.sl-raportti .lahde{font-family:var(--sans); font-size:12px; color:var(--vaimea); margin:-.2rem 0 1.6rem; line-height:1.5}
.sl-raportti .lahde a{color:var(--vaimea)}
.sl-raportti .avainluvut{display:grid; grid-template-columns:repeat(3,1fr); gap:0 28px; margin:10px 0 24px; border-bottom:1px solid var(--hiusviiva)}
@media (max-width:640px){.sl-raportti .avainluvut{grid-template-columns:repeat(2,1fr)}}
.sl-raportti .avainluku{padding:12px 0 12px; border-top:1px solid var(--hiusviiva)}
.sl-raportti .avainluku .arvo{font-family:var(--sans); font-weight:600; font-size:26px; line-height:1.1; color:var(--muste); font-variant-numeric:tabular-nums; letter-spacing:-.015em}
.sl-raportti .avainluku .vertailu{display:block; font-family:var(--sans); font-size:12.5px; color:var(--teksti); margin-top:6px}
.sl-raportti .avainluku .pvm{display:block; font-family:var(--sans); font-size:11px; color:var(--vaimea); margin-top:3px}
.sl-raportti .avainluku .nimike{display:block; margin-bottom:6px; line-height:1.35}
.sl-raportti .asteikko{display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin:12px 0 22px; font-family:var(--sans)}
.sl-raportti .asteikko div{padding:10px 10px; background:var(--paneeli); border-top:3px solid var(--hiusviiva); font-size:12px; line-height:1.4; color:var(--teksti)}
.sl-raportti .asteikko div b{display:block; font-size:14px; color:var(--muste); margin-bottom:3px}
.sl-raportti .asteikko div:nth-child(4){border-top-color:var(--palkki)}
.sl-raportti .asteikko div:nth-child(5){border-top-color:var(--oranssi)}
@media (max-width:640px){.sl-raportti .asteikko{grid-template-columns:1fr 1fr}}
.sl-raportti .taulu{overflow-x:auto; margin:.6rem 0 .8rem; -webkit-overflow-scrolling:touch}
.sl-raportti table{width:100%; border-collapse:collapse; font-family:var(--sans); font-size:13px; font-variant-numeric:tabular-nums; background:var(--pinta)}
.sl-raportti th, .sl-raportti td{padding:7px 8px; border-bottom:1px solid var(--hiusviiva); vertical-align:top; text-align:left}
.sl-raportti td.num, .sl-raportti th.num{text-align:right; white-space:nowrap}
.sl-raportti th{font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--vaimea); border-bottom:1.5px solid var(--muste); cursor:pointer; user-select:none}
.sl-raportti th:hover{color:var(--korostus)}
.sl-raportti th.sort-asc::after{content:" ▲"; font-size:.6rem}
.sl-raportti th.sort-desc::after{content:" ▼"; font-size:.6rem}
.sl-raportti th.ryhma{border-bottom:1px solid var(--hiusviiva); color:var(--muste); cursor:default}
.sl-raportti th.ryhma.tyhja{border-bottom-color:transparent}
.sl-raportti tr.tyhja td{height:2.1rem}
.sl-raportti tr.summa td{font-weight:600; color:var(--muste); border-top:1.5px solid var(--muste)}
.sl-raportti tr.korostus td{background:var(--raita)}
.sl-raportti td:empty::after{content:"\00a0"}
.sl-raportti .palkki{display:inline-block; position:relative; height:8px; width:56px; background:var(--hiusviiva); vertical-align:middle; margin-right:.45rem; border-radius:1px}
.sl-raportti .palkki::before{content:""; position:absolute; left:0; top:0; bottom:0; width:var(--w,0); background:var(--palkki); border-radius:1px}
.sl-raportti .palkki.tumma::before{background:var(--oranssi)}
.sl-raportti td:has(> .palkki){white-space:nowrap}
.sl-raportti figure{margin:.8rem 0 1.4rem}
.sl-raportti figure svg{max-width:100%; height:auto; display:block}
.sl-raportti figcaption{font-family:var(--sans); font-size:12px; color:var(--vaimea); margin-top:8px; line-height:1.5}
.sl-raportti .loppu{margin-top:48px; padding-top:12px; border-top:1.5px solid var(--muste); font-family:var(--sans); font-size:11px; color:var(--vaimea); line-height:1.45}
.sl-raportti :focus-visible{outline:2px solid var(--oranssi); outline-offset:2px}
@media print{.sl-raportti{background:#fff}
.sl-raportti .reuna{display:none}
.sl-raportti .sivu{display:block; padding:0}
.sl-raportti .arkki{box-shadow:none}
.sl-raportti .palkki-yla, .sl-raportti h2{-webkit-print-color-adjust:exact; print-color-adjust:exact}
.sl-raportti .kysymys, .sl-raportti .ohje, .sl-raportti .nosto, .sl-raportti .taulu, .sl-raportti figure, .sl-raportti .avainluvut{break-inside:avoid}
.sl-raportti h2, .sl-raportti h3{break-after:avoid}}
.sl-raportti .verkosto ul.tekno li.uusi-rivi span:nth-child(2){line-height:1.3}
.sl-raportti .trl{max-width:720px; border:1px solid #c5d4e8; border-left:4px solid #2f5d8a; background:#eef3fa; border-radius:0 8px 8px 0; padding:12px 16px 4px; margin:.6rem 0 1.6rem}
.sl-raportti .trl .otsikko{font-family:var(--sans); font-weight:600; font-size:14px; color:#1d3f6e; margin:0 0 4px}
/* Kypsyysasteet avautuvat pyynnöstä: laatikosta näkyy oletuksena vain
   otsikkorivi ja Lue lisää -nappi. Natiivi details/summary, joten tila
   välittyy ruudunlukijalle ilman skriptiä; napin teksti vaihtuu CSS:llä. */
.sl-raportti .trl .avaus summary{display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; cursor:pointer; padding:2px 0 6px; margin:0 0 2px}
.sl-raportti .trl .avaus summary::-webkit-details-marker{display:none}
.sl-raportti .trl .avaus summary .otsikko{margin:0}
.sl-raportti .trl .avaus .nappi{flex:none; font-family:var(--sans); font-size:12px; font-weight:600; color:#1d3f6e; border:1px solid #2f5d8a; border-radius:999px; padding:4px 12px; white-space:nowrap; background:#fff}
.sl-raportti .trl .avaus .nappi::before{content:"Lue lisää"}
.sl-raportti .trl .avaus[open] .nappi::before{content:"Piilota"}
.sl-raportti .trl .avaus summary:hover .nappi{background:#2f5d8a; color:#fff}
.sl-raportti .trl .avaus summary:focus-visible{outline:2px solid #2f5d8a; outline-offset:2px; border-radius:4px}
.sl-raportti .trl .avaus[open] summary{border-bottom:1px solid #c5d4e8; margin-bottom:10px}
.sl-raportti .trl .avaus:not([open]) summary{padding-bottom:2px}
@media (max-width:640px){.sl-raportti .trl .avaus summary{align-items:flex-start}}
.sl-raportti .trl .otsikko .tunnus{font-size:10.5px; letter-spacing:.14em; color:#2f5d8a; margin-right:8px}
.sl-raportti .trl p{font-size:13.5px; line-height:1.45; margin:0 0 8px; color:#262c39}
.sl-raportti .trl .taulu{margin:.2rem 0 .4rem}
.sl-raportti .trl table{background:transparent; font-size:12px}
.sl-raportti .trl th{color:#1d3f6e; border-bottom:1.5px solid #2f5d8a; cursor:default; padding:5px 7px; font-size:10px}
.sl-raportti .trl th .pieni{display:block; text-transform:none; letter-spacing:0; font-weight:400; color:#3f5470}
.sl-raportti .trl th:hover{color:#1d3f6e}
.sl-raportti .trl td{border-bottom:1px solid #c5d4e8; vertical-align:top; padding:5px 7px; line-height:1.4}
.sl-raportti .trl td.taso{white-space:nowrap}
.sl-raportti .trl td.taso .kypsyys i{width:7px; height:7px}
.sl-raportti .trl td.taso .kypsyys i.on{background:#2f5d8a}
.sl-raportti .trl td.taso .kypsyys b{color:#1d3f6e}
.sl-raportti .trl td.nimi{font-weight:600; color:#1d3f6e; white-space:nowrap}
.sl-raportti .trl td.trl-taso{white-space:nowrap; font-weight:600; color:#1d3f6e}
.sl-raportti .trl .huom{font-family:var(--sans); font-size:11.5px; color:#3f5470; line-height:1.45; margin:4px 0 6px}
@media (max-width:640px){.sl-raportti .trl td.taso, .sl-raportti .trl td.nimi, .sl-raportti .trl td.trl-taso{white-space:normal}}
.sl-raportti .verkosto ul.tekno{border:0; background:transparent; padding:0}
/* ---- sivuston kehys: sisällys navigaatiopalkin alle, ankkurit palkin alta, tulostus ilman kehystä */
.sl-raportti{font-family:var(--serif); font-size:16px; line-height:1.55; color:var(--teksti)}
.sl-raportti .sivu{padding-top:0}
/* arkki ja sisällys ruudukon sarakkeina; sisällys on sticky, joten se pysähtyy arkin loppuun eikä vieri alatunnisteen päälle */
.sl-raportti .sivu{display:grid; grid-template-columns:minmax(0,1040px) 200px; column-gap:24px; align-items:start; padding-right:clamp(.75rem,3vw,2rem)}
.sl-raportti .reuna{position:sticky; top:96px; left:auto; right:auto; width:auto; max-height:calc(100vh - 112px); overflow:auto; background:transparent; border:0; box-shadow:none; padding:0 0 0 12px; border-left:1px solid rgba(255,255,255,.18)}
@media (min-width:1332px){ .sl-raportti .reuna{left:auto; right:auto; background:transparent; border:0; box-shadow:none; padding:0 0 0 12px; border-left:1px solid rgba(255,255,255,.18)} }
.sl-raportti .reuna{scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.22) transparent}
.sl-raportti .reuna .otsikko{color:#f5f5f7; padding:0 0 .35rem}
.sl-raportti .reuna a{padding:.22rem 0}
.sl-raportti .reuna a{color:#98a1b6}
.sl-raportti .reuna a:hover, .sl-raportti .reuna a:focus-visible{color:var(--oranssi)}
.sl-raportti .reuna a.aktiivinen{color:#ffffff; font-weight:600}
@media (max-width:760px){ .sl-raportti .sivu{display:block} .sl-raportti .reuna{position:static; max-height:none; overflow:visible; border-left:0; padding:0 0 12px; margin-bottom:0} }
/* Lataa PDF: sivupohja lisää napin sisällyksen yläpuolelle ja kapealla näytöllä arkin yläpuoliseen työkaluriviin */
/* hillitty, sivuston lomakkeiden ja korttien sinertävä paneeli — ei oranssi, ettei se vie huomiota sisällöltä */
.sl-raportti-wrap a.sl-raportti-pdf{display:block; box-sizing:border-box; margin:0 0 10px; padding:7px 12px; border-radius:4px; background:rgba(80,130,220,.16); border:1px solid rgba(120,180,255,.28); color:#f5f5f7; font:600 12px/1 var(--sans); text-align:center; text-decoration:none; transition:background-color .2s ease, border-color .2s ease}
.sl-raportti-wrap a.sl-raportti-pdf:hover, .sl-raportti-wrap a.sl-raportti-pdf:focus-visible{background:rgba(80,130,220,.28); border-color:rgba(160,210,255,.6); color:#ffffff}
.sl-raportti-wrap a.sl-raportti-pdf-mobiili{display:none; margin:0 0 0 auto}
@media (max-width:760px){ .sl-raportti-wrap a.sl-raportti-pdf-mobiili{display:inline-block} }
.sl-raportti h2, .sl-raportti h3, .sl-raportti .kansi, .sl-raportti .kysymys{scroll-margin-top:96px}
/* ---- kansi: brändin slogan-logo mustana oikeassa yläkulmassa */
.sl-raportti .kansi{position:relative; padding-right:190px}
.sl-raportti .kansi .lockup{position:absolute; top:44px; right:0; width:170px}
.sl-raportti .kansi .lockup svg{display:block; width:100%; height:auto}
.sl-raportti .kansi .lockup path{fill:var(--muste)}
@media (max-width:640px){ .sl-raportti .kansi{padding-right:0} .sl-raportti .kansi .lockup{position:static; width:130px; margin:0 0 18px} }
/* ---- avaus: ensimmäisellä käynnillä (istunnon aikana) arkki kääntyy auki ylhäältä ja sisällysluettelo
   ilmestyy rivi riviltä ylhäältä alas. Vain transform ja opacity; ei liikettä, jos käyttäjä on sen kieltänyt. */
@keyframes sl-raportti-avaus{from{opacity:0; transform:perspective(1400px) rotateX(-16deg) translateY(-28px)} to{opacity:1; transform:none}}
@keyframes sl-raportti-rivi{from{opacity:0; transform:translateY(-10px)} to{opacity:1; transform:none}}
.sl-raportti.avautuu .arkki{transform-origin:50% 0; animation:sl-raportti-avaus 1s cubic-bezier(.22,.61,.36,1) both}
.sl-raportti.avautuu .reuna .otsikko{animation:sl-raportti-rivi .5s ease-out both; animation-delay:.2s}
.sl-raportti.avautuu .reuna li{animation:sl-raportti-rivi .45s ease-out both; animation-delay:calc(.3s + var(--i,0) * 70ms)}
.sl-raportti .reuna li:nth-child(1){--i:0}
.sl-raportti .reuna li:nth-child(2){--i:1}
.sl-raportti .reuna li:nth-child(3){--i:2}
.sl-raportti .reuna li:nth-child(4){--i:3}
.sl-raportti .reuna li:nth-child(5){--i:4}
.sl-raportti .reuna li:nth-child(6){--i:5}
.sl-raportti .reuna li:nth-child(7){--i:6}
.sl-raportti .reuna li:nth-child(8){--i:7}
.sl-raportti .reuna li:nth-child(9){--i:8}
.sl-raportti .reuna li:nth-child(10){--i:9}
.sl-raportti .reuna li:nth-child(11){--i:10}
.sl-raportti .reuna li:nth-child(12){--i:11}
.sl-raportti .reuna li:nth-child(13){--i:12}
.sl-raportti .reuna li:nth-child(14){--i:13}
.sl-raportti .reuna li:nth-child(15){--i:14}
.sl-raportti .reuna li:nth-child(16){--i:15}
.sl-raportti .reuna li:nth-child(17){--i:16}
.sl-raportti .reuna li:nth-child(18){--i:17}
.sl-raportti .reuna li:nth-child(19){--i:18}
.sl-raportti .reuna li:nth-child(20){--i:19}
@media (prefers-reduced-motion: reduce){ .sl-raportti.avautuu .arkki, .sl-raportti.avautuu .reuna .otsikko, .sl-raportti.avautuu .reuna li{animation:none} }
/* ---- tulostus ja PDF (tools/raportti-pdf.py tulostaa tämän saman CSS:n headless Chromella): A4, kansi omalle
   sivulleen, joka luku uudelta sivulta, taulukot ja kortit kokonaisina, kaikki avattavat osat avattuina. */
@page{size:A4; margin:16mm 15mm 18mm}
@media print{
  .sl-site-header, .sl-site-footer, .sl-after-hero-stars, .sl-raportti-tyokalut{display:none !important}
  .sl-after-hero{background:#fff !important} .sl-page-wrap{padding:0 !important; min-height:0 !important}
  .sl-raportti{font-size:10.5pt; line-height:1.5; background:#fff}
  .sl-raportti *{-webkit-print-color-adjust:exact; print-color-adjust:exact}
  .sl-raportti .sivu{display:block; padding:0; max-width:none}
  .sl-raportti .arkki{box-shadow:none; max-width:none}
  .sl-raportti main{padding:0}
  .sl-raportti .reuna, .sl-raportti-wrap a.sl-raportti-pdf{display:none}
  .sl-raportti .kansi{break-after:page; padding:50mm 0 0}
  .sl-raportti h2{break-before:page; break-after:avoid; margin-top:0}
  .sl-raportti h3, .sl-raportti h4, .sl-raportti .totsikko, .sl-raportti .luokkapaneeli .otsikko, .sl-raportti .tekno header{break-after:avoid}
  .sl-raportti .taulu{overflow:visible}
  .sl-raportti table{font-size:8.5pt}
  .sl-raportti th, .sl-raportti td{padding:4px 6px}
  .sl-raportti th{font-size:7.5pt; letter-spacing:.05em; white-space:normal; cursor:default}
  .sl-raportti th.num{white-space:normal}
  .sl-raportti th.sort-asc::after, .sl-raportti th.sort-desc::after{content:none}
  .sl-raportti thead{display:table-header-group}
  .sl-raportti tr{break-inside:avoid}
  .sl-raportti .taulu, .sl-raportti .taulukko, .sl-raportti figure, .sl-raportti .avainluvut, .sl-raportti .avainluku,
  .sl-raportti details.verkosto, .sl-raportti .tekno, .sl-raportti .luokkapaneeli .luokka, .sl-raportti .luokkapaneeli .luvut,
  .sl-raportti .mittari, .sl-raportti .trl, .sl-raportti .riskit, .sl-raportti .suositus, .sl-raportti .kysymys, .sl-raportti .ohje,
  .sl-raportti .nosto, .sl-raportti .vertailu, .sl-raportti blockquote{break-inside:avoid}
  .sl-raportti .luokkapaneeli .valilehdet, .sl-raportti .suodatin, .sl-raportti .trl .avaus summary .nappi, .sl-raportti details.luvut > summary{display:none}
  .sl-raportti .luokkapaneeli .luokka{display:block; margin-bottom:1rem}
  .sl-raportti .luokkapaneeli .luokka + .luokka{border-top:1px solid var(--viiva); padding-top:.8rem}
  .sl-raportti tr[hidden]{display:table-row}
  .sl-raportti details > summary{cursor:default}
  .sl-raportti .verkosto summary:hover{background:transparent}
  .sl-raportti .verkosto summary{padding:6px 6px; font-size:11px}
  .sl-raportti .verkosto summary .nimi b{font-size:12px}
  .sl-raportti .verkosto .sisalto{font-size:11px; gap:6px 22px; padding-bottom:10px}
  .sl-raportti .verkosto .sisalto p{font-size:11.5px; margin-bottom:6px}
  .sl-raportti .verkosto .sisalto .nimike{font-size:9px; margin:4px 0 2px}
  .sl-raportti .verkosto ul.tekno li{padding:3px 0; gap:8px}
  .sl-raportti .verkosto ul.lista li{padding:2px 0}
  .sl-raportti .verkosto ul.tekno li.uusi-rivi span:nth-child(2){line-height:1.25}
  .sl-raportti a{color:inherit; text-decoration:none}
  .sl-raportti.avautuu .arkki, .sl-raportti.avautuu .reuna .otsikko, .sl-raportti.avautuu .reuna li{animation:none}
}
