.osio{padding:var(--osioväli) 0}.osio:first-of-type{padding-top:var(--alku)}.osio__painikkeet{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.osio--hero__otsikko{margin-top:20px;font-size:clamp(34px,4.8vw,60px);font-weight:600;line-height:1.1;letter-spacing:-.045em;text-wrap:balance}.osio--hero__ingressi{max-width:58ch;margin-top:20px;color:var(--ink-2);font-size:17px;line-height:1.6}.osio--referenssit-alku .osio--hero__ingressi{max-width:55em}.osio--hero-kuvalla .container{display:grid;grid-template-columns:1fr .85fr;align-items:start;gap:clamp(32px,5vw,72px)}.osio--hero__kuva{margin:0}.osio--hero__kuva img{width:100%;height:auto}.osio--hero__kuva img{max-height:620px;object-fit:contain;object-position:right center}@media (min-width:901px){.osio--hero-kuvalla .container{width:auto;max-width:none;margin-inline:0;padding-inline:var(--reuna);grid-template-columns:minmax(min(100%,440px),1fr) minmax(0,1fr);align-items:start}.osio--hero-kuvalla .osio--hero__teksti{max-width:620px}}.parit{display:grid;gap:14px}.pari{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);overflow:hidden}.pari>*{padding:26px 28px;background:var(--bg-soft)}.pari__nimio{display:block;margin-bottom:10px;color:var(--ink);font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.pari__ongelma p{color:var(--ink-2)}.pari>.pari__ratkaisu{display:flex;flex-direction:column;background:color-mix(in srgb,var(--yellow) var(--pari-peitto,90%),transparent);color:var(--painike-ink)}.pari__ratkaisu .pari__nimio,.pari__ratkaisu p{color:var(--painike-ink)}.pari__linkki{display:inline-flex;align-self:flex-start;gap:8px;margin-top:auto;padding-top:16px;color:var(--painike-ink);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.pari__linkki:hover,.pari__linkki:focus-visible{text-decoration-thickness:2px}.kortit{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kortti{position:relative;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}.kortti--linkki{display:flex;flex-direction:column;border-color:rgb(246 235 47 / .34);transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}.kortti--linkki:hover,.kortti--linkki:focus-within{border-color:var(--yellow);box-shadow:0 0 52px -12px rgb(246 235 47 / .6),inset 0 0 28px -14px rgb(246 235 47 / .45);transform:translateY(-3px)}.kortti__linkki{display:inline-flex;gap:7px;margin-top:auto;padding-top:18px;font-size:14px;font-weight:600}.kortti__linkki::after{position:absolute;inset:0;border-radius:inherit;content:""}.kortti__linkki:focus-visible{outline:none}.kortti__otsikko{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.02em}.kortti__teksti{margin-top:10px;color:var(--ink-2);font-size:15px}.prosessi{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:none}.vaihe{display:grid;grid-template-columns:80px 240px 1fr;align-items:baseline;gap:24px;padding:26px 0;border-top:1px solid var(--line)}.vaihe:last-child{border-bottom:1px solid var(--line)}.vaihe__numero{color:var(--yellow);font-size:19px;font-weight:600;letter-spacing:-.02em}.vaihe__otsikko{font-size:19px;font-weight:600;letter-spacing:-.02em}.vaihe__kuvaus{color:var(--ink-2);font-size:15px}.paketit{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}.paketti{position:relative;display:flex;flex-direction:column;gap:12px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}.paketti--korostettu{border-color:var(--yellow)}.paketti__merkki{position:absolute;top:-11px;left:32px;padding:3px 11px;border-radius:999px;background:var(--yellow);color:var(--painike-ink);font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.paketti__nimi{font-size:19px;font-weight:600;letter-spacing:-.02em}.paketti__hinta{font-size:30px;font-weight:600;letter-spacing:-.04em}.paketti__kuvaus{color:var(--ink-2);font-size:15px}.paketti__sisalto{display:grid;gap:9px;font-size:15px}.paketti__sisalto li{position:relative;padding-left:30px;color:var(--ink-2)}.paketti__sisalto li::before{position:absolute;left:0;top:.2em;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--yellow);color:#050506;font-size:11px;font-weight:800;line-height:1;content:"\2713"}.paketti__sisalto li.paketti__ei{color:var(--ink-3)}.paketti__sisalto li.paketti__ei::before{border:1px solid var(--line-strong);background:#fff0;color:var(--ink-3);font-size:10px;content:"\2715"}.paketti__nappi{margin-top:auto;align-self:stretch}.paketti__sisalto{margin-bottom:8px}.paketit__huomautus{margin-top:22px;color:var(--ink-3);font-size:13px}.referenssi{padding:clamp(36px,5vw,64px);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}.referenssi--kuvalla{display:grid;grid-template-columns:1fr .6fr;align-items:center;gap:clamp(28px,4vw,56px)}.referenssi__lainaus{margin:18px 0 0;font-size:clamp(17px,1.6vw,21px);font-weight:400;line-height:1.5;letter-spacing:-.015em;text-wrap:pretty}.referenssi__lahde{margin-top:20px;font-size:14px;font-weight:600}.referenssi__lahde span{display:block;margin-top:2px;color:var(--ink-3);font-weight:400}.referenssi__linkki{margin-top:24px}.referenssi__kuva{margin:0}.referenssi__kuva img{border-radius:0}.ukk,.ukk__palsta{display:grid;gap:10px;align-content:start}.ukk--palstat{grid-template-columns:1fr 1fr;align-items:start}.question{border:1px solid var(--line);border-radius:21px;background:var(--bg-soft)}.question summary{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 28px;list-style:none;font-size:16px;cursor:pointer}.question summary::-webkit-details-marker{display:none}.question__plus{position:relative;width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:50%;transition:transform .3s var(--ease)}.question__plus::before,.question__plus::after{position:absolute;top:16px;left:10px;width:12px;height:1px;background:var(--ink-2);content:""}.question__plus::after{transform:rotate(90deg)}.question[open] .question__plus{transform:rotate(45deg)}.question p{padding:0 28px 26px;color:var(--ink-2)}.cta{padding:clamp(28px,6vw,80px);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-raised);text-align:center}.cta__otsikko{font-size:clamp(24px,3.4vw,42px);font-weight:600;line-height:1.15;letter-spacing:-.04em;text-wrap:balance}.cta__teksti{max-width:58ch;margin:16px auto 0;color:var(--ink-2)}.cta .osio__painikkeet{justify-content:center}@media (max-width:1050px){.kortit,.paketit{grid-template-columns:repeat(2,1fr)}.vaihe{grid-template-columns:60px 200px 1fr;gap:18px}}@media (max-width:900px){.osio--hero-kuvalla .container{grid-template-columns:1fr}.osio--hero-kuvalla .osio--hero__kuva{order:-1}.osio--hero-kuvalla .osio--hero__kuva img{max-height:48vh;object-position:center}.ukk--palstat{grid-template-columns:1fr}.referenssi--kuvalla{grid-template-columns:1fr}.pari{grid-template-columns:1fr}.vaihe{grid-template-columns:48px 1fr;gap:14px}.vaihe__kuvaus{grid-column:2}}@media (max-width:640px){.kortit,.paketit{grid-template-columns:1fr}.osio__painikkeet{flex-direction:column}.osio__painikkeet .button{width:100%}.question summary{padding:20px}.question p{padding:0 20px 22px}}.osio--karki{padding-top:0}.karki{max-width:74ch;padding:clamp(28px,4vw,44px);border-left:3px solid var(--yellow);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-soft)}.karki__teksti{margin-top:14px;font-size:17px;line-height:1.65}.karki__teksti p+p{margin-top:1em}.paikkakunnat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.paikkakunta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:var(--bg-soft);font-size:15px;font-weight:600;transition:border-color .3s,transform .3s var(--ease)}.paikkakunta:hover,.paikkakunta:focus-visible{border-color:var(--line-strong);transform:translateY(-2px)}.paikkakunta .arrow{color:var(--yellow)}@media (max-width:1050px){.paikkakunnat{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.paikkakunnat{grid-template-columns:repeat(2,1fr)}}.osio--referenssit-alku+.osio--tyot{padding-top:0}.tyot{display:grid;gap:24px}.tyo{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(28px,4vw,56px);padding:clamp(28px,4vw,52px);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft)}.tyo:nth-child(even) .tyo__kuva{order:-1}.tyo__kuva{margin:0}.tyo__kuva img{border-radius:0}.tyo__nimio{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.055em;text-transform:uppercase}.tyo__numero{color:var(--yellow)}.tyo__asiakas{margin-top:16px;color:var(--ink-2);font-size:14px;font-weight:600}.tyo__otsikko{margin-top:6px;font-size:clamp(22px,2.6vw,30px);font-weight:600;line-height:1.2;letter-spacing:-.03em;text-wrap:balance}.tyo__kuvaus{margin-top:14px;color:var(--ink-2);font-size:15px;line-height:1.6}.tyo__linkki{margin-top:24px}.mittarit{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}.mittari{padding:14px 18px;border:1px solid var(--line-strong);border-radius:14px;background:var(--bg-raised)}.mittari__luku{font-size:22px;font-weight:600;letter-spacing:-.03em}.mittari__selite{margin:2px 0 0;color:var(--ink-3);font-size:12px}.logot__otsikko{margin-bottom:32px;font-size:clamp(24px,2.6vw,32px);font-weight:600;letter-spacing:-.03em}.logot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);overflow:hidden}.logo{display:flex;align-items:center;justify-content:center;min-width:0;min-height:180px;padding:14px 6px;background:#fff}.logo img{width:auto;max-width:100%;max-height:140px;object-fit:contain}@media (max-width:1050px){.logot{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.tyo{grid-template-columns:1fr}.tyo:nth-child(even) .tyo__kuva{order:0}}@media (max-width:640px){.logot{grid-template-columns:repeat(2,minmax(0,1fr))}.mittarit{gap:8px}.mittari{padding:12px 14px}}.lomake{display:grid;grid-template-columns:1fr;align-items:start;gap:clamp(28px,3vw,40px);padding:clamp(28px,4vw,52px);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft)}.lomake__teksti{max-width:none}.lomake__otsikko{margin-top:18px;font-size:clamp(24px,3vw,36px);font-weight:600;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}.lomake__ingressi{margin-top:16px;color:var(--ink-2);font-size:16px;line-height:1.6}.lomake__kentat :is(input,textarea,select){width:100%;font:inherit}.lomake__kentat label{display:block;margin-bottom:6px;font-size:14px}body:not(.tema-vaalea) .lomake__kentat .kb-adv-form-required{color:var(--yellow)}.osio--lomake{scroll-margin-top:var(--nav-h)}.lomakevalinta{display:grid;gap:10px;margin-top:28px}.lomakevalinta__vaihtoehto{display:grid;grid-template-columns:22px 1fr;column-gap:14px;row-gap:4px;width:100%;padding:20px 22px;border:1px solid var(--line-strong);border-radius:18px;background:var(--bg);text-align:left;transition:border-color .3s,background .3s,transform .3s var(--ease)}.lomakevalinta__vaihtoehto:hover{border-color:var(--ink-3);transform:translateY(-2px)}.lomakevalinta__vaihtoehto[aria-pressed="true"]{border-color:var(--yellow);background:var(--bg-raised)}.lomakevalinta__merkki{grid-row:1 / span 2;width:22px;height:22px;margin-top:1px;border:1px solid var(--line-strong);border-radius:50%;transition:border .2s}.lomakevalinta__vaihtoehto[aria-pressed="true"] .lomakevalinta__merkki{border:7px solid var(--yellow)}.lomakevalinta__nimi{font-size:17px;font-weight:600;letter-spacing:-.015em}.lomakevalinta__kuvaus{grid-column:2;color:var(--ink-2);font-size:14px;line-height:1.5}.lomakevalinta__ohje{display:grid;place-items:center;min-height:260px;padding:32px;border:1px dashed var(--line-strong);border-radius:18px;color:var(--ink-3);text-align:center}.lomakevalinta[hidden],.lomakevalinta__ohje[hidden],.lomakevalinta__paneeli[hidden]{display:none}.lomakevalinta__paneeli+.lomakevalinta__paneeli{margin-top:48px}.lomakevalinta__paneelin-otsikko{margin-bottom:18px;color:var(--ink-3);font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.teksti{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(28px,5vw,80px)}.teksti:not(.teksti--kuvalla) .teksti__alku{position:sticky;top:calc(var(--nav-h) + 32px)}.teksti--kuvalla{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.teksti--kuvalla .teksti__alku{position:sticky;top:calc(var(--nav-h) + 32px)}.teksti__kuva{margin:0}.teksti__kuva img{width:auto;max-width:100%;max-height:min(760px,85vh);margin-inline:auto;object-fit:contain}@media (max-width:900px){.teksti__kuva img{max-height:min(520px,70vh)}}.teksti__otsikko{margin-top:14px}.teksti:not(.teksti--kuvalla) .teksti__sisalto{margin-top:0}.teksti__sisalto{margin-top:22px;color:var(--ink-2);font-size:17px;line-height:1.7}.teksti__sisalto>*+*{margin-top:1em}.teksti__sisalto ul,.teksti__sisalto ol{padding-left:1.3em;list-style:revert}.teksti__sisalto ol{padding-left:2em}.teksti__sisalto li+li{margin-top:0}.teksti__sisalto a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:4px}.teksti__sisalto strong{color:var(--ink)}.osio--paikkakunta-kuvalla{position:relative;display:flex;align-items:flex-start;min-height:min(78vh,760px);overflow:hidden;isolation:isolate}.osio--paikkakunta-kuvalla>.container{width:min(100%,var(--container))}.paikkakunta-hero__kuva{position:absolute;inset:0;z-index:-1}.paikkakunta-hero__kuva img{width:100%;height:100%;object-fit:cover}.paikkakunta-hero__kuva::after{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 45%,color-mix(in srgb,var(--bg) 30%,transparent) 100%);content:""}.osio--paikkakunta-kuvalla .osio--hero__ingressi{color:var(--ink)}@media (max-width:900px){.lomake{grid-template-columns:1fr}.lomakevalinta__ohje{min-height:0}}.osio--referenssit-alku+.osio--tyot .section-head{margin-top:0}.section-lead p+.section-lead__linkki,.section-lead__linkki{display:inline-flex;gap:8px;margin-top:14px;color:var(--ink);font-size:14px;font-weight:600}.suodatin{display:inline-flex;flex-wrap:wrap;gap:5px;margin-bottom:24px;padding:6px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg-soft)}.suodatin[hidden]{display:none}@media (max-width:640px){.suodatin{border-radius:24px}}.suodatin button{min-height:42px;padding:0 18px;border-radius:999px;color:var(--ink-2);font-size:14px;transition:color .2s,background .2s}.suodatin button:hover,.suodatin button:focus-visible{color:var(--ink)}.suodatin button[aria-pressed="true"]{color:var(--painike-ink);background:var(--yellow);font-weight:600}.sivustot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sivusto{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft)}.sivusto[hidden]{display:none}.sivusto__kuva{display:grid;place-items:center;aspect-ratio:16/10;margin:0;padding:16px;border-bottom:1px solid var(--line);background:#0a0b0d}.sivusto__kuva img{width:100%;height:100%;object-fit:contain}.sivusto__teksti{display:flex;flex:1;flex-direction:column;gap:8px;padding:22px 24px 24px}.sivusto__tyyppi{color:var(--ink-3);font-family:var(--mono);font-size:11px;letter-spacing:.055em;text-transform:uppercase}.sivusto__nimi{font-size:18px;font-weight:600;letter-spacing:-.02em}.sivusto__kuvaus{color:var(--ink-2);font-size:14px;line-height:1.55}.sivusto__linkit{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:auto;padding-top:14px;font-size:13px;font-weight:600}.sivusto__linkit a{display:inline-flex;gap:7px}.button--pieni{min-height:42px;padding:0 18px;font-size:13px}.sivustot__lisaa{display:flex;justify-content:center;margin-top:32px}.sivustot__lisaa[hidden]{display:none}.logogalleria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.logogalleria li{aspect-ratio:1;overflow:hidden;border:1px solid var(--line-strong);background:#fff}.logogalleria img{width:100%;height:100%;object-fit:cover}.palautteet__rata{display:grid;grid-auto-columns:calc((100% - 32px) / 3);grid-auto-flow:column;align-items:start;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.palautteet__rata::-webkit-scrollbar{display:none}.palautteet__rata:focus-visible{outline:2px solid var(--yellow);outline-offset:4px;border-radius:var(--radius)}.palaute{display:flex;flex-direction:column;gap:16px;padding:30px;scroll-snap-align:start;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-soft);transition:border-color .3s,box-shadow .3s}.palaute:hover{border-color:rgb(246 235 47 / .6);box-shadow:inset 0 0 32px -14px rgb(246 235 47 / .5)}.palaute blockquote{margin:0;color:var(--ink-2);font-size:15px;line-height:1.65}.palaute blockquote::before{display:block;height:30px;color:var(--yellow);font-size:48px;line-height:1;content:"\201D"}.palaute blockquote p+p{margin-top:12px}.palaute__teksti.is-lyhennetty{max-height:calc(1.65em * 9 + 30px);overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.palaute__lisaa{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:0;color:var(--ink);font-size:14px;font-weight:600}.palaute__lisaa::after{font-size:11px;content:"\25BC";transition:transform .2s}.palaute__lisaa[aria-expanded="true"]::after{transform:rotate(180deg)}.palaute__lisaa[hidden]{display:none}.palaute__lisaa:hover,.palaute__lisaa:focus-visible{color:var(--yellow)}.palaute__lahde{margin-top:4px;font-size:14px;font-weight:600}.palaute__lahde span{display:block;margin-top:2px;color:var(--ink-3);font-weight:400}.palautteet__ohjaimet{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.palautteet__ohjaimet[hidden]{display:none}.palautteet__ohjaimet button{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--yellow);border-radius:50%;color:var(--painike-ink);background:var(--yellow);font-size:20px;transition:background .2s,transform .2s var(--ease)}.palautteet__ohjaimet button:hover:not(:disabled),.palautteet__ohjaimet button:focus-visible{background:var(--yellow-hover);transform:translateY(-2px)}.palautteet__ohjaimet button:disabled{opacity:.35;cursor:default}@media (max-width:1000px){.sivustot{grid-template-columns:repeat(2,minmax(0,1fr))}.logogalleria{grid-template-columns:repeat(3,minmax(0,1fr))}.palautteet__rata{grid-auto-columns:calc((100% - 16px) / 2)}}@media (max-width:640px){.sivustot{grid-template-columns:1fr}.logogalleria{grid-template-columns:repeat(2,minmax(0,1fr))}.palautteet__rata{grid-auto-columns:88%}}.lomake{box-shadow:0 0 52px -12px rgb(246 235 47 / .6)}@media (max-width:900px){.teksti,.teksti--kuvalla{grid-template-columns:1fr}.teksti:not(.teksti--kuvalla) .teksti__alku,.teksti--kuvalla .teksti__alku{position:static}}.question p a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.osio.osio--tyokalu{padding:var(--nav-h) 0 0}.osio--tyokalu .kt-hero{padding-top:var(--alku-lisa)}.henkilot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.henkilo{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:24px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}.henkilo img{width:112px;height:112px;object-fit:cover}.henkilo__nimi{font-size:22px;font-weight:600;letter-spacing:-.02em}.henkilo__tehtava{margin-top:5px;color:var(--ink-2);font-size:15px}.henkilo__yhteys{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.henkilo__yhteys a{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-size:15px}.henkilo__yhteys a:hover{text-decoration:underline}@media (max-width:900px){.henkilot{grid-template-columns:1fr}}@media (max-width:640px){.henkilo{grid-template-columns:80px minmax(0,1fr);gap:16px}.henkilo img{width:80px;height:80px}}@media (max-width:480px){.henkilo{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:4px 16px}.henkilo>div{display:contents}.henkilo img{grid-row:1/3;width:72px;height:72px}.henkilo__nimi,.henkilo__tehtava{grid-column:2}.henkilo__nimi{align-self:end}.henkilo__yhteys{grid-column:1/-1;margin-top:14px}}.osio--hero__teksti>.osio--hero__otsikko:first-child{margin-top:0}