

/* Blogit-pääsivu: murupolku pois */
.blog #breadcrumbs { display: none; }
/* Blogit: premium-layout */
.blog .blog-theme-section,.blog .blog-next-step{max-width:1500px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;box-sizing:border-box}
.blog .blog-theme-grid{gap:32px}
.blog .blog-theme-card{border-top:1px solid #dfce9f;padding-top:24px}
@media(max-width:781px){.blog .blog-theme-section,.blog .blog-next-step{padding-left:20px;padding-right:20px}.blog .blog-theme-grid{gap:16px}}

/* Blogit: lopullinen lukuleveys */
.blog .blog-theme-section,.blog .blog-next-step{max-width:1280px;padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px)}

/* Blogit: sama sisltlinja ja vljempi CTA */
@media(min-width:782px){.blog .blog-theme-section,.blog .blog-next-step{padding-left:96px;padding-right:96px}}

/* Asiakastarinoiden premium-pohja: 900 px sisältöalue */
body.single-proinno_references main article.Post {
	
/* Korjaus: referenssin hero, otsikko ja pääkuva säilyvät leveinä */
body.single-proinno_references main article.Post {
	
  max-width: none !important;
  margin-left: initial !important;
  margin-right: initial !important;
}

  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.blog .blog-next-step{padding-top:64px;padding-bottom:64px;margin-top:96px}
.blog .blog-next-step h2{margin-bottom:28px}
.blog .blog-next-step .wp-block-buttons{margin-top:32px;margin-bottom:18px}
@media(max-width:781px){.blog .blog-next-step{padding-top:40px;padding-bottom:40px;margin-top:64px}}
/* =============================================
   PROINNO — OMA CSS v44 (LOPULLINEN)
   Etusivu (page-id-31) + /palvelut/ (page-id-9852)
   + Tilannekeskustelu (sivu 16754, .tilannekeskustelu-sivu)
   + Tilannekuva (sivu 17777, .tilannekuva-sivu)
   + /Toimeenpanosprintti/ (page-id-18112)
   Päivitetty: 5.6.2026 (v44)
   v44 muutokset v43:een:
   - UUSI OSA 8: PALVELUSIVUPOHJA (.palvelusivu). Sprintin
     lohkotyylit monistettu kaareluokkapohjaisina kaikkien
     uusien palvelusivujen yhteiseksi pohjaksi (Juurtuminen,
     Kantokykyarvio, paivapalvelut, Strateginen varjojasen).
     Sisaltaa ID-riippumattomat hero- ja rakosaannot seka
     sivukohtaiset hero-overlinet (:has-pohjaisina).
   - Sprintin omat page-id-18112-tyylit ennallaan.
   v43 muutokset v42:een:
   - Referenssikorttien ylapehmuste 72 px ja !important-pakotus,
     jotta mikaan teeman saanto ei voi ohittaa sita. Otsikon
     omat ylavalit nollattu varmuudeksi.
   v42 muutokset v41:een:
   - Referenssikorttien ylapehmuste 44 -> 60 px: yritysnimi
     irti kehyksen ylareunasta. Mobiilissa 32 -> 40 px.
   v41 muutokset v40:een:
   - Tilannekuvan referenssikortit: leveys identtinen
     vertailukorttien kanssa (grid 900 px, vali 24 px) ja
     selvasti korkeammat: min-height 560 px, sisavalit
     44/40 px, elementtien valit kasvatettu, mittaririvi
     irti alareunasta (padding-top 24 px, alapehmuste 44 px).
     Mobiilissa min-height pois.
   v40 muutokset v39:aan:
   - KORJAUS: irtokappaleiden siivous (OSA 4B-3) piilotti
     vahingossa myos referenssikorttien sisalla olevat kappaleet
     (yritysnimi, henkilo, titteli), koska kortit ovat
     article-elementteja. Saanto rajattu nyt luokattomiin
     kappaleisiin (p:not([class])) — WordPressin lisaama roska
     on aina luokatonta, kaikilla sivun omilla kappaleilla on
     luokka. Nimet ja tittelit nakyvat taas.
   v39 muutokset v38:aan:
   - HYVAKSYTTY KORTTIMALLI = Tilannekeskustelun vertailukortit
     (Nykyinen tapa maksaa / uusi tapa tuottaa). Vertailukortit
     palautettu ennalleen, ja Tilannekuvan referenssikortit
     muutettu taman mallin mukaisiksi: tausta #1a1612, 12 px
     pyoristys, 36/32 padding, kevyt hover. Liukuvarit,
     kultainen ylaviiva ja varjot poistettu.
   v38 muutokset v37:ään:
   - Tilannekeskustelun vertailukortit samaan premium-tyyliin
     kuin Tilannekuvan referenssikortit: liukutausta, kultainen
     ylaviiva, 16 px pyoristys, 880 px grid, 40 px valit,
     ilmava sisus. Teeman lisaamat listapallurat poistettu
     (::before ja ::marker nollattu).
   v37 muutokset v36:een:
   - Tilannekuvan referenssikortit kapeammiksi ja korkeammiksi:
     grid 880 px, valit 40 px, sisus ilmava joka suuntaan
     (alapehmuste 2.75rem), mittarit tasajakoiseen kolmen
     palstan ruudukkoon, sitaatin rivivali 1.75.
   v36 muutokset v35:een:
   - OSA 4B-3: heron ja sisallon valisen valkoisen raon siivous
     laajennettu kattamaan myos ei-tyhjat irtokappaleet (esim.
     valilyonnin sisaltava kappale), irto-br:t, classic-lohkot
     ja Liana-teeman omat sisaltokaareet (Content, Main, Page,
     Container). Kaare-divien omat valit nollattu.
   v35 muutokset v34:ään:
   - Kulmasulkeet poistettu kahdesta kommentista. WordPressin
     Lisä-CSS-kentän tarkistin hylkää HTML-merkit myös
     kommenteissa ("HTML-kuvauskielen käyttö ei ole sallittua").
     Ei toiminnallisia muutoksia.
   v34 muutokset v33:een:
   - Tilannekuvan referenssikortit (kokemus-kortti) premium-tasolle:
     grid kavennettu 1000 px:iin, sisäpehmuste 3rem/2.75rem,
     kultainen yläviiva, liukutausta, syvempi varjo, ilmavammat
     mittarit. Tekstit eivät enää ole kiinni reunoissa.
   v33 muutokset v32:een:
   - OSA 4B-2: hero-overlinet, heron välit ja valkoisen palikan
     korjaus toimivat nyt myös ilman page-id-luokkaa: säännöt
     tunnistavat sivun suoraan sisältökääreestä (body:has).
   - Tyhjien kappaleiden lisäksi piilotetaan .wp-block-spacer
     (yleinen valkoisen palikan aiheuttaja).
   v32 muutokset v31:een:
   - Tilannekeskustelun ja Tilannekuvan sisältötyylit irrotettu
     sivu-ID:stä ja sidottu HTML:n kääreluokkiin
     (.tilannekeskustelu-sivu / .tilannekuva-sivu). Layout toimii
     nyt riippumatta siitä, mille sivulle sisältö liitetään.
   - Uusi OSA 4B: ainoat ID-sidonnaiset säännöt (hero-overline,
     heron välit, valkoisen palikan korjaus) molemmille sivuille:
     16754 = Tilannekeskustelu, 17777 = Tilannekuva.
   - Vaatii HTML-parit: tilannekeskustelu-sivu-v4.html ja
     tilannekuva-sivu-v3.html (sisältö kääreluokka-divissä).
   v31 muutokset v30:een:
   - Etusivun (page-id-31) hero-overline vaihdettu:
     "Uudistumiskyky on käyttöjärjestelmä"
     → "Yhteinen ymmärrys ennen seuraavaa vaihetta"
   v30 muutokset v29:ään:
   - Tilannekuvan valkoinen palikka korjattu (nyt OSA 4B:ssä).
   Rakenne:
   OSA 1: Etusivu (page-id-31)
   OSA 2: Yhteiset moduulit
   OSA 3: /palvelut/ (page-id-9852)
   OSA 4: /palvelut/ uniikit komponentit
   OSA 5: Tilannekeskustelu (page-id-17777)
   OSA 6: Tilannekuva (page-id-16754) — KORJATTU v30
   OSA 7: Toimeenpanosprintti (page-id-18112)
   ============================================= 
   v45: Strateginen varjojäsen -sivun hero-overline
        (body:has(.varjojasen-sivu)) lisätty OSA 8:aan
   v46: Tilannepäivä-sivun hero-overline lisätty OSA 8:aan
   v47: Palvelut-sivun (9852) heron ja sisällön rako korjattu (OSA 3-2)
   v48: Palvelut-sivun heron raon järeämpi korjaus (OSA 3-3)
   v49: KORJAUS: v48:n article > p piilotti korttien tekstit
        (Muut tavat, palvelukorttien kuvaukset) — rajattu
        luokattomiin kappaleisiin (sama oppi kuin v40).
        Lisaksi: trio-palvelunimet pienemmiksi, referenssi-
        korteille premium-ylatila (OSA 3-4)
   v50: trio-palvelunimet pienella kirjaimella ilman kapiteelia,
        Asiakkaat sanovat -osiolle premium-ylatila (120px +
        overline-vali 56px)
   v51: KORJAUS: v48:n hero-korkeussaannot (min-height/height)
        kaatoivat heron taustavideon — poistettu. Raon korjaus
        nojaa tyhjien elementtien piilotukseen, joka riittaa.
   v52: Etusivun hero-ylaotsikko -> "Yhteinen tilannekuva ennen
        paatoksia"; animaatioviiveet tilannekorteille 5-9 ja
        palveluriveille 6-7
   v53: Etusivun hero-ylaotsikko strategiselle tasolle:
        "Uudistumiskyky ratkaisee organisaation tulevaisuuden"
   v54: KORTTIEN TAUSTAVARI: ruskea #1a1612 -> neutraali
        tummanharmaa #1c1c1c (ja tuloskortit #161310 -> #171717)
        VAIN background-maarittelyissa. Tekstivarit, reunat,
        kullat ja mitat ennallaan.
   v55: Etusivun heron ja sisallon valisen mustan raon korjaus
        (OSA 1-2): tyhjien piilotus + ylapehmusteiden nollaus,
        heron korkeuteen ei kosketa (video)
   v56: Etusivun viimeistely (OSA 1-3): blogiotsikon ja
        listauksen valisen mustan palkin poisto, CTA:n ja GEO:n
        tekstivarien pakotus, alaosan valkoisen valin nollaus
   v57: Etusivun lohkovalien jarea nollaus (OSA 1-4):
        juuritason lohkojen marginaalit 0, blogikaaren pehmusteet
        0, teeman sivukaarien tausta tummaksi
   v58: KORJAUS: Lianan ylaosan asemointi palautettu —
        poistettu teemakaarien padding-top-nollaukset (v55),
        main > * -marginaalinollaus ja kaarien taustapakotukset
        (v57), jotka rikkoivat ylapalkin ja heron. Etusivulla
        teeman ylaosa toimii nyt omillaan, vain kultainen
        pikkuotsikko on lisays.
   v59: Heron alamarginaalin nollaus palautettu (vain .Hero,
        sama kuin muilla sivuilla — v58 poisti sen vahingossa
        muiden mukana)
   v60: Korjaukset DevTools-tiedoilla (OSA 1-5): #main-content-
        kaaren ja sen lasten valit nollaan, Lianan Courselist-
        blogimoduulille valkoinen tausta ja mb-14 pois, tyhja
        module-blogi-light piiloon (valkoinen kaistale)
   v61: Lopulliset korjaukset lahdekoodin perusteella:
        tyhja Courselist piiloon (musta palkki), module-blogi-
        light-kaare neutraloitu (valkoinen kaistale), Bloglist
        valkoiseksi suoraan, #main-contentin tyhjat p:t piiloon
   v62: Heron korkeus videon mukaan (py-15 pienemmaksi),
        ylavalikon lapinakyva kellunta varmistettu, blogikorttien
        tekstit tummiksi valkoisella pohjalla
   v64: = v62 + blogikorttien otsikot tummakultaisiksi
        (#8a7a4a). v63:n hero-saannot hylatty.
   v65: Tilannekortit 3x3-ruudukkoon (3 palstaa, tabletilla 2,
        mobiilissa 1), palvelulistan Kun-rivien tyyli
   v66: = v65 + blogikorttien tumma hover-animaatio takaisin
        (vain lisays, heroon ei kosketa)
   v67: = v66 + tilannekorttien ruudukko kapeammaksi (1060 px)
   v68: = v67 + vaikutusketjun askelmien hover-animaatio
        (nosto, kultareunus, nuolen liuku). Ei muita muutoksia.
   v69: = v68 + asiakastulosten ruudukko 1060 px leveyteen
*/
/* =============================================
   OSA 1: ETUSIVU — page-id-31
   ============================================= */
@keyframes proinno-fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
body.page-id-31 h1::before {
  content: "Johtamisen ja toimintamallien uudistaminen";
  display: block;
  color: #DCC999;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
body.page-id-31 h1 { color: #ffffff !important; }
body.page-id-31 h1 .h1-accent { color: #DCC999 !important; font-weight: inherit; }
body.page-id-31 h1 strong { color: #DCC999 !important; font-weight: inherit; }
body.page-id-31 { background-color: #0c0c0c; color: #e8e4da; }
body.page-id-31 .site-content,
body.page-id-31 main,
body.page-id-31 .entry-content,
body.page-id-31 article {
  background-color: #0c0c0c;
  color: #e8e4da;
}
body.page-id-31 h2, body.page-id-31 h3, body.page-id-31 h4 { color: #e8e4da; }
body.page-id-31 a { color: #DCC999; }
body.page-id-31 strong { color: #DCC999; }
body.page-id-31 #main-content > p {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  box-sizing: border-box !important;
}
body.page-id-31 #main-content > h2.wp-block-heading {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  font-size: 42px !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}
body.page-id-31 .tilannekortit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 1000px;
  margin: 2rem auto 4rem auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}
body.page-id-31 .tilannekortti {
  background-color: #1c1c1c !important;
  border: 1px solid rgba(220, 201, 153, 0.18) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
  transition: border-color 0.2s ease, transform 0.2s ease;
  opacity: 0;
  animation: proinno-fadeInUp 0.6s ease-out forwards;
}
body.page-id-31 .tilannekortti:nth-child(1) { animation-delay: 0.1s; }
body.page-id-31 .tilannekortti:nth-child(2) { animation-delay: 0.22s; }
body.page-id-31 .tilannekortti:nth-child(3) { animation-delay: 0.34s; }
body.page-id-31 .tilannekortti:nth-child(4) { animation-delay: 0.46s; }
body.page-id-31 .tilannekortti:nth-child(5) { animation-delay: 0.58s; }
body.page-id-31 .tilannekortti:nth-child(6) { animation-delay: 0.70s; }
body.page-id-31 .tilannekortti:nth-child(7) { animation-delay: 0.82s; }
body.page-id-31 .tilannekortti:nth-child(8) { animation-delay: 0.94s; }
body.page-id-31 .tilannekortti:nth-child(9) { animation-delay: 1.06s; }
body.page-id-31 .tilannekortti:hover {
  border-color: rgba(220, 201, 153, 0.35) !important;
  transform: translateY(-2px);
}
body.page-id-31 .tilannekortti h3 { color: #e8e4da; font-size: 20px; font-weight: 600; line-height: 1.35; margin: 0 0 16px 0; }
body.page-id-31 .tilannekortti p { color: #b8b2a2; font-size: 16px; line-height: 1.6; margin: 0 0 16px 0; }
body.page-id-31 .tilannekortti .card-cta { display: inline-block; color: #DCC999; text-decoration: none; font-size: 14px; font-weight: 600; margin-top: 8px; transition: opacity 0.2s ease; }
body.page-id-31 .tilannekortti .card-cta:hover { opacity: 0.75; }
body.page-id-31 .tilannekuva-silta,
body.page-id-31 p.tilannekuva-silta {
  color: #DCC999 !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.5 !important;
  text-align: center !important;
  max-width: 800px !important;
  margin: 4rem auto 3rem auto !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
  display: block !important;
}
body.page-id-31 .module-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
body.page-id-31 .module-light .module-overline,
body.page-id-31 .module-dark .module-overline {
  font-size: 16px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  margin: 0 auto 1.5rem auto; max-width: 900px;
}
body.page-id-31 .module-light .module-overline { color: #8a7a4a; }
body.page-id-31 .module-dark .module-overline { color: #DCC999; }
body.page-id-31 .module-light .module-title,
body.page-id-31 .module-dark .module-title {
  font-size: 42px; font-weight: 700; line-height: 1.2;
  margin: 0 auto 1.5rem auto; max-width: 900px;
}
body.page-id-31 .module-light .module-title { color: #1a1612; }
body.page-id-31 .module-dark .module-title { color: #e8e4da; }
body.page-id-31 .module-light {
  background-color: #ffffff; color: #2a2520; padding: 5rem 0;
  width: 100vw; position: relative; left: 50%; margin-left: -50vw;
  box-sizing: border-box;
}
body.page-id-31 .module-light .module-thesis { color: #1a1612; font-size: 22px; font-weight: 600; line-height: 1.4; margin: 0 auto 2rem auto; max-width: 900px; }
body.page-id-31 .module-light .module-body { color: #2a2520; font-size: 17px; line-height: 1.7; margin: 0 auto 1rem auto; max-width: 900px; }
body.page-id-31 .module-light .module-bridge { color: #8a7a4a; font-size: 24px; font-weight: 600; font-style: italic; line-height: 1.4; margin: 2.5rem auto; max-width: 900px; }
body.page-id-31 .module-light .module-closing { color: #2a2520; font-size: 17px; line-height: 1.7; margin: 2.5rem auto 0 auto; max-width: 900px; }
body.page-id-31 .module-light .module-closing a { color: #1a1612; text-decoration: underline; text-decoration-thickness: 1.5px; text-decoration-color: #8a7a4a; text-underline-offset: 4px; font-weight: 600; transition: opacity 0.2s ease; }
body.page-id-31 .module-light .module-closing a:hover { opacity: 0.75; text-decoration-color: #DCC999; }
body.page-id-31 .module-light a { color: #1a1612; font-weight: 600; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 3px; }
body.page-id-31 .module-light strong { color: #8a7a4a; }
body.page-id-31 .module-dark {
  background-color: #0c0c0c; color: #e8e4da; padding: 5rem 0;
  width: 100vw; position: relative; left: 50%; margin-left: -50vw;
  box-sizing: border-box;
}
body.page-id-31 .module-dark .module-lead { color: #b8b2a2; font-size: 17px; line-height: 1.6; margin: 0 auto 3rem auto; max-width: 900px; }
body.page-id-31 .vaikutusketju-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 16px; margin: 3rem auto; max-width: 1280px; }
body.page-id-31 .vaikutusketju-step { background: rgba(220, 201, 153, 0.04); border: 1px solid rgba(220, 201, 153, 0.1); border-radius: 12px; padding: 24px 20px; position: relative; opacity: 0; animation: proinno-fadeInUp 0.6s ease-out forwards; }
body.page-id-31 .vaikutusketju-step:nth-child(1) { animation-delay: 0.1s; }
body.page-id-31 .vaikutusketju-step:nth-child(2) { animation-delay: 0.2s; }
body.page-id-31 .vaikutusketju-step:nth-child(3) { animation-delay: 0.3s; }
body.page-id-31 .vaikutusketju-step:nth-child(4) { animation-delay: 0.4s; }
body.page-id-31 .vaikutusketju-step:nth-child(5) { animation-delay: 0.5s; }
body.page-id-31 .vaikutusketju-step:nth-child(6) { animation-delay: 0.6s; }
body.page-id-31 .vaikutusketju-step:nth-child(7) { animation-delay: 0.7s; }
body.page-id-31 .vaikutusketju-step:not(:last-child)::after { content: "→"; position: absolute; right: -18px; top: 50%; transform: translateY(-50%); color: #DCC999; font-size: 22px; font-weight: 700; z-index: 2; line-height: 1; }
body.page-id-31 .vaikutusketju-num { color: #DCC999; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; margin-bottom: 12px; }
body.page-id-31 .vaikutusketju-name { color: #e8e4da; font-size: 20px; font-weight: 600; margin-bottom: 12px; }
body.page-id-31 .vaikutusketju-q { color: #b8b2a2; font-size: 14px; line-height: 1.5; }
body.page-id-31 .vaikutusketju-caption { color: #b8b2a2; font-size: 17px; line-height: 1.6; margin: 2rem auto 0 auto; max-width: 900px; }
body.page-id-31 .vaikutusketju-caption strong { color: #DCC999; }
body.page-id-31 .module-uudistumis .module-title { border-left: 4px solid #DCC999; padding-left: 24px; }
body.page-id-31 .uudistumis-list { list-style: none; padding: 0; margin: 2rem auto; max-width: 900px; }
body.page-id-31 .uudistumis-list li { position: relative; padding-left: 36px; margin-bottom: 20px; color: #e8e4da; font-size: 17px; line-height: 1.6; opacity: 0; animation: proinno-fadeInUp 0.5s ease-out forwards; }
body.page-id-31 .uudistumis-list li:nth-child(1) { animation-delay: 0.1s; }
body.page-id-31 .uudistumis-list li:nth-child(2) { animation-delay: 0.2s; }
body.page-id-31 .uudistumis-list li:nth-child(3) { animation-delay: 0.3s; }
body.page-id-31 .uudistumis-list li:nth-child(4) { animation-delay: 0.4s; }
body.page-id-31 .uudistumis-list li:nth-child(5) { animation-delay: 0.5s; }
body.page-id-31 .uudistumis-list li::before { content: "→"; position: absolute; left: 0; top: 0; color: #DCC999; font-weight: 700; font-size: 18px; }
body.page-id-31 .uudistumis-closing { color: #DCC999; font-size: 19px; font-style: italic; font-weight: 500; margin: 2.5rem auto 0 auto; max-width: 900px; }
body.page-id-31 .palvelut-list { margin: 2rem auto; max-width: 900px; }
body.page-id-31 .palvelu-rivi { display: grid; grid-template-columns: auto 1fr; gap: 32px; padding: 28px 0; border-bottom: 1px solid rgba(220, 201, 153, 0.12); align-items: start; opacity: 0; animation: proinno-fadeInUp 0.5s ease-out forwards; }
body.page-id-31 .palvelu-rivi:last-child { border-bottom: none; }
body.page-id-31 .palvelu-rivi:nth-child(1) { animation-delay: 0.1s; }
body.page-id-31 .palvelu-rivi:nth-child(2) { animation-delay: 0.2s; }
body.page-id-31 .palvelu-rivi:nth-child(3) { animation-delay: 0.3s; }
body.page-id-31 .palvelu-rivi:nth-child(4) { animation-delay: 0.4s; }
body.page-id-31 .palvelu-rivi:nth-child(5) { animation-delay: 0.5s; }
body.page-id-31 .palvelu-rivi:nth-child(6) { animation-delay: 0.6s; }
body.page-id-31 .palvelu-rivi:nth-child(7) { animation-delay: 0.7s; }
body.page-id-31 .palvelu-num { color: #DCC999; font-size: 32px; font-weight: 700; line-height: 1; min-width: 40px; }
body.page-id-31 .palvelu-rivi h3 { color: #e8e4da; font-size: 22px; font-weight: 600; margin: 0 0 12px 0; }
body.page-id-31 .palvelu-rivi h3 a { color: #e8e4da; text-decoration: none; transition: color 0.2s ease; }
body.page-id-31 .palvelu-rivi h3 a:hover { color: #DCC999; }
body.page-id-31 .palvelu-rivi p { color: #b8b2a2; font-size: 16px; line-height: 1.7; margin: 0; }
body.page-id-31 .module-tulokset-light { background-color: #ffffff !important; color: #2a2520 !important; padding: 5rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; }
body.page-id-31 .module-tulokset-light .module-overline { color: #8a7a4a !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; margin: 0 auto 1.5rem auto !important; max-width: 900px !important; }
body.page-id-31 .module-tulokset-light .module-title { color: #1a1612 !important; font-size: 42px !important; font-weight: 700 !important; line-height: 1.2 !important; margin: 0 auto 1.5rem auto !important; max-width: 900px !important; }
body.page-id-31 .module-tulokset-light strong { color: #DCC999 !important; }
body.page-id-31 .tulokset-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 3rem auto 0 auto; max-width: 1200px; padding: 0 1.5rem; box-sizing: border-box; }
body.page-id-31 .module-tulokset-light .tulos-kortti { background: #171717 !important; border: 1px solid rgba(220, 201, 153, 0.1) !important; border-radius: 12px !important; padding: 32px 28px !important; display: flex !important; flex-direction: column !important; opacity: 1 !important; transform: none !important; }
body.page-id-31 .module-tulokset-light .tulos-asiakas { color: #e8e4da !important; font-size: 20px !important; font-weight: 600 !important; margin: 0 0 16px 0 !important; line-height: 1.3 !important; padding-bottom: 16px !important; border-bottom: 1px solid rgba(220, 201, 153, 0.15) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.page-id-31 .module-tulokset-light .tulos-lahto { color: #e8e4da !important; font-size: 16px !important; line-height: 1.6 !important; margin: 0 0 24px 0 !important; font-weight: 400 !important; }
body.page-id-31 .module-tulokset-light .tulos-otsikko { color: #DCC999 !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; margin: 16px 0 12px 0 !important; }
body.page-id-31 .module-tulokset-light .tulos-rivit { margin: 0 0 20px 0; }
body.page-id-31 .module-tulokset-light .tulos-rivi { position: relative; padding-left: 24px; margin: 0 0 12px 0; color: #e8e4da; font-size: 16px; line-height: 1.6; }
body.page-id-31 .module-tulokset-light .tulos-rivi::before { content: "→"; position: absolute; left: 0; top: 0; color: #DCC999; font-weight: 700; font-size: 16px; }
body.page-id-31 .module-tulokset-light .tulos-vaikutus { color: #DCC999 !important; font-size: 15px !important; line-height: 1.5 !important; margin: auto 0 0 0 !important; padding-top: 20px !important; border-top: 1px solid rgba(220, 201, 153, 0.15) !important; font-weight: 600 !important; }
body.page-id-31 .nina-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 60px; margin: 2rem auto 0 auto; max-width: 1000px; align-items: center; }
body.page-id-31 .nina-content { position: relative; }
body.page-id-31 .nina-divider { width: 60px; height: 3px; background-color: #DCC999; margin-bottom: 24px; }
body.page-id-31 .nina-overline { color: #DCC999; font-size: 14px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 16px 0; }
body.page-id-31 .nina-quote { color: #e8e4da; font-size: 18px; font-style: normal; line-height: 1.65; margin: 0 0 20px 0; padding: 0; border: 0; }
body.page-id-31 .nina-pull-quote { color: #DCC999; font-size: 22px; font-style: italic; font-weight: 500; line-height: 1.5; border-left: 3px solid #DCC999; padding: 12px 0 12px 24px; margin: 28px 0 32px 0; }
body.page-id-31 .nina-meta { margin-top: 24px; }
body.page-id-31 .nina-name { color: #e8e4da; font-size: 18px; font-weight: 700; margin-bottom: 4px; }
body.page-id-31 .nina-title { color: #b8b2a2; font-size: 14px; margin-bottom: 16px; }
body.page-id-31 .nina-link { color: #DCC999; text-decoration: none; font-size: 15px; font-weight: 600; transition: opacity 0.2s ease; }
body.page-id-31 .nina-link:hover { opacity: 0.75; }
body.page-id-31 .nina-kuva { aspect-ratio: 3/4; border-radius: 12px; overflow: hidden; background: rgba(220, 201, 153, 0.05); }
body.page-id-31 .nina-kuva img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
html body.page-id-31 .module-nakokulmat-top,
body.page-id-31 div.module-nakokulmat-top { background-color: #ffffff !important; color: #2a2520 !important; padding: 5rem 0 2rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; }
body.page-id-31 .module-nakokulmat-top .module-overline { color: #8a7a4a !important; font-size: 16px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; margin: 0 auto 1.5rem auto !important; max-width: 900px !important; }
body.page-id-31 .module-nakokulmat-top .module-title { color: #1a1612 !important; font-size: 42px !important; font-weight: 700 !important; line-height: 1.2 !important; margin: 0 auto !important; max-width: 900px !important; }
html body.page-id-31 .module-blogi-light,
body.page-id-31 div.module-blogi-light { background-color: #ffffff !important; width: 100vw; position: relative; left: 50%; margin-left: -50vw; padding: 0 1.5rem 5rem 1.5rem; box-sizing: border-box; }
body.page-id-31 .module-blogi-light .wp-block-latest-posts,
body.page-id-31 .module-blogi-light .wp-block-latest-posts__list,
body.page-id-31 .module-blogi-light .wp-block-query,
body.page-id-31 .module-blogi-light .wp-block-post-template { background-color: transparent !important; }
body.page-id-31 .module-blogi-light h2,
body.page-id-31 .module-blogi-light h3,
body.page-id-31 .module-blogi-light h4,
body.page-id-31 .module-blogi-light a { color: #1a1612 !important; }
body.page-id-31 .module-blogi-light p,
body.page-id-31 .module-blogi-light time,
body.page-id-31 .module-blogi-light .wp-block-post-excerpt,
body.page-id-31 .module-blogi-light .wp-block-post-excerpt p { color: #2a2520 !important; }
body.page-id-31 .module-blogi-light .wp-block-read-more,
body.page-id-31 .module-blogi-light a.more-link,
body.page-id-31 .module-blogi-light a[href*="artikkeli"] { color: #8a7a4a !important; font-weight: 700 !important; }
body.page-id-31 .module-blogi-light > .wp-block-latest-posts,
body.page-id-31 .module-blogi-light > .wp-block-query,
body.page-id-31 .module-blogi-light > .wp-block-post-template,
body.page-id-31 .module-blogi-light > ul { max-width: 1200px; margin: 0 auto; }
body.page-id-31 .module-cta-dark { background-color: #0c0c0c; color: #e8e4da; padding: 6rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; text-align: center; }
body.page-id-31 .module-cta-dark .cta-title { color: #e8e4da; font-size: 48px; font-weight: 700; line-height: 1.15; margin: 0 auto 1.5rem auto; max-width: 800px; }
body.page-id-31 .module-cta-dark .cta-lead { color: #e8e4da; font-size: 18px; line-height: 1.6; margin: 0 auto 2.5rem auto; max-width: 700px; }
body.page-id-31 .module-cta-dark .cta-button-wrap { margin: 0 auto 2rem auto; text-align: center; }
body.page-id-31 .module-cta-dark .cta-button { display: inline-block; background-color: transparent; color: #e8e4da; padding: 16px 36px; border: 2px solid #DCC999; border-radius: 50px; font-size: 16px; font-weight: 600; text-decoration: none; letter-spacing: 0.02em; transition: background-color 0.2s ease, color 0.2s ease; }
body.page-id-31 .module-cta-dark .cta-button:hover { background-color: #DCC999; color: #1a1612; }
body.page-id-31 .module-cta-dark .cta-note { color: #d4cebe; font-size: 14px; margin: 0 auto; max-width: 600px; letter-spacing: 0.02em; }
body.page-id-31 .module-geo-dark { background-color: #0c0c0c; color: #e8e4da; padding: 3rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; margin-bottom: -1px; box-sizing: border-box; border-top: 1px solid rgba(220, 201, 153, 0.1); }
body.page-id-31 .module-geo-dark .module-overline { color: #DCC999; font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 auto 1.5rem auto; max-width: 900px; }
body.page-id-31 .module-geo-dark .module-geo-lead { color: #e8e4da; font-size: 16px; line-height: 1.7; margin: 0 auto; max-width: 900px; }
@media (prefers-reduced-motion: reduce) {
  body.page-id-31 .tilannekortti,
  body.page-id-31 .vaikutusketju-step,
  body.page-id-31 .uudistumis-list li,
  body.page-id-31 .palvelu-rivi,
  body.page-id-31 .tulos-kortti { opacity: 1; transform: none; animation: none; transition: none; }
}
@media (max-width: 1024px) {
  body.page-id-31 .vaikutusketju-grid { grid-template-columns: repeat(3, 1fr); }
  body.page-id-31 .vaikutusketju-step:not(:last-child)::after { display: none; }
  body.page-id-31 .tulokset-grid { grid-template-columns: 1fr; }
  body.page-id-31 .nina-grid { grid-template-columns: 1fr; gap: 40px; }
  body.page-id-31 .nina-kuva { max-width: 400px; margin: 0 auto; }
}
@media (max-width: 768px) {
  body.page-id-31 .tilannekortit-grid { grid-template-columns: 1fr; }
  body.page-id-31 .module-light,
  body.page-id-31 .module-dark,
  body.page-id-31 .module-tulokset-light,
  body.page-id-31 .module-nakokulmat-top,
  body.page-id-31 .module-cta-dark,
  body.page-id-31 .module-geo-dark { padding-top: 3rem; padding-bottom: 3rem; }
  body.page-id-31 .module-blogi-light { padding-bottom: 3rem; }
  body.page-id-31 .module-light .module-title,
  body.page-id-31 .module-dark .module-title,
  body.page-id-31 .module-tulokset-light .module-title,
  body.page-id-31 .module-nakokulmat-top .module-title,
  body.page-id-31 #main-content > h2.wp-block-heading { font-size: 30px !important; }
  body.page-id-31 .module-light .module-thesis { font-size: 19px; }
  body.page-id-31 .module-light .module-body,
  body.page-id-31 .module-light .module-closing { font-size: 16px; }
  body.page-id-31 .module-light .module-bridge { font-size: 20px; margin: 2rem auto; }
  body.page-id-31 .tilannekuva-silta { font-size: 18px !important; margin: 2.5rem auto 2rem auto !important; }
  body.page-id-31 .nina-pull-quote { font-size: 19px; padding: 10px 0 10px 20px; }
  body.page-id-31 .palvelu-rivi { gap: 16px; padding: 20px 0; }
  body.page-id-31 .palvelu-num { font-size: 24px; min-width: 32px; }
  body.page-id-31 .palvelu-rivi h3 { font-size: 19px; }
  body.page-id-31 .module-cta-dark .cta-title { font-size: 32px; }
  body.page-id-31 .module-cta-dark .cta-lead { font-size: 16px; }
  body.page-id-31 .module-cta-dark .cta-button { padding: 14px 28px; font-size: 15px; }
}
@media (max-width: 640px) {
  body.page-id-31 .vaikutusketju-grid { grid-template-columns: repeat(2, 1fr); }
}
/* =============================================
   OSA 2: Yhteiset moduulit (luokkapohjaiset)
   ============================================= */
.module-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
.module-dark { background-color: #0c0c0c; color: #e8e4da; padding: 5rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; }
.module-light { background-color: #ffffff; color: #2a2520; padding: 5rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; }
.module-light h2,
.module-light h3 { color: #1a1612 !important; }
.module-light strong { color: #8a7a4a; }
.module-overline { font-size: 16px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 auto 1.5rem auto; max-width: 900px; color: #DCC999; }
.module-light .module-overline { color: #8a7a4a; }
.module-title { font-size: 42px; font-weight: 700; line-height: 1.2; margin: 0 auto 1.5rem auto; max-width: 900px; color: #e8e4da !important; }
.module-light .module-title { color: #1a1612 !important; }
.module-lead { color: #b8b2a2; font-size: 17px; line-height: 1.6; margin: 0 auto 3rem auto; max-width: 900px; }
.module-light .module-lead { color: #2a2520; }
.module-cta-dark { background-color: #0c0c0c; color: #e8e4da; padding: 6rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; box-sizing: border-box; text-align: center; }
.module-cta-dark .cta-title { color: #e8e4da !important; font-size: 48px; font-weight: 700; line-height: 1.15; margin: 0 auto 1.5rem auto; max-width: 800px; }
.module-cta-dark .cta-lead { color: #e8e4da !important; font-size: 18px; line-height: 1.6; margin: 0 auto 2.5rem auto; max-width: 700px; }
.module-cta-dark .cta-button-wrap { margin: 0 auto 2rem auto; text-align: center; }
.module-cta-dark .cta-button { display: inline-block; background-color: transparent; color: #e8e4da; padding: 16px 36px; border: 2px solid #DCC999; border-radius: 50px; font-size: 16px; font-weight: 600; text-decoration: none; letter-spacing: 0.02em; transition: background-color 0.2s ease, color 0.2s ease; }
.module-cta-dark .cta-button:hover { background-color: #DCC999; color: #1a1612; }
.module-cta-dark .cta-note { color: #d4cebe; font-size: 14px; margin: 0 auto; max-width: 600px; letter-spacing: 0.02em; }
.module-geo-dark { background-color: #0c0c0c; color: #e8e4da; padding: 3rem 0; width: 100vw; position: relative; left: 50%; margin-left: -50vw; margin-bottom: -1px; box-sizing: border-box; border-top: 1px solid rgba(220, 201, 153, 0.1); }
.module-geo-dark .module-overline { color: #DCC999; font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 auto 1.5rem auto; max-width: 900px; }
.module-geo-dark .module-geo-lead { color: #e8e4da !important; font-size: 16px; line-height: 1.7; margin: 0 auto; max-width: 900px; }
/* =============================================
   OSA 3: /PALVELUT/ — page-id-9852
   ============================================= */
body.page-id-9852 h1::before { content: "Palvelut"; display: block; color: #DCC999; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 1.5rem; line-height: 1.4; }
body.page-id-9852 h1,
body.page-id-9852 .banner h1,
body.page-id-9852 .banner-title,
body.page-id-9852 .banner__title,
body.page-id-9852 [class*="banner"] h1,
body.page-id-9852 [class*="hero"] h1,
body.page-id-9852 .entry-title,
body.page-id-9852 .page-title { color: #ffffff !important; }
body.page-id-9852 { background-color: #0c0c0c !important; }
body.page-id-9852 main,
body.page-id-9852 article,
body.page-id-9852 .entry-content,
body.page-id-9852 .site-content,
body.page-id-9852 .page-content,
body.page-id-9852 .content-area,
body.page-id-9852 #main-content { background-color: #0c0c0c !important; }
body.page-id-9852 .entry-content > *:first-child,
body.page-id-9852 article > *:first-child,
body.page-id-9852 main > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }
body.page-id-9852 .entry-content,
body.page-id-9852 article { padding-top: 0 !important; margin-top: 0 !important; }
body.page-id-9852 article.palvelu-kortti { background-color: #1c1c1c !important; }
body.page-id-9852 .valmennus-kortti,
body.page-id-9852 article.valmennus-kortti,
body.page-id-9852 .module-light .valmennus-kortti,
body.page-id-9852 .module-light article.valmennus-kortti,
body.page-id-9852 .valmennukset-grid .valmennus-kortti,
body.page-id-9852 .valmennukset-grid article { background-color: transparent !important; background: transparent !important; }
body.page-id-9852 h2, body.page-id-9852 h3, body.page-id-9852 h4 { color: #e8e4da !important; }
body.page-id-9852 .module-light h2, body.page-id-9852 .module-light h3 { color: #1a1612 !important; }
body.page-id-9852 a { color: #DCC999; }
body.page-id-9852 strong { color: #DCC999; }
body.page-id-9852 .palvelu-kortti,
body.page-id-9852 .prosessi-askel,
body.page-id-9852 .askel-rivi:not(.askel-otsikko),
body.page-id-9852 .valmennus-kortti,
body.page-id-9852 .tapa-nosto { opacity: 0; animation: proinno-fadeInUp 0.6s ease-out forwards; }
body.page-id-9852 .palvelu-kortti:nth-of-type(1) { animation-delay: 0.1s; }
body.page-id-9852 .palvelu-kortti:nth-of-type(2) { animation-delay: 0.2s; }
body.page-id-9852 .palvelu-kortti:nth-of-type(3) { animation-delay: 0.3s; }
body.page-id-9852 .palvelu-kortti:nth-of-type(4) { animation-delay: 0.4s; }
body.page-id-9852 .palvelu-kortti:nth-of-type(5) { animation-delay: 0.5s; }
body.page-id-9852 .prosessi-askel:nth-child(1) { animation-delay: 0.1s; }
body.page-id-9852 .prosessi-askel:nth-child(2) { animation-delay: 0.25s; }
body.page-id-9852 .prosessi-askel:nth-child(3) { animation-delay: 0.4s; }
body.page-id-9852 .askel-rivi:not(.askel-otsikko):nth-of-type(2) { animation-delay: 0.1s; }
body.page-id-9852 .askel-rivi:not(.askel-otsikko):nth-of-type(3) { animation-delay: 0.18s; }
body.page-id-9852 .askel-rivi:not(.askel-otsikko):nth-of-type(4) { animation-delay: 0.26s; }
body.page-id-9852 .askel-rivi:not(.askel-otsikko):nth-of-type(5) { animation-delay: 0.34s; }
body.page-id-9852 .askel-rivi:not(.askel-otsikko):nth-of-type(6) { animation-delay: 0.42s; }
body.page-id-9852 .valmennus-kortti:nth-child(1) { animation-delay: 0.1s; }
body.page-id-9852 .valmennus-kortti:nth-child(2) { animation-delay: 0.22s; }
body.page-id-9852 .valmennus-kortti:nth-child(3) { animation-delay: 0.34s; }
body.page-id-9852 .tapa-nosto:nth-child(1) { animation-delay: 0.1s; }
body.page-id-9852 .tapa-nosto:nth-child(2) { animation-delay: 0.2s; }
body.page-id-9852 .tapa-nosto:nth-child(3) { animation-delay: 0.3s; }
body.page-id-9852 .tapa-nosto:nth-child(4) { animation-delay: 0.4s; }
@media (prefers-reduced-motion: reduce) {
  body.page-id-9852 .palvelu-kortti,
  body.page-id-9852 .prosessi-askel,
  body.page-id-9852 .askel-rivi,
  body.page-id-9852 .valmennus-kortti,
  body.page-id-9852 .tapa-nosto { opacity: 1; animation: none; }
}
/* =============================================
   OSA 4: /palvelut/ uniikit komponentit
   ============================================= */
.prosessi-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1000px; margin: 3rem auto 0 auto; position: relative; }
.prosessi-trio::after { content: ""; position: absolute; top: 28px; left: 16.66%; right: 16.66%; height: 1px; background: #DCC999; opacity: 0.25; z-index: 0; }
.prosessi-askel { text-align: center; position: relative; z-index: 1; }
.prosessi-merkki { width: 56px; height: 56px; border: 1.5px solid #DCC999; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: #DCC999; background: #0c0c0c; margin: 0 auto 1.5rem auto; }
.prosessi-toiminta { font-size: 28px; font-weight: 700; color: #e8e4da !important; margin: 0 0 0.5rem 0; line-height: 1.1; }
.prosessi-nimi { font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase; color: #DCC999; font-weight: 600; margin: 0; }
.askel-taulukko { max-width: 1000px; margin: 3rem auto 0 auto; background: linear-gradient(180deg, rgba(220, 201, 153, 0.04), transparent); border-radius: 12px; border: 1px solid rgba(220, 201, 153, 0.12); overflow: hidden; }
.askel-rivi { display: grid; grid-template-columns: 1fr auto; gap: 2.5rem; padding: 1.75rem 2rem; align-items: center; border-bottom: 1px solid rgba(220, 201, 153, 0.08); transition: background 0.2s ease, padding-left 0.36s ease, opacity 0.5s ease-out, transform 0.5s ease-out; }
.askel-rivi:last-child { border-bottom: none; }
.askel-rivi:not(.askel-otsikko):hover { background: rgba(220, 201, 153, 0.04); padding-left: 2.5rem; }
.askel-otsikko { background: rgba(220, 201, 153, 0.06); padding: 1.25rem 2rem; opacity: 1 !important; transform: none !important; }
.askel-th { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #DCC999; }
.askel-tilanne { font-size: 17px; line-height: 1.5; color: #e8e4da; }
.askel-linkki { color: #DCC999; text-decoration: none; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 0.5rem; white-space: nowrap; transition: gap 0.2s ease; }
.askel-linkki:hover { gap: 0.875rem; }
.palvelukortit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1000px; margin: 3rem auto 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
.palvelu-kortti { background-color: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18); border-radius: 12px; padding: 36px 32px; display: flex; flex-direction: column; transition: border-color 0.2s ease, transform 0.6s ease-out, opacity 0.6s ease-out; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25); }
.palvelu-kortti:hover { border-color: rgba(220, 201, 153, 0.35); transform: translateY(-2px); }
.palvelu-numero { font-size: 14px; font-weight: 700; color: #DCC999; letter-spacing: 0.12em; margin: 0 0 16px 0; }
.palvelu-badge { display: inline-block; background: rgba(220, 201, 153, 0.1); color: #DCC999; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; margin: 0 0 16px 0; align-self: flex-start; }
.palvelu-kortti h3 { font-size: 24px; color: #e8e4da !important; font-weight: 700; margin: 0 0 8px 0; line-height: 1.3; }
.palvelu-tagline { font-style: italic; font-size: 17px; color: #DCC999; line-height: 1.4; margin: 0 0 24px 0; }
.palvelu-fragmentti { margin: 0 0 24px 0; }
.palvelu-fragmentti p { font-size: 16px; line-height: 1.6; color: #e8e4da; margin: 0 0 4px 0; }
.palvelu-fragmentti p.fragmentti-paatos { margin-top: 10px; color: #a89770; font-style: italic; }
.palvelu-kuvaus { font-size: 16px; line-height: 1.7; color: #e8e4da; margin: 0 0 24px 0; flex: 1; }
.palvelu-sopii { font-size: 14px; line-height: 1.55; color: #b8b2a2; margin: 0 0 24px 0; padding-left: 16px; border-left: 2px solid rgba(220, 201, 153, 0.25); }
.palvelu-sopii strong { color: #DCC999; font-weight: 700; display: block; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 4px; }
.palvelu-meta { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 20px; border-top: 1px solid rgba(220, 201, 153, 0.12); margin-top: auto; flex-wrap: wrap; }
.palvelu-info { font-size: 14px; color: #DCC999; font-weight: 600; }
.palvelu-linkki { color: #DCC999; text-decoration: none; font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; gap: 0.5rem; transition: gap 0.2s ease; }
.palvelu-linkki:hover { gap: 0.875rem; }
.valmennukset-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem; max-width: 1200px; margin: 3rem auto 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
.valmennus-kortti { border-left: 2px solid #8a7a4a; padding-left: 24px; }
.valmennus-kortti h3 { font-size: 22px; color: #1a1612 !important; font-weight: 700; margin: 0 0 14px 0; line-height: 1.3; }
.valmennus-kortti p { font-size: 15px; line-height: 1.7; color: #2a2520; margin: 0; }
.valmennukset-cta { display: flex; justify-content: center; margin: 3rem auto 0 auto; }
.valmennukset-cta a,
body.page-id-9852 .valmennukset-cta a { display: inline-block; background-color: transparent !important; color: #5a4d2f !important; padding: 16px 36px; border: 2px solid #5a4d2f !important; border-radius: 50px; font-size: 16px; font-weight: 600; text-decoration: none !important; letter-spacing: 0.02em; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.valmennukset-cta a:hover,
body.page-id-9852 .valmennukset-cta a:hover { background-color: #5a4d2f !important; color: #ffffff !important; border-color: #5a4d2f !important; }
.tavat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 1080px; margin: 3rem auto 0 auto; }
.tapa-nosto { padding-left: 24px; border-left: 2px solid #DCC999; }
.tapa-nosto h3 { font-size: 20px; color: #e8e4da !important; font-weight: 600; margin: 0 0 14px 0; line-height: 1.3; }
.tapa-nosto p { font-size: 15px; line-height: 1.7; color: #d4cebe; margin: 0; }
.tapa-paatos { max-width: 820px; margin: 4rem auto 0 auto; text-align: center; font-size: 22px; line-height: 1.5; color: #DCC999; font-style: italic; font-weight: 500; padding-top: 2.5rem; border-top: 1px solid rgba(220, 201, 153, 0.12); }
body.page-id-9852 .asiakas-sitaatti-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; max-width: 1000px; margin: 3rem auto 0 auto; }
@media (min-width: 900px) {
  body.page-id-9852 .asiakas-sitaatti-grid.kaksi-saraketta { grid-template-columns: 1fr 1fr; }
  body.page-id-9852 .asiakas-sitaatti-grid.kolme-yksi-kaksi { grid-template-columns: 1fr 1fr; }
  body.page-id-9852 .asiakas-sitaatti-grid.kolme-yksi-kaksi > .asiakas-sitaatti:first-child { grid-column: 1 / -1; }
}
body.page-id-9852 .asiakas-sitaatti { padding: 2.5rem; background: linear-gradient(180deg, rgba(220, 201, 153, 0.04), transparent); border-left: 3px solid #DCC999; border-radius: 0 12px 12px 0; opacity: 0; animation: proinno-fadeInUp 0.6s ease-out forwards; }
body.page-id-9852 .asiakas-sitaatti-grid .asiakas-sitaatti:nth-of-type(2) { animation-delay: 0.2s; }
body.page-id-9852 .asiakas-sitaatti-grid .asiakas-sitaatti:nth-of-type(3) { animation-delay: 0.35s; }
body.page-id-9852 .asiakas-sitaatti-quote { font-size: 19px; line-height: 1.55; color: #e8e4da; margin: 0 0 1.5rem 0; font-weight: 400; font-style: italic; }
body.page-id-9852 .asiakas-sitaatti-henkilo { font-size: 15px; color: #d4cebe; font-weight: 600; margin: 0 0 2px 0; font-style: normal; }
body.page-id-9852 .asiakas-sitaatti-rooli { font-size: 13px; color: #b8b2a2; margin: 0; font-style: normal; }
body.page-id-9852 .asiakas-sitaatti-tulokset { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(220, 201, 153, 0.12); display: flex; gap: 1.5rem; flex-wrap: wrap; }
body.page-id-9852 .asiakas-sitaatti-tulos { font-size: 13px; color: #DCC999; font-weight: 600; letter-spacing: 0.02em; }
@media (max-width: 768px) {
  body.page-id-9852 .asiakas-sitaatti { padding: 1.5rem 1.25rem; }
  body.page-id-9852 .asiakas-sitaatti-quote { font-size: 17px; }
}
body.page-id-9852 #kantokykyarvio .module-overline,
body.page-id-9852 #kantokykyarvio .module-title { text-align: center; }
body.page-id-9852 .kantokyky-premium { max-width: 952px; margin: 0 auto; padding: 3rem 2.5rem; background: linear-gradient(135deg, rgba(220, 201, 153, 0.06), rgba(220, 201, 153, 0.02)); border: 1px solid rgba(220, 201, 153, 0.28); border-radius: 16px; text-align: center; opacity: 0; animation: proinno-fadeInUp 0.6s ease-out 0.1s forwards; }
body.page-id-9852 .kantokyky-premium-label { font-size: 14px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: #DCC999; margin: 0 0 1rem 0; }
body.page-id-9852 .kantokyky-premium-title { font-size: 28px; font-weight: 700; line-height: 1.3; color: #e8e4da; margin: 0 0 1.5rem 0; }
body.page-id-9852 .kantokyky-premium-lead { font-size: 17px; line-height: 1.65; color: #d4cebe; margin: 0 auto 2rem auto; max-width: 720px; text-align: left; }
body.page-id-9852 .kantokyky-premium-fragmentti { margin: 0 auto 1.75rem auto; max-width: 720px; text-align: left; }
body.page-id-9852 .kantokyky-premium-fragmentti p { font-size: 17px; line-height: 1.5; color: #e8e4da; margin: 0 0 0.5rem 0; font-weight: 500; }
body.page-id-9852 .kantokyky-premium-fragmentti p:last-child { margin-bottom: 0; }
body.page-id-9852 .kantokyky-premium-cta { display: inline-block; background-color: #DCC999; color: #1a1612 !important; padding: 14px 32px; border-radius: 50px; font-size: 15px; font-weight: 600; text-decoration: none !important; letter-spacing: 0.02em; transition: background-color 0.2s ease, transform 0.2s ease; }
body.page-id-9852 .kantokyky-premium-cta:hover { background-color: #c4b485; transform: translateY(-1px); }
@media (max-width: 768px) {
  body.page-id-9852 .kantokyky-premium { padding: 2rem 1.5rem; }
  body.page-id-9852 .kantokyky-premium-title { font-size: 24px; }
  body.page-id-9852 .kantokyky-premium-lead { font-size: 16px; }
}
body.page-id-9852 .faq-list { max-width: 900px; margin: 3rem auto 0 auto; }
body.page-id-9852 .faq-item { border-bottom: 1px solid rgba(220, 201, 153, 0.12); padding: 1.5rem 0; opacity: 0; animation: proinno-fadeInUp 0.5s ease-out forwards; }
body.page-id-9852 .faq-item:last-child { border-bottom: none; }
body.page-id-9852 .faq-item:nth-of-type(1) { animation-delay: 0.05s; }
body.page-id-9852 .faq-item:nth-of-type(2) { animation-delay: 0.15s; }
body.page-id-9852 .faq-item:nth-of-type(3) { animation-delay: 0.25s; }
body.page-id-9852 .faq-item:nth-of-type(4) { animation-delay: 0.35s; }
body.page-id-9852 .faq-item:nth-of-type(5) { animation-delay: 0.45s; }
body.page-id-9852 .faq-item:nth-of-type(6) { animation-delay: 0.55s; }
body.page-id-9852 .faq-item summary { display: block; cursor: pointer; font-size: 19px; font-weight: 600; color: #e8e4da; list-style: none; position: relative; padding-right: 2.5rem; line-height: 1.4; transition: color 0.2s ease; outline: none; }
body.page-id-9852 .faq-item summary::-webkit-details-marker { display: none; }
body.page-id-9852 .faq-item summary::marker { content: ""; display: none; }
body.page-id-9852 .faq-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: #DCC999; font-size: 28px; font-weight: 300; line-height: 1; transition: transform 0.2s ease; }
body.page-id-9852 .faq-item[open] summary::after { content: "−"; }
body.page-id-9852 .faq-item summary:hover { color: #DCC999; }
body.page-id-9852 .faq-item summary:focus-visible { color: #DCC999; }
body.page-id-9852 .faq-a { margin-top: 1rem; color: #d4cebe; font-size: 16px; line-height: 1.7; }
body.page-id-9852 .faq-a p { margin: 0 0 1rem 0; }
body.page-id-9852 .faq-a p:last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) {
  body.page-id-9852 .faq-item { opacity: 1; animation: none; }
}
@media (max-width: 1024px) {
  .palvelukortit-grid { grid-template-columns: 1fr; }
  .valmennukset-grid { grid-template-columns: 1fr; gap: 32px; }
  .tavat-grid { grid-template-columns: 1fr; gap: 32px; }
  .prosessi-trio { grid-template-columns: 1fr; gap: 2rem; }
  .prosessi-trio::after { display: none; }
}
@media (max-width: 768px) {
  .module-cta-dark .cta-title { font-size: 32px; }
  .module-cta-dark .cta-button { padding: 14px 28px; font-size: 15px; }
  .askel-rivi { grid-template-columns: 1fr; gap: 0.75rem; padding: 1.5rem; }
  .askel-rivi:not(.askel-otsikko):hover { padding-left: 1.5rem; }
  .askel-otsikko { display: none; }
  .palvelu-kortti { padding: 28px 24px; }
  .palvelu-meta { flex-direction: column; align-items: flex-start; gap: 12px; }
  .prosessi-toiminta { font-size: 22px; }
  .tapa-paatos { font-size: 18px; }
}
body.page-id-9852 .vaikutusketju { max-width: 1000px; margin: 3rem auto 0 auto; padding: 0 1.5rem; display: flex; flex-direction: column; gap: 1rem; box-sizing: border-box; }
body.page-id-9852 .vaihe { display: grid; grid-template-columns: auto 1fr; gap: 1.75rem; align-items: baseline; padding: 1.5rem 1.75rem; background: linear-gradient(180deg, rgba(220, 201, 153, 0.04), transparent); border-left: 2px solid rgba(220, 201, 153, 0.28); border-radius: 4px; transition: background 0.25s ease, border-left-color 0.25s ease, padding-left 0.25s ease; opacity: 0; transform: translateY(8px); animation: proinno-fadeInUp 0.5s ease-out forwards; }
body.page-id-9852 .vaihe:nth-of-type(1) { animation-delay: 0.05s; }
body.page-id-9852 .vaihe:nth-of-type(2) { animation-delay: 0.12s; }
body.page-id-9852 .vaihe:nth-of-type(3) { animation-delay: 0.19s; }
body.page-id-9852 .vaihe:nth-of-type(4) { animation-delay: 0.26s; }
body.page-id-9852 .vaihe:nth-of-type(5) { animation-delay: 0.33s; }
body.page-id-9852 .vaihe:nth-of-type(6) { animation-delay: 0.40s; }
body.page-id-9852 .vaihe:hover { background: linear-gradient(180deg, rgba(220, 201, 153, 0.08), rgba(220, 201, 153, 0.02)); border-left-color: #DCC999; padding-left: 2rem; }
body.page-id-9852 .vaihe-numero { font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.1em; color: #DCC999; line-height: 1; }
body.page-id-9852 .vaihe-sisalto { display: flex; flex-direction: column; gap: 0.4rem; }
body.page-id-9852 .vaihe-nimi { font-size: 22px; font-weight: 600; color: #e8e4da; margin: 0; line-height: 1.2; }
body.page-id-9852 .vaihe-kysymys { font-size: 16px; color: #c8c2b4; margin: 0; line-height: 1.5; }
body.page-id-9852 .vaikutusketju-credit { max-width: 1000px; margin: 2rem auto 0 auto; padding: 0 1.5rem; font-size: 13px; color: #8a8474; text-align: center; letter-spacing: 0.02em; font-style: italic; box-sizing: border-box; }
@media (prefers-reduced-motion: reduce) { body.page-id-9852 .vaihe { opacity: 1; transform: none; animation: none; } }
@media (max-width: 768px) {
  body.page-id-9852 .vaihe { grid-template-columns: 1fr; gap: 0.5rem; padding: 1.25rem 1.25rem; }
  body.page-id-9852 .vaihe:hover { padding-left: 1.25rem; }
  body.page-id-9852 .vaihe-nimi { font-size: 19px; }
}
body.page-id-9852 .tilannepolut-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1000px; margin: 3rem auto 0 auto; padding: 0 1.5rem; box-sizing: border-box; }
body.page-id-9852 article.tilanne-kortti { background: linear-gradient(180deg, rgba(220, 201, 153, 0.04), transparent) !important; border: 1px solid rgba(220, 201, 153, 0.14) !important; border-radius: 12px !important; padding: 1.75rem 1.75rem 1.5rem !important; display: flex; flex-direction: column; gap: 0.875rem; transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease; opacity: 0; transform: translateY(8px); animation: proinno-fadeInUp 0.5s ease-out forwards; }
body.page-id-9852 .tilanne-kortti:nth-of-type(1) { animation-delay: 0.05s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(2) { animation-delay: 0.10s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(3) { animation-delay: 0.15s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(4) { animation-delay: 0.20s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(5) { animation-delay: 0.25s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(6) { animation-delay: 0.30s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(7) { animation-delay: 0.35s; }
body.page-id-9852 .tilanne-kortti:nth-of-type(8) { animation-delay: 0.40s; }
body.page-id-9852 article.tilanne-kortti:hover { border-color: rgba(220, 201, 153, 0.32) !important; background: linear-gradient(180deg, rgba(220, 201, 153, 0.07), rgba(220, 201, 153, 0.02)) !important; transform: translateY(-2px); }
body.page-id-9852 .tilanne-otsikko { font-size: 19px; font-weight: 600; color: #e8e4da; margin: 0; line-height: 1.35; font-style: italic; }
body.page-id-9852 .tilanne-kuvaus { font-size: 15px; color: #c8c2b4; margin: 0; line-height: 1.55; flex-grow: 1; }
body.page-id-9852 .tilanne-linkki { font-size: 14px; font-weight: 600; color: #DCC999; text-decoration: none; letter-spacing: 0.02em; margin-top: 0.5rem; transition: color 0.2s ease, transform 0.2s ease; display: inline-block; }
body.page-id-9852 .tilanne-linkki:hover { color: #e8d4a8; transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { body.page-id-9852 .tilanne-kortti { opacity: 1; transform: none; animation: none; } }
@media (max-width: 768px) {
  body.page-id-9852 .tilannepolut-grid { grid-template-columns: 1fr; gap: 16px; }
  body.page-id-9852 .tilanne-kortti { padding: 1.5rem 1.5rem 1.25rem; }
  body.page-id-9852 .tilanne-otsikko { font-size: 17px; }
}
body.page-id-9852 .asiakas-sitaatti .sitaatti-mittarit { display: flex; flex-wrap: wrap; gap: 1.75rem 2rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(220, 201, 153, 0.12); }
body.page-id-9852 .asiakas-sitaatti .mittari { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
body.page-id-9852 .asiakas-sitaatti .mittari-luku { font-size: 30px; font-weight: 700; color: #DCC999; line-height: 1; letter-spacing: -0.01em; font-feature-settings: "tnum" 1; }
body.page-id-9852 .asiakas-sitaatti .mittari-teksti { font-size: 13px; color: #c8c2b4; line-height: 1.35; letter-spacing: 0.01em; }
@media (max-width: 768px) {
  body.page-id-9852 .asiakas-sitaatti .sitaatti-mittarit { gap: 1.25rem 1.5rem; }
  body.page-id-9852 .asiakas-sitaatti .mittari-luku { font-size: 26px; }
  body.page-id-9852 .asiakas-sitaatti .mittari-teksti { font-size: 12px; }
}
body.page-id-9852 .asiakas-sitaatti .sitaatti-teksti { font-size: 17px; line-height: 1.6; color: #e8e4da; font-style: italic; margin: 0 0 1.75rem 0; padding: 0; border: none; quotes: none; }
body.page-id-9852 .asiakas-sitaatti .sitaatti-footer { display: flex; flex-direction: column; gap: 0.25rem; }
body.page-id-9852 .asiakas-sitaatti .sitaatti-nimi { font-size: 16px; font-weight: 600; color: #e8e4da; margin: 0; line-height: 1.3; font-style: normal; }
body.page-id-9852 .asiakas-sitaatti .sitaatti-titteli { font-size: 14px; color: #a8a294; margin: 0; line-height: 1.4; font-style: normal; }
@media (max-width: 768px) { body.page-id-9852 .asiakas-sitaatti .sitaatti-teksti { font-size: 16px; } }
/* ============================================================ */
/* OSA 4B: SIVUKEHYKSET — Tilannekeskustelu & Tilannekuva       */
/* Ainoat sivu-ID:hen sidotut säännöt: hero-overline, heron     */
/* välit ja valkoisen palikan korjaus (elementit ovat           */
/* sisältökääreen ULKOPUOLELLA, siksi ID-sidonta tarvitaan).    */
/*                                                              */
/* Sivu 16754 = Tilannekeskustelu (HTML v4, .tilannekeskustelu-sivu) */
/* Sivu 17777 = Tilannekuva       (HTML v3, .tilannekuva-sivu)  */
/* Kaikki muut sivutyylit on sidottu HTML:n kääreluokkaan,      */
/* joten ne toimivat vaikka sivu-ID vaihtuisi.                  */
/* ============================================================ */
body.page-id-16754 .Hero,
body.page-id-17777 .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-16754 .Hero__Content h1::before {
  content: "Tilannekuva";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body.page-id-17777 .Hero__Content h1::before {
  content: "Tilannekuvakeskustelu";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body.page-id-16754 main,
body.page-id-16754 .site-content,
body.page-id-16754 #main-content,
body.page-id-16754 .page-content,
body.page-id-16754 .content-area,
body.page-id-16754 .entry-content,
body.page-id-16754 article,
body.page-id-16754 .wp-block-html,
body.page-id-17777 main,
body.page-id-17777 .site-content,
body.page-id-17777 #main-content,
body.page-id-17777 .page-content,
body.page-id-17777 .content-area,
body.page-id-17777 .entry-content,
body.page-id-17777 article,
body.page-id-17777 .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-16754 .entry-content > *:first-child,
body.page-id-16754 article > *:first-child,
body.page-id-16754 main > *:first-child,
body.page-id-16754 .Hero + *,
body.page-id-17777 .entry-content > *:first-child,
body.page-id-17777 article > *:first-child,
body.page-id-17777 main > *:first-child,
body.page-id-17777 .Hero + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-16754 .entry-content > *:last-child,
body.page-id-16754 article > *:last-child,
body.page-id-16754 main > *:last-child,
body.page-id-17777 .entry-content > *:last-child,
body.page-id-17777 article > *:last-child,
body.page-id-17777 main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-16754 .entry-content > p:empty,
body.page-id-16754 article > p:empty,
body.page-id-17777 .entry-content > p:empty,
body.page-id-17777 article > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* --- OSA 4B-2: ID-RIIPPUMATON VARMISTUS --- */
/* Nämä säännöt tunnistavat sivun suoraan sisältökääreestä,     */
/* joten ne toimivat vaikka body-elementissä ei olisi           */
/* page-id-luokkaa lainkaan. Pidetään ID-säännöt yllä           */
/* varmistuksena vanhoille selaimille.                          */
body:has(.tilannekeskustelu-sivu) .Hero,
body:has(.tilannekuva-sivu) .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.tilannekeskustelu-sivu) .Hero__Content h1::before {
  content: "Tilannekeskustelu";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tilannekuva-sivu) .Hero__Content h1::before {
  content: "Tilannekuva";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tilannekeskustelu-sivu) main,
body:has(.tilannekeskustelu-sivu) .site-content,
body:has(.tilannekeskustelu-sivu) #main-content,
body:has(.tilannekeskustelu-sivu) .page-content,
body:has(.tilannekeskustelu-sivu) .content-area,
body:has(.tilannekeskustelu-sivu) .entry-content,
body:has(.tilannekeskustelu-sivu) article,
body:has(.tilannekeskustelu-sivu) .wp-block-html,
body:has(.tilannekuva-sivu) main,
body:has(.tilannekuva-sivu) .site-content,
body:has(.tilannekuva-sivu) #main-content,
body:has(.tilannekuva-sivu) .page-content,
body:has(.tilannekuva-sivu) .content-area,
body:has(.tilannekuva-sivu) .entry-content,
body:has(.tilannekuva-sivu) article,
body:has(.tilannekuva-sivu) .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.tilannekeskustelu-sivu) .Hero + *,
body:has(.tilannekeskustelu-sivu) .entry-content > *:first-child,
body:has(.tilannekeskustelu-sivu) article > *:first-child,
body:has(.tilannekeskustelu-sivu) main > *:first-child,
body:has(.tilannekuva-sivu) .Hero + *,
body:has(.tilannekuva-sivu) .entry-content > *:first-child,
body:has(.tilannekuva-sivu) article > *:first-child,
body:has(.tilannekuva-sivu) main > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:has(.tilannekeskustelu-sivu) .entry-content > *:last-child,
body:has(.tilannekeskustelu-sivu) article > *:last-child,
body:has(.tilannekeskustelu-sivu) main > *:last-child,
body:has(.tilannekuva-sivu) .entry-content > *:last-child,
body:has(.tilannekuva-sivu) article > *:last-child,
body:has(.tilannekuva-sivu) main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Tyhjät kappaleet, välilohkot ja spacerit pois heron ja sisällön välistä */
body:has(.tilannekeskustelu-sivu) .entry-content > p:empty,
body:has(.tilannekeskustelu-sivu) article > p:empty,
body:has(.tilannekeskustelu-sivu) .wp-block-spacer,
body:has(.tilannekuva-sivu) .entry-content > p:empty,
body:has(.tilannekuva-sivu) article > p:empty,
body:has(.tilannekuva-sivu) .wp-block-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* --- OSA 4B-3: irtoelementtien ja teemakaareiden siivous --- */
/* Naiden sivujen KAIKKI oikea sisalto on kaare-divin sisalla.  */
/* Siksi sisaltoalueen suorat irtokappaleet ja rivinvaihdot     */
/* (esim. WordPressin lisaama kappale, jossa on vain valilyonti)*/
/* ovat aina roskaa ja voidaan piilottaa turvallisesti.         */
body:has(.tilannekeskustelu-sivu) .entry-content > p:not([class]),
body:has(.tilannekeskustelu-sivu) article > p:not([class]),
body:has(.tilannekeskustelu-sivu) .entry-content > br,
body:has(.tilannekeskustelu-sivu) article > br,
body:has(.tilannekeskustelu-sivu) .wp-block-html > p:not([class]),
body:has(.tilannekuva-sivu) .entry-content > p:not([class]),
body:has(.tilannekuva-sivu) article > p:not([class]),
body:has(.tilannekuva-sivu) .entry-content > br,
body:has(.tilannekuva-sivu) article > br,
body:has(.tilannekuva-sivu) .wp-block-html > p:not([class]) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Liana-teeman mahdolliset sisaltokaareet (isolla alkukirjaimella). */
/* Nollataan vain ylavali; jos luokkaa ei ole sivulla, saanto ei tee mitaan. */
body:has(.tilannekeskustelu-sivu) .Content,
body:has(.tilannekeskustelu-sivu) .Main,
body:has(.tilannekeskustelu-sivu) .Page,
body:has(.tilannekeskustelu-sivu) .Page__Content,
body:has(.tilannekeskustelu-sivu) .PageContent,
body:has(.tilannekeskustelu-sivu) .Container,
body:has(.tilannekeskustelu-sivu) .wp-block-freeform,
body:has(.tilannekuva-sivu) .Content,
body:has(.tilannekuva-sivu) .Main,
body:has(.tilannekuva-sivu) .Page,
body:has(.tilannekuva-sivu) .Page__Content,
body:has(.tilannekuva-sivu) .PageContent,
body:has(.tilannekuva-sivu) .Container,
body:has(.tilannekuva-sivu) .wp-block-freeform {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Kaare-div itse: ei valeja ylla eika alla */
.tilannekeskustelu-sivu,
.tilannekuva-sivu {
  margin: 0 !important;
  padding: 0 !important;
}
/* ============================================================ */
/* OSA 5: TILANNEKESKUSTELU — sisältötyylit (.tilannekeskustelu-sivu) */
/* HTML v7: koko sisalto kaare-divissa, luokka .tilannekeskustelu-sivu */
/* ============================================================ */
/* Hero-overline ja hero-välit: ks. OSA 4B (ID-sidonnaiset sivukehykset) */
.tilannekeskustelu-sivu .module-container { max-width: 1200px; margin: 0 auto; padding-left: 3rem; padding-right: 3rem; box-sizing: border-box; }
.tilannekeskustelu-sivu .text-wrap { max-width: 900px; margin-left: auto; margin-right: auto; }
.tilannekeskustelu-sivu .module-container > .module-overline,
.tilannekeskustelu-sivu .module-container > h2 { max-width: 900px; margin-left: auto; margin-right: auto; }
.tilannekeskustelu-sivu .overline-gold { color: #DCC999; }
.tilannekeskustelu-sivu .overline-dark { color: #8a7a4a; }
.tilannekeskustelu-sivu .ajatusnosto-aloitus { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2rem; font-weight: 400; }
.tilannekeskustelu-sivu .ajatusnosto-lainaus { font-size: 24px; line-height: 1.4; font-style: italic; font-weight: 500; color: #8a7a4a; margin: 0 0 2rem; padding: 0; border: none; }
.tilannekeskustelu-sivu .ajatusnosto-paatos { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0; font-weight: 400; }
.tilannekeskustelu-sivu .kustannus h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .kustannus-lead { font-size: 17px; color: #b8b2a2; line-height: 1.6; margin: 0 0 2.5rem; }
.tilannekeskustelu-sivu .kustannus-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.tilannekeskustelu-sivu .kustannus-lista li { font-size: 18px; color: #e8e4da; line-height: 1.5; padding: 20px 0 20px 36px; border-bottom: 1px solid rgba(220, 201, 153, 0.15); position: relative; }
.tilannekeskustelu-sivu .kustannus-lista li:first-child { border-top: 1px solid rgba(220, 201, 153, 0.15); }
.tilannekeskustelu-sivu .kustannus-lista li::before { content: "—"; position: absolute; left: 0; top: 20px; color: #8a7a4a; font-weight: 700; font-size: 18px; }
.tilannekeskustelu-sivu .kustannus-paatos { font-size: 18px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; }
.tilannekeskustelu-sivu .vertailu h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .vertailu-lead { font-size: 17px; color: #b8b2a2; line-height: 1.6; margin: 0 0 3rem; }
.tilannekeskustelu-sivu .vertailu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.tilannekeskustelu-sivu .vertailu-kortti { background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18); border-radius: 12px; padding: 36px 32px; transition: border-color 0.2s, transform 0.2s; }
.tilannekeskustelu-sivu .vertailu-kortti:hover { border-color: rgba(220, 201, 153, 0.4); transform: translateY(-2px); }
.tilannekeskustelu-sivu .vertailu-kortti .kortti-overline { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #8a7a4a; margin: 0 0 12px; line-height: 1.4; }
.tilannekeskustelu-sivu .vertailu-kortti h3 { font-size: 22px; font-weight: 600; margin: 0 0 24px; line-height: 1.3; letter-spacing: -0.005em; }
.tilannekeskustelu-sivu .vertailu-kortti-nyt h3 { color: #b8b2a2; }
.tilannekeskustelu-sivu .vertailu-kortti-uusi h3 { color: #DCC999; }
.tilannekeskustelu-sivu .vertailu-lista { list-style: none; padding: 0; margin: 0; }
.tilannekeskustelu-sivu .vertailu-lista li { padding: 18px 0; border-bottom: 1px solid rgba(138, 122, 74, 0.18); font-size: 16px; color: #e8e4da; line-height: 1.55; }
.tilannekeskustelu-sivu .vertailu-lista li:first-child { padding-top: 0; }
.tilannekeskustelu-sivu .vertailu-lista li:last-child { border-bottom: none; padding-bottom: 0; }
.tilannekeskustelu-sivu .vertailu-lista li strong { display: block; font-weight: 600; margin-bottom: 6px; letter-spacing: -0.005em; }
.tilannekeskustelu-sivu .vertailu-kortti-nyt li strong { color: #d4cebe; }
.tilannekeskustelu-sivu .vertailu-kortti-uusi li strong { color: #ffffff; }
.tilannekeskustelu-sivu .prosessi h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 4rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .prosessi-vaiheet { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 48px; }
.tilannekeskustelu-sivu .prosessi-vaihe .prosessi-vaihe-numero { font-size: 56px; color: #8a7a4a; font-weight: 700; line-height: 1; margin: 0 0 24px; letter-spacing: -0.02em; display: block; }
.tilannekeskustelu-sivu .prosessi-vaihe h3 { font-size: 22px; font-weight: 600; color: #1a1612; margin: 0 0 16px; line-height: 1.3; }
.tilannekeskustelu-sivu .prosessi-vaihe p:not(.prosessi-vaihe-numero) { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0; }
.tilannekeskustelu-sivu .tiedatte h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .tiedatte-tukilause { font-size: 22px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.4; margin: 0 0 3rem; }
.tilannekeskustelu-sivu .tiedatte-lista { display: flex; flex-direction: column; gap: 20px; }
.tilannekeskustelu-sivu .tiedatte-rivi { display: flex; align-items: baseline; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(220, 201, 153, 0.18); }
.tilannekeskustelu-sivu .tiedatte-rivi:last-child { border-bottom: none; }
.tilannekeskustelu-sivu .tiedatte-numero { font-size: 28px; color: #DCC999; font-weight: 700; line-height: 1; min-width: 48px; }
.tilannekeskustelu-sivu .tiedatte-rivi p { font-size: 18px; color: #e8e4da; line-height: 1.6; margin: 0; font-weight: 400; }
.tilannekeskustelu-sivu .nina-osio h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 8px; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .nina-titteli { font-size: 17px; color: #6a6360; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
.tilannekeskustelu-sivu .nina-teksti { font-size: 17px; line-height: 1.7; color: #2a2520; margin: 0 0 1.5rem; }
.tilannekeskustelu-sivu .nina-link { font-size: 17px; color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 4px; transition: opacity 0.2s; }
.tilannekeskustelu-sivu .nina-link:hover { opacity: 0.75; }
.tilannekeskustelu-sivu .nina-yhteys { margin: 0.5rem 0 0.25rem; }
.tilannekeskustelu-sivu .nina-tutustu { margin: 0; }
.tilannekeskustelu-sivu .faq h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 3rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .faq-item { border-top: 1px solid rgba(220, 201, 153, 0.18); padding: 24px 0; }
.tilannekeskustelu-sivu .faq-item:last-of-type { border-bottom: 1px solid rgba(220, 201, 153, 0.18); }
.tilannekeskustelu-sivu .faq-item summary { font-size: 20px; font-weight: 600; line-height: 1.4; color: #DCC999; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.tilannekeskustelu-sivu .faq-item summary::-webkit-details-marker { display: none; }
.tilannekeskustelu-sivu .faq-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 400; color: #DCC999; }
.tilannekeskustelu-sivu .faq-item[open] summary::after { content: "−"; }
.tilannekeskustelu-sivu .faq-item p { margin: 16px 0 0; font-size: 16px; line-height: 1.7; color: #e8e4da; }
.tilannekeskustelu-sivu .loppu-cta-container { max-width: 800px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
.tilannekeskustelu-sivu .loppu-cta h2 { font-size: 48px; font-weight: 700; line-height: 1.15; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekeskustelu-sivu .loppu-cta-teksti { font-size: 18px; color: #e8e4da; line-height: 1.6; margin: 0 0 2.5rem; }
.tilannekeskustelu-sivu .loppu-cta-meta { font-size: 14px; color: #d4cebe; margin: 1.5rem 0 0; letter-spacing: 0.02em; }
.tilannekeskustelu-sivu .btn-pilleri { display: inline-block; background: transparent; border: 2px solid #DCC999; border-radius: 50px; padding: 16px 36px; color: #e8e4da; font-weight: 600; font-size: 16px; letter-spacing: 0.02em; text-decoration: none; transition: all 0.2s; }
.tilannekeskustelu-sivu .btn-pilleri:hover { background: #DCC999; color: #0c0c0c; }
.tilannekeskustelu-sivu .btn-pilleri-iso { padding: 18px 42px; font-size: 17px; }
.tilannekeskustelu-sivu .loppu-cta-sahkoposti { font-size: 15px; color: #b8b2a2; margin: 1.5rem 0 0; line-height: 1.6; }
.tilannekeskustelu-sivu .loppu-cta-sahkoposti a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; transition: opacity 0.2s, text-decoration-color 0.2s; }
.tilannekeskustelu-sivu .loppu-cta-sahkoposti a:hover { opacity: 0.85; text-decoration-color: #DCC999; }
.tilannekeskustelu-sivu .tk-geo { border-top: 1px solid rgba(220, 201, 153, 0.1); }
.tilannekeskustelu-sivu .geo-overline { font-size: 13px; }
.tilannekeskustelu-sivu .geo-h3 { font-size: 24px; font-weight: 600; color: #DCC999; margin: 0 0 1.25rem; letter-spacing: -0.005em; }
.tilannekeskustelu-sivu .tk-geo p { font-size: 16px; line-height: 1.7; color: #b8b2a2; margin: 0 0 16px; }
.tilannekeskustelu-sivu .geo-toteutus { font-size: 14px; color: #8a7a4a; font-style: italic; margin: 1.5rem 0 0; }
@media (max-width: 768px) {
  .tilannekeskustelu-sivu .module-container { padding-left: 1.5rem; padding-right: 1.5rem; }
  .tilannekeskustelu-sivu .vertailu h2,
  .tilannekeskustelu-sivu .prosessi h2,
  .tilannekeskustelu-sivu .tiedatte h2,
  .tilannekeskustelu-sivu .nina-osio h2,
  .tilannekeskustelu-sivu .faq h2 { font-size: 30px; }
  .tilannekeskustelu-sivu .loppu-cta h2 { font-size: 32px; }
  .tilannekeskustelu-sivu .ajatusnosto-lainaus { font-size: 20px; }
  .tilannekeskustelu-sivu .kustannus-lista li { font-size: 16px; padding: 18px 0 18px 28px; }
  .tilannekeskustelu-sivu .kustannus-paatos { font-size: 16px; }
  .tilannekeskustelu-sivu .tiedatte-tukilause { font-size: 18px; }
  .tilannekeskustelu-sivu .vertailu-grid { grid-template-columns: 1fr; gap: 16px; max-width: 100%; }
  .tilannekeskustelu-sivu .vertailu-kortti { padding: 28px 24px; }
  .tilannekeskustelu-sivu .prosessi-vaiheet { grid-template-columns: 1fr; gap: 40px; }
  .tilannekeskustelu-sivu .prosessi-vaihe .prosessi-vaihe-numero { font-size: 44px; }
  .tilannekeskustelu-sivu .tiedatte-rivi { gap: 16px; }
  .tilannekeskustelu-sivu .tiedatte-numero { font-size: 24px; min-width: 36px; }
  .tilannekeskustelu-sivu .geo-h3 { font-size: 20px; }
}
/* ============================================================ */
/* OSA 6: TILANNEKUVA — sisältötyylit (.tilannekuva-sivu)       */
/* HTML v6: koko sisalto kaare-divissa, luokka .tilannekuva-sivu */
/* Hero + palikkakorjaus: ks. OSA 4B.                           */
/* ============================================================ */
/* Hero-overline ja valkoisen palikan korjaus: ks. OSA 4B (ID-sidonnaiset sivukehykset) */
.tilannekuva-sivu .tk-geo { margin-bottom: 0; }
.tilannekuva-sivu .module-container { max-width: 1200px; margin: 0 auto; padding-left: 3rem; padding-right: 3rem; box-sizing: border-box; }
.tilannekuva-sivu .text-wrap { max-width: 900px; margin-left: auto; margin-right: auto; }
.tilannekuva-sivu .module-container > .module-overline,
.tilannekuva-sivu .module-container > h2 { max-width: 900px; margin-left: auto; margin-right: auto; }
.tilannekuva-sivu .overline-gold { color: #DCC999; }
.tilannekuva-sivu .overline-dark { color: #8a7a4a; }
.tilannekuva-sivu .saatte h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .saatte-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.tilannekuva-sivu .saatte-lista li { font-size: 17px; color: #e8e4da; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(220, 201, 153, 0.15); position: relative; }
.tilannekuva-sivu .saatte-lista li:first-child { border-top: 1px solid rgba(220, 201, 153, 0.15); }
.tilannekuva-sivu .saatte-lista li::before { content: "→"; position: absolute; left: 0; top: 18px; color: #DCC999; font-weight: 700; }
.tilannekuva-sivu .saatte-faktarivi { font-size: 16px; color: #DCC999; font-weight: 600; letter-spacing: 0.02em; margin: 0 0 2rem; padding: 1rem 0; border-top: 1px solid rgba(220, 201, 153, 0.18); border-bottom: 1px solid rgba(220, 201, 153, 0.18); text-align: left; }
.tilannekuva-sivu .saatte-tiivistys { font-size: 22px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; text-align: left; }
.tilannekuva-sivu .kenelle h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .kenelle-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2rem; }
.tilannekuva-sivu .kenelle-lista { list-style: none; padding: 0; margin: 0; }
.tilannekuva-sivu .kenelle-lista li { font-size: 17px; color: #2a2520; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(138, 122, 74, 0.18); position: relative; }
.tilannekuva-sivu .kenelle-lista li:first-child { border-top: 1px solid rgba(138, 122, 74, 0.18); }
.tilannekuva-sivu .kenelle-lista li::before { content: "—"; position: absolute; left: 0; top: 18px; color: #8a7a4a; font-weight: 700; }
.tilannekuva-sivu .erottuvuus h2 { font-size: 36px; font-weight: 700; line-height: 1.25; color: #DCC999; margin: 0 0 2rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .erottuvuus-lead { font-size: 19px; color: #e8e4da; line-height: 1.6; margin: 0 0 1.75rem; font-weight: 400; }
.tilannekuva-sivu .erottuvuus-omistajuus { font-size: 17px; color: #b8b2a2; line-height: 1.7; margin: 0; padding: 1.75rem 0 0; border-top: 1px solid rgba(220, 201, 153, 0.15); }
.tilannekuva-sivu .kokemus h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .kokemus-lead { font-size: 17px; color: #b8b2a2; line-height: 1.6; margin: 0 0 3rem; }
/* Referenssikortit (v41): sama leveys kuin vertailukorteissa
   (grid 900 px, vali 24 px) ja reilusti korkeutta:
   min-height 560 px + ilmavat sisavalit joka suuntaan */
.tilannekuva-sivu .kokemus-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 900px; margin: 0 auto; }
.tilannekuva-sivu .kokemus-kortti { background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18); border-radius: 12px; padding: 72px 40px 44px !important; min-height: 560px; display: flex; flex-direction: column; transition: border-color 0.2s, transform 0.2s; }
.tilannekuva-sivu .kokemus-otsikko { margin-top: 0 !important; padding-top: 0 !important; }
.tilannekuva-sivu .kokemus-kortti:hover { border-color: rgba(220, 201, 153, 0.4); transform: translateY(-2px); }
.tilannekuva-sivu .kokemus-otsikko { font-size: 22px; font-weight: 600; color: #DCC999; margin: 0 0 28px; line-height: 1.3; letter-spacing: -0.005em; }
.tilannekuva-sivu .kokemus-sitaatti { margin: 0 0 28px; padding: 0; border: none; }
.tilannekuva-sivu .kokemus-sitaatti p { font-size: 16px; line-height: 1.7; color: #e8e4da; font-style: italic; margin: 0; }
.tilannekuva-sivu .kokemus-henkilo { font-size: 15px; color: #d4cebe; font-weight: 600; margin: 0 0 4px; }
.tilannekuva-sivu .kokemus-rooli { font-size: 13px; color: #b8b2a2; margin: 0 0 32px; line-height: 1.5; }
.tilannekuva-sivu .kokemus-mittarit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(138, 122, 74, 0.18); }
.tilannekuva-sivu .kokemus-mittari { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.tilannekuva-sivu .kokemus-luku { font-size: 26px; font-weight: 700; color: #DCC999; line-height: 1; font-feature-settings: "tnum" 1; letter-spacing: -0.01em; }
.tilannekuva-sivu .kokemus-teksti { font-size: 11px; color: #b8b2a2; line-height: 1.4; letter-spacing: 0.04em; text-transform: uppercase; }
.tilannekuva-sivu .kustannus-tk h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .kustannus-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2.5rem; }
.tilannekuva-sivu .laskelma-otsikko { font-size: 22px; font-weight: 700; color: #1a1612; margin: 1rem 0 0.75rem; line-height: 1.3; }
.tilannekuva-sivu .laskelma-huomio { font-size: 14px; color: #6a6360; font-style: italic; margin: 0 0 1.5rem; }
.tilannekuva-sivu .laskelma-taulukko { margin: 0 0 1.5rem; border-top: 1px solid rgba(138, 122, 74, 0.25); }
.tilannekuva-sivu .laskelma-rivi { display: grid; grid-template-columns: 2fr 0.8fr 0.8fr 0.8fr 1fr; gap: 1rem; padding: 14px 1rem; border-bottom: 1px solid rgba(138, 122, 74, 0.18); align-items: baseline; }
.tilannekuva-sivu .laskelma-rivi:first-child { background: rgba(138, 122, 74, 0.08); padding: 12px 1rem; }
.tilannekuva-sivu .laskelma-rivi:first-child .laskelma-otsake,
.tilannekuva-sivu .laskelma-rivi:first-child .laskelma-arvo { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7a4a; }
.tilannekuva-sivu .laskelma-otsake { font-size: 16px; color: #2a2520; line-height: 1.4; }
.tilannekuva-sivu .laskelma-arvo { font-size: 16px; color: #1a1612; font-weight: 600; text-align: right; white-space: nowrap; }
.tilannekuva-sivu .laskelma-yhteensa { background: rgba(138, 122, 74, 0.12); }
.tilannekuva-sivu .laskelma-yhteensa .laskelma-otsake,
.tilannekuva-sivu .laskelma-yhteensa .laskelma-arvo { font-weight: 700; font-size: 17px; color: #1a1612; }
.tilannekuva-sivu .laskelma-tarkennus { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 1.5rem 0 0; padding: 1.25rem; background: rgba(138, 122, 74, 0.06); border-radius: 8px; font-style: italic; }
.tilannekuva-sivu .roi-osio { margin: 2.5rem 0 0; padding: 1.75rem 2rem; background: rgba(138, 122, 74, 0.08); border-left: 3px solid #DCC999; border-radius: 0 8px 8px 0; }
.tilannekuva-sivu .roi-osio p { font-size: 17px; color: #2a2520; line-height: 1.65; margin: 0 0 0.85rem; }
.tilannekuva-sivu .roi-osio p:last-child { margin: 0; color: #8a7a4a; font-style: italic; font-weight: 600; }
.tilannekuva-sivu .prosessi-tk h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .prosessi-lead { font-size: 17px; color: #2a2520; line-height: 1.6; margin: 0 0 3rem; }
.tilannekuva-sivu .prosessi-tk-vaiheet { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 60px; max-width: 900px; margin: 0 auto; }
.tilannekuva-sivu .prosessi-tk-vaihe .prosessi-tk-numero { font-size: 48px; color: #8a7a4a; font-weight: 700; line-height: 1; margin: 0 0 16px; letter-spacing: -0.02em; display: block; }
.tilannekuva-sivu .prosessi-tk-vaihe h3 { font-size: 20px; font-weight: 600; color: #1a1612; margin: 0 0 12px; line-height: 1.3; }
.tilannekuva-sivu .prosessi-tk-vaihe p { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 0; }
.tilannekuva-sivu .hinta-tk h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .hinta-taulukko { margin: 0 0 2rem; border-top: 1px solid rgba(220, 201, 153, 0.18); }
.tilannekuva-sivu .hinta-rivi { display: grid; grid-template-columns: 140px 1fr; gap: 1.5rem; padding: 20px 0; border-bottom: 1px solid rgba(220, 201, 153, 0.18); align-items: start; }
.tilannekuva-sivu .hinta-otsake { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; line-height: 1.4; padding-top: 3px; }
.tilannekuva-sivu .hinta-arvo { font-size: 17px; color: #e8e4da; line-height: 1.6; }
.tilannekuva-sivu .hinta-tarkennus { font-size: 15px; color: #b8b2a2; font-style: italic; line-height: 1.6; margin: 0 0 2.5rem; }
.tilannekuva-sivu .takuu-kortti { background: rgba(220, 201, 153, 0.05); border: 1px solid rgba(220, 201, 153, 0.2); border-radius: 12px; padding: 28px 32px; }
.tilannekuva-sivu .takuu-otsikko { font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; margin: 0 0 14px; }
.tilannekuva-sivu .takuu-teksti { font-size: 16px; color: #e8e4da; line-height: 1.65; margin: 0; }
.tilannekuva-sivu .nina-osio h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 8px; letter-spacing: -0.01em; }
.tilannekuva-sivu .nina-titteli { font-size: 17px; color: #6a6360; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
.tilannekuva-sivu .nina-teksti { font-size: 17px; line-height: 1.7; color: #2a2520; margin: 0 0 1.5rem; }
.tilannekuva-sivu .nina-link { font-size: 17px; color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 4px; transition: opacity 0.2s; }
.tilannekuva-sivu .nina-link:hover { opacity: 0.75; }
.tilannekuva-sivu .nina-yhteys { margin: 0.5rem 0 0.25rem; }
.tilannekuva-sivu .nina-tutustu { margin: 0; }
.tilannekuva-sivu .faq h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 3rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .faq-item { border-top: 1px solid rgba(220, 201, 153, 0.18); padding: 24px 0; }
.tilannekuva-sivu .faq-item:last-of-type { border-bottom: 1px solid rgba(220, 201, 153, 0.18); }
.tilannekuva-sivu .faq-item summary { font-size: 20px; font-weight: 600; line-height: 1.4; color: #DCC999; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.tilannekuva-sivu .faq-item summary::-webkit-details-marker { display: none; }
.tilannekuva-sivu .faq-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 400; color: #DCC999; }
.tilannekuva-sivu .faq-item[open] summary::after { content: "−"; }
.tilannekuva-sivu .faq-item p { margin: 16px 0 0; font-size: 16px; line-height: 1.7; color: #e8e4da; }
.tilannekuva-sivu .loppu-cta-container { max-width: 800px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; text-align: center; }
.tilannekuva-sivu .loppu-cta-tk h2 { font-size: 48px; font-weight: 700; line-height: 1.15; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.tilannekuva-sivu .loppu-cta-teksti { font-size: 18px; color: #e8e4da; line-height: 1.6; margin: 0 0 2.5rem; }
.tilannekuva-sivu .loppu-cta-meta { font-size: 14px; color: #d4cebe; margin: 1.5rem 0 0; letter-spacing: 0.02em; }
.tilannekuva-sivu .btn-pilleri { display: inline-block; background: transparent; border: 2px solid #DCC999; border-radius: 50px; padding: 16px 36px; color: #e8e4da; font-weight: 600; font-size: 16px; letter-spacing: 0.02em; text-decoration: none; transition: all 0.2s; }
.tilannekuva-sivu .btn-pilleri:hover { background: #DCC999; color: #0c0c0c; }
.tilannekuva-sivu .btn-pilleri-iso { padding: 18px 42px; font-size: 17px; }
.tilannekuva-sivu .loppu-cta-sahkoposti { font-size: 15px; color: #b8b2a2; margin: 1.5rem 0 0; line-height: 1.6; }
.tilannekuva-sivu .loppu-cta-sahkoposti a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; transition: opacity 0.2s, text-decoration-color 0.2s; }
.tilannekuva-sivu .loppu-cta-sahkoposti a:hover { opacity: 0.85; text-decoration-color: #DCC999; }
.tilannekuva-sivu .tk-geo { border-top: 1px solid rgba(220, 201, 153, 0.1); }
.tilannekuva-sivu .geo-overline { font-size: 13px; }
.tilannekuva-sivu .geo-h3 { font-size: 24px; font-weight: 600; color: #DCC999; margin: 0 0 1.25rem; letter-spacing: -0.005em; }
.tilannekuva-sivu .tk-geo p { font-size: 16px; line-height: 1.7; color: #b8b2a2; margin: 0 0 16px; }
.tilannekuva-sivu .geo-toteutus { font-size: 14px; color: #8a7a4a; font-style: italic; margin: 1.5rem 0 0; }
@media (max-width: 768px) {
  .tilannekuva-sivu .module-container { padding-left: 1.5rem; padding-right: 1.5rem; }
  .tilannekuva-sivu .saatte h2,
  .tilannekuva-sivu .kenelle h2,
  .tilannekuva-sivu .kokemus h2,
  .tilannekuva-sivu .kustannus-tk h2,
  .tilannekuva-sivu .prosessi-tk h2,
  .tilannekuva-sivu .hinta-tk h2,
  .tilannekuva-sivu .nina-osio h2,
  .tilannekuva-sivu .faq h2 { font-size: 30px; }
  .tilannekuva-sivu .erottuvuus h2 { font-size: 26px; line-height: 1.3; }
  .tilannekuva-sivu .loppu-cta-tk h2 { font-size: 32px; }
  .tilannekuva-sivu .saatte-tiivistys { font-size: 18px; }
  .tilannekuva-sivu .saatte-faktarivi { font-size: 14px; }
  .tilannekuva-sivu .erottuvuus-lead { font-size: 17px; }
  .tilannekuva-sivu .kenelle-lista li,
  .tilannekuva-sivu .saatte-lista li { font-size: 16px; }
  .tilannekuva-sivu .laskelma-rivi:first-child { display: none; }
  .tilannekuva-sivu .laskelma-rivi { grid-template-columns: 1fr; gap: 6px; padding: 16px 0.75rem; background: rgba(138, 122, 74, 0.04); border-radius: 6px; margin-bottom: 10px; border-bottom: none; }
  .tilannekuva-sivu .laskelma-rivi .laskelma-otsake { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
  .tilannekuva-sivu .laskelma-rivi .laskelma-arvo { text-align: left; font-size: 15px; font-weight: 400; }
  .tilannekuva-sivu .laskelma-rivi .laskelma-arvo::before { content: attr(data-label) ": "; color: #6a6360; font-weight: 400; font-size: 13px; }
  .tilannekuva-sivu .laskelma-yhteensa { background: rgba(138, 122, 74, 0.18); }
  .tilannekuva-sivu .laskelma-yhteensa .laskelma-arvo::before { color: #1a1612; font-weight: 600; }
  .tilannekuva-sivu .roi-osio { padding: 1.5rem; }
  .tilannekuva-sivu .roi-osio p { font-size: 16px; }
  .tilannekuva-sivu .kokemus-grid { grid-template-columns: 1fr; gap: 16px; max-width: 100%; }
  .tilannekuva-sivu .kokemus-kortti { padding: 48px 24px 32px !important; min-height: 0; }
  .tilannekuva-sivu .kokemus-mittarit { gap: 1rem; }
  .tilannekuva-sivu .kokemus-luku { font-size: 24px; }
  .tilannekuva-sivu .prosessi-tk-vaiheet { grid-template-columns: 1fr; gap: 40px; }
  .tilannekuva-sivu .prosessi-tk-vaihe .prosessi-tk-numero { font-size: 40px; }
  .tilannekuva-sivu .hinta-rivi { grid-template-columns: 1fr; gap: 6px; }
  .tilannekuva-sivu .takuu-kortti { padding: 22px 24px; }
  .tilannekuva-sivu .geo-h3 { font-size: 20px; }
}
/* ============================================================ */
/* OSA 7: SPRINTTI-SIVU (page-id-18112) — v28                   */
/* Rakenne noudattaa Tilannekuvan v26-mallia                    */
/* ============================================================ */
/* --- HERO: pakotetaan margin/padding nollaan --- */
body.page-id-18112 .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-18112 .Hero__Content h1::before {
  content: "Toimeenpanosprintti";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
/* --- Yläosan JA alaosan padding/margin pakotetaan nollaan --- */
body.page-id-18112 main,
body.page-id-18112 .site-content,
body.page-id-18112 #main-content,
body.page-id-18112 .page-content,
body.page-id-18112 .content-area,
body.page-id-18112 .entry-content,
body.page-id-18112 article,
body.page-id-18112 .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-18112 .entry-content > *:first-child,
body.page-id-18112 article > *:first-child,
body.page-id-18112 main > *:first-child,
body.page-id-18112 .Hero + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-18112 .entry-content > *:last-child,
body.page-id-18112 article > *:last-child,
body.page-id-18112 main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-18112 .sp-geo { margin-bottom: 0; }
/* --- CONTAINER ja TEXT-WRAP --- */
body.page-id-18112 .module-container { max-width: 1200px; margin: 0 auto; padding-left: 3rem; padding-right: 3rem; box-sizing: border-box; }
body.page-id-18112 .text-wrap { max-width: 900px; margin-left: auto; margin-right: auto; }
body.page-id-18112 .module-container > .module-overline,
body.page-id-18112 .module-container > h2 { max-width: 900px; margin-left: auto; margin-right: auto; }
body.page-id-18112 .overline-gold { color: #DCC999; }
body.page-id-18112 .overline-dark { color: #8a7a4a; }
/* LOHKO 2: LOPPUTULOS (musta) */
body.page-id-18112 .lopputulos h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
body.page-id-18112 .lopputulos-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
body.page-id-18112 .lopputulos-lista li { font-size: 17px; color: #e8e4da; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(220, 201, 153, 0.15); position: relative; }
body.page-id-18112 .lopputulos-lista li:first-child { border-top: 1px solid rgba(220, 201, 153, 0.15); }
body.page-id-18112 .lopputulos-lista li::before { content: "→"; position: absolute; left: 0; top: 18px; color: #DCC999; font-weight: 700; }
body.page-id-18112 .lopputulos-faktarivi { font-size: 16px; color: #DCC999; font-weight: 600; letter-spacing: 0.02em; margin: 0 0 2rem; padding: 1rem 0; border-top: 1px solid rgba(220, 201, 153, 0.18); border-bottom: 1px solid rgba(220, 201, 153, 0.18); text-align: left; }
body.page-id-18112 .lopputulos-tiivistys { font-size: 22px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; text-align: left; }
/* LOHKO 3: OSTOTILANNE (valkoinen) */
body.page-id-18112 .ostotilanne h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
body.page-id-18112 .ostotilanne-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2.5rem; }
body.page-id-18112 .tilanne-kortit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 2.5rem; }
body.page-id-18112 .tilanne-kortti { background: linear-gradient(180deg, rgba(138, 122, 74, 0.05), transparent); border: 1px solid rgba(138, 122, 74, 0.18); border-left: 3px solid #8a7a4a; border-radius: 8px; padding: 1.75rem 1.5rem; display: flex; flex-direction: column; gap: 0.875rem; transition: border-color 0.25s, transform 0.25s; }
body.page-id-18112 .tilanne-kortti:hover { border-color: rgba(138, 122, 74, 0.4); transform: translateY(-2px); }
body.page-id-18112 .tilanne-kortti-otsikko { font-size: 17px; font-weight: 600; color: #1a1612; margin: 0; line-height: 1.35; font-style: italic; }
body.page-id-18112 .tilanne-kortti-kuvaus { font-size: 15px; color: #2a2520; margin: 0; line-height: 1.6; }
body.page-id-18112 .ostotilanne-lista { list-style: none; padding: 0; margin: 0 0 2rem; }
body.page-id-18112 .ostotilanne-lista li { font-size: 17px; color: #2a2520; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(138, 122, 74, 0.18); position: relative; }
body.page-id-18112 .ostotilanne-lista li:first-child { border-top: 1px solid rgba(138, 122, 74, 0.18); }
body.page-id-18112 .ostotilanne-lista li::before { content: "—"; position: absolute; left: 0; top: 18px; color: #8a7a4a; font-weight: 700; }
body.page-id-18112 .ostotilanne-lista li a { color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 3px; }
body.page-id-18112 .ostotilanne-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; }
/* LOHKO 4: EROTTUVUUS-SP (musta) */
body.page-id-18112 .erottuvuus-sp h2 { font-size: 36px; font-weight: 700; line-height: 1.25; color: #DCC999; margin: 0 0 2rem; letter-spacing: -0.01em; }
body.page-id-18112 .erottuvuus-sp p { font-size: 19px; color: #e8e4da; line-height: 1.6; margin: 0 0 1.75rem; font-weight: 400; }
body.page-id-18112 .erottuvuus-sp-tiivistys { font-size: 17px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.55; margin: 0; padding: 1.75rem 0 0; border-top: 1px solid rgba(220, 201, 153, 0.15); }
/* LOHKO 5: TULOKSET (musta) */
body.page-id-18112 .tulokset h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
body.page-id-18112 .tulokset-lead { font-size: 17px; color: #b8b2a2; line-height: 1.6; margin: 0 0 3rem; }
body.page-id-18112 .tulokset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 1100px; margin: 0 auto; }
body.page-id-18112 .tulokset-kortti { background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18); border-radius: 12px; padding: 36px 32px; display: flex; flex-direction: column; transition: border-color 0.2s, transform 0.2s; }
body.page-id-18112 .tulokset-kortti:hover { border-color: rgba(220, 201, 153, 0.4); transform: translateY(-2px); }
body.page-id-18112 .tulokset-otsikko { font-size: 20px; font-weight: 700; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
body.page-id-18112 .tulokset-kappale { font-size: 16px; color: #e8e4da; line-height: 1.65; margin: 0 0 1rem; }
body.page-id-18112 .tulokset-kappale strong { color: #DCC999; font-weight: 700; display: inline; }
body.page-id-18112 .tulokset-sitaatti { margin: 1.5rem 0; padding: 1.25rem; background: rgba(220, 201, 153, 0.04); border-left: 3px solid #DCC999; border-radius: 0 6px 6px 0; }
body.page-id-18112 .tulokset-sitaatti p { font-size: 16px; line-height: 1.6; color: #e8e4da; font-style: italic; margin: 0 0 0.75rem; }
body.page-id-18112 .tulokset-henkilo { font-size: 14px; color: #d4cebe; font-weight: 600; margin: 0; line-height: 1.4; font-style: normal; }
body.page-id-18112 .tulokset-mittarit { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: auto; padding-top: 1.5rem; border-top: 1px solid rgba(220, 201, 153, 0.15); }
body.page-id-18112 .tulokset-mittari { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.page-id-18112 .tulokset-luku { font-size: 26px; font-weight: 700; color: #DCC999; line-height: 1; font-feature-settings: "tnum" 1; letter-spacing: -0.01em; }
body.page-id-18112 .tulokset-teksti { font-size: 12px; color: #b8b2a2; line-height: 1.35; letter-spacing: 0.02em; }
/* LOHKO 6: VIIVE MAKSAA (valkoinen) */
body.page-id-18112 .viive h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
body.page-id-18112 .viive-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2.5rem; }
body.page-id-18112 .viive-laskelma-otsikko { font-size: 22px; font-weight: 700; color: #1a1612; margin: 1rem 0 0.75rem; line-height: 1.3; }
body.page-id-18112 .viive-laskelma-huomio { font-size: 14px; color: #6a6360; font-style: italic; margin: 0 0 1.5rem; }
body.page-id-18112 .viive-laskelma { margin: 0 0 1.5rem; border-top: 1px solid rgba(138, 122, 74, 0.25); }
body.page-id-18112 .viive-laskelma-rivi { display: grid; grid-template-columns: 2fr 0.8fr 0.8fr 0.8fr 1fr; gap: 1rem; padding: 14px 1rem; border-bottom: 1px solid rgba(138, 122, 74, 0.18); align-items: baseline; }
body.page-id-18112 .viive-laskelma-rivi:first-child { background: rgba(138, 122, 74, 0.08); padding: 12px 1rem; }
body.page-id-18112 .viive-laskelma-rivi:first-child .viive-otsake,
body.page-id-18112 .viive-laskelma-rivi:first-child .viive-arvo { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7a4a; }
body.page-id-18112 .viive-otsake { font-size: 16px; color: #2a2520; line-height: 1.4; }
body.page-id-18112 .viive-arvo { font-size: 16px; color: #1a1612; font-weight: 600; text-align: right; white-space: nowrap; }
body.page-id-18112 .viive-laskelma-yhteensa { background: rgba(138, 122, 74, 0.12); }
body.page-id-18112 .viive-laskelma-yhteensa .viive-otsake,
body.page-id-18112 .viive-laskelma-yhteensa .viive-arvo { font-weight: 700; font-size: 17px; color: #1a1612; }
body.page-id-18112 .viive-kustannus-lista { list-style: none; padding: 0; margin: 2rem 0; }
body.page-id-18112 .viive-kustannus-lista li { font-size: 16px; color: #2a2520; line-height: 1.6; padding: 12px 0 12px 28px; position: relative; }
body.page-id-18112 .viive-kustannus-lista li::before { content: "—"; position: absolute; left: 0; top: 12px; color: #8a7a4a; font-weight: 700; }
body.page-id-18112 .viive-tarkennus { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 1.5rem 0 2rem; padding: 1.25rem; background: rgba(138, 122, 74, 0.06); border-radius: 8px; }
body.page-id-18112 .viive-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 600; line-height: 1.5; margin: 0; }
/* LOHKO 7: PROSESSI-SP (valkoinen) — 5 vaihetta */
body.page-id-18112 .prosessi-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
body.page-id-18112 .prosessi-sp-lead { font-size: 17px; color: #2a2520; line-height: 1.6; margin: 0 0 3rem; }
body.page-id-18112 .prosessi-sp-vaiheet { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 60px; max-width: 900px; margin: 0 auto 3rem; }
body.page-id-18112 .prosessi-sp-vaihe .prosessi-sp-numero { font-size: 48px; color: #8a7a4a; font-weight: 700; line-height: 1; margin: 0 0 16px; letter-spacing: -0.02em; display: block; }
body.page-id-18112 .prosessi-sp-vaihe h3 { font-size: 20px; font-weight: 600; color: #1a1612; margin: 0 0 12px; line-height: 1.3; }
body.page-id-18112 .prosessi-sp-vaihe p { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 0; }
body.page-id-18112 .prosessi-sp-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 600; line-height: 1.5; margin: 0; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; }
/* LOHKO 8: HINTA-SP (musta) */
body.page-id-18112 .hinta-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
body.page-id-18112 .hinta-sp-taulukko { margin: 0 0 2rem; border-top: 1px solid rgba(220, 201, 153, 0.18); }
body.page-id-18112 .hinta-sp-rivi { display: grid; grid-template-columns: 140px 1fr; gap: 1.5rem; padding: 20px 0; border-bottom: 1px solid rgba(220, 201, 153, 0.18); align-items: start; }
body.page-id-18112 .hinta-sp-otsake { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; line-height: 1.4; padding-top: 3px; }
body.page-id-18112 .hinta-sp-arvo { font-size: 17px; color: #e8e4da; line-height: 1.6; }
body.page-id-18112 .hinta-sp-tarkennus { font-size: 15px; color: #b8b2a2; font-style: italic; line-height: 1.6; margin: 0 0 2rem; }
body.page-id-18112 .hinta-sp-riippuu-otsikko { font-size: 17px; font-weight: 700; color: #DCC999; margin: 1.5rem 0 1rem; }
body.page-id-18112 .hinta-sp-riippuu-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
body.page-id-18112 .hinta-sp-riippuu-lista li { font-size: 16px; color: #e8e4da; line-height: 1.6; padding: 8px 0 8px 28px; position: relative; }
body.page-id-18112 .hinta-sp-riippuu-lista li::before { content: "—"; position: absolute; left: 0; top: 8px; color: #8a7a4a; font-weight: 700; }
body.page-id-18112 .takuu-kortti-sp { background: rgba(220, 201, 153, 0.05); border: 1px solid rgba(220, 201, 153, 0.2); border-radius: 12px; padding: 28px 32px; margin: 2rem 0 0; }
body.page-id-18112 .takuu-kortti-sp h3 { font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; margin: 0 0 14px; }
body.page-id-18112 .takuu-kortti-sp p { font-size: 16px; color: #e8e4da; line-height: 1.65; margin: 0 0 1rem; }
body.page-id-18112 .takuu-kortti-sp p:last-child { margin: 0; }
body.page-id-18112 .takuu-kortti-sp ul { list-style: none; padding: 0; margin: 0 0 1rem; }
body.page-id-18112 .takuu-kortti-sp ul li { font-size: 16px; color: #e8e4da; line-height: 1.6; padding: 6px 0 6px 24px; position: relative; }
body.page-id-18112 .takuu-kortti-sp ul li::before { content: "→"; position: absolute; left: 0; top: 6px; color: #DCC999; font-weight: 700; }
/* LOHKO 9: TOTEUTTAJA (valkoinen) */
body.page-id-18112 .toteuttaja h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 8px; letter-spacing: -0.01em; }
body.page-id-18112 .toteuttaja-nimi { font-size: 19px; color: #1a1612; margin: 0 0 1.5rem; font-weight: 700; }
body.page-id-18112 .toteuttaja-titteli { font-size: 17px; color: #6a6360; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
body.page-id-18112 .toteuttaja-teksti { font-size: 17px; line-height: 1.7; color: #2a2520; margin: 0 0 1.5rem; }
body.page-id-18112 .toteuttaja-osaaminen { list-style: none; padding: 0; margin: 1rem 0 2rem; }
body.page-id-18112 .toteuttaja-osaaminen li { font-size: 17px; color: #2a2520; line-height: 1.6; padding: 10px 0 10px 28px; position: relative; }
body.page-id-18112 .toteuttaja-osaaminen li::before { content: "→"; position: absolute; left: 0; top: 10px; color: #8a7a4a; font-weight: 700; }
body.page-id-18112 .toteuttaja-tausta { font-size: 15px; color: #6a6360; line-height: 1.6; margin: 1.5rem 0; font-style: italic; }
body.page-id-18112 .toteuttaja-link { font-size: 17px; color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 4px; transition: opacity 0.2s; }
body.page-id-18112 .toteuttaja-link:hover { opacity: 0.75; }
body.page-id-18112 .toteuttaja-yhteys { margin: 0.5rem 0 0.25rem; }
body.page-id-18112 .toteuttaja-tutustu { margin: 0; }
/* LOHKO 10: FAQ-SP (musta) */
body.page-id-18112 .faq-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 3rem; letter-spacing: -0.01em; }
body.page-id-18112 .faq-sp-item { border-top: 1px solid rgba(220, 201, 153, 0.18); padding: 24px 0; }
body.page-id-18112 .faq-sp-item:last-of-type { border-bottom: 1px solid rgba(220, 201, 153, 0.18); }
body.page-id-18112 .faq-sp-item summary { font-size: 20px; font-weight: 600; line-height: 1.4; color: #DCC999; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
body.page-id-18112 .faq-sp-item summary::-webkit-details-marker { display: none; }
body.page-id-18112 .faq-sp-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 400; color: #DCC999; }
body.page-id-18112 .faq-sp-item[open] summary::after { content: "−"; }
body.page-id-18112 .faq-sp-item p { margin: 16px 0 0; font-size: 16px; line-height: 1.7; color: #e8e4da; }
body.page-id-18112 .faq-sp-item a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; }
/* LOHKO 11: LOPPU-CTA-SP (musta) */
body.page-id-18112 .loppu-cta-sp-container { max-width: 800px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; text-align: center; }
body.page-id-18112 .loppu-cta-sp h2 { font-size: 48px; font-weight: 700; line-height: 1.15; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
body.page-id-18112 .loppu-cta-sp-teksti { font-size: 18px; color: #e8e4da; line-height: 1.6; margin: 0 0 2.5rem; }
body.page-id-18112 .loppu-cta-sp-meta { font-size: 14px; color: #d4cebe; margin: 1.5rem 0 0; letter-spacing: 0.02em; }
body.page-id-18112 .btn-pilleri-sp { display: inline-block; background: transparent; border: 2px solid #DCC999; border-radius: 50px; padding: 16px 36px; color: #e8e4da; font-weight: 600; font-size: 16px; letter-spacing: 0.02em; text-decoration: none; transition: all 0.2s; }
body.page-id-18112 .btn-pilleri-sp:hover { background: #DCC999; color: #0c0c0c; }
body.page-id-18112 .btn-pilleri-sp-iso { padding: 18px 42px; font-size: 17px; }
body.page-id-18112 .loppu-cta-sp-sahkoposti { font-size: 15px; color: #b8b2a2; margin: 1.5rem 0 0; line-height: 1.6; }
body.page-id-18112 .loppu-cta-sp-sahkoposti a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; transition: opacity 0.2s, text-decoration-color 0.2s; }
body.page-id-18112 .loppu-cta-sp-sahkoposti a:hover { opacity: 0.85; text-decoration-color: #DCC999; }
body.page-id-18112 .loppu-cta-sp-sopii { font-size: 14px; color: #d4cebe; margin: 2rem 0 0; letter-spacing: 0.02em; font-style: italic; }
/* LOHKO 12: SP-GEO (musta footer) */
body.page-id-18112 .sp-geo { border-top: 1px solid rgba(220, 201, 153, 0.1); }
body.page-id-18112 .sp-geo .geo-overline { font-size: 13px; }
body.page-id-18112 .sp-geo .geo-h3 { font-size: 24px; font-weight: 600; color: #DCC999; margin: 0 0 1.25rem; letter-spacing: -0.005em; }
body.page-id-18112 .sp-geo p { font-size: 16px; line-height: 1.7; color: #b8b2a2; margin: 0 0 16px; }
body.page-id-18112 .sp-geo a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; }
body.page-id-18112 .sp-geo .geo-toteutus { font-size: 14px; color: #8a7a4a; font-style: italic; margin: 1.5rem 0 0; }
/* MOBIILI (768px ja alle) — SPRINTTI */
@media (max-width: 768px) {
  body.page-id-18112 .module-container { padding-left: 1.5rem; padding-right: 1.5rem; }
  body.page-id-18112 .lopputulos h2,
  body.page-id-18112 .ostotilanne h2,
  body.page-id-18112 .tulokset h2,
  body.page-id-18112 .viive h2,
  body.page-id-18112 .prosessi-sp h2,
  body.page-id-18112 .hinta-sp h2,
  body.page-id-18112 .toteuttaja h2,
  body.page-id-18112 .faq-sp h2 { font-size: 30px; }
  body.page-id-18112 .erottuvuus-sp h2 { font-size: 26px; line-height: 1.3; }
  body.page-id-18112 .loppu-cta-sp h2 { font-size: 32px; }
  body.page-id-18112 .lopputulos-tiivistys,
  body.page-id-18112 .ostotilanne-tiivistys,
  body.page-id-18112 .viive-tiivistys,
  body.page-id-18112 .prosessi-sp-tiivistys { font-size: 18px; }
  body.page-id-18112 .lopputulos-faktarivi { font-size: 14px; }
  body.page-id-18112 .erottuvuus-sp p { font-size: 17px; }
  body.page-id-18112 .lopputulos-lista li,
  body.page-id-18112 .ostotilanne-lista li { font-size: 16px; }
  body.page-id-18112 .tilanne-kortit { grid-template-columns: 1fr; gap: 16px; }
  body.page-id-18112 .viive-laskelma-rivi:first-child { display: none; }
  body.page-id-18112 .viive-laskelma-rivi { grid-template-columns: 1fr; gap: 6px; padding: 16px 0.75rem; background: rgba(138, 122, 74, 0.04); border-radius: 6px; margin-bottom: 10px; border-bottom: none; }
  body.page-id-18112 .viive-laskelma-rivi .viive-otsake { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
  body.page-id-18112 .viive-laskelma-rivi .viive-arvo { text-align: left; font-size: 15px; font-weight: 400; }
  body.page-id-18112 .viive-laskelma-yhteensa { background: rgba(138, 122, 74, 0.18); }
  body.page-id-18112 .tulokset-grid { grid-template-columns: 1fr; gap: 20px; }
  body.page-id-18112 .tulokset-kortti { padding: 28px 24px; }
  body.page-id-18112 .tulokset-mittarit { gap: 1rem; }
  body.page-id-18112 .tulokset-luku { font-size: 22px; }
  body.page-id-18112 .prosessi-sp-vaiheet { grid-template-columns: 1fr; gap: 40px; }
  body.page-id-18112 .prosessi-sp-vaihe .prosessi-sp-numero { font-size: 40px; }
  body.page-id-18112 .hinta-sp-rivi { grid-template-columns: 1fr; gap: 6px; }
  body.page-id-18112 .takuu-kortti-sp { padding: 22px 24px; }
  body.page-id-18112 .sp-geo .geo-h3 { font-size: 20px; }
}
/* ============================================================ */
/* OSA 8: PALVELUSIVUPOHJA (.palvelusivu) — v44                  */
/* Sprintin lohkotyylit kaareluokkapohjaisina. Kaikki uudet      */
/* palvelusivut (Juurtuminen, Kantokykyarvio, paivapalvelut,     */
/* Strateginen varjojasen) kaytavat tata pohjaa: HTML kaaritaan  */
/* div-elementtiin class="palvelusivu xxx-sivu", ja sisalto      */
/* kayttaa samoja lohkoluokkia kuin Toimeenpanosprintti (lopputulos,        */
/* ostotilanne, erottuvuus-sp, tulokset, viive, prosessi-sp,     */
/* hinta-sp, toteuttaja, faq-sp, loppu-cta-sp, sp-geo).          */
/* ============================================================ */
/* Rakenne noudattaa Tilannekuvan v26-mallia                    */
/* ============================================================ */
/* --- HERO: pakotetaan margin/padding nollaan --- */
.palvelusivu .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.palvelusivu .Hero__Content h1::before {
  content: "Toimeenpanosprintti";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
/* --- Yläosan JA alaosan padding/margin pakotetaan nollaan --- */
.palvelusivu main,
.palvelusivu .site-content,
.palvelusivu #main-content,
.palvelusivu .page-content,
.palvelusivu .content-area,
.palvelusivu .entry-content,
.palvelusivu article,
.palvelusivu .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.palvelusivu .entry-content > *:first-child,
.palvelusivu article > *:first-child,
.palvelusivu main > *:first-child,
.palvelusivu .Hero + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.palvelusivu .entry-content > *:last-child,
.palvelusivu article > *:last-child,
.palvelusivu main > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.palvelusivu .sp-geo { margin-bottom: 0; }
/* --- CONTAINER ja TEXT-WRAP --- */
.palvelusivu .module-container { max-width: 1200px; margin: 0 auto; padding-left: 3rem; padding-right: 3rem; box-sizing: border-box; }
.palvelusivu .text-wrap { max-width: 900px; margin-left: auto; margin-right: auto; }
.palvelusivu .module-container > .module-overline,
.palvelusivu .module-container > h2 { max-width: 900px; margin-left: auto; margin-right: auto; }
.palvelusivu .overline-gold { color: #DCC999; }
.palvelusivu .overline-dark { color: #8a7a4a; }
/* LOHKO 2: LOPPUTULOS (musta) */
.palvelusivu .lopputulos h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
.palvelusivu .lopputulos-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.palvelusivu .lopputulos-lista li { font-size: 17px; color: #e8e4da; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(220, 201, 153, 0.15); position: relative; }
.palvelusivu .lopputulos-lista li:first-child { border-top: 1px solid rgba(220, 201, 153, 0.15); }
.palvelusivu .lopputulos-lista li::before { content: "→"; position: absolute; left: 0; top: 18px; color: #DCC999; font-weight: 700; }
.palvelusivu .lopputulos-faktarivi { font-size: 16px; color: #DCC999; font-weight: 600; letter-spacing: 0.02em; margin: 0 0 2rem; padding: 1rem 0; border-top: 1px solid rgba(220, 201, 153, 0.18); border-bottom: 1px solid rgba(220, 201, 153, 0.18); text-align: left; }
.palvelusivu .lopputulos-tiivistys { font-size: 22px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; text-align: left; }
/* LOHKO 3: OSTOTILANNE (valkoinen) */
.palvelusivu .ostotilanne h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.palvelusivu .ostotilanne-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2.5rem; }
.palvelusivu .tilanne-kortit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0 0 2.5rem; }
.palvelusivu .tilanne-kortti { background: linear-gradient(180deg, rgba(138, 122, 74, 0.05), transparent); border: 1px solid rgba(138, 122, 74, 0.18); border-left: 3px solid #8a7a4a; border-radius: 8px; padding: 1.75rem 1.5rem; display: flex; flex-direction: column; gap: 0.875rem; transition: border-color 0.25s, transform 0.25s; }
.palvelusivu .tilanne-kortti:hover { border-color: rgba(138, 122, 74, 0.4); transform: translateY(-2px); }
.palvelusivu .tilanne-kortti-otsikko { font-size: 17px; font-weight: 600; color: #1a1612; margin: 0; line-height: 1.35; font-style: italic; }
.palvelusivu .tilanne-kortti-kuvaus { font-size: 15px; color: #2a2520; margin: 0; line-height: 1.6; }
.palvelusivu .ostotilanne-lista { list-style: none; padding: 0; margin: 0 0 2rem; }
.palvelusivu .ostotilanne-lista li { font-size: 17px; color: #2a2520; line-height: 1.6; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(138, 122, 74, 0.18); position: relative; }
.palvelusivu .ostotilanne-lista li:first-child { border-top: 1px solid rgba(138, 122, 74, 0.18); }
.palvelusivu .ostotilanne-lista li::before { content: "—"; position: absolute; left: 0; top: 18px; color: #8a7a4a; font-weight: 700; }
.palvelusivu .ostotilanne-lista li a { color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 3px; }
.palvelusivu .ostotilanne-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 500; line-height: 1.5; margin: 0; }
/* LOHKO 4: EROTTUVUUS-SP (musta) */
.palvelusivu .erottuvuus-sp h2 { font-size: 36px; font-weight: 700; line-height: 1.25; color: #DCC999; margin: 0 0 2rem; letter-spacing: -0.01em; }
.palvelusivu .erottuvuus-sp p { font-size: 19px; color: #e8e4da; line-height: 1.6; margin: 0 0 1.75rem; font-weight: 400; }
.palvelusivu .erottuvuus-sp-tiivistys { font-size: 17px; color: #DCC999; font-style: italic; font-weight: 500; line-height: 1.55; margin: 0; padding: 1.75rem 0 0; border-top: 1px solid rgba(220, 201, 153, 0.15); }
/* LOHKO 5: TULOKSET (musta) */
.palvelusivu .tulokset h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.palvelusivu .tulokset-lead { font-size: 17px; color: #b8b2a2; line-height: 1.6; margin: 0 0 3rem; }
.palvelusivu .tulokset-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; max-width: 1100px; margin: 0 auto; }
.palvelusivu .tulokset-kortti { background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18); border-radius: 12px; padding: 36px 32px; display: flex; flex-direction: column; transition: border-color 0.2s, transform 0.2s; }
.palvelusivu .tulokset-kortti:hover { border-color: rgba(220, 201, 153, 0.4); transform: translateY(-2px); }
.palvelusivu .tulokset-otsikko { font-size: 20px; font-weight: 700; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
.palvelusivu .tulokset-kappale { font-size: 16px; color: #e8e4da; line-height: 1.65; margin: 0 0 1rem; }
.palvelusivu .tulokset-kappale strong { color: #DCC999; font-weight: 700; display: inline; }
.palvelusivu .tulokset-sitaatti { margin: 1.5rem 0; padding: 1.25rem; background: rgba(220, 201, 153, 0.04); border-left: 3px solid #DCC999; border-radius: 0 6px 6px 0; }
.palvelusivu .tulokset-sitaatti p { font-size: 16px; line-height: 1.6; color: #e8e4da; font-style: italic; margin: 0 0 0.75rem; }
.palvelusivu .tulokset-henkilo { font-size: 14px; color: #d4cebe; font-weight: 600; margin: 0; line-height: 1.4; font-style: normal; }
.palvelusivu .tulokset-mittarit { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: auto; padding-top: 1.5rem; border-top: 1px solid rgba(220, 201, 153, 0.15); }
.palvelusivu .tulokset-mittari { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.palvelusivu .tulokset-luku { font-size: 26px; font-weight: 700; color: #DCC999; line-height: 1; font-feature-settings: "tnum" 1; letter-spacing: -0.01em; }
.palvelusivu .tulokset-teksti { font-size: 12px; color: #b8b2a2; line-height: 1.35; letter-spacing: 0.02em; }
/* LOHKO 6: VIIVE MAKSAA (valkoinen) */
.palvelusivu .viive h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.palvelusivu .viive-lead { font-size: 17px; color: #2a2520; line-height: 1.7; margin: 0 0 2.5rem; }
.palvelusivu .viive-laskelma-otsikko { font-size: 22px; font-weight: 700; color: #1a1612; margin: 1rem 0 0.75rem; line-height: 1.3; }
.palvelusivu .viive-laskelma-huomio { font-size: 14px; color: #6a6360; font-style: italic; margin: 0 0 1.5rem; }
.palvelusivu .viive-laskelma { margin: 0 0 1.5rem; border-top: 1px solid rgba(138, 122, 74, 0.25); }
.palvelusivu .viive-laskelma-rivi { display: grid; grid-template-columns: 2fr 0.8fr 0.8fr 0.8fr 1fr; gap: 1rem; padding: 14px 1rem; border-bottom: 1px solid rgba(138, 122, 74, 0.18); align-items: baseline; }
.palvelusivu .viive-laskelma-rivi:first-child { background: rgba(138, 122, 74, 0.08); padding: 12px 1rem; }
.palvelusivu .viive-laskelma-rivi:first-child .viive-otsake,
.palvelusivu .viive-laskelma-rivi:first-child .viive-arvo { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #8a7a4a; }
.palvelusivu .viive-otsake { font-size: 16px; color: #2a2520; line-height: 1.4; }
.palvelusivu .viive-arvo { font-size: 16px; color: #1a1612; font-weight: 600; text-align: right; white-space: nowrap; }
.palvelusivu .viive-laskelma-yhteensa { background: rgba(138, 122, 74, 0.12); }
.palvelusivu .viive-laskelma-yhteensa .viive-otsake,
.palvelusivu .viive-laskelma-yhteensa .viive-arvo { font-weight: 700; font-size: 17px; color: #1a1612; }
.palvelusivu .viive-kustannus-lista { list-style: none; padding: 0; margin: 2rem 0; }
.palvelusivu .viive-kustannus-lista li { font-size: 16px; color: #2a2520; line-height: 1.6; padding: 12px 0 12px 28px; position: relative; }
.palvelusivu .viive-kustannus-lista li::before { content: "—"; position: absolute; left: 0; top: 12px; color: #8a7a4a; font-weight: 700; }
.palvelusivu .viive-tarkennus { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 1.5rem 0 2rem; padding: 1.25rem; background: rgba(138, 122, 74, 0.06); border-radius: 8px; }
.palvelusivu .viive-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 600; line-height: 1.5; margin: 0; }
/* LOHKO 7: PROSESSI-SP (valkoinen) — 5 vaihetta */
.palvelusivu .prosessi-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.palvelusivu .prosessi-sp-lead { font-size: 17px; color: #2a2520; line-height: 1.6; margin: 0 0 3rem; }
.palvelusivu .prosessi-sp-vaiheet { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 60px; max-width: 900px; margin: 0 auto 3rem; }
.palvelusivu .prosessi-sp-vaihe .prosessi-sp-numero { font-size: 48px; color: #8a7a4a; font-weight: 700; line-height: 1; margin: 0 0 16px; letter-spacing: -0.02em; display: block; }
.palvelusivu .prosessi-sp-vaihe h3 { font-size: 20px; font-weight: 600; color: #1a1612; margin: 0 0 12px; line-height: 1.3; }
.palvelusivu .prosessi-sp-vaihe p { font-size: 16px; color: #2a2520; line-height: 1.65; margin: 0; }
.palvelusivu .prosessi-sp-tiivistys { font-size: 20px; color: #8a7a4a; font-style: italic; font-weight: 600; line-height: 1.5; margin: 0; text-align: center; max-width: 800px; margin-left: auto; margin-right: auto; }
/* LOHKO 8: HINTA-SP (musta) */
.palvelusivu .hinta-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 2rem; letter-spacing: -0.01em; }
.palvelusivu .hinta-sp-taulukko { margin: 0 0 2rem; border-top: 1px solid rgba(220, 201, 153, 0.18); }
.palvelusivu .hinta-sp-rivi { display: grid; grid-template-columns: 140px 1fr; gap: 1.5rem; padding: 20px 0; border-bottom: 1px solid rgba(220, 201, 153, 0.18); align-items: start; }
.palvelusivu .hinta-sp-otsake { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; line-height: 1.4; padding-top: 3px; }
.palvelusivu .hinta-sp-arvo { font-size: 17px; color: #e8e4da; line-height: 1.6; }
.palvelusivu .hinta-sp-tarkennus { font-size: 15px; color: #b8b2a2; font-style: italic; line-height: 1.6; margin: 0 0 2rem; }
.palvelusivu .hinta-sp-riippuu-otsikko { font-size: 17px; font-weight: 700; color: #DCC999; margin: 1.5rem 0 1rem; }
.palvelusivu .hinta-sp-riippuu-lista { list-style: none; padding: 0; margin: 0 0 2.5rem; }
.palvelusivu .hinta-sp-riippuu-lista li { font-size: 16px; color: #e8e4da; line-height: 1.6; padding: 8px 0 8px 28px; position: relative; }
.palvelusivu .hinta-sp-riippuu-lista li::before { content: "—"; position: absolute; left: 0; top: 8px; color: #8a7a4a; font-weight: 700; }
.palvelusivu .takuu-kortti-sp { background: rgba(220, 201, 153, 0.05); border: 1px solid rgba(220, 201, 153, 0.2); border-radius: 12px; padding: 28px 32px; margin: 2rem 0 0; }
.palvelusivu .takuu-kortti-sp h3 { font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #DCC999; margin: 0 0 14px; }
.palvelusivu .takuu-kortti-sp p { font-size: 16px; color: #e8e4da; line-height: 1.65; margin: 0 0 1rem; }
.palvelusivu .takuu-kortti-sp p:last-child { margin: 0; }
.palvelusivu .takuu-kortti-sp ul { list-style: none; padding: 0; margin: 0 0 1rem; }
.palvelusivu .takuu-kortti-sp ul li { font-size: 16px; color: #e8e4da; line-height: 1.6; padding: 6px 0 6px 24px; position: relative; }
.palvelusivu .takuu-kortti-sp ul li::before { content: "→"; position: absolute; left: 0; top: 6px; color: #DCC999; font-weight: 700; }
/* LOHKO 9: TOTEUTTAJA (valkoinen) */
.palvelusivu .toteuttaja h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #1a1612; margin: 0 0 8px; letter-spacing: -0.01em; }
.palvelusivu .toteuttaja-nimi { font-size: 19px; color: #1a1612; margin: 0 0 1.5rem; font-weight: 700; }
.palvelusivu .toteuttaja-titteli { font-size: 17px; color: #6a6360; margin: 0 0 1.5rem; letter-spacing: 0.01em; }
.palvelusivu .toteuttaja-teksti { font-size: 17px; line-height: 1.7; color: #2a2520; margin: 0 0 1.5rem; }
.palvelusivu .toteuttaja-osaaminen { list-style: none; padding: 0; margin: 1rem 0 2rem; }
.palvelusivu .toteuttaja-osaaminen li { font-size: 17px; color: #2a2520; line-height: 1.6; padding: 10px 0 10px 28px; position: relative; }
.palvelusivu .toteuttaja-osaaminen li::before { content: "→"; position: absolute; left: 0; top: 10px; color: #8a7a4a; font-weight: 700; }
.palvelusivu .toteuttaja-tausta { font-size: 15px; color: #6a6360; line-height: 1.6; margin: 1.5rem 0; font-style: italic; }
.palvelusivu .toteuttaja-link { font-size: 17px; color: #1a1612; text-decoration: underline; text-decoration-color: #8a7a4a; text-underline-offset: 4px; transition: opacity 0.2s; }
.palvelusivu .toteuttaja-link:hover { opacity: 0.75; }
.palvelusivu .toteuttaja-yhteys { margin: 0.5rem 0 0.25rem; }
.palvelusivu .toteuttaja-tutustu { margin: 0; }
/* LOHKO 10: FAQ-SP (musta) */
.palvelusivu .faq-sp h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #ffffff; margin: 0 0 3rem; letter-spacing: -0.01em; }
.palvelusivu .faq-sp-item { border-top: 1px solid rgba(220, 201, 153, 0.18); padding: 24px 0; }
.palvelusivu .faq-sp-item:last-of-type { border-bottom: 1px solid rgba(220, 201, 153, 0.18); }
.palvelusivu .faq-sp-item summary { font-size: 20px; font-weight: 600; line-height: 1.4; color: #DCC999; cursor: pointer; list-style: none; position: relative; padding-right: 40px; }
.palvelusivu .faq-sp-item summary::-webkit-details-marker { display: none; }
.palvelusivu .faq-sp-item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 28px; font-weight: 400; color: #DCC999; }
.palvelusivu .faq-sp-item[open] summary::after { content: "−"; }
.palvelusivu .faq-sp-item p { margin: 16px 0 0; font-size: 16px; line-height: 1.7; color: #e8e4da; }
.palvelusivu .faq-sp-item a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; }
/* LOHKO 11: LOPPU-CTA-SP (musta) */
.palvelusivu .loppu-cta-sp-container { max-width: 800px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; text-align: center; }
.palvelusivu .loppu-cta-sp h2 { font-size: 48px; font-weight: 700; line-height: 1.15; color: #DCC999; margin: 0 0 1.5rem; letter-spacing: -0.01em; }
.palvelusivu .loppu-cta-sp-teksti { font-size: 18px; color: #e8e4da; line-height: 1.6; margin: 0 0 2.5rem; }
.palvelusivu .loppu-cta-sp-meta { font-size: 14px; color: #d4cebe; margin: 1.5rem 0 0; letter-spacing: 0.02em; }
.palvelusivu .btn-pilleri-sp { display: inline-block; background: transparent; border: 2px solid #DCC999; border-radius: 50px; padding: 16px 36px; color: #e8e4da; font-weight: 600; font-size: 16px; letter-spacing: 0.02em; text-decoration: none; transition: all 0.2s; }
.palvelusivu .btn-pilleri-sp:hover { background: #DCC999; color: #0c0c0c; }
.palvelusivu .btn-pilleri-sp-iso { padding: 18px 42px; font-size: 17px; }
.palvelusivu .loppu-cta-sp-sahkoposti { font-size: 15px; color: #b8b2a2; margin: 1.5rem 0 0; line-height: 1.6; }
.palvelusivu .loppu-cta-sp-sahkoposti a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; transition: opacity 0.2s, text-decoration-color 0.2s; }
.palvelusivu .loppu-cta-sp-sahkoposti a:hover { opacity: 0.85; text-decoration-color: #DCC999; }
.palvelusivu .loppu-cta-sp-sopii { font-size: 14px; color: #d4cebe; margin: 2rem 0 0; letter-spacing: 0.02em; font-style: italic; }
/* LOHKO 12: SP-GEO (musta footer) */
.palvelusivu .sp-geo { border-top: 1px solid rgba(220, 201, 153, 0.1); }
.palvelusivu .sp-geo .geo-overline { font-size: 13px; }
.palvelusivu .sp-geo .geo-h3 { font-size: 24px; font-weight: 600; color: #DCC999; margin: 0 0 1.25rem; letter-spacing: -0.005em; }
.palvelusivu .sp-geo p { font-size: 16px; line-height: 1.7; color: #b8b2a2; margin: 0 0 16px; }
.palvelusivu .sp-geo a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220, 201, 153, 0.4); text-underline-offset: 3px; }
.palvelusivu .sp-geo .geo-toteutus { font-size: 14px; color: #8a7a4a; font-style: italic; margin: 1.5rem 0 0; }
/* MOBIILI (768px ja alle) — SPRINTTI */
@media (max-width: 768px) {
  .palvelusivu .module-container { padding-left: 1.5rem; padding-right: 1.5rem; }
  .palvelusivu .lopputulos h2,
  .palvelusivu .ostotilanne h2,
  .palvelusivu .tulokset h2,
  .palvelusivu .viive h2,
  .palvelusivu .prosessi-sp h2,
  .palvelusivu .hinta-sp h2,
  .palvelusivu .toteuttaja h2,
  .palvelusivu .faq-sp h2 { font-size: 30px; }
  .palvelusivu .erottuvuus-sp h2 { font-size: 26px; line-height: 1.3; }
  .palvelusivu .loppu-cta-sp h2 { font-size: 32px; }
  .palvelusivu .lopputulos-tiivistys,
  .palvelusivu .ostotilanne-tiivistys,
  .palvelusivu .viive-tiivistys,
  .palvelusivu .prosessi-sp-tiivistys { font-size: 18px; }
  .palvelusivu .lopputulos-faktarivi { font-size: 14px; }
  .palvelusivu .erottuvuus-sp p { font-size: 17px; }
  .palvelusivu .lopputulos-lista li,
  .palvelusivu .ostotilanne-lista li { font-size: 16px; }
  .palvelusivu .tilanne-kortit { grid-template-columns: 1fr; gap: 16px; }
  .palvelusivu .viive-laskelma-rivi:first-child { display: none; }
  .palvelusivu .viive-laskelma-rivi { grid-template-columns: 1fr; gap: 6px; padding: 16px 0.75rem; background: rgba(138, 122, 74, 0.04); border-radius: 6px; margin-bottom: 10px; border-bottom: none; }
  .palvelusivu .viive-laskelma-rivi .viive-otsake { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
  .palvelusivu .viive-laskelma-rivi .viive-arvo { text-align: left; font-size: 15px; font-weight: 400; }
  .palvelusivu .viive-laskelma-yhteensa { background: rgba(138, 122, 74, 0.18); }
  .palvelusivu .tulokset-grid { grid-template-columns: 1fr; gap: 20px; }
  .palvelusivu .tulokset-kortti { padding: 28px 24px; }
  .palvelusivu .tulokset-mittarit { gap: 1rem; }
  .palvelusivu .tulokset-luku { font-size: 22px; }
  .palvelusivu .prosessi-sp-vaiheet { grid-template-columns: 1fr; gap: 40px; }
  .palvelusivu .prosessi-sp-vaihe .prosessi-sp-numero { font-size: 40px; }
  .palvelusivu .hinta-sp-rivi { grid-template-columns: 1fr; gap: 6px; }
  .palvelusivu .takuu-kortti-sp { padding: 22px 24px; }
  .palvelusivu .sp-geo .geo-h3 { font-size: 20px; }
}
/* --- Palvelusivupohjan ID-riippumattomat hero- ja rakosaannot --- */
body:has(.palvelusivu) .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.palvelusivu) main,
body:has(.palvelusivu) .site-content,
body:has(.palvelusivu) #main-content,
body:has(.palvelusivu) .page-content,
body:has(.palvelusivu) .content-area,
body:has(.palvelusivu) .entry-content,
body:has(.palvelusivu) article,
body:has(.palvelusivu) .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.palvelusivu) .Hero + *,
body:has(.palvelusivu) .entry-content > *:first-child,
body:has(.palvelusivu) article > *:first-child,
body:has(.palvelusivu) main > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:has(.palvelusivu) .entry-content > p:not([class]),
body:has(.palvelusivu) article > p:not([class]),
body:has(.palvelusivu) .entry-content > br,
body:has(.palvelusivu) article > br,
body:has(.palvelusivu) .wp-block-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.palvelusivu { margin: 0 !important; padding: 0 !important; }
/* Yhden kortin tulokset-grid: kortti keskelle koko leveydelle */
.palvelusivu .tulokset-grid > :only-child { grid-column: 1 / -1; max-width: 760px; margin: 0 auto; }
/* --- Sivukohtaiset hero-overlinet --- */
body:has(.juurtuminen-sivu) .Hero__Content h1::before {
  content: "Juurtuminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.kantokykyarvio-sivu) .Hero__Content h1::before {
  content: "Kantokykyarvio";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.varjojasen-sivu) .Hero__Content h1::before {
  content: "Strateginen varjojäsen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tilannepaiva-sivu) .Hero__Content h1::before {
  content: "Tilannepäivä";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
/* =============================================
   OSA 3-2: /PALVELUT/ (page-id-9852) — heron ja
   sisällön välisen raon korjaus (v47)
   ============================================= */
body.page-id-9852 .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-9852 main,
body.page-id-9852 .site-content,
body.page-id-9852 #main-content,
body.page-id-9852 .page-content,
body.page-id-9852 .content-area,
body.page-id-9852 .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-9852 .Hero + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.page-id-9852 .entry-content > p:not([class]),
body.page-id-9852 article > p:not([class]),
body.page-id-9852 .entry-content > br,
body.page-id-9852 article > br,
body.page-id-9852 .wp-block-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =============================================
   OSA 3-3: /PALVELUT/ (page-id-9852) — heron raon
   järeämpi korjaus (v48): heron korkeus kuvan
   mukaan, kaikki tyhjät välielementit piiloon
   ============================================= */
/* 1) Heron alapuolinen tyhjä pois — korkeuteen EI kosketa,
      jotta taustavideo toimii (v51-korjaus) */
body.page-id-9852 .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* 2) Teeman sisältökääreiden ylä- ja alatyhjät pois */
body.page-id-9852 #content,
body.page-id-9852 .Content,
body.page-id-9852 .Page__Content,
body.page-id-9852 .entry-content > .wp-block-html,
body.page-id-9852 .entry-content > div {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* 3) Kaikki sisällön juuritason tyhjät elementit piiloon
      (sivun oma sisältö on aina section-elementeissä) */
body.page-id-9852 .entry-content > p:not([class]),
body.page-id-9852 article > p:not([class]),
body.page-id-9852 .entry-content > br,
body.page-id-9852 .entry-content > div:empty,
body.page-id-9852 .wp-block-spacer,
body.page-id-9852 .wp-block-separator,
body.page-id-9852 hr.wp-block-separator {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* 4) Ensimmäisen sisältölohkon yläpehmuste maltilliseksi */
body.page-id-9852 .entry-content section:first-of-type,
body.page-id-9852 article section:first-of-type {
  margin-top: 0 !important;
  padding-top: 4rem !important;
}
/* =============================================
   OSA 3-4 (v49): Palvelut-sivun viimeistely
   ============================================= */
/* Tapa edetä -trio: palvelulistat pienemmällä ja ilmavasti,
   etteivät ne kilpaile Näkyväksi/Päätettäväksi/Käytäntöön-
   otsikoiden kanssa */
body.page-id-9852 .prosessi-nimi {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  line-height: 1.7 !important;
  max-width: 300px;
  margin: 0.5rem auto 0 auto !important;
  color: #c9b585 !important;
}
/* Referenssikortit (Asiakkaat sanovat): mittarit irti
   kortin yläreunasta — premium-ylätila kuten muissa korteissa */
body.page-id-9852 .asiakas-sitaatti {
  padding-top: 3.5rem !important;
}
@media (max-width: 768px) {
  body.page-id-9852 .asiakas-sitaatti { padding-top: 2.5rem !important; }
}
/* Asiakkaat sanovat -osio: rauhallinen, premium-tason ilmavuus */
body.page-id-9852 #asiakkaat-sanovat {
  padding-top: 120px !important;
}
body.page-id-9852 #asiakkaat-sanovat .module-overline {
  margin-bottom: 56px !important;
}
body.page-id-9852 #asiakkaat-sanovat .asiakas-sitaatti-grid {
  margin-top: 0 !important;
}
@media (max-width: 768px) {
  body.page-id-9852 #asiakkaat-sanovat { padding-top: 64px !important; }
  body.page-id-9852 #asiakkaat-sanovat .module-overline { margin-bottom: 32px !important; }
}
/* =============================================
   OSA 1-2 (v59): Heron alamarginaalin nollaus —
   sama yksittäinen sääntö kuin muilla sivuilla,
   ei kajoa korkeuteen eikä teeman kääreisiin
   ============================================= */
body.page-id-31 .Hero {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* =============================================
   OSA 1-2b: VAIN tyhjien roskaelementtien
   piilotus — Lianan yläosaan, heroon ja teeman
   kääreisiin EI kosketa (v55/v57 säännöt rikkoivat
   yläpalkin asemoinnin, poistettu)
   ============================================= */
/* Sisällön juuritason tyhjät elementit piiloon — sivun oma
   sisältö on aina luokallisissa div-lohkoissa, joten juuritason
   luokattomat kappaleet ja spacerit ovat WordPressin roskaa */
body.page-id-31 .entry-content > p:not([class]),
body.page-id-31 article > p:not([class]),
body.page-id-31 .entry-content > br,
body.page-id-31 .entry-content > div:empty,
body.page-id-31 .wp-block-spacer,
body.page-id-31 .wp-block-separator {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =============================================
   OSA 1-3 (v56): Etusivun viimeistely
   ============================================= */
/* 1) Blogiotsikon ja blogilistauksen välinen musta palkki pois:
      molemmat ovat valkoisia, joten väli nollataan ja listauksen
      tausta pakotetaan valkoiseksi riippumatta siitä, onko
      module-blogi-light-luokka kääreessä vai itse lohkossa */
body.page-id-31 .module-nakokulmat-top {
  margin-bottom: 0 !important;
}
body.page-id-31 .module-blogi-light,
body.page-id-31 .wp-block-latest-posts,
body.page-id-31 .wp-block-query {
  margin-top: 0 !important;
}
body.page-id-31 ul.wp-block-latest-posts.module-blogi-light {
  background-color: #ffffff !important;
  width: 100vw; position: relative; left: 50%; margin-left: -50vw;
  padding: 0 1.5rem 5rem 1.5rem; box-sizing: border-box;
}
/* 2) Loppu-CTA:n ja GEO:n tekstit: värit pakotetaan, jotta
      teeman tai kääreiden perintä ei voi himmentää niitä */
body.page-id-31 .module-cta-dark .cta-title { color: #e8e4da !important; }
body.page-id-31 .module-cta-dark .cta-lead { color: #e8e4da !important; }
body.page-id-31 .module-cta-dark .cta-note { color: #d4cebe !important; }
body.page-id-31 .module-cta-dark .cta-button { color: #e8e4da !important; border-color: #DCC999 !important; }
body.page-id-31 .module-geo-dark .module-overline { color: #DCC999 !important; }
body.page-id-31 .module-geo-dark .module-geo-lead { color: #e8e4da !important; }
/* 3) Sisällön alaosa: valkoinen tyhjä väli GEO:n ja footerin
      välistä pois (alapehmusteet nollaan kuten muilla sivuilla) */
body.page-id-31 .entry-content,
body.page-id-31 article {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-31 .entry-content > *:last-child,
body.page-id-31 article > *:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* =============================================
   OSA 1-4 (v57): Etusivun lohkovälien järeä nollaus
   ============================================= */
/* 1) KAIKKI sisällön juuritason lohkot: pystymarginaalit nollaan.
      Jokainen osio hallitsee tilansa omalla sisäpehmusteellaan,
      joten teeman lohkojen väliin lisäämä tyhjä (musta palkki
      blogiotsikon ja listauksen välissä) poistuu turvallisesti. */
body.page-id-31 .entry-content > *,
body.page-id-31 article > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* 2) Blogilistaus: myös mahdollisen kääreryhmän pehmusteet pois */
body.page-id-31 .entry-content > .wp-block-group,
body.page-id-31 .wp-block-group:has(.wp-block-latest-posts) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: #ffffff !important;
}
body.page-id-31 .wp-block-latest-posts {
  margin: 0 !important;
}
/* =============================================
   OSA 1-5 (v60): Korjaukset todellisilla luokilla
   (DevTools 6.6.2026: sisältökääre = div#main-content,
   blogilistaus = Lianan section.Courselist.mb-14,
   valkoinen kaistale = tyhjä div.module-blogi-light)
   ============================================= */
/* Sisältölohkojen väliset raot: kääre on #main-content */
body.page-id-31 #main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.page-id-31 #main-content > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Blogilistaus (Lianan Courselist): valkoinen täysleveä tausta
   kiinni blogiotsikkoon, mb-14-alamarginaali pois */
body.page-id-31 .Courselist {
  background-color: #ffffff !important;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 1.5rem 4rem 1.5rem !important;
  box-sizing: border-box;
}
/* Tyhjä module-blogi-light-div pois näkyvistä (valkoinen
   kaistale ennen footeria syntyi tästä) */
body.page-id-31 .module-blogi-light:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* =============================================
   OSA 1-6 (v61): Lopulliset korjaukset sivun
   todellisen lahdekoodin perusteella (6.6.2026)
   ============================================= */
/* 1) Tyhja Courselist-kurssilistaus pois nakyvista:
      etusivulla lohko on sisallottoman kuori, joka tekee
      mustan palkin blogiotsikon alle (mb-14-marginaali) */
body.page-id-31 section.Courselist {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* 2) module-blogi-light on kaareena Bloglistin (ja vahingossa
      myos CTA:n ja GEO:n) ymparilla: neutraloidaan kaare
      kokonaan, jotta sen valkoinen tausta ja alapehmuste
      eivat nay missaan */
body.page-id-31 .module-blogi-light,
html body.page-id-31 .module-blogi-light {
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  position: static !important;
  left: auto !important;
}
/* 3) Varsinainen blogilistaus (Lianan Bloglist) saa valkoisen
      taysleveyden suoraan — toimii riippumatta kaareesta */
body.page-id-31 section.Bloglist {
  background-color: #ffffff !important;
  width: 100vw;
  position: relative;
  left: 50%;
  margin-left: -50vw !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 3rem 1.5rem 4rem 1.5rem !important;
  box-sizing: border-box;
}
/* 4) Sisaltokaaren juuritason tyhjat ja luokattomat kappaleet
      piiloon (sivun lopussa on tyhja p-elementti) */
body.page-id-31 #main-content > p:not([class]),
body.page-id-31 #main-content > p:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* =============================================
   OSA 1-7 (v62): Hero, ylavalikko ja blogikortit
   ============================================= */
/* 1) HERON MUSTA VALI: heron sisalto (h1 + ingressi + nappi +
      py-15-pehmusteet) on korkeampi kuin 16:9-taustavideo,
      jolloin videon alle jaa heron omaa mustaa. Pienennetaan
      sisallon pystypehmusteita, jolloin hero kutistuu videon
      korkuiseksi. Videoon itseensa EI kosketa. */
body.page-id-31 .Hero .Hero__Content .py-15 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}
@media (max-width: 768px) {
  body.page-id-31 .Hero .Hero__Content .py-15 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
/* 2) YLAVALIKKO: varmistetaan, etta navigaatio kelluu
      lapinakyvana heron paalla (teeman overlaps-tila).
      Jos teema tekee taman jo itse, saanto ei muuta mitaan. */
body.page-id-31 .Header__Navbar--overlaps {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent !important;
  background-color: transparent !important;
  z-index: 100;
}
body.page-id-31 .Header.site-header {
  position: relative;
  background: transparent !important;
}
/* 3) BLOGIKORTIT valkoisella pohjalla: tekstit tummiksi,
      korttien tausta yhtenaisen vaaleaksi, linkit pronssiksi */
body.page-id-31 .Bloglist .card-body {
  background-color: #f7f6f3 !important;
}
body.page-id-31 .Bloglist h3 {
  color: #1a1612 !important;
}
body.page-id-31 .Bloglist .card-body p,
body.page-id-31 .Bloglist .card-body .text-muted {
  color: #5a554c !important;
}
body.page-id-31 .Bloglist .card-body .fw-bold {
  color: #8a7a4a !important;
}
body.page-id-31 .Bloglist a.ms-auto.d-flex,
body.page-id-31 .Bloglist .mt-10 a {
  color: #8a7a4a !important;
}
/* =============================================
   OSA 1-8 (v64): Blogikorttien otsikot tummakultaisiksi.
   (v63:n hero-saannot poistettu — ne rikkoivat videon.
   Heroon ei kosketa CSS:lla.)
   ============================================= */
body.page-id-31 .Bloglist h3,
body.page-id-31 .Bloglist .card-body h3 {
  color: #8a7a4a !important;
}
/* =============================================
   OSA 1-9 (v65): Tilannekortit 3x3-ruudukkoon +
   palvelulistan Kun-rivit
   ============================================= */
/* 1) Tilannekortit: 3 palstaa tyopoydalla (9 korttia = 3x3),
      2 palstaa tabletilla, 1 mobiilissa. Sisavalit hieman
      tiiviimmiksi, jotta luettavuus sailyy kapeammassa kortissa. */
body.page-id-31 .tilannekortit-grid {
  grid-template-columns: 1fr 1fr 1fr;
  max-width: 1200px;
  gap: 20px;
}
body.page-id-31 .tilannekortti {
  padding: 28px 26px !important;
}
body.page-id-31 .tilannekortti h3 {
  font-size: 18px;
  line-height: 1.4;
}
body.page-id-31 .tilannekortti p {
  font-size: 15px;
}
@media (max-width: 1024px) {
  body.page-id-31 .tilannekortit-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  body.page-id-31 .tilannekortit-grid { grid-template-columns: 1fr; }
}
/* 2) Palvelulistan Kun-rivi: kultainen kursiivi otsikon alla */
body.page-id-31 .palvelu-kun {
  color: #DCC999 !important;
  font-size: 15px !important;
  font-style: italic;
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 10px 0 !important;
}
/* =============================================
   OSA 1-10 (v66): Blogikorttien tummaksi varjaytyva
   hover-animaatio takaisin (varienpakotus v62/v64
   esti teeman oman siirtyman). VAIN lisays — heroon
   tai muihin sааntoihin ei kosketa.
   ============================================= */
body.page-id-31 .Bloglist .card-body,
body.page-id-31 .Bloglist .card-body h3,
body.page-id-31 .Bloglist .card-body p,
body.page-id-31 .Bloglist .card-body .text-muted,
body.page-id-31 .Bloglist .card-body .fw-bold {
  transition: background-color 0.3s ease, color 0.3s ease;
}
body.page-id-31 .Bloglist .Bloglist__Item:hover .card-body,
body.page-id-31 .Bloglist a.card:hover .card-body {
  background-color: #0c0c0c !important;
}
body.page-id-31 .Bloglist .Bloglist__Item:hover .card-body h3,
body.page-id-31 .Bloglist a.card:hover .card-body h3 {
  color: #DCC999 !important;
}
body.page-id-31 .Bloglist .Bloglist__Item:hover .card-body p,
body.page-id-31 .Bloglist .Bloglist__Item:hover .card-body .text-muted,
body.page-id-31 .Bloglist a.card:hover .card-body p,
body.page-id-31 .Bloglist a.card:hover .card-body .text-muted {
  color: #d4cebe !important;
}
body.page-id-31 .Bloglist .Bloglist__Item:hover .card-body .fw-bold,
body.page-id-31 .Bloglist a.card:hover .card-body .fw-bold {
  color: #DCC999 !important;
}
/* =============================================
   OSA 1-11 (v67): Tilannekorttien ruudukko hieman
   kapeammaksi (1200 -> 1060 px) ja valit ilmavammiksi
   ============================================= */
body.page-id-31 .tilannekortit-grid {
  max-width: 1060px;
  gap: 24px;
}
/* =============================================
   OSA 1-12 (v68): Vaikutusketjun askelmien hover-
   animaatio (nakyy aina, toisin kuin lataus-
   animaatiot). VAIN lisays.
   ============================================= */
body.page-id-31 .vaikutusketju-step {
  transition: transform 0.25s ease, border-color 0.25s ease,
              background 0.25s ease;
}
body.page-id-31 .vaikutusketju-step:hover {
  transform: translateY(-4px);
  border-color: rgba(220, 201, 153, 0.45);
  background: rgba(220, 201, 153, 0.08);
}
body.page-id-31 .vaikutusketju-step::after {
  transition: transform 0.25s ease;
}
body.page-id-31 .vaikutusketju-step:hover::after {
  transform: translateY(-50%) translateX(4px);
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-31 .vaikutusketju-step,
  body.page-id-31 .vaikutusketju-step::after { transition: none; }
  body.page-id-31 .vaikutusketju-step:hover { transform: none; }
}
/* =============================================
   OSA 3-5 (v73): Palvelut-sivun hero-CTA:n
   mikroteksti napin alle. VAIN lisays.
   ============================================= */
body .Hero a[href*="calendly"],
body .Hero a[href*="tilannekeskustelu"] {
  position: relative;
}
body .Hero a[href*="calendly"]::after,
body .Hero a[href*="tilannekeskustelu"]::after {
  content: "Maksuton · luottamuksellinen · 30 minuuttia · ei sido jatkoon";
  position: absolute;
  left: 0;
  top: calc(100% + 12px);
  white-space: nowrap;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #d4cebe;
  text-transform: none;
  pointer-events: none;
}
@media (max-width: 560px) {
  body .Hero a[href*="calendly"]::after,
  body .Hero a[href*="tilannekeskustelu"]::after {
    white-space: normal;
    width: 240px;
  }
}
/* =============================================
   OSA 4-2 (v73): Palvelukortit kolmeen palstaan.
   Ruudukko 1060 px = sama kuin etusivulla,
   kapeat ja tyylikkaat kortit.
   ============================================= */
.palvelukortit-grid {
  grid-template-columns: repeat(3, 1fr);
  max-width: 1060px;
  gap: 24px;
}
.palvelu-kortti { padding: 30px 26px; }
.palvelu-kortti h3 { font-size: 21px; }
.palvelu-tagline { font-size: 16px; margin-bottom: 20px; }
.palvelu-kuvaus { font-size: 15px; }
.palvelu-fragmentti p { font-size: 15px; }
/* 7. kortti (varjojasen) keskelle omalle rivilleen */
.palvelukortit-grid .palvelu-kortti:last-child { grid-column: 2; }
/* Tabletilla kaksi palstaa, keskitys pois */
@media (max-width: 1180px) {
  .palvelukortit-grid { grid-template-columns: 1fr 1fr; }
  .palvelukortit-grid .palvelu-kortti:last-child { grid-column: auto; }
}
/* =============================================
   OSA 4-3 (v73): Tilannepolut-kortit 3x3-malliin
   kuten etusivulla: 3 palstaa, 1060 px.
   ============================================= */
body.page-id-9852 .tilannepolut-grid {
  grid-template-columns: 1fr 1fr 1fr;
  max-width: 1060px;
  gap: 24px;
}
body.page-id-9852 .tilanne-otsikko { font-size: 17px; }
body.page-id-9852 .tilanne-kuvaus { font-size: 14px; }
/* 9. kortilta puuttui animaatioviive */
body.page-id-9852 .tilanne-kortti:nth-of-type(9) { animation-delay: 0.45s; }
@media (max-width: 1024px) {
  body.page-id-9852 .tilannepolut-grid { grid-template-columns: 1fr 1fr; }
}
/* =============================================
   OSA 9 (v76): Vastuullinen johtaminen.
   Premium-kortit: ei kursiivia, ilmava yla- ja
   alatila, 1060 px ruudukot, kapeat korkeat kortit.
   KORVAA AIEMMAN OSA 9:n (v74/v75) KOKONAAN.
   ============================================= */
body:has(.vastuullinen-sivu) .Hero__Content h1::before {
  content: "Yhteinen ymmärrys · Johtamiskyky · Uudistumiskyky";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
/* Vaaleat kortit (rakenne + INNOLEAN): 3 kapeaa palstaa */
.vastuullinen-sivu .tilanne-kortit {
  grid-template-columns: repeat(3, 1fr) !important;
  max-width: 1060px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 24px !important;
}
.vastuullinen-sivu .tilanne-kortti {
  padding: 3.25rem 2rem 3rem !important;
  min-height: 380px;
  border-radius: 12px !important;
}
.vastuullinen-sivu .tilanne-kortti-otsikko {
  font-style: normal !important;
  font-size: 19px;
  line-height: 1.4;
  margin-bottom: 0.75rem !important;
}
.vastuullinen-sivu .tilanne-kortti-tunniste {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a7a4a;
  margin: 0 0 0.75rem;
}
.vastuullinen-sivu .tilanne-kortti-kuvaus { line-height: 1.65; }
.vastuullinen-sivu .tilanne-kortti-linkit {
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(138, 122, 74, 0.18);
  font-size: 15px;
  line-height: 2.1;
  margin-bottom: 0;
}
.vastuullinen-sivu .tilanne-kortti a {
  color: #1a1612;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: #8a7a4a;
  text-underline-offset: 3px;
}
/* Mittarikortit (Toiminnallinen johtaminen): kapeat ja korkeat */
.vastuullinen-sivu .tulokset-grid {
  max-width: 900px !important;
  gap: 24px !important;
}
.vastuullinen-sivu .tulokset-kortti {
  padding: 3.5rem 2.5rem 3rem !important;
  min-height: 360px;
}
.vastuullinen-sivu .tulokset-otsikko { line-height: 1.4; margin-bottom: 1.75rem !important; }
.vastuullinen-sivu .lopputulos-lista a { color: #DCC999; text-decoration: none; }
@media (max-width: 1024px) {
  .vastuullinen-sivu .tilanne-kortit { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 768px) {
  .vastuullinen-sivu .tilanne-kortit { grid-template-columns: 1fr !important; }
  .vastuullinen-sivu .tilanne-kortti { min-height: 0; padding: 2.5rem 1.5rem 2.25rem !important; }
  .vastuullinen-sivu .tulokset-kortti { min-height: 0; padding: 2.5rem 1.5rem 2.25rem !important; }
}
/* =============================================
   OSA 10 (v80): Kehittämispäivät. Korvaa v79:n.
   Kaikki ruudukot 1060 px / 3 palstaa, premium-
   tila ylös ja alas, sitaattityylit.
   ============================================= */
body:has(.kehpaivat-sivu) .Hero__Content h1::before {
  content: "Kehittämispäivät";
  display: block; font-size: 14px; color: #DCC999;
  letter-spacing: 0.14em; text-transform: uppercase;
  margin-bottom: 1.5rem; font-weight: 700; font-family: inherit; line-height: 1.4;
}
/* Vaaleat kortit */
.kehpaivat-sivu .tilanne-kortit {
  grid-template-columns: repeat(3, 1fr) !important;
  max-width: 1060px !important;
  margin-left: auto !important; margin-right: auto !important;
  gap: 24px !important;
}
.kehpaivat-sivu .tilanne-kortti {
  padding: 3.5rem 2rem 3.25rem !important;
  min-height: 380px; border-radius: 12px !important;
  display: flex !important; flex-direction: column !important;
}
.kehpaivat-sivu .tilanne-kortti-otsikko {
  font-style: normal !important; font-size: 19px; line-height: 1.4;
  margin: 0 0 0.5rem !important;
}
.kehpaivat-sivu .kp-teema-tagline-light {
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #8a7a4a; margin: 0 0 1rem;
}
.kehpaivat-sivu .tilanne-kortti-kuvaus { line-height: 1.65; margin: 0 0 1rem; }
.kehpaivat-sivu .tilanne-kortti-linkit {
  margin-top: auto !important; padding-top: 1.5rem;
  border-top: 1px solid rgba(138, 122, 74, 0.18); font-size: 15px; margin-bottom: 0;
}
.kehpaivat-sivu .tilanne-kortti a {
  color: #1a1612; font-weight: 600; text-decoration: underline;
  text-decoration-color: #8a7a4a; text-underline-offset: 3px;
}
/* Tummat teemakortit: sama 1060/3, viimeinen keskelle 4 kortin ryhmässä */
.kehpaivat-sivu .kp-teema-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; max-width: 1060px; margin: 0 auto;
}
.kehpaivat-sivu .kp-teema-grid-4 > .kp-teema-kortti:last-child { grid-column: 2; }
.kehpaivat-sivu .kp-teema-kortti {
  background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18);
  border-radius: 12px; padding: 3.5rem 2rem 3.25rem; min-height: 380px;
  display: flex; flex-direction: column;
  transition: border-color 0.2s, transform 0.2s;
}
.kehpaivat-sivu .kp-teema-kortti:hover { border-color: rgba(220, 201, 153, 0.4); transform: translateY(-2px); }
.kehpaivat-sivu .kp-teema-kortti h3 { font-size: 20px; font-weight: 700; color: #e8e4da; margin: 0 0 0.5rem; line-height: 1.35; }
.kehpaivat-sivu .kp-teema-tagline {
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #DCC999; margin: 0 0 1rem;
}
.kehpaivat-sivu .kp-teema-kuvaus { font-size: 15px; color: #d4cebe; line-height: 1.65; margin: 0 0 1rem; }
.kehpaivat-sivu .kp-teema-linkki {
  margin-top: auto; padding-top: 1.5rem;
  border-top: 1px solid rgba(220, 201, 153, 0.15); font-size: 15px; margin-bottom: 0;
}
.kehpaivat-sivu .kp-teema-linkki a { color: #DCC999; text-decoration: none; font-weight: 600; }
/* Sitaatit */
.kehpaivat-sivu .kp-sitaatti-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; max-width: 1060px; margin: 0 auto;
}
.kehpaivat-sivu .kp-sitaatti {
  background: #1c1c1c; border: 1px solid rgba(220, 201, 153, 0.18);
  border-left: 3px solid #DCC999; border-radius: 12px;
  padding: 3.25rem 2rem 3rem; display: flex; flex-direction: column;
}
.kehpaivat-sivu .kp-sitaatti-teksti { font-size: 15px; color: #e8e4da; line-height: 1.7; font-style: italic; margin: 0 0 1.5rem; }
.kehpaivat-sivu .kp-sitaatti-nimi { margin: auto 0 0; font-weight: 700; color: #DCC999; font-size: 15px; }
.kehpaivat-sivu .kp-sitaatti-rooli { margin: 0.25rem 0 0; font-size: 13px; color: #b8b2a2; }
.kehpaivat-sivu .erottuvuus-sp-tiivistys a,
.kehpaivat-sivu .faq-sp-item a,
.kehpaivat-sivu .sp-geo a { color: #DCC999; }
@media (max-width: 1024px) {
  .kehpaivat-sivu .tilanne-kortit,
  .kehpaivat-sivu .kp-teema-grid,
  .kehpaivat-sivu .kp-sitaatti-grid { grid-template-columns: 1fr 1fr !important; }
  .kehpaivat-sivu .kp-teema-grid-4 > .kp-teema-kortti:last-child { grid-column: auto; }
}
@media (max-width: 768px) {
  .kehpaivat-sivu .tilanne-kortit,
  .kehpaivat-sivu .kp-teema-grid,
  .kehpaivat-sivu .kp-sitaatti-grid { grid-template-columns: 1fr !important; }
  .kehpaivat-sivu .tilanne-kortti,
  .kehpaivat-sivu .kp-teema-kortti,
  .kehpaivat-sivu .kp-sitaatti { min-height: 0; padding: 2.5rem 1.5rem 2.25rem !important; }
}
/* v81-LISÄYS: Tilannepäivä-nosto + vaaleat sitaatit */
.kehpaivat-sivu .kp-nosto-box {
  max-width: 760px; margin: 0 auto; text-align: center;
  border: 1px solid rgba(220, 201, 153, 0.35); border-radius: 16px;
  padding: 4rem 3rem 3.5rem; background: #141414;
}
.kehpaivat-sivu .kp-nosto-box h2 { font-size: 36px; color: #DCC999; margin: 0 0 1.5rem; }
.kehpaivat-sivu .kp-nosto-teksti { font-size: 17px; color: #e8e4da; line-height: 1.7; margin: 0 0 2.25rem; }
.kehpaivat-sivu .kp-nosto-linkit { margin: 0 0 2rem; }
.kehpaivat-sivu .kp-nosto-ohjaus { font-size: 15px; color: #b8b2a2; line-height: 1.7; margin: 0; }
.kehpaivat-sivu .kp-nosto-ohjaus a { color: #DCC999; text-decoration: underline; text-decoration-color: rgba(220,201,153,0.4); text-underline-offset: 3px; }
.kehpaivat-sivu .kp-sitaatit-light .kp-sitaatti { background: #ffffff; border: 1px solid rgba(138, 122, 74, 0.2); border-left: 3px solid #8a7a4a; }
.kehpaivat-sivu .kp-sitaatit-light .kp-sitaatti-teksti { color: #2a2520; }
.kehpaivat-sivu .kp-sitaatit-light .kp-sitaatti-nimi { color: #1a1612; }
.kehpaivat-sivu .kp-sitaatit-light .kp-sitaatti-rooli { color: #6b6354; }
@media (max-width: 768px) { .kehpaivat-sivu .kp-nosto-box { padding: 2.75rem 1.5rem 2.5rem; } .kehpaivat-sivu .kp-nosto-box h2 { font-size: 26px; } }
/* v82-TILAKORJAUS: premium-tila kaikkiin kortteihin.
   Liitä OSA 10:n loppuun, yliajaa aiemmat paddingit. */
.kehpaivat-sivu .tilanne-kortti,
.kehpaivat-sivu .kp-teema-kortti,
.kehpaivat-sivu .kp-sitaatti {
  padding: 4rem 2.25rem 3.75rem !important;
  min-height: 420px !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
.kehpaivat-sivu .kp-teema-kortti h3,
.kehpaivat-sivu .tilanne-kortti-otsikko { margin-top: 0 !important; }
.kehpaivat-sivu .kp-sitaatti { min-height: 440px !important; }
.kehpaivat-sivu .kp-sitaatti-teksti { margin-top: 0 !important; }
@media (max-width: 768px) {
  .kehpaivat-sivu .tilanne-kortti,
  .kehpaivat-sivu .kp-teema-kortti,
  .kehpaivat-sivu .kp-sitaatti {
    min-height: 0 !important;
    padding: 2.75rem 1.5rem 2.5rem !important;
  }
}
/* v83b: aloituskerroksen ketjulause + korostus, vahvistettu */
.kehpaivat-sivu .kp-aloitus-ketju {
  text-align: center !important;
  font-size: 15px !important;
  color: #b8b2a2 !important;
  line-height: 1.7 !important;
  max-width: 700px !important;
  margin: 2.5rem auto 0 !important;
  padding: 0 1.5rem;
}
.kehpaivat-sivu .kp-aloitus-ketju a {
  color: #DCC999 !important;
  font-weight: 600;
  text-decoration: underline !important;
  text-decoration-color: rgba(220, 201, 153, 0.4) !important;
  text-underline-offset: 3px;
}
.kehpaivat-sivu .kp-aloitus-korostettu {
  border-color: rgba(220, 201, 153, 0.55) !important;
  background: #141414 !important;
  box-shadow: 0 0 0 1px rgba(220, 201, 153, 0.25);
}
/* =============================================
   OSA 11 (v84): Etusivun v6-osiot — Vaikutukset,
   palvelupolku, Tulostakuu, CTA-nappi, valkoiset
   otsikot tummissa osioissa. VAIN lisäys.
   ============================================= */
/* Otsikot puhtaan valkoisiksi tummissa osioissa */
body.page-id-31 .module-dark .module-title,
body.page-id-31 .module-dark h3,
body.page-id-31 .module-uudistumis .module-title,
body.page-id-31 .module-cta-dark .cta-title {
  color: #FFFFFF !important;
}
/* Mekanismilauseen korostus (Lähtökohta) */
body.page-id-31 .module-light .module-bridge {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
/* Tilannekorttiosion päätös + CTA-nappi */
body.page-id-31 .tilanne-paatos {
  max-width: 760px;
  margin: 48px auto 8px;
  padding: 0 24px;
  text-align: center;
}
body.page-id-31 .tilanne-paatos-teksti {
  color: #e8e4da;
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
}
body.page-id-31 .module-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 30px;
  margin-top: 24px;
  background: #DCC999;
  color: #0c0c0c !important;
  text-decoration: none !important;
  border-radius: 999px;
  font-weight: 700;
  font-size: 16px;
  transition: background 0.2s ease;
}
body.page-id-31 .module-cta-btn:hover,
body.page-id-31 .module-cta-btn:focus-visible {
  background: #FFFFFF;
}
body.page-id-31 .module-cta-btn:focus-visible {
  outline: 2px solid #DCC999;
  outline-offset: 3px;
}
/* Vaikutukset näkyvät jokaisella tasolla (vaalea osio) */
body.page-id-31 .vaikutus-wrap,
body.page-id-31 .polku-wrap,
body.page-id-31 .takuu-wrap {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}
body.page-id-31 .vaikutus-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 32px;
}
body.page-id-31 .vaikutus-kortti {
  background: #ffffff;
  border: 1px solid rgba(26, 22, 18, 0.12);
  border-radius: 16px;
  padding: 24px 26px;
  box-shadow: 0 6px 18px rgba(26, 22, 18, 0.06);
}
body.page-id-31 .vaikutus-kortti h3 {
  margin: 0 0 8px;
  font-size: 18px;
  color: #1a1612 !important;
}
body.page-id-31 .vaikutus-kortti p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: #2a2520;
}
body.page-id-31 .vaikutus-seuraus {
  margin: 20px 0 0;
  padding: 22px 26px;
  border: 1px solid rgba(138, 122, 74, 0.5);
  background: rgba(220, 201, 153, 0.16);
  border-radius: 16px;
  font-size: 18px;
  line-height: 1.5;
  color: #1a1612;
}
/* Palvelupolku (tumma osio) */
body.page-id-31 .polku-aloitus {
  position: relative;
  margin: 40px 0 20px;
  padding: 32px 32px 36px;
  border: 1px solid rgba(220, 201, 153, 0.5);
  border-radius: 18px;
  background: rgba(220, 201, 153, 0.08);
}
body.page-id-31 .polku-aloitus-tunniste {
  position: absolute;
  top: 20px;
  right: 24px;
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #DCC999;
  font-weight: 700;
}
body.page-id-31 .polku-aloitus h3 {
  margin: 0 0 14px;
  font-size: 26px;
  line-height: 1.1;
}
body.page-id-31 .polku-aloitus h3 a {
  color: #FFFFFF !important;
  text-decoration: none;
}
body.page-id-31 .polku-aloitus h3 a:hover {
  color: #DCC999 !important;
}
body.page-id-31 .polku-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
body.page-id-31 .polku-chip {
  padding: 6px 12px;
  border: 1px solid rgba(220, 201, 153, 0.4);
  border-radius: 999px;
  font-size: 14px;
  color: #DCC999;
}
body.page-id-31 .polku-teksti {
  margin: 0;
  color: #b8b2a2;
  font-size: 16px;
  line-height: 1.55;
}
body.page-id-31 .polku-lopputulos {
  margin: 14px 0 0;
  color: #e8e4da;
  font-size: 15px;
}
body.page-id-31 .polku-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 16px;
}
body.page-id-31 .polku-kortti {
  padding: 26px 28px 28px;
  border: 1px solid rgba(220, 201, 153, 0.18);
  border-radius: 16px;
  background: #1c1c1c;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
body.page-id-31 .polku-kortti:hover {
  border-color: rgba(220, 201, 153, 0.35);
  transform: translateY(-2px);
}
body.page-id-31 .polku-num {
  display: block;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  color: #DCC999;
  margin-bottom: 12px;
}
body.page-id-31 .polku-kortti h3 {
  margin: 0 0 6px;
  font-size: 21px;
  line-height: 1.15;
}
body.page-id-31 .polku-palvelut {
  margin: 0 0 10px;
  font-size: 15px;
  color: #b8b2a2;
}
body.page-id-31 .polku-palvelut a {
  color: #DCC999;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.page-id-31 .polku-palvelut a:hover {
  color: #FFFFFF;
}
/* Tulostakuu */
body.page-id-31 .takuu-wrap {
  max-width: 760px;
}
body.page-id-31 .takuu-teksti {
  color: #e8e4da;
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
}
body.page-id-31 .module-takuu {
  border-top: 1px solid rgba(220, 201, 153, 0.1);
}
/* Mobiili */
@media (max-width: 700px) {
  body.page-id-31 .vaikutus-grid,
  body.page-id-31 .polku-grid {
    grid-template-columns: 1fr;
  }
  body.page-id-31 .polku-aloitus {
    padding: 26px 22px 30px;
  }
  body.page-id-31 .polku-kortti {
    padding: 22px 20px 24px;
  }
}
.proinno-nosto {
  border-left: 3px solid #DCC999;
  padding: 8px 0 8px 24px;
  margin: 32px 0;
}
.proinno-nosto ul {
  list-style: none;
  padding-left: 0;
  margin: 12px 0 0 0;
}
.proinno-nosto li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 6px;
}
.proinno-nosto li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 5px;
  height: 5px;
  background: #DCC999;
  border-radius: 50%;
}
/* ============================================================
   SILTASIVUJEN VIIMEISTELY — YHTEINEN v2 (19.7.2026)
   Koskee kaikkia .palvelusivu-sivuja. Lisätty: tummien osioiden
   linkkiväri (linkit olivat näkymättömiä) ja korttien ilmavuus.
   ============================================================ */
/* Tummien osioiden tekstilinkit näkyviksi */
.palvelusivu .module-dark .text-wrap a:not(.btn-pilleri-sp),
.palvelusivu .loppu-cta-sp-sahkoposti a {
  color: #d9c88f !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.palvelusivu .module-dark .text-wrap a:not(.btn-pilleri-sp):hover {
  color: #eee3b8 !important;
}
/* Kortit: ilmavuus ja tasapainoinen muoto */
.palvelusivu .tilanne-kortti {
  background-color: #ffffff !important;
  padding: 2.25rem 2rem 2rem !important;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-otsikko {
  color: #1a1a1a !important;
  margin: 0 0 1rem !important;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-kuvaus {
  color: #3a3a3a !important;
  margin: 0 !important;
}
.palvelusivu .tilanne-kortti-tunniste {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a7a4a;
  margin: 0 0 1rem;
}
/* Kahden kortin ruudukko keskelle */
.palvelusivu .kortit-kaksi {
  grid-template-columns: 1fr 1fr !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 768px) {
  .palvelusivu .kortit-kaksi { grid-template-columns: 1fr !important; }
}
/* FAQ- ja GEO-osioiden vasen tasaus */
.palvelusivu .faq-sp .module-overline,
.palvelusivu .faq-sp h2,
.palvelusivu .sp-geo .module-overline,
.palvelusivu .sp-geo .geo-h3,
.palvelusivu .sp-geo p {
  text-align: left !important;
}
/* FAQ valkoisella pohjalla */
.palvelusivu .faq-sp-light {
  background: #ffffff !important;
}
.palvelusivu .faq-sp-light h2,
.palvelusivu .faq-sp-light summary {
  color: #1a1a1a !important;
}
.palvelusivu .faq-sp-light .faq-sp-item {
  border-color: rgba(0, 0, 0, 0.15) !important;
}
.palvelusivu .faq-sp-light .faq-sp-item p {
  color: #3a3a3a !important;
}
.palvelusivu .faq-sp-light .faq-sp-item a {
  color: #8a7a4a !important;
}
/* Valkoinen palkki sisällön ja footerin välistä pois */
body:has(.palvelusivu) #main-content,
body:has(.palvelusivu) .entry-content,
body:has(.palvelusivu) main,
body:has(.palvelusivu) .site-content {
  background-color: #0c0c0c !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body:has(.palvelusivu) #main-content > p:not([class]),
body:has(.palvelusivu) #main-content > p:empty,
body:has(.palvelusivu) #main-content > br,
body:has(.palvelusivu) #main-content > div:empty,
body:has(.palvelusivu) .entry-content > p:not([class]),
body:has(.palvelusivu) .entry-content > div:empty,
body:has(.palvelusivu) .wp-block-spacer,
body:has(.palvelusivu) .wp-block-separator {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* ============================================================
   OSA 9 — SILTASIVUJEN KORTTIMALLIT A/B (v61, 18.7.2026)
   LISÄYS: ei korvaa mitään aiempaa. Koskee VAIN .palvelusivu-
   sivujen sisältökortteja (tilanne-kortti). Referenssikortit
   (kortit-kaksi) pysyvät laatikkoina. Poisto palauttaa
   entisen ilmeen. Ei viivoja overline-otsikoihin.
   ============================================================ */
/* --- Sisältökortit: malli A/B (ei laatikkoa, kultainen yläviiva) --- */
.palvelusivu .tilanne-kortti {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: 2px solid #DCC999 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 20px 4px 0 !important;
}
.palvelusivu .tilanne-kortti:hover {
  border-color: #DCC999 !important;
  background: transparent !important;
  transform: none !important;
}
.palvelusivu .module-light .tilanne-kortti {
  border-top-color: #b8a25e !important;
}
/* Otsikot ja tekstit: kursiivi pois, värit osion mukaan */
.palvelusivu .tilanne-kortti .tilanne-kortti-otsikko {
  font-style: normal !important;
  color: #1a1a1a !important;
  margin: 0 0 0.75rem !important;
}
.palvelusivu .module-dark .tilanne-kortti .tilanne-kortti-otsikko {
  color: #ffffff !important;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-kuvaus {
  color: #3a3a3a !important;
}
.palvelusivu .module-dark .tilanne-kortti .tilanne-kortti-kuvaus {
  color: #b8b2a2 !important;
}
.palvelusivu .tilanne-kortti-tunniste {
  color: #8a7a4a !important;
  letter-spacing: 0.14em !important;
}
.palvelusivu .module-dark .tilanne-kortti-tunniste {
  color: #DCC999 !important;
}
/* Ruudukon ilmavuus (korkea ja kapea, mobiilissa yksi palsta) */
.palvelusivu .tilanne-kortit {
  gap: 44px 40px !important;
}
@media (max-width: 768px) {
  .palvelusivu .tilanne-kortit { gap: 34px !important; }
}
/* --- Referenssikortit (kortit-kaksi): AINOAT laatikot --- */
.palvelusivu .kortit-kaksi .tilanne-kortti {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(138, 122, 74, 0.30) !important;
  border-top: 1px solid rgba(138, 122, 74, 0.30) !important;
  border-radius: 12px !important;
  padding: 2.25rem 2rem 2rem !important;
}
.palvelusivu .module-dark .kortit-kaksi .tilanne-kortti {
  background: #1a1612 !important;
  background-color: #1a1612 !important;
  border-color: rgba(220, 201, 153, 0.22) !important;
}
.palvelusivu .module-dark .kortit-kaksi .tilanne-kortti-otsikko {
  color: #ffffff !important;
}
.palvelusivu .module-dark .kortit-kaksi .tilanne-kortti-kuvaus {
  color: #b8b2a2 !important;
}
/* ============================================================
   OSA 10 v3 — PALVELUT-SIVUN TÄYSUUDISTUKSEN TYYLIT (18.7.2026)
   v3: vaalean taustan kulta #6f6037 (AA-kontrasti), focus-tyylit,
   premium-pari-grid, osioiden päätöslinkit.
   LISÄYS: liitä nykyisen CSS:n loppuun (OSA 9:n perään).
   KORVAA aiemman OSA 10:n (ilmio-kortit): jos ehdit liittää sen,
   poista vain se lyhyt osio ja liitä tämä tilalle.
   Koskee VAIN Palvelut-sivua (page-id-9852). Korttimallit A/B,
   mobiilissa yksi kapea palsta, ilmava premium.
   Olemassa olevat palvelu-kortti-, kantokyky-premium-,
   asiakas-sitaatti- ja faq-tyylit toimivat sellaisinaan.
   ============================================================ */
/* --- Tulevaisuustila (B-kortit vaalealla) --- */
body.page-id-9852 .tulevaisuus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px 36px;max-width:1080px;margin:36px auto 0}
body.page-id-9852 .tulevaisuus-kortti{border-top:1px solid rgba(138,122,74,.5);padding:18px 4px 0}
body.page-id-9852 .tulevaisuus-tunniste{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6f6037;margin:0 0 10px}
body.page-id-9852 .tulevaisuus-teksti{font-size:15px;line-height:1.6;color:#2a2520;margin:0}
/* --- Siltakerros (B-kortit tummalla) --- */
body.page-id-9852 .silta-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:44px 40px;max-width:900px;margin:36px auto 0}
body.page-id-9852 .silta-kortti{border-top:2px solid #DCC999;padding:20px 4px 0}
body.page-id-9852 .silta-tunniste{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#DCC999;margin:0 0 10px}
body.page-id-9852 .silta-otsikko{font-size:18px;font-weight:600;line-height:1.35;color:#ffffff;margin:0 0 10px}
body.page-id-9852 .silta-kuvaus{font-size:15px;line-height:1.6;color:#b8b2a2;margin:0 0 14px}
body.page-id-9852 .silta-linkki{font-size:14px;font-weight:600;color:#DCC999;text-decoration:none}
body.page-id-9852 .silta-linkki:hover{text-decoration:underline}
body.page-id-9852 .silta-paatos{font-size:16px;line-height:1.65;color:#b8b2a2;max-width:900px;margin:40px auto 0}
body.page-id-9852 .silta-paatos a{color:#DCC999}
/* --- Tunnista tilanteesi (6 reitittävää korttia, vaalea) --- */
body.page-id-9852 .tilanne6-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px 36px;max-width:1080px;margin:36px auto 0}
body.page-id-9852 .tilanne6-kortti{border-top:1px solid rgba(138,122,74,.5);padding:18px 4px 0}
body.page-id-9852 .tilanne6-otsikko{font-size:16px;font-weight:700;letter-spacing:.02em;color:#1a1612;margin:0 0 8px}
body.page-id-9852 .tilanne6-sitaatti{font-size:15.5px;line-height:1.55;font-style:italic;color:#2a2520;margin:0 0 12px}
body.page-id-9852 .tilanne6-linkki{font-size:14px;font-weight:600;color:#6f6037;text-decoration:none}
body.page-id-9852 .tilanne6-linkki:hover{text-decoration:underline}
body.page-id-9852 .tilanne6-paatos{font-size:16px;line-height:1.65;color:#2a2520;max-width:900px;margin:40px auto 0}
body.page-id-9852 .tilanne6-paatos a{color:#6f6037}
/* --- Nelivaiheinen polku (A-kortit tummalla) --- */
body.page-id-9852 .polku4-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:44px 36px;max-width:1080px;margin:36px auto 0}
body.page-id-9852 .polku4-vaihe{border-top:2px solid #DCC999;padding:20px 4px 0}
body.page-id-9852 .polku4-num{font-size:32px;font-weight:200;color:#DCC999;letter-spacing:.04em;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
body.page-id-9852 .polku4-otsikko{font-size:17px;font-weight:600;color:#ffffff;margin:0 0 6px}
body.page-id-9852 .polku4-kysymys{font-size:14.5px;font-style:italic;color:#b8b2a2;margin:0 0 10px}
body.page-id-9852 .polku4-palvelut{font-size:14px;line-height:1.6;color:#b8b2a2;margin:0}
body.page-id-9852 .polku4-palvelut a{color:#DCC999;text-decoration:none}
body.page-id-9852 .polku4-palvelut a:hover{text-decoration:underline}
body.page-id-9852 .polku4-paatos{font-size:16px;line-height:1.65;color:#b8b2a2;max-width:900px;margin:40px auto 0}
body.page-id-9852 .polku4-paatos a{color:#DCC999}
/* --- Palvelukorttien uudet rivit --- */
body.page-id-9852 .palvelu-saat,
body.page-id-9852 .palvelu-miten{font-size:15px;line-height:1.6;margin:0}
body.page-id-9852 .palvelu-saat strong,
body.page-id-9852 .palvelu-miten strong{color:#DCC999}
/* --- Tutkimusperusta (vaalea) --- */
body.page-id-9852 .tutkimus-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:40px 36px;max-width:1000px;margin:36px auto 0}
body.page-id-9852 .tutkimus-rivi{border-top:1px solid rgba(138,122,74,.5);padding:18px 4px 0}
body.page-id-9852 .tutkimus-otsikko{font-size:16px;font-weight:600;color:#1a1612;margin:0 0 8px}
body.page-id-9852 .tutkimus-teksti{font-size:14.5px;line-height:1.6;color:#2a2520;margin:0}
body.page-id-9852 .tutkimus-paatos{font-size:15.5px;line-height:1.6;color:#2a2520;max-width:1000px;margin:36px auto 0}
body.page-id-9852 .tutkimus-paatos a{color:#6f6037}
/* --- Loppu-CTA:n yhteysrivi --- */
body.page-id-9852 .cta-yhteys{font-size:14.5px;color:#b8b2a2;margin:14px 0 0}
body.page-id-9852 .cta-yhteys a{color:#DCC999;text-decoration:none}
/* --- Mobiili: yksi kapea palsta --- */
@media(max-width:700px){
  body.page-id-9852 .tulevaisuus-grid,
  body.page-id-9852 .silta-grid,
  body.page-id-9852 .tilanne6-grid,
  body.page-id-9852 .polku4-grid,
  body.page-id-9852 .tutkimus-grid{grid-template-columns:1fr;gap:32px}
}
/* --- Premium-pari: Kantokykyarvio + Varjojäsen rinnakkain --- */
body.page-id-9852 .premium-pari{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:36px;max-width:1080px;margin:36px auto 0;align-items:start}
/* --- Osioiden päätöslinkit --- */
body.page-id-9852 .tulevaisuus-paatos{font-size:15.5px;margin:40px auto 0;max-width:1080px}
body.page-id-9852 .tulevaisuus-paatos a{color:#6f6037;font-weight:600;text-decoration:none}
body.page-id-9852 .tulevaisuus-paatos a:hover{text-decoration:underline}
body.page-id-9852 .tulokset-paatos{font-size:15.5px;margin:40px auto 0;max-width:1080px}
body.page-id-9852 .tulokset-paatos a{color:#DCC999;font-weight:600;text-decoration:none}
body.page-id-9852 .tulokset-paatos a:hover{text-decoration:underline}
body.page-id-9852 .faq-paatos{font-size:15.5px;color:#b8b2a2;margin:36px auto 0;max-width:1080px}
body.page-id-9852 .faq-paatos a{color:#DCC999;font-weight:600;text-decoration:none}
/* --- Näppäimistöfokus --- */
body.page-id-9852 .silta-linkki:focus-visible,
body.page-id-9852 .tilanne6-linkki:focus-visible,
body.page-id-9852 .polku4-palvelut a:focus-visible,
body.page-id-9852 .silta-paatos a:focus-visible,
body.page-id-9852 .tilanne6-paatos a:focus-visible,
body.page-id-9852 .polku4-paatos a:focus-visible,
body.page-id-9852 .tutkimus-paatos a:focus-visible,
body.page-id-9852 .tulevaisuus-paatos a:focus-visible,
body.page-id-9852 .tulokset-paatos a:focus-visible,
body.page-id-9852 .faq-paatos a:focus-visible,
body.page-id-9852 .cta-yhteys a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
/* --- Mobiili: premium-pari yhteen palstaan --- */
@media(max-width:760px){
  body.page-id-9852 .premium-pari{grid-template-columns:1fr;gap:32px}
}
/* ============================================================
   OSA 10 v4 — PALVELUT-SIVUN KONTRASTIKORJAUS (18.7.2026)
   LISÄYS: liitä OSA 10 v3:n perään. Ei korvaa mitään.
   Korjaa: (1) vaaleiden osioiden kortit mustina, koska
   body.page-id-9852 article -sääntö maalaa kaikki article-
   elementit tummiksi; (2) Proinnon tapa -osion vaalea
   leipäteksti valkoisella pohjalla.
   ============================================================ */
/* 1) Uusien korttien tausta läpinäkyväksi (yliajaa article-maalauksen) */
body.page-id-9852 .tulevaisuus-kortti,
body.page-id-9852 article.tulevaisuus-kortti,
body.page-id-9852 .tilanne6-kortti,
body.page-id-9852 article.tilanne6-kortti,
body.page-id-9852 .tutkimus-rivi,
body.page-id-9852 article.tutkimus-rivi,
body.page-id-9852 .silta-kortti,
body.page-id-9852 article.silta-kortti,
body.page-id-9852 .polku4-vaihe,
body.page-id-9852 article.polku4-vaihe {
  background: transparent !important;
  background-color: transparent !important;
}
/* 2) Vaaleiden korttien tekstivärit varmistetaan */
body.page-id-9852 .tulevaisuus-tunniste { color: #6f6037 !important; }
body.page-id-9852 .tulevaisuus-teksti { color: #2a2520 !important; }
body.page-id-9852 .tilanne6-otsikko { color: #1a1612 !important; }
body.page-id-9852 .tilanne6-sitaatti { color: #2a2520 !important; }
body.page-id-9852 .tutkimus-otsikko { color: #1a1612 !important; }
body.page-id-9852 .tutkimus-teksti { color: #2a2520 !important; }
/* 3) Vaaleiden korttien ja tekstien linkit AA-kullalla */
body.page-id-9852 .tutkimus-teksti a,
body.page-id-9852 .tilanne6-sitaatti a,
body.page-id-9852 .tulevaisuus-teksti a,
body.page-id-9852 .module-light .tapa-nosto a {
  color: #6f6037 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 4) Proinnon tapa vaalealla pohjalla: leipäteksti tummaksi */
body.page-id-9852 .module-light .tapa-nosto h3 { color: #1a1612 !important; }
body.page-id-9852 .module-light .tapa-nosto p { color: #2a2520 !important; }
body.page-id-9852 .module-light .tapa-nosto { border-left-color: #8a7a4a; }
body.page-id-9852 .module-light .tapa-paatos { color: #6f6037; border-top-color: rgba(138, 122, 74, 0.3); }
body.page-id-9852 .module-light strong { color: #6f6037 !important; }
/* ============================================================
   OSA 10 v6 (18.7.2026) — PALVELUT-SIVUN KORTIT ETUSIVUN MALLIIN
   KORVAA v5-LINJAN: kaikki kortit TUMMIA premium-laatikoita,
   myos vaaleissa osioissa (kuten etusivun Asiakastulokset:
   tumma kortti valkoisella pohjalla).
   LIITA koko CSS:n loppuun. Jos v5 on jo liitetty, tama voi
   tulla sen peraan (yliajaa) tai v5:n voi poistaa ensin,
   kumpikin toimii. v3:a ja v4:aa ei tarvitse poistaa.
   Kortti: tausta 171717/1c1c1c, kultareunus, 12 px pyoristys,
   varjo, hover-nosto, tasakorkeus, linkkirivi alareunassa
   erotinviivan alla. Tekstit vaaleina ja luettavina.
   ============================================================ */
/* --- 1) KAIKKI UUDET KORTIT: tumma premium-laatikko --- */
body.page-id-9852 .tulevaisuus-kortti,
body.page-id-9852 article.tulevaisuus-kortti,
body.page-id-9852 .tilanne6-kortti,
body.page-id-9852 article.tilanne6-kortti,
body.page-id-9852 .tutkimus-rivi,
body.page-id-9852 article.tutkimus-rivi,
body.page-id-9852 .tapa-nosto,
body.page-id-9852 .silta-kortti,
body.page-id-9852 article.silta-kortti,
body.page-id-9852 .polku4-vaihe {
  background: #1c1c1c !important;
  background-color: #1c1c1c !important;
  border: 1px solid rgba(220, 201, 153, 0.18) !important;
  border-radius: 12px !important;
  padding: 2.75rem 2rem 2.5rem !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
/* Vaaleiden osioiden kortit: etusivun tuloskorttien sävy */
body.page-id-9852 .module-light .tulevaisuus-kortti,
body.page-id-9852 .module-light .tilanne6-kortti,
body.page-id-9852 .module-light .tutkimus-rivi,
body.page-id-9852 .module-light .tapa-nosto {
  background: #171717 !important;
  background-color: #171717 !important;
  border-color: rgba(220, 201, 153, 0.14) !important;
}
body.page-id-9852 .tulevaisuus-kortti:hover,
body.page-id-9852 .tilanne6-kortti:hover,
body.page-id-9852 .tutkimus-rivi:hover,
body.page-id-9852 .tapa-nosto:hover,
body.page-id-9852 .silta-kortti:hover,
body.page-id-9852 .polku4-vaihe:hover {
  border-color: rgba(220, 201, 153, 0.4) !important;
  transform: translateY(-2px);
}
/* --- 2) KORTTIEN TEKSTIT: vaaleat, luettavat, kulta-aksentit --- */
/* Tulevaisuustila */
body.page-id-9852 .tulevaisuus-tunniste {
  color: #DCC999 !important;
  margin: 0 0 14px !important;
}
body.page-id-9852 .tulevaisuus-teksti {
  color: #e8e4da !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
/* Tunnista tilanteesi */
body.page-id-9852 .tilanne6-otsikko {
  color: #ffffff !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  margin: 0 0 12px !important;
}
body.page-id-9852 .tilanne6-sitaatti {
  color: #d4cebe !important;
  margin: 0 0 1.5rem !important;
}
body.page-id-9852 .tilanne6-linkki {
  color: #DCC999 !important;
  font-weight: 600;
  text-decoration: none !important;
  margin-top: auto !important;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(220, 201, 153, 0.15);
}
body.page-id-9852 .tilanne6-linkki:hover {
  color: #eee3b8 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
/* Tutkimusperusta */
body.page-id-9852 .tutkimus-otsikko {
  color: #DCC999 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 0 0 12px !important;
}
body.page-id-9852 .tutkimus-teksti {
  color: #e8e4da !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
body.page-id-9852 .tutkimus-teksti a {
  color: #DCC999 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* Proinnon tapa */
body.page-id-9852 .tapa-nosto h3 {
  color: #DCC999 !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  margin: 0 0 14px !important;
}
body.page-id-9852 .tapa-nosto p {
  color: #e8e4da !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}
body.page-id-9852 .tapa-nosto strong { color: #DCC999 !important; }
body.page-id-9852 .tapa-nosto a {
  color: #DCC999 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.page-id-9852 .module-light .tapa-paatos {
  color: #6f6037 !important;
  border-top-color: rgba(138, 122, 74, 0.3) !important;
}
body.page-id-9852 .module-light strong { color: #6f6037 !important; }
/* Siltakerros */
body.page-id-9852 .silta-tunniste { color: #DCC999 !important; margin: 0 0 12px !important; }
body.page-id-9852 .silta-otsikko { color: #ffffff !important; font-size: 20px !important; margin: 0 0 10px !important; }
body.page-id-9852 .silta-kuvaus { color: #b8b2a2 !important; margin: 0 0 1.5rem !important; }
body.page-id-9852 .silta-linkki {
  color: #DCC999 !important;
  font-weight: 600;
  text-decoration: none !important;
  margin-top: auto !important;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(220, 201, 153, 0.15);
}
body.page-id-9852 .silta-linkki:hover {
  color: #eee3b8 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
/* Nelivaiheinen polku */
body.page-id-9852 .polku4-num {
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #DCC999 !important;
  letter-spacing: 0 !important;
  margin-bottom: 14px !important;
}
body.page-id-9852 .polku4-otsikko { color: #ffffff !important; font-size: 20px !important; margin: 0 0 8px !important; }
body.page-id-9852 .polku4-kysymys { color: #b8b2a2 !important; margin: 0 0 1.25rem !important; }
body.page-id-9852 .polku4-palvelut {
  color: #b8b2a2 !important;
  margin-top: auto !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(220, 201, 153, 0.15);
  line-height: 1.8 !important;
}
body.page-id-9852 .polku4-palvelut a {
  color: #DCC999 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.page-id-9852 .polku4-palvelut a:hover { color: #eee3b8 !important; }
/* --- 3) RUUDUKOT: etusivun rytmi --- */
body.page-id-9852 .tulevaisuus-grid,
body.page-id-9852 .silta-grid,
body.page-id-9852 .tilanne6-grid,
body.page-id-9852 .polku4-grid,
body.page-id-9852 .tutkimus-grid {
  gap: 24px !important;
  align-items: stretch !important;
}
body.page-id-9852 .tavat-grid {
  gap: 24px !important;
  max-width: 1000px !important;
}
/* --- 4) OSIOIDEN PAATOSRIVIT (korttien ulkopuolella) --- */
body.page-id-9852 .tilanne6-paatos { color: #2a2520 !important; }
body.page-id-9852 .tilanne6-paatos a,
body.page-id-9852 .tulevaisuus-paatos a,
body.page-id-9852 .tutkimus-paatos a { color: #6f6037 !important; }
body.page-id-9852 .silta-paatos { color: #b8b2a2 !important; }
body.page-id-9852 .silta-paatos a,
body.page-id-9852 .polku4-paatos a { color: #DCC999 !important; }
/* --- 5) MOBIILI --- */
@media (max-width: 700px) {
  body.page-id-9852 .silta-kortti,
  body.page-id-9852 .polku4-vaihe,
  body.page-id-9852 .tulevaisuus-kortti,
  body.page-id-9852 .tilanne6-kortti,
  body.page-id-9852 .tutkimus-rivi,
  body.page-id-9852 .tapa-nosto {
    padding: 2.25rem 1.5rem 2rem !important;
  }
  body.page-id-9852 .tulevaisuus-grid,
  body.page-id-9852 .silta-grid,
  body.page-id-9852 .tilanne6-grid,
  body.page-id-9852 .polku4-grid,
  body.page-id-9852 .tutkimus-grid,
  body.page-id-9852 .tavat-grid {
    gap: 16px !important;
  }
}
/* ============================================================
   OSA 11: MOBIILIKEVENNYS (21.7.2026)
   LISAYS: liita koko Lisa-CSS:n loppuun, OSA 10:n peraan.
   Ei korvaa mitaan. Vain @media-saantoja, tyokoneella ei muutu
   mikaan. Koskee: etusivu (page-id-31), siltasivut ja
   palvelusivupohja (.palvelusivu), Tilannekeskustelu (17777),
   Tilannekuva (16754), Toimeenpanosprintti (18112), Kehittamispaivat
   (.kehpaivat-sivu). Sisaltoon ei kosketa: vain fonttikoot,
   rivivalit, pehmusteet ja ruudukot.
   ============================================================ */
@media (max-width: 700px) {
  /* --- 1) Leipateksti: minimikoko 16 px ja valjempi rivivali --- */
  body.page-id-31 .module-container p,
  body.page-id-31 .module-container li,
  .palvelusivu p,
  .palvelusivu li,
  .tilannekeskustelu-sivu p,
  .tilannekeskustelu-sivu li,
  .tilannekuva-sivu p,
  .tilannekuva-sivu li,
  body.page-id-18112 p,
  body.page-id-18112 li,
  .kehpaivat-sivu p,
  .kehpaivat-sivu li {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }
  /* Tunnisterivit pysyvat pienina (eivat kasva leipatekstin mukana) */
  .module-overline,
  .kortti-overline,
  .geo-overline,
  .nina-overline,
  .overline-dark,
  .overline-gold {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .mittari-teksti { font-size: 14px !important; line-height: 1.45 !important; }
  .sitaatti-titteli { font-size: 14px !important; }
  .cta-note { font-size: 13px !important; }
  /* --- 2) Otsikot: mobiilikoko ja tiiviimpi rivitys --- */
  body.page-id-31 .module-container h2,
  .palvelusivu h2,
  .tilannekeskustelu-sivu h2,
  .tilannekuva-sivu h2,
  body.page-id-18112 h2,
  .kehpaivat-sivu h2,
  .module-title {
    font-size: 26px !important;
    line-height: 1.25 !important;
  }
  body.page-id-31 .module-container h3,
  .palvelusivu h3,
  .tilannekeskustelu-sivu h3,
  .tilannekuva-sivu h3,
  body.page-id-18112 h3,
  .kehpaivat-sivu h3 {
    font-size: 19px !important;
    line-height: 1.35 !important;
  }
  /* --- 3) Osioiden pystypehmusteet tiiviimmiksi --- */
  .module-dark,
  .module-light,
  .module-cta-dark,
  .module-geo-dark,
  .module-tulokset-light,
  .module-blogi-light,
  .module-uudistumis,
  .module-takuu,
  .module-thesis,
  .module-bridge,
  .module-closing,
  .module-nakokulmat-top {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  /* --- 4) Kortit ja ruudukot: yksi palsta, tiiviit sisavalit --- */
  .palvelusivu .tilanne-kortti,
  .palvelusivu .takuu-kortti-sp,
  .palvelusivu .tulokset-kortti,
  .palvelusivu .faq-sp-item,
  .palvelusivu .prosessi-sp-vaihe,
  .palvelusivu .erottuvuus-sp {
    padding: 1.75rem 1.25rem !important;
  }
  .palvelusivu .tilanne-kortit,
  .palvelusivu .tulokset-grid,
  .palvelusivu .kortit-kaksi {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body.page-id-31 .vaikutusketju-step { padding: 18px 14px !important; }
  body.page-id-31 .vaikutusketju-q { font-size: 14px !important; }
  /* --- 5) Painikkeet: taysi kosketusleveys --- */
  .cta-button,
  .module-cta-btn {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    text-align: center;
    box-sizing: border-box;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}
/* Kapeimmat naytot: otsikot viela pykalan pienemmiksi */
@media (max-width: 380px) {
  body.page-id-31 .module-container h2,
  .palvelusivu h2,
  .tilannekeskustelu-sivu h2,
  .tilannekuva-sivu h2,
  body.page-id-18112 h2,
  .kehpaivat-sivu h2,
  .module-title {
    font-size: 23px !important;
  }
}
/* ============================================================
   OSA 12 v2: SILTASIVUJEN KORTIT LAATIKKOMALLIIN (21.7.2026)
   v2 = v1 + tuloanimaatiot portaittain + tummien osioiden
   kortit HARMAALLA variantilla (262420), jotta siltasivut
   erottuvat Palvelut-sivun mustista korteista. Kolmen
   variantin jarjestelma: musta (Palvelut), harmaa (silta-
   sivut tummat osiot), valkoinen kultareunuksella (vaaleat).
   LISAYS: liita koko Lisa-CSS:n loppuun, OSA 11:n peraan.
   Ei korvaa mitaan, HTML:aan ei kosketa. Yliajaa OSA 9:n
   viivamallin (lapinakyva tausta + kultainen ylaviiva) ja
   pukee tilannekortit Palvelut-sivun hyvaksyttyyn malliin:
   tummissa osioissa tumma kortti kultareunuksella, vaaleissa
   valkoinen kortti kultareunuksella, 12 px pyoristys, kapea
   ja korkea muoto, hover-nosto. Referenssikortit (kortit-
   kaksi), FAQ ja kaikki tekstisisalto pysyvat ennallaan.
   Koskee kaikkia .palvelusivu- ja .vastuullinen-sivu-sivuja
   eli siltasivut 1-3 kerralla. Poisto = leikkaa tama osio pois.
   ============================================================ */
/* --- 1) Tilannekortti: laatikko viivan tilalle --- */
.palvelusivu .tilanne-kortti,
.vastuullinen-sivu .tilanne-kortti {
  background: #262420 !important;
  background-color: #262420 !important;
  border: 1px solid rgba(220, 201, 153, 0.16) !important;
  border-top: 1px solid rgba(220, 201, 153, 0.16) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25) !important;
  padding: 3rem 1.75rem 2.75rem !important;
  min-height: 300px;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  box-sizing: border-box;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.palvelusivu .tilanne-kortti:hover,
.vastuullinen-sivu .tilanne-kortti:hover {
  border-color: rgba(220, 201, 153, 0.4) !important;
  transform: translateY(-2px);
}
/* Vaaleiden osioiden variantti: valkoinen kortti kultakehyksella */
.palvelusivu .module-light .tilanne-kortti,
.vastuullinen-sivu .module-light .tilanne-kortti {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid rgba(138, 122, 74, 0.35) !important;
  border-top: 1px solid rgba(138, 122, 74, 0.35) !important;
  box-shadow: none !important;
}
.palvelusivu .module-light .tilanne-kortti:hover,
.vastuullinen-sivu .module-light .tilanne-kortti:hover {
  border-color: rgba(138, 122, 74, 0.65) !important;
}
/* --- 2) Korttien tekstit osion mukaan --- */
.palvelusivu .tilanne-kortti .tilanne-kortti-tunniste,
.vastuullinen-sivu .tilanne-kortti .tilanne-kortti-tunniste {
  color: #DCC999 !important;
  margin-bottom: 12px !important;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-otsikko,
.vastuullinen-sivu .tilanne-kortti .tilanne-kortti-otsikko {
  color: #ffffff !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  margin: 0 0 12px !important;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-kuvaus,
.vastuullinen-sivu .tilanne-kortti .tilanne-kortti-kuvaus {
  color: #d4cebe !important;
  line-height: 1.65 !important;
}
.palvelusivu .tilanne-kortti .tilanne-kortti-linkit,
.vastuullinen-sivu .tilanne-kortti .tilanne-kortti-linkit {
  margin-top: auto !important;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(220, 201, 153, 0.15);
}
.palvelusivu .tilanne-kortti .tilanne-kortti-linkit a,
.vastuullinen-sivu .tilanne-kortti .tilanne-kortti-linkit a {
  color: #DCC999 !important;
  font-weight: 600;
}
.palvelusivu .module-light .tilanne-kortti .tilanne-kortti-tunniste,
.vastuullinen-sivu .module-light .tilanne-kortti .tilanne-kortti-tunniste { color: #6f6037 !important; }
.palvelusivu .module-light .tilanne-kortti .tilanne-kortti-otsikko,
.vastuullinen-sivu .module-light .tilanne-kortti .tilanne-kortti-otsikko { color: #1a1612 !important; }
.palvelusivu .module-light .tilanne-kortti .tilanne-kortti-kuvaus,
.vastuullinen-sivu .module-light .tilanne-kortti .tilanne-kortti-kuvaus { color: #4a443c !important; }
.palvelusivu .module-light .tilanne-kortti .tilanne-kortti-linkit,
.vastuullinen-sivu .module-light .tilanne-kortti .tilanne-kortti-linkit { border-top-color: rgba(138, 122, 74, 0.22); }
.palvelusivu .module-light .tilanne-kortti .tilanne-kortti-linkit a,
.vastuullinen-sivu .module-light .tilanne-kortti .tilanne-kortti-linkit a { color: #6f6037 !important; }
/* --- 3) Ruudukko: kapea ja korkea rytmi --- */
.palvelusivu .tilanne-kortit,
.vastuullinen-sivu .tilanne-kortit {
  gap: 28px !important;
  max-width: 1060px !important;
  align-items: stretch !important;
}
/* --- 5) Tuloanimaatiot portaittain (sama fadeInUp kuin muualla) --- */
.palvelusivu .tilanne-kortti,
.vastuullinen-sivu .tilanne-kortti {
  opacity: 0;
  animation: proinno-fadeInUp 0.6s ease-out forwards;
}
.palvelusivu .tilanne-kortti:nth-child(1),
.vastuullinen-sivu .tilanne-kortti:nth-child(1) { animation-delay: 0.08s; }
.palvelusivu .tilanne-kortti:nth-child(2),
.vastuullinen-sivu .tilanne-kortti:nth-child(2) { animation-delay: 0.18s; }
.palvelusivu .tilanne-kortti:nth-child(3),
.vastuullinen-sivu .tilanne-kortti:nth-child(3) { animation-delay: 0.28s; }
.palvelusivu .tilanne-kortti:nth-child(4),
.vastuullinen-sivu .tilanne-kortti:nth-child(4) { animation-delay: 0.38s; }
.palvelusivu .tilanne-kortti:nth-child(5),
.vastuullinen-sivu .tilanne-kortti:nth-child(5) { animation-delay: 0.48s; }
.palvelusivu .tilanne-kortti:nth-child(6),
.vastuullinen-sivu .tilanne-kortti:nth-child(6) { animation-delay: 0.58s; }
@media (prefers-reduced-motion: reduce) {
  .palvelusivu .tilanne-kortti,
  .vastuullinen-sivu .tilanne-kortti { opacity: 1; animation: none; }
}
/* --- 6) Mobiili: korkeuspakotus pois (OSA 11 hoitaa muun) --- */
@media (max-width: 700px) {
  .palvelusivu .tilanne-kortti,
  .vastuullinen-sivu .tilanne-kortti {
    min-height: 0 !important;
  }
}
/* ============================================================
   OSA 12 v3 -LISAYS (21.7.2026): KAPEA JA KORKEA, EI LEVEA
   Liita OSA 12 v2:n peraan. Pakottaa siltasivujen tilanne-
   korttien ruudukot kolmeen kapeaan palstaan tyokoneella,
   kahteen tabletilla, yhteen mobiilissa. Kortit pysyvat
   pystymallisina min-height 300 + tasakorkeus.
   ============================================================ */
.palvelusivu .tilanne-kortit,
.vastuullinen-sivu .tilanne-kortit {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 1024px) {
  .palvelusivu .tilanne-kortit,
  .vastuullinen-sivu .tilanne-kortit {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 700px) {
  .palvelusivu .tilanne-kortit,
  .vastuullinen-sivu .tilanne-kortit {
    grid-template-columns: 1fr !important;
  }
}
/* ============================================================
   OSA 12 v4 -LISAYS (21.7.2026): KORTIT-KAKSI KESKELLE
   Liita OSA 12 v3:n peraan. Keskittaa asiakasesimerkkien
   kahden kortin ruudukon (Milta johtamisen uudistuminen
   nayttaa kaytannossa), joka jai vasempaan reunaan.
   ============================================================ */
.palvelusivu .kortit-kaksi,
.vastuullinen-sivu .kortit-kaksi {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}
/* ============================================================
   OSA 13: VAIKUTUSKETJUN VAKIOVISUAALI (21.7.2026)
   LISAYS: liita koko Lisa-CSS:n loppuun, OSA 12:n peraan.
   Tyylit vk-ketju-lohkolle, joka on sama kaikilla sivuilla:
   kuusi virallista vaihetta pillereina + kultaiset nuolet +
   paluurivi (oppiminen palautuu havainnoksi). Toimii seka
   tummissa etta vaaleissa osioissa (module-light-variantti).
   Sama HTML-lohko kopioidaan jatkossa muillekin sivuille.
   ============================================================ */
.vk-otsikko {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #DCC999;
  margin: 2rem 0 0;
}
.module-light .vk-otsikko { color: #6f6037; }
.vk-ketju {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 8px;
  max-width: 900px;
  margin: 0.9rem auto 0.85rem;
}
.vk-vaihe {
  border: 1px solid rgba(220, 201, 153, 0.45);
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #e8e4da;
  background: rgba(220, 201, 153, 0.06);
  white-space: nowrap;
}
.vk-nuoli {
  color: #DCC999;
  font-weight: 700;
  font-size: 17px;
  line-height: 1;
}
.vk-paluu {
  text-align: center;
  font-size: 14.5px;
  line-height: 1.5;
  color: #b8b2a2;
  max-width: 700px;
  margin: 0 auto 0;
}
/* Vaalean osion variantti */
.module-light .vk-vaihe {
  color: #1a1612;
  border-color: rgba(138, 122, 74, 0.5);
  background: rgba(138, 122, 74, 0.06);
}
.module-light .vk-nuoli { color: #8a7a4a; }
.module-light .vk-paluu { color: #6f6037; }
/* Mobiili */
@media (max-width: 700px) {
  .vk-ketju { gap: 8px 6px; margin-top: 1.5rem; }
  .vk-vaihe { padding: 8px 14px; font-size: 14px; }
  .vk-nuoli { font-size: 15px; }
  .vk-paluu { font-size: 13.5px; }
}
/* ============================================================
   OSA 13 v2 -LISAYS: VAIKUTUSKETJU PREMIUM-PANEELIKSI
   Liita OSA 13:n peraan. Vaatii HTML:aan vk-lohko-kaareen
   (kaksi etsi-korvaa-lisaysta). Ketju nousee omaksi kehystetyksi
   paneelikseen: tumma paneelitausta, kultareunus, pyoristys,
   reilu tila ympärille. Toimii tummissa ja vaaleissa osioissa.
   ============================================================ */
.vk-lohko {
  background: linear-gradient(180deg, rgba(220, 201, 153, 0.07), rgba(220, 201, 153, 0.02));
  background-color: #14120f;
  border: 1px solid rgba(220, 201, 153, 0.3);
  border-radius: 14px;
  padding: 2.5rem 2rem 2.25rem;
  max-width: 880px;
  margin: 2.75rem auto;
  box-sizing: border-box;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
}
.vk-lohko .vk-otsikko { margin: 0 0 1.4rem; }
.vk-lohko .vk-ketju { margin: 0 auto 1rem; }
.vk-lohko .vk-paluu { margin: 0 auto; }
/* Pillerit hieman vahvemmiksi paneelin sisalla */
.vk-lohko .vk-vaihe {
  background: rgba(220, 201, 153, 0.1);
  border-color: rgba(220, 201, 153, 0.55);
}
/* Vaalean osion variantti */
.module-light .vk-lohko {
  background: #faf9f6;
  background-color: #faf9f6;
  border-color: rgba(138, 122, 74, 0.4);
  box-shadow: 0 4px 16px rgba(26, 22, 18, 0.07);
}
.module-light .vk-lohko .vk-vaihe {
  background: rgba(138, 122, 74, 0.08);
  border-color: rgba(138, 122, 74, 0.55);
}
/* Mobiili */
@media (max-width: 700px) {
  .vk-lohko {
    padding: 1.75rem 1.25rem 1.5rem;
    margin: 2rem auto;
  }
}
/* ============================================================
   OSA 14: SILTASIVUJEN HERO-TUNNISTERIVIT (23.7.2026)
   LISAYS: liita Lisa-CSS:n loppuun. Sama vakiomekanismi kuin
   tuotesivuilla (Tilannekuva, Juurtuminen jne.): pieni kultainen
   ylaotsikko heron H1:n ylapuolelle sivukohtaisesti. Siltasivuilta
   nama puuttuivat kokonaan. Poisto = leikkaa osio pois.
   ============================================================ */
body:has(.vastuullinen-sivu) .Hero__Content h1::before {
  content: "Vastuullinen johtaminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.sujuvuus-sivu) .Hero__Content h1::before {
  content: "Työn sujuvuus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.asiakaskokemus-sivu) .Hero__Content h1::before {
  content: "Asiakaskokemus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.uudistuminen-sivu) .Hero__Content h1::before {
  content: "Strateginen uudistuminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
/* ============================================================
   OSA 15: OVERLINE-OTSIKOIDEN YHTENÄISTYS (24.7.2026)
   Liitä Lisä-CSS:n loppuun, OSA 14:n jälkeen.
   Yhtenäistää kaikkien sivujen kultaiset pikkuotsikot:
   sama fonttikoko (16 px) ja johdonmukainen kullan väri
   — myös GEO-osiot, jotka olivat aiemmin 13–14 px.
   Poistaa myös mahdollisen teeman lisäämän viivan otsikon edestä.
   ============================================================ */
/* Sama koko ja muoto kaikille overline-otsikoille */
.module-overline,
.geo-overline,
.module-geo-dark .module-overline,
.tilannekeskustelu-sivu .geo-overline,
.palvelusivu .module-overline,
.nina-overline,
.kortti-overline {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
/* Ei koskaan viivaa otsikon edessä */
.module-overline::before,
.geo-overline::before,
.nina-overline::before,
.kortti-overline::before {
  content: none !important;
}
/* Kullan väri johdonmukaisesti:
   tummalla taustalla kirkas kulta, vaalealla tumma kulta (AA-kontrasti) */
.module-dark .module-overline,
.module-dark .geo-overline,
.overline-gold,
.geo-overline,
.module-geo-dark .module-overline,
.nina-overline {
  color: #DCC999 !important;
}
.module-light .module-overline,
.overline-dark,
.kortti-overline {
  color: #8a7a4a !important;
}
/* ============================================================
   OSA 16: KORTTIRYHMÄT TEKSTILINJAAN (24.7.2026)
   Liitä Lisä-CSS:n loppuun, OSA 15:n jälkeen.
   Yhtenäistää kaikkien tuotesivujen korttiryhmät samaan
   leveyteen tekstin kanssa (900 px): kortit ovat kapeita ja
   korkeita, ja jokainen osio alkaa samasta vasemmasta linjasta.
   ============================================================ */
body.page-id-18112 .tilanne-kortit,
body.page-id-18112 .tulokset-grid,
body.page-id-18112 .prosessi-sp-vaiheet,
body.page-id-18112 .hinta-sp-taulukko,
body.page-id-18112 .takuu-kortti-sp,
.palvelusivu .tilanne-kortit,
.palvelusivu .tulokset-grid,
.palvelusivu .prosessi-sp-vaiheet,
.palvelusivu .hinta-sp-taulukko,
.palvelusivu .takuu-kortti-sp,
.tilannekuva-sivu .tilanne-kortit,
.tilannekuva-sivu .tulokset-grid,
.tilannekeskustelu-sivu .tilanne-kortit {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
/* ============================================================
   OSA 17: JOHTORYHMÄSIVUN REFERENSSIKORTTIEN PYSTYTILA (24.7.2026)
   Liitä Lisä-CSS:n loppuun, OSA 16:n jälkeen, ja tallenna.
   Tämä ohittaa sivun lohkon tyylit pakottavasti, joten korjaus
   näkyy riippumatta siitä, mikä lohkoversio sivulla on.
   ============================================================ */
.johtoryhma-sivu .jr-ref-kortti {
  padding-top: 3.2rem !important;
  padding-bottom: 3rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}
/* ============================================================
   OSA 18 v4 · ASIAKASTARINAT (kaikki referenssisivut)
   Korvaa aiemman OSA 18 -lohkon kokonaan, jos ehdit jo liittää sen.
   Lisätään Lisä-CSS:n LOPPUUN, OSA 17:n jälkeen. Ei korvaa mitään.
   Paletti: #DCC999 kulta · #8a7a4a vaalean AA-kulta · #6f6037 ·
            #e8e4da vaalea · #b8b2a2 · #1c1c1c / #14120f tumma
   ============================================================ */
.asiakastarina {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 1.25rem;
  color: #24211d;
  font-size: 1.0625rem;
  line-height: 1.8;
}
.asiakastarina p { color: #24211d; }
/* ---------- Osiot ja otsikot ---------- */
.asiakastarina .at-osio { margin: 0 0 3.25rem 0; }
.asiakastarina .at-osio-alku { margin-bottom: 2.5rem; }
.asiakastarina .at-overline {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8a7a4a;
  margin: 0 0 0.75rem 0;
  line-height: 1.4;
}
.asiakastarina .at-overline::before { content: none; }
.asiakastarina .at-overline-tumma { color: #DCC999; }
.asiakastarina .at-h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.25;
  font-weight: 700;
  color: #14120f;
  margin: 0 0 1.25rem 0;
}
.asiakastarina .at-ingressi {
  font-size: 1.1875rem;
  line-height: 1.75;
  color: #2f2b26;
}
.asiakastarina .at-h2 {
  font-size: clamp(1.375rem, 2.6vw, 1.75rem);
  line-height: 1.3;
  font-weight: 700;
  color: #14120f;
  margin: 0 0 1rem 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(138, 122, 74, 0.35);
}
.asiakastarina .at-osio p + p { margin-top: 1.1rem; }
/* ---------- Kuva ---------- */
.asiakastarina .at-kuva {
  margin: 0 0 3.25rem 0;
}
.asiakastarina .at-kuva img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
/* ---------- Sitaatit ---------- */
/* Pieni, vaalea: osallistujapalaute */
.asiakastarina .at-sitaatti-pieni {
  background: #ffffff;
  border: 1px solid #8a7a4a;
  border-radius: 12px;
  padding: 1.75rem 1.75rem 1.5rem 3.25rem;
  position: relative;
  margin: 0 0 1.75rem 0;
}
.asiakastarina .at-sitaatti-pieni::before {
  content: "\201D";
  position: absolute;
  left: 1.1rem;
  top: 1.1rem;
  font-size: 3rem;
  line-height: 1;
  color: #8a7a4a;
}
.asiakastarina .at-sitaatti-pieni .at-sitaatti-teksti {
  font-style: italic;
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #2f2b26;
  margin: 0 0 0.75rem 0;
}
.asiakastarina .at-sitaatti-pieni .at-sitaatti-lahde {
  font-size: 0.9375rem;
  color: #6f6037;
  margin: 0;
}
/* Iso, tumma: asiakkaan ääni */
.asiakastarina .at-sitaatti-iso {
  background: #1c1c1c;
  border: 1px solid rgba(220, 201, 153, 0.35);
  border-radius: 12px;
  padding: 2.75rem 2.25rem 2.25rem 2.25rem;
  position: relative;
  overflow: hidden;
}
.asiakastarina .at-sitaatti-iso::before {
  content: "\201D";
  position: absolute;
  left: 1.5rem;
  top: 0.75rem;
  font-size: 5rem;
  line-height: 1;
  color: rgba(220, 201, 153, 0.35);
  pointer-events: none;
}
.asiakastarina .at-sitaatti-iso .at-sitaatti-sisalto { position: relative; }
.asiakastarina .at-sitaatti-iso .at-sitaatti-teksti {
  color: #f2efe8 !important;
  font-size: 1.125rem;
  line-height: 1.8;
  margin: 0 0 1.75rem 0;
}
.asiakastarina .at-puhuja {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(220, 201, 153, 0.25);
}
.asiakastarina .at-puhuja-kuva {
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 30%;
  border: 2px solid #DCC999;
}
.asiakastarina .at-puhuja-tiedot { min-width: 0; }
.asiakastarina .at-puhuja-nimi {
  color: #DCC999 !important;
  font-weight: 700;
  font-size: 1.0625rem;
  line-height: 1.4;
  margin: 0 0 0.2rem 0;
}
.asiakastarina .at-puhuja-titteli {
  color: #b8b2a2 !important;
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 0;
}
/* ---------- Yhteistyö lyhyesti ---------- */
.asiakastarina .at-yhteenveto {
  background: #ffffff;
  border: 1px solid #8a7a4a;
  border-radius: 12px;
  overflow: hidden;
}
.asiakastarina .at-tiedot {
  padding: 0.5rem 1.75rem;
}
.asiakastarina .at-tieto {
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(138, 122, 74, 0.25);
}
.asiakastarina .at-tieto:last-child { border-bottom: none; }
.asiakastarina .at-tieto-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6f6037;
  margin: 0 0 0.35rem 0;
}
.asiakastarina .at-tieto-arvo {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #24211d;
}
/* Menetelmä: korostettu alalohko */
.asiakastarina .at-menetelma {
  background: rgba(220, 201, 153, 0.14);
  border-top: 1px solid rgba(138, 122, 74, 0.4);
  padding: 1.75rem;
}
.asiakastarina .at-menetelma-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6f6037;
  margin: 0 0 0.5rem 0;
}
.asiakastarina .at-menetelma-karki {
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #14120f;
  margin: 0 0 0.9rem 0;
}
.asiakastarina .at-menetelma-teksti {
  font-size: 1rem;
  line-height: 1.75;
  color: #24211d;
  margin: 0 0 0.9rem 0;
}
/* Työn kulku: numeroitu vaihelista */
.asiakastarina .at-kulku-otsikko {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6f6037;
  margin: 1.75rem 0 0.9rem 0;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(138, 122, 74, 0.4);
}
.asiakastarina .at-kulku {
  list-style: none;
  margin: 0;
  padding: 0;
}
.asiakastarina .at-kulku .at-kulku-vaihe {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: 0.75rem;
  align-items: start;
  margin: 0 0 1.1rem 0;
}
.asiakastarina .at-kulku .at-kulku-vaihe:last-child { margin-bottom: 0; }
.asiakastarina .at-kulku-nro {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #8a7a4a;
  line-height: 1.7;
}
.asiakastarina .at-kulku-teksti {
  font-size: 1rem;
  line-height: 1.7;
  color: #24211d;
}
.asiakastarina .at-kulku-teksti strong {
  color: #14120f;
  font-weight: 700;
}
.asiakastarina .at-menetelma a {
  color: #6f6037;
  text-decoration: underline;
}
.asiakastarina .at-menetelma a:hover { color: #14120f; }
/* Toteuttaja: kevyt päätösrivi */
.asiakastarina .at-toteuttaja {
  background: #1c1c1c;
  padding: 1.5rem 1.75rem;
}
.asiakastarina .at-toteuttaja-nimi {
  color: #DCC999 !important;
  font-weight: 700;
  font-size: 1.0625rem;
  line-height: 1.45;
  margin: 0 0 0.5rem 0;
}
.asiakastarina .at-toteuttaja-teksti {
  color: #d4cebe !important;
  font-size: 0.9375rem;
  line-height: 1.75;
  margin: 0;
}
.asiakastarina .at-toteuttaja a {
  color: #DCC999 !important;
  text-decoration: underline;
  white-space: nowrap;
}
.asiakastarina .at-toteuttaja a:hover { color: #ffffff !important; }
@media (min-width: 700px) {
  .asiakastarina .at-tieto {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 1.5rem;
    align-items: baseline;
  }
  .asiakastarina .at-tieto-label { margin-bottom: 0; }
}
/* ---------- Loppu-CTA ---------- */
.asiakastarina .at-cta {
  background: #14120f;
  border: 1px solid rgba(220, 201, 153, 0.35);
  border-radius: 12px;
  padding: 2.25rem 2rem;
  text-align: center;
  margin: 0 0 3.25rem 0;
}
.asiakastarina .at-cta .at-cta-teksti {
  color: #f2efe8 !important;
  font-size: 1.1875rem;
  line-height: 1.7;
  font-weight: 600;
  margin: 0 0 1rem 0;
}
.asiakastarina .at-cta .at-cta-yhteys {
  color: #b8b2a2 !important;
  font-size: 1rem;
  margin: 0;
}
.asiakastarina .at-cta a {
  color: #DCC999 !important;
  text-decoration: underline;
}
.asiakastarina .at-cta a:hover { color: #ffffff !important; }
/* ---------- GEO ---------- */
.asiakastarina .at-geo {
  background: #1c1c1c;
  border-radius: 12px;
  padding: 2.5rem 2rem;
  margin: 0 0 2rem 0;
}
.asiakastarina .at-geo p {
  color: #d4cebe !important;
  font-size: 1rem;
  line-height: 1.85;
}
.asiakastarina .at-geo p + p { margin-top: 1.1rem; }
.asiakastarina .at-geo-h3 {
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1.25rem 0;
  line-height: 1.35;
}
.asiakastarina .at-geo a {
  color: #DCC999 !important;
  text-decoration: underline;
}
.asiakastarina .at-geo a:hover { color: #ffffff !important; }
.asiakastarina .at-geo-toteutus {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(220, 201, 153, 0.25);
  font-size: 0.9375rem !important;
  color: #b8b2a2 !important;
}
/* Palvelupolku */
.asiakastarina .at-polku {
  border: 1px solid rgba(220, 201, 153, 0.35);
  background: rgba(220, 201, 153, 0.05);
  border-radius: 12px;
  padding: 1.5rem 1.5rem;
  margin: 0 0 1.75rem 0;
}
.asiakastarina .at-polku-otsikko {
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #DCC999 !important;
  margin: 0 0 0.75rem 0;
}
.asiakastarina .at-polku-rivi {
  font-size: 1.0625rem !important;
  font-weight: 600;
  color: #f2efe8 !important;
  margin: 0 0 0.75rem 0;
  line-height: 1.9;
}
.asiakastarina .at-polku-ala {
  font-size: 0.9375rem !important;
  color: #b8b2a2 !important;
  margin: 0;
  line-height: 1.9;
}
/* ---------- Tuloanimaatio ---------- */
@keyframes atFadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.asiakastarina .at-anim {
  animation: atFadeUp 0.7s ease-out both;
}
.asiakastarina .at-anim:nth-of-type(2) { animation-delay: 0.08s; }
.asiakastarina .at-anim:nth-of-type(3) { animation-delay: 0.16s; }
.asiakastarina .at-anim:nth-of-type(4) { animation-delay: 0.24s; }
.asiakastarina .at-anim:nth-of-type(5) { animation-delay: 0.32s; }
@media (prefers-reduced-motion: reduce) {
  .asiakastarina .at-anim { animation: none !important; }
}
/* ---------- Mobiili ---------- */
@media (max-width: 640px) {
  .asiakastarina { font-size: 1rem; }
  .asiakastarina .at-osio { margin-bottom: 2.5rem; }
  .asiakastarina .at-sitaatti-iso { padding: 3.75rem 1.35rem 1.75rem 1.35rem; }
  .asiakastarina .at-sitaatti-iso::before { font-size: 3.5rem; top: 0.6rem; left: 1.35rem; }
  .asiakastarina .at-sitaatti-iso .at-sitaatti-teksti { font-size: 1.0625rem; }
  .asiakastarina .at-sitaatti-pieni { padding: 1.5rem 1.25rem 1.25rem 1.25rem; }
  .asiakastarina .at-sitaatti-pieni::before { position: static; display: block; font-size: 2.25rem; margin-bottom: 0.25rem; }
  .asiakastarina .at-puhuja { flex-direction: column; align-items: flex-start; text-align: left; }
  .asiakastarina .at-tiedot { padding: 0.25rem 1.25rem; }
  .asiakastarina .at-menetelma { padding: 1.5rem 1.25rem; }
  .asiakastarina .at-kulku .at-kulku-vaihe { grid-template-columns: 2.25rem 1fr; gap: 0.5rem; }
  .asiakastarina .at-toteuttaja { padding: 1.35rem 1.25rem; }
  .asiakastarina .at-cta { padding: 1.75rem 1.25rem; }
  .asiakastarina .at-geo { padding: 2rem 1.25rem; }
}
/* ---------- Näppäimistöfokus ---------- */
.asiakastarina a:focus-visible {
  outline: 2px solid #DCC999;
  outline-offset: 3px;
}
/* Poistaa Palvelut-megavalikon Marko Hottinen -noston */
#menu-paavalikko > li:first-child
.Menu__Primary__Megamenu
.col-4.py-12 {
    display: none !important;
}
/* Laajentaa palveluluettelon koko megavalikon leveydelle */
#menu-paavalikko > li:first-child
.Menu__Primary__Megamenu
.col-8 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}
/* Palvelut-megavalikko kolmeen sarakkeeseen työpöydällä */
@media (min-width: 1200px) {
    #menu-paavalikko > li:first-child
    .Menu__Primary__Megamenu
    .sub-menu.level2 > .Menu__Primary__Megamenu__Item {
        flex: 0 0 33.333333% !important;
        width: 33.333333% !important;
        max-width: 33.333333% !important;
    }
}

/* =============================================
   HERO-YLÄOTSIKOT UUSILLA KÄÄRELUOKILLA (14.9.2026)
   Sivun oma kääreluokka tunnistaa sivun, joten otsikko
   ei katoa vaikka sivutunnus vaihtuisi. VAIN lisäys.
   ============================================= */
body:has(.tk-sivu) .Hero__Content h1::before {
  content: "Tilannekeskustelu";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tp-sivu) .Hero__Content h1::before {
  content: "Tilannepäivä";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tu-sivu) .Hero__Content h1::before {
  content: "Tilannekuva";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.ts-sivu) .Hero__Content h1::before {
  content: "Toimeenpanosprintti";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.uj-sivu) .Hero__Content h1::before {
  content: "Uuden toimintatavan juurtuminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.kka-sivu) .Hero__Content h1::before {
  content: "Kantokykyarvio";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.sv-sivu) .Hero__Content h1::before {
  content: "Strateginen varjojäsen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.jr-sivu) .Hero__Content h1::before {
  content: "Johtoryhmävalmennus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.eh-sivu) .Hero__Content h1::before {
  content: "Esihenkilövalmennus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tv-sivu) .Hero__Content h1::before {
  content: "Tekoälyvalmennus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.kp-sivu) .Hero__Content h1::before {
  content: "Kehittämispäivät";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.pv-sivu) .Hero__Content h1::before {
  content: "Puheenvuorot";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.vj-sivu) .Hero__Content h1::before {
  content: "Vastuullinen johtaminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.su-sivu) .Hero__Content h1::before {
  content: "Strateginen uudistuminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.ak-sivu) .Hero__Content h1::before {
  content: "Asiakaskokemus ja palvelujen uudistaminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.tsu-sivu) .Hero__Content h1::before {
  content: "Työn sujuvuus";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.vk-sivu) .Hero__Content h1::before {
  content: "Johtamisen vaikutusketju";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.me-sivu) .Hero__Content h1::before {
  content: "Proinno Oy";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.pa-sivu) .Hero__Content h1::before {
  content: "Palvelut";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.yt-sivu) .Hero__Content h1::before {
  content: "Yhteystiedot";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}
body:has(.es-sivu) .Hero__Content h1::before {
  content: "Johtamisen ja toimintamallien uudistaminen";
  display: block;
  font-size: 14px;
  color: #DCC999;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
  font-family: inherit;
  line-height: 1.4;
}

/* Etusivun hero-CTA:n mikroteksti */
body:has(.es-sivu) .Hero a[href*="calendly"]::after,
body.page-id-31 .Hero a[href*="calendly"]::after {
  content: "Aloitetaan tilanteesta. Ei vielä projektista.";
}
/* Blogiartikkelien murupolku: poista päällekkäinen toinen BLOGIT ja sen jälkeinen erotin */
body.single-post #breadcrumbs > span > span:nth-child(3),
body.single-post #breadcrumbs > span > span:nth-child(4) {
  display: none;
}
/* Kolme premium-artikkelia: sama vasen reuna, leveämpi lukupalsta */
.postid-4390 .ab-blogi,
.postid-14821 .ab-blogi,
.postid-570 .ab-blogi {
  width: auto !important;
  max-width: 1050px !important;
  margin-left: max(24px, calc((100% - 900px) / 2)) !important;
  margin-right: auto !important;
}

@media (max-width: 700px) {
  .postid-4390 .ab-blogi,
  .postid-14821 .ab-blogi,
  .postid-570 .ab-blogi {
    width: auto !important;
    max-width: none !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}


/* Referenssien hero ja ote alkuperäisessä leveydessä */
body.single-proinno_references main article.Post {
  max-width: none !important;
  width: auto !important;
  margin-left: initial !important;
  margin-right: initial !important;
}


/* Premium-referenssien varsinainen sisältöalue 900 px */
body.single-proinno_references .pro-case > * {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* --- WPWriter addition --- */
/* =============================================
   HEROJEN YHTENÄINEN TIIVISTYS — 17.9.2026
   - kultainen Hero__Graph-koriste pois
   - tavalliset kuva-herot sisällön korkuisiksi
   - etusivun videoheron mittoihin ei kosketa
   - sivupohjan väreihin ei kosketa
   ============================================= */
body .Hero__Graph {
  display: none !important;
}

@media (min-width: 782px) {
  body:not(.page-id-31) .Hero {
    min-height: 0 !important;
  }
  body:not(.page-id-31) .Hero__Image,
  body:not(.page-id-31) .Hero__Image img {
    min-height: 0 !important;
  }
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-top: 9.5rem !important;
    padding-bottom: 4rem !important;
  }
}

@media (max-width: 781px) {
  body:not(.page-id-31) .Hero {
    min-height: 0 !important;
  }
  body:not(.page-id-31) .Hero__Image,
  body:not(.page-id-31) .Hero__Image img {
    min-height: 0 !important;
  }
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-top: 9.5rem !important;
    padding-bottom: 3.5rem !important;
  }
}

/* --- WPWriter addition --- */
/* Herojen loppusäätö 17.9.2026: noin 1 cm ilmaa CTA:n alle työpöydällä */
@media (min-width: 782px) {
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-bottom: 2rem !important;
  }
}

/* --- WPWriter addition --- */
/* Herojen sisäkääreen teeman 815 px vähimmäiskorkeus pois — ei etusivun videoherosta */
body:not(.page-id-31) .Hero__Content > div.container,
body:not(.page-id-31) .Post__Content.Hero__Content > div.wp-block-columns,
body:not(.page-id-31) .Post__Content.Hero__Content > div.wp-block-heading,
body:not(.page-id-31) #main-content.Hero__Content > div.wp-block-columns,
body:not(.page-id-31) #main-content.Hero__Content > div.wp-block-heading,
body:not(.page-id-31) #main-content.Hero__Content > div.wp-block-media-text,
body:not(.page-id-31) .Post__Content.Hero__Content > div.wp-block-media-text {
  min-height: 0 !important;
}

/* --- WPWriter addition --- */
/* Herojen lopullinen alapadding: mikrotekstin jälkeen noin 1 cm ilmaa */
@media (min-width: 782px) {
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-bottom: 4rem !important;
  }
}

/* --- WPWriter addition --- */

/* =============================================
   PROINNO — YHTENÄINEN HERO- JA SISÄLTÖRYTMI
   17.9.2026
   Tavalliset kuva-herot yhtenäisiksi.
   Etusivun videoheron mittoihin tai sivupohjien väreihin ei kosketa.
   ============================================= */

/* Tavallisen kuva-heron sisältö alkaa samalta korkeudelta. */
@media (min-width: 782px) {
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-top: 7rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 781px) {
  body:not(.page-id-31) .Hero .Hero__Content .py-15 {
    padding-top: 6.25rem !important;
    padding-bottom: 3rem !important;
  }
}

/* Kaikkien herojen kultainen pikkuotsikko: sama koko ja rytmi. */
body .Hero__Content h1::before,
body .Hero__Content .blog-archive-eyebrow {
  color: #DCC999 !important;
  display: block !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  line-height: 1.4 !important;
  margin: 0 0 1.5rem 0 !important;
  text-transform: uppercase !important;
}
body .Hero__Content .blog-archive-eyebrow {
  padding: 0 !important;
}

/* Teeman suuri hero-alamarginaali pois tavallisilta sivuilta. */
body:not(.page-id-31) .Hero.mb-15 {
  margin-bottom: 0 !important;
}

/* Premium-sivujen ensimmäinen sisältöosio alkaa yhtenäisesti.
   Hero ja ote säilyvät täysleveinä; vain ensimmäisen sisältöosion rytmi muuttuu. */
@media (min-width: 782px) {
  body:not(.page-id-31) .Hero + #main-content > div[class*="-sivu"] > [class*="-osio"]:first-of-type {
    padding-top: 72px !important;
  }
  body.page-id-59 .Referencelist {
    padding-top: 72px !important;
  }
}
@media (max-width: 781px) {
  body:not(.page-id-31) .Hero + #main-content > div[class*="-sivu"] > [class*="-osio"]:first-of-type {
    padding-top: 48px !important;
  }
  body.page-id-59 .Referencelist {
    padding-top: 48px !important;
  }
}

/* Blogit-koontisivun oma hero: sama rakenne ja mittajärjestelmä kuin muilla pääsivuilla. */
.blog #main-content > .container.pt-12.pb-0.text-center {
  display: none !important;
}
.blog .Header__Navbar {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: transparent;
  transition: background-color .2s ease-in-out;
}
.blog .Header__Navbar .logo img {
  filter: brightness(0) invert(1);
}
.blog .Header__Navbar ul.level1 > li > a,
.blog .Header__Navbar .SocialMedia a,
.blog .Header__Navbar button {
  color: #ffffff !important;
}
.blog .Header__Navbar ul.level1 > li > a:hover,
.blog .Header__Navbar ul.level1 > li > a:focus,
.blog .Header__Navbar .SocialMedia a:hover,
.blog .Header__Navbar .SocialMedia a:focus,
.blog .Header__Navbar button:hover,
.blog .Header__Navbar button:focus {
  color: #DCC999 !important;
}
@media (min-width: 1200px) {
  .blog .Header__Navbar:hover,
  .blog .Header__Navbar:focus-within {
    background-color: #000000 !important;
  }
}
.blog .blog-archive-hero {
  margin: 0 !important;
}
.blog .blog-archive-hero .Hero__Image img {
  object-fit: cover !important;
  object-position: center !important;
}
.blog .Bloglist {
  padding-top: 72px !important;
}
.blog .Bloglist > .container > .mb-10,
body.page-id-59 .Referencelist > .container > .mb-10 {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
@media (max-width: 781px) {
  .blog .Bloglist {
    padding-top: 48px !important;
  }
  .blog .Bloglist > .container > .mb-10,
  body.page-id-59 .Referencelist > .container > .mb-10 {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


/* --- WPWriter addition --- */

/* Blogit-koontisivun turvallinen palautus 17.9.2026.
   Sivupohja ei tue sisältöön lisättyä teemaheroa. */
.blog #main-content > .container.pt-12.pb-0.text-center {
  display: block !important;
}
.blog .Header__Navbar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  z-index: auto !important;
  background: #ffffff !important;
}
.blog .Header__Navbar .logo img {
  filter: none !important;
}
.blog .Header__Navbar ul.level1 > li > a,
.blog .Header__Navbar .SocialMedia a,
.blog .Header__Navbar button {
  color: #0B0B0B !important;
}
.blog .Bloglist {
  padding-top: 0 !important;
}


/* --- WPWriter addition --- */

/* Koontisivujen suodatus samaan linjaan korttiruudukon kanssa. */
.blog .Bloglist > .container > .mb-10,
body.page-id-59 .Referencelist > .container > .mb-10 {
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* --- WPWriter addition --- */

/* Blogit-heron palautus ja navigaation oikea päällekkäisyys. */
.blog #main-content > .container.pt-12.pb-0.text-center {
  display: none !important;
}
.blog .Header,
.blog #masthead {
  min-height: 0 !important;
  height: 0 !important;
}
.blog .Header__Navbar {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: transparent !important;
}
.blog .Header__Navbar .logo img {
  filter: brightness(0) invert(1) !important;
}
.blog .Header__Navbar ul.level1 > li > a,
.blog .Header__Navbar .SocialMedia a,
.blog .Header__Navbar button {
  color: #ffffff !important;
}
.blog .Header__Navbar ul.level1 > li > a:hover,
.blog .Header__Navbar ul.level1 > li > a:focus,
.blog .Header__Navbar .SocialMedia a:hover,
.blog .Header__Navbar .SocialMedia a:focus,
.blog .Header__Navbar button:hover,
.blog .Header__Navbar button:focus {
  color: #DCC999 !important;
}
@media (min-width: 1200px) {
  .blog .Header__Navbar:hover,
  .blog .Header__Navbar:focus-within {
    background-color: #000000 !important;
  }
}
.blog .Bloglist {
  padding-top: 72px !important;
}
@media (max-width: 781px) {
  .blog .Bloglist {
    padding-top: 48px !important;
  }
}


/* --- WPWriter addition --- */
/* Blogit-herokuvan näkyvyys 17.9.2026 */
body.blog .blog-archive-hero .Hero__Image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: brightness(1.45) contrast(1.18) !important;
}
body.blog .blog-archive-hero .Hero__Image__Filter {
  display: none !important;
}

/* --- WPWriter addition --- */
/* Blogit: näkyvä valokuvahero 17.9.2026 */
body.blog .blog-archive-hero .Hero__Image img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  object-position: center right !important;
  filter: brightness(.82) contrast(1.06) !important;
}
body.blog .blog-archive-hero .Hero__Image__Filter {
  display: block !important;
  background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.62) 46%, rgba(0,0,0,.24) 100%) !important;
  opacity: 1 !important;
}

/* --- WPWriter addition --- */


/* Palvelut-valikko: yhteinen asiakassitaatti pois */
.Menu__Primary__Megamenu > .container > .row > .col-4.py-12 {
  display: none !important;
}
.Menu__Primary__Megamenu > .container > .row > .col-8 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}


/* --- WPWriter addition --- */


/* Referenssien yhteinen premium-korjaus 19.9.2026 */
body.single-proinno_references .pro-case > :not(style){
  width:100% !important;
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
body.single-proinno_references .pro-case .facts{
  width:100% !important;
  max-width:900px !important;
  margin:30px auto 48px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  box-shadow:none !important;
}
body.single-proinno_references .pro-case .facts > *{
  border:1px solid #dfce9f !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.single-proinno_references .pro-case .steps .number,
body.single-proinno_references .pro-case .step .number,
body.single-proinno_references .pro-case .number{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 0 22px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  line-height:1 !important;
}
body.single-proinno_references .pro-case :is(.facts,.cards,.steps,.results,.funding,.evidence,.mid-cta,.requirement,.images,.buyer-grid,.quote) + p{
  margin-top:32px !important;
}
body.single-proinno_references .pro-case > .eyebrow{
  margin-top:64px !important;
  margin-bottom:18px !important;
}
body.single-proinno_references .pro-case > .eyebrow + h2{
  margin-top:0 !important;
}
@media(max-width:700px){
  body.single-proinno_references .pro-case .facts{margin-bottom:36px !important}
  body.single-proinno_references .pro-case :is(.facts,.cards,.steps,.results,.funding,.evidence,.mid-cta,.requirement,.images,.buyer-grid,.quote) + p{margin-top:24px !important}
  body.single-proinno_references .pro-case > .eyebrow{margin-top:44px !important}
}

/* --- WPWriter addition --- */


/* Referenssien toteutusnumero: poista numeron ympärille syntynyt sisäkkäinen kortti */
body.single-proinno_references .pro-case .card > span.step,
body.single-proinno_references .pro-case .steps .card > .step{
  display:block !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 0 22px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  outline:0 !important;
}
body.single-proinno_references .pro-case .card > span.step::before,
body.single-proinno_references .pro-case .card > span.step::after{
  content:none !important;
  display:none !important;
}

/* --- WPWriter addition --- */

/* Proinno references: Pinja 7105 + Jyväskylä 19509 — layout fix 2026-09-19 */
body.postid-7105.single-proinno_references .pro-case,
body.postid-19509.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.postid-7105.single-proinno_references .pro-case > *,
body.postid-19509.single-proinno_references .pro-case > * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.postid-7105.single-proinno_references .pro-case .facts,
body.postid-7105.single-proinno_references .pro-case .steps,
body.postid-7105.single-proinno_references .pro-case .results,
body.postid-7105.single-proinno_references .pro-case .images,
body.postid-7105.single-proinno_references .pro-case .quote,
body.postid-19509.single-proinno_references .pro-case .facts,
body.postid-19509.single-proinno_references .pro-case .steps,
body.postid-19509.single-proinno_references .pro-case .results,
body.postid-19509.single-proinno_references .pro-case .quote,
body.postid-19509.single-proinno_references .pro-case .voices,
body.postid-19509.single-proinno_references .pro-case .requirements,
body.postid-19509.single-proinno_references .pro-case .read-more,
body.postid-19509.single-proinno_references .pro-case .buyer-standard {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.postid-7105.single-proinno_references .pro-case .fact,
body.postid-7105.single-proinno_references .pro-case .step,
body.postid-7105.single-proinno_references .pro-case .result,
body.postid-19509.single-proinno_references .pro-case .fact,
body.postid-19509.single-proinno_references .pro-case .step,
body.postid-19509.single-proinno_references .pro-case .result,
body.postid-19509.single-proinno_references .pro-case .voice {
  min-width: 0 !important;
  overflow-wrap: anywhere;
}
body.postid-7105.single-proinno_references .pro-case > h2:first-of-type {
  color: #8a7a4a !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 2.75rem !important;
  margin-bottom: 1rem !important;
}
body.postid-19509.single-proinno_references .pro-case .eyebrow {
  display: block !important;
  max-width: 900px !important;
  color: #8a7a4a !important;
  margin-top: 3rem !important;
  margin-bottom: 1rem !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.postid-19509.single-proinno_references .pro-case .intro > .eyebrow {
  margin-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .eyebrow + h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .results,
body.postid-19509.single-proinno_references .pro-case .steps {
  gap: 1.25rem !important;
  margin-top: 1.75rem !important;
  margin-bottom: 3rem !important;
}
body.postid-19509.single-proinno_references .pro-case .voice,
body.postid-19509.single-proinno_references .pro-case .evidence,
body.postid-19509.single-proinno_references .pro-case .mid-cta,
body.postid-19509.single-proinno_references .pro-case .quote {
  margin-top: 2rem !important;
  margin-bottom: 3rem !important;
}
@media (max-width: 760px) {
  body.postid-7105.single-proinno_references .pro-case,
  body.postid-19509.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
  body.postid-7105.single-proinno_references .pro-case .facts,
  body.postid-7105.single-proinno_references .pro-case .steps,
  body.postid-7105.single-proinno_references .pro-case .results,
  body.postid-7105.single-proinno_references .pro-case .images,
  body.postid-19509.single-proinno_references .pro-case .facts,
  body.postid-19509.single-proinno_references .pro-case .steps,
  body.postid-19509.single-proinno_references .pro-case .results {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.postid-19509.single-proinno_references .pro-case .fact,
  body.postid-19509.single-proinno_references .pro-case .step,
  body.postid-19509.single-proinno_references .pro-case .result,
  body.postid-19509.single-proinno_references .pro-case .voice {
    padding: 1.35rem !important;
  }
}


/* --- WPWriter addition --- */

/* Jyväskylä 19509: Lähtötilanne pieneksi kultaiseksi väliotsikoksi */
body.postid-19509.single-proinno_references .pro-case > h2:first-of-type {
  color: #8a7a4a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 2.75rem !important;
  margin-bottom: 1rem !important;
}


/* --- WPWriter addition --- */

/* Jyväskylä 19509: Lähtötilanne pienikokoisena mutta suuraakkosilla */
body.postid-19509.single-proinno_references .pro-case > h2:first-of-type {
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
}


/* --- WPWriter addition --- */

/* Jyväskylä 19509: koko sivun yhtenäinen osio- ja elementtivälistys */
body.postid-19509.single-proinno_references .pro-case .intro {
  padding-bottom: 3rem !important;
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .intro .facts {
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case > h2 {
  margin-top: 4.5rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case > h2:first-of-type {
  margin-top: 3rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case > p {
  margin-bottom: 1.5rem !important;
}
body.postid-19509.single-proinno_references .pro-case > .eyebrow {
  margin-top: 4.5rem !important;
  margin-bottom: 1rem !important;
}
body.postid-19509.single-proinno_references .pro-case > .eyebrow + h2 {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case .steps,
body.postid-19509.single-proinno_references .pro-case .results {
  margin-top: 2rem !important;
  margin-bottom: 3rem !important;
  gap: 1.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case .step,
body.postid-19509.single-proinno_references .pro-case .result {
  padding: 1.75rem !important;
}
body.postid-19509.single-proinno_references .pro-case .mid-cta,
body.postid-19509.single-proinno_references .pro-case .evidence {
  margin-top: 3rem !important;
  margin-bottom: 4rem !important;
  padding: 1.75rem !important;
}
body.postid-19509.single-proinno_references .pro-case .quote {
  margin-top: 3rem !important;
  margin-bottom: 4.5rem !important;
}
body.postid-19509.single-proinno_references .pro-case .voices {
  margin-top: 2rem !important;
  margin-bottom: 4.5rem !important;
}
body.postid-19509.single-proinno_references .pro-case .voice {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard,
body.postid-19509.single-proinno_references .pro-case .read-more,
body.postid-19509.single-proinno_references .pro-case .requirements {
  margin-top: 4.5rem !important;
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard > .eyebrow,
body.postid-19509.single-proinno_references .pro-case .read-more > .eyebrow,
body.postid-19509.single-proinno_references .pro-case .requirements > .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard h2,
body.postid-19509.single-proinno_references .pro-case .read-more h2,
body.postid-19509.single-proinno_references .pro-case .requirements h2 {
  margin-top: 2.75rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard > .eyebrow + h2,
body.postid-19509.single-proinno_references .pro-case .requirements > .eyebrow + .buyer,
body.postid-19509.single-proinno_references .pro-case .read-more > .eyebrow + ul {
  margin-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .requirements .buyer {
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .cta {
  margin-top: 5rem !important;
  margin-bottom: 1rem !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
body.postid-19509.single-proinno_references .pro-case .cta .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
@media (max-width: 760px) {
  body.postid-19509.single-proinno_references .pro-case .intro {
    padding-bottom: 2.25rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case > h2,
  body.postid-19509.single-proinno_references .pro-case > .eyebrow,
  body.postid-19509.single-proinno_references .pro-case .buyer-standard,
  body.postid-19509.single-proinno_references .pro-case .read-more,
  body.postid-19509.single-proinno_references .pro-case .requirements {
    margin-top: 3.5rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case > h2:first-of-type {
    margin-top: 2.5rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case .steps,
  body.postid-19509.single-proinno_references .pro-case .results,
  body.postid-19509.single-proinno_references .pro-case .mid-cta,
  body.postid-19509.single-proinno_references .pro-case .evidence,
  body.postid-19509.single-proinno_references .pro-case .quote,
  body.postid-19509.single-proinno_references .pro-case .voices {
    margin-bottom: 3rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case .cta {
    margin-top: 4rem !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}


/* --- WPWriter addition --- */

/* Jyväskylä 19509: jakoviivat osioiden alkuun, ei väliotsikon ja pääotsikon väliin */
body.postid-19509.single-proinno_references .pro-case h2 {
  border-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case > h2:first-of-type {
  border-top: 1px solid rgba(138,122,74,.35) !important;
  padding-top: 2.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case > .eyebrow {
  border-top: 1px solid rgba(138,122,74,.35) !important;
  padding-top: 2.25rem !important;
  width: 100% !important;
}
body.postid-19509.single-proinno_references .pro-case > .eyebrow + h2 {
  border-top: 0 !important;
  padding-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard,
body.postid-19509.single-proinno_references .pro-case .read-more,
body.postid-19509.single-proinno_references .pro-case .requirements {
  border-top: 1px solid rgba(138,122,74,.35) !important;
  padding-top: 2.25rem !important;
}
body.postid-19509.single-proinno_references .pro-case .buyer-standard > .eyebrow,
body.postid-19509.single-proinno_references .pro-case .read-more > .eyebrow,
body.postid-19509.single-proinno_references .pro-case .requirements > .eyebrow {
  border-top: 0 !important;
  padding-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .intro {
  border-bottom: 1px solid rgba(138,122,74,.35) !important;
}
@media (max-width:760px) {
  body.postid-19509.single-proinno_references .pro-case > h2:first-of-type,
  body.postid-19509.single-proinno_references .pro-case > .eyebrow,
  body.postid-19509.single-proinno_references .pro-case .buyer-standard,
  body.postid-19509.single-proinno_references .pro-case .read-more,
  body.postid-19509.single-proinno_references .pro-case .requirements {
    padding-top: 1.75rem !important;
  }
}


/* --- WPWriter addition --- */

/* Jyväskylä 19509: loppuosan välit ja ylimääräinen jakoviiva */
body.postid-19509.single-proinno_references .pro-case .read-more {
  margin-top: 3.5rem !important;
  margin-bottom: 0 !important;
  padding-top: 2rem !important;
  padding-bottom: 2.25rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
  border-bottom: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-19509.single-proinno_references .pro-case .read-more::before,
body.postid-19509.single-proinno_references .pro-case .read-more::after {
  content: none !important;
  display: none !important;
}
body.postid-19509.single-proinno_references .pro-case .read-more ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .requirements {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 2.25rem !important;
  border-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .requirements::before,
body.postid-19509.single-proinno_references .pro-case .requirements::after {
  content: none !important;
  display: none !important;
}
body.postid-19509.single-proinno_references .pro-case .requirements > .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .requirements .buyer {
  margin-top: 0 !important;
}
body.postid-19509.single-proinno_references .pro-case .cta {
  margin-top: 3.5rem !important;
}
@media (max-width:760px) {
  body.postid-19509.single-proinno_references .pro-case .read-more {
    margin-top: 3rem !important;
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case .requirements {
    padding-top: 1.75rem !important;
  }
  body.postid-19509.single-proinno_references .pro-case .cta {
    margin-top: 3rem !important;
  }
}


/* --- WPWriter addition --- */

/* Pinja 7105: yhtenäinen premium-rytmi, 900 px linja ja jakoviivat */
body.postid-7105.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
}
body.postid-7105.single-proinno_references .pro-case > h2 {
  border-top: 1px solid rgba(138,122,74,.35) !important;
  padding-top: 2.25rem !important;
  margin-top: 4.5rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-7105.single-proinno_references .pro-case > h2:first-of-type {
  color: #8a7a4a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
  text-transform: none !important;
  margin-top: 3rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-7105.single-proinno_references .pro-case > p {
  margin-bottom: 1.5rem !important;
}
body.postid-7105.single-proinno_references .pro-case .facts {
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case .steps,
body.postid-7105.single-proinno_references .pro-case .results,
body.postid-7105.single-proinno_references .pro-case .images {
  width: 100% !important;
  max-width: 900px !important;
  margin-top: 2rem !important;
  margin-bottom: 3rem !important;
  gap: 1.25rem !important;
}
body.postid-7105.single-proinno_references .pro-case .step,
body.postid-7105.single-proinno_references .pro-case .result {
  min-width: 0 !important;
  padding: 1.75rem !important;
}
body.postid-7105.single-proinno_references .pro-case .evidence {
  margin-top: 3rem !important;
  margin-bottom: 4rem !important;
  padding: 1.75rem !important;
}
body.postid-7105.single-proinno_references .pro-case .quote {
  width: 100% !important;
  max-width: 900px !important;
  margin-top: 3rem !important;
  margin-bottom: 4.5rem !important;
}
body.postid-7105.single-proinno_references .pro-case > section,
body.postid-7105.single-proinno_references .pro-case .related,
body.postid-7105.single-proinno_references .pro-case .service-path {
  width: 100% !important;
  max-width: 900px !important;
  box-sizing: border-box !important;
}
body.postid-7105.single-proinno_references .pro-case > section {
  margin-top: 4.5rem !important;
  padding-top: 2.25rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-7105.single-proinno_references .pro-case > section > .eyebrow,
body.postid-7105.single-proinno_references .pro-case .related > .eyebrow,
body.postid-7105.single-proinno_references .pro-case .service-path > .eyebrow {
  display: block !important;
  color: #8a7a4a !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case > section h2 {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: 2.75rem !important;
  margin-bottom: 1.25rem !important;
}
body.postid-7105.single-proinno_references .pro-case > section > .eyebrow + h2 {
  margin-top: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case .related {
  margin-top: 3.5rem !important;
  padding-top: 2rem !important;
  padding-bottom: 2.25rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
  border-bottom: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-7105.single-proinno_references .pro-case .related ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case .service-path {
  margin-top: 0 !important;
  padding-top: 2.25rem !important;
  border-top: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case .service-path p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case .cta {
  margin-top: 3.5rem !important;
  margin-bottom: 1rem !important;
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
body.postid-7105.single-proinno_references .pro-case .cta .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
@media (max-width:760px) {
  body.postid-7105.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
  body.postid-7105.single-proinno_references .pro-case > h2,
  body.postid-7105.single-proinno_references .pro-case > section {
    margin-top: 3.5rem !important;
    padding-top: 1.75rem !important;
  }
  body.postid-7105.single-proinno_references .pro-case > h2:first-of-type {
    margin-top: 2.5rem !important;
  }
  body.postid-7105.single-proinno_references .pro-case .steps,
  body.postid-7105.single-proinno_references .pro-case .results,
  body.postid-7105.single-proinno_references .pro-case .images {
    grid-template-columns: minmax(0,1fr) !important;
    margin-bottom: 3rem !important;
  }
  body.postid-7105.single-proinno_references .pro-case .related {
    margin-top: 3rem !important;
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-7105.single-proinno_references .pro-case .service-path {
    padding-top: 1.75rem !important;
  }
  body.postid-7105.single-proinno_references .pro-case .cta {
    margin-top: 3rem !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}


/* --- WPWriter addition --- */

/* Salpamaa 7131 + 7533: 900 px premium-layout ja yhtenäinen rytmi */
body.postid-7131.single-proinno_references .pro-case,
body.postid-7533.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
body.postid-7131.single-proinno_references .pro-case > *,
body.postid-7533.single-proinno_references .pro-case > * {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.postid-7131.single-proinno_references .pro-case section,
body.postid-7533.single-proinno_references .pro-case section {
  padding: 4rem 0 !important;
  border-bottom: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-7131.single-proinno_references .pro-case section:first-of-type,
body.postid-7533.single-proinno_references .pro-case section:first-of-type {
  padding-top: 0 !important;
}
body.postid-7131.single-proinno_references .pro-case section:last-of-type,
body.postid-7533.single-proinno_references .pro-case section:last-of-type {
  border-bottom: 0 !important;
}
body.postid-7131.single-proinno_references .pro-case .eyebrow,
body.postid-7533.single-proinno_references .pro-case .eyebrow {
  margin: 0 0 1rem !important;
}
body.postid-7131.single-proinno_references .pro-case h2,
body.postid-7533.single-proinno_references .pro-case h2 {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}
body.postid-7131.single-proinno_references .pro-case h3,
body.postid-7533.single-proinno_references .pro-case h3 {
  margin-bottom: .75rem !important;
}
body.postid-7131.single-proinno_references .pro-case .facts,
body.postid-7131.single-proinno_references .pro-case .cards,
body.postid-7533.single-proinno_references .pro-case .facts,
body.postid-7533.single-proinno_references .pro-case .cards {
  width: 100% !important;
  max-width: 900px !important;
  gap: 1.25rem !important;
  margin-top: 2rem !important;
  margin-bottom: 0 !important;
}
body.postid-7131.single-proinno_references .pro-case .fact,
body.postid-7131.single-proinno_references .pro-case .card,
body.postid-7533.single-proinno_references .pro-case .fact,
body.postid-7533.single-proinno_references .pro-case .card {
  min-width: 0 !important;
  padding: 1.75rem !important;
  overflow-wrap: anywhere;
}
body.postid-7131.single-proinno_references .pro-case .series,
body.postid-7131.single-proinno_references .pro-case .service,
body.postid-7533.single-proinno_references .pro-case .series,
body.postid-7533.single-proinno_references .pro-case .service {
  width: 100% !important;
  max-width: 900px !important;
  padding: 2rem !important;
  box-sizing: border-box !important;
}
body.postid-7131.single-proinno_references .pro-case .quote-photo,
body.postid-7533.single-proinno_references .pro-case .quote-photo {
  width: 100% !important;
  max-width: 900px !important;
  margin: 2rem auto 0 !important;
}
body.postid-7131.single-proinno_references .pro-case section:nth-last-of-type(3),
body.postid-7533.single-proinno_references .pro-case section:nth-last-of-type(3) {
  padding-top: 3rem !important;
  padding-bottom: 2.25rem !important;
}
body.postid-7131.single-proinno_references .pro-case section:nth-last-of-type(2),
body.postid-7533.single-proinno_references .pro-case section:nth-last-of-type(2) {
  padding-top: 2.25rem !important;
  padding-bottom: 3.5rem !important;
}
body.postid-7131.single-proinno_references .pro-case .cta,
body.postid-7533.single-proinno_references .pro-case .cta {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
  border-bottom: 0 !important;
}
@media (max-width:760px) {
  body.postid-7131.single-proinno_references .pro-case,
  body.postid-7533.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
  body.postid-7131.single-proinno_references .pro-case section,
  body.postid-7533.single-proinno_references .pro-case section {
    padding: 3rem 0 !important;
  }
  body.postid-7131.single-proinno_references .pro-case .facts,
  body.postid-7131.single-proinno_references .pro-case .cards,
  body.postid-7131.single-proinno_references .pro-case .quote-photo,
  body.postid-7533.single-proinno_references .pro-case .facts,
  body.postid-7533.single-proinno_references .pro-case .cards,
  body.postid-7533.single-proinno_references .pro-case .quote-photo {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.postid-7131.single-proinno_references .pro-case .fact,
  body.postid-7131.single-proinno_references .pro-case .card,
  body.postid-7131.single-proinno_references .pro-case .series,
  body.postid-7131.single-proinno_references .pro-case .service,
  body.postid-7533.single-proinno_references .pro-case .fact,
  body.postid-7533.single-proinno_references .pro-case .card,
  body.postid-7533.single-proinno_references .pro-case .series,
  body.postid-7533.single-proinno_references .pro-case .service {
    padding: 1.5rem !important;
  }
}


/* --- WPWriter addition --- */

/* Awita 8430: loppuosan yhtenäiset välit */
body.postid-8430.single-proinno_references .pro-case .buyer-standard {
  padding-bottom: 3rem !important;
}
body.postid-8430.single-proinno_references .pro-case .read-more {
  padding-top: 3rem !important;
  padding-bottom: 2.25rem !important;
}
body.postid-8430.single-proinno_references .pro-case .read-more .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}
body.postid-8430.single-proinno_references .pro-case .read-more ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-8430.single-proinno_references .pro-case .requirements {
  padding-top: 2.25rem !important;
}
body.postid-8430.single-proinno_references .pro-case .requirements .eyebrow {
  margin-top: 0 !important;
  margin-bottom: 1.25rem !important;
}
body.postid-8430.single-proinno_references .pro-case .requirements .service {
  margin-top: 0 !important;
}
@media (max-width:760px) {
  body.postid-8430.single-proinno_references .pro-case .buyer-standard {
    padding-bottom: 2.25rem !important;
  }
  body.postid-8430.single-proinno_references .pro-case .read-more {
    padding-top: 2.25rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-8430.single-proinno_references .pro-case .requirements {
    padding-top: 1.75rem !important;
  }
}


/* --- WPWriter addition --- */

/* Ortofix 7608: loppuosan yhtenäinen osiointi */
body.postid-7608.single-proinno_references .pro-case .buyer-standard {
  padding-bottom: 3rem !important;
}
body.postid-7608.single-proinno_references .pro-case .read-more {
  padding-top: 3rem !important;
  padding-bottom: 2.25rem !important;
}
body.postid-7608.single-proinno_references .pro-case .read-more .eyebrow {
  margin-bottom: 1rem !important;
}
body.postid-7608.single-proinno_references .pro-case .read-more ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-7608.single-proinno_references .pro-case .requirements {
  padding-top: 2.25rem !important;
  padding-bottom: 3.5rem !important;
}
body.postid-7608.single-proinno_references .pro-case .requirements .eyebrow {
  margin-bottom: 1.25rem !important;
}
body.postid-7608.single-proinno_references .pro-case .requirements .service {
  margin-top: 0 !important;
}
body.postid-7608.single-proinno_references .pro-case .cta {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
@media (max-width:700px) {
  body.postid-7608.single-proinno_references .pro-case .buyer-standard {
    padding-bottom: 2.25rem !important;
  }
  body.postid-7608.single-proinno_references .pro-case .read-more {
    padding-top: 2.25rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-7608.single-proinno_references .pro-case .requirements {
    padding-top: 1.75rem !important;
    padding-bottom: 3rem !important;
  }
  body.postid-7608.single-proinno_references .pro-case .cta {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}


/* --- WPWriter addition --- */

/* Pinja 7105: puuttuvat pienet kultaiset osio-otsikot */
body.postid-7105.single-proinno_references .pro-case > h2 {
  color: #14120f !important;
  font-size: clamp(1.55rem,3vw,2.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
body.postid-7105.single-proinno_references .pro-case > h2::before {
  display: block !important;
  color: #8a7a4a !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin: 0 0 1rem !important;
}
body.postid-7105.single-proinno_references .pro-case > h2:first-of-type {
  font-size: 0 !important;
}
body.postid-7105.single-proinno_references .pro-case > h2:first-of-type::before {
  content: "LÄHTÖTILANNE";
}
body.postid-7105.single-proinno_references .pro-case > h2:first-of-type::after {
  content: "Vahva asiantuntijuus oli vaikea muuttaa tarjoukseksi";
  display: block !important;
  color: #14120f !important;
  font-size: clamp(1.55rem,3vw,2.15rem) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
body.postid-7105.single-proinno_references .pro-case > h2:nth-of-type(2)::before {
  content: "TOTEUTUS";
}
body.postid-7105.single-proinno_references .pro-case > h2:nth-of-type(3)::before {
  content: "TULOS";
}


/* --- WPWriter addition --- */

/* ApuLappi 7061 – footer section rhythm 2026-09-19 */
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(7) {
  padding-bottom: 3rem !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(8) {
  padding-top: 3rem !important;
  padding-bottom: 2.25rem !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(8) .eyebrow {
  margin-bottom: 1rem !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(8) ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(9) {
  padding-top: 2.25rem !important;
  padding-bottom: 3.5rem !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(9) .eyebrow {
  margin-bottom: 1.25rem !important;
}
body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(9) .service {
  margin-top: 0 !important;
}
body.postid-7061.single-proinno_references .pro-case > section.cta {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
@media (max-width: 700px) {
  body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(7) {
    padding-bottom: 2.25rem !important;
  }
  body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(8) {
    padding-top: 2.25rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-7061.single-proinno_references .pro-case > section:nth-of-type(9) {
    padding-top: 1.75rem !important;
    padding-bottom: 2.75rem !important;
  }
  body.postid-7061.single-proinno_references .pro-case > section.cta {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* --- WPWriter addition --- */

/* Vastuuremontti 827 – consistent footer spacing 2026-09-19 */
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(7) {
  padding-bottom: 3rem !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(8) {
  padding-top: 3rem !important;
  padding-bottom: 2.25rem !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(8) .eyebrow {
  margin-bottom: 1rem !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(8) ul {
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(9) {
  padding-top: 2.25rem !important;
  padding-bottom: 3.5rem !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(9) .eyebrow {
  margin-bottom: 1.25rem !important;
}
body.postid-827.single-proinno_references .pro-case > section:nth-of-type(9) .service {
  margin-top: 0 !important;
}
body.postid-827.single-proinno_references .pro-case > section.cta {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}
@media (max-width: 700px) {
  body.postid-827.single-proinno_references .pro-case > section:nth-of-type(7) {
    padding-bottom: 2.25rem !important;
  }
  body.postid-827.single-proinno_references .pro-case > section:nth-of-type(8) {
    padding-top: 2.25rem !important;
    padding-bottom: 1.75rem !important;
  }
  body.postid-827.single-proinno_references .pro-case > section:nth-of-type(9) {
    padding-top: 1.75rem !important;
    padding-bottom: 2.75rem !important;
  }
  body.postid-827.single-proinno_references .pro-case > section.cta {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}

/* --- WPWriter addition --- */

/* Pirkanmaan TE-toimisto / IMAGO 4241 – 900px layout and heading hierarchy 2026-09-19 */
body.postid-4241.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-wrap: anywhere !important;
}
body.postid-4241.single-proinno_references .pro-case > h2:first-of-type {
  font-size: 0 !important;
  line-height: 1 !important;
}
body.postid-4241.single-proinno_references .pro-case > h2:first-of-type::before {
  content: "LÄHTÖTILANNE";
  display: block;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}
body.postid-4241.single-proinno_references .pro-case > h2:first-of-type::after {
  content: "Työnantajakuvan kehittämiseen tarvittiin käyttökelpoinen keskustelutapa";
  display: block;
  color: #14120f;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 700;
  line-height: 1.25;
}
body.postid-4241.single-proinno_references .pro-case .facts,
body.postid-4241.single-proinno_references .pro-case .steps,
body.postid-4241.single-proinno_references .pro-case .results,
body.postid-4241.single-proinno_references .pro-case .voices,
body.postid-4241.single-proinno_references .pro-case .quote {
  max-width: 100% !important;
  min-width: 0 !important;
}
body.postid-4241.single-proinno_references .pro-case .fact,
body.postid-4241.single-proinno_references .pro-case .step,
body.postid-4241.single-proinno_references .pro-case .result,
body.postid-4241.single-proinno_references .pro-case .voice,
body.postid-4241.single-proinno_references .pro-case .quote > * {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
body.postid-4241.single-proinno_references .pro-case img,
body.postid-4241.single-proinno_references .pro-case figure,
body.postid-4241.single-proinno_references .pro-case section,
body.postid-4241.single-proinno_references .pro-case .related,
body.postid-4241.single-proinno_references .pro-case .service-path,
body.postid-4241.single-proinno_references .pro-case .cta {
  max-width: 100% !important;
}
@media (max-width: 700px) {
  body.postid-4241.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
}

/* --- WPWriter addition --- */

/* Pirkanmaan TE / IMAGO 4241 – full section hierarchy and card cleanup 2026-09-19 */

/* Gold eyebrow labels for the main sections */
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(2)::before {
  content: "TOTEUTUS";
}
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(3)::before {
  content: "TULOS";
}
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(4)::before {
  content: "OSALLISTUJIEN PALAUTE";
}
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(2)::before,
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(3)::before,
body.postid-4241.single-proinno_references .pro-case > h2:nth-of-type(4)::before,
body.postid-4241.single-proinno_references .pro-case .evidence > h3::before {
  display: block;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}
body.postid-4241.single-proinno_references .pro-case .evidence > h3::before {
  content: "TAVOITE JA NÄYTTÖ";
}

/* Consistent section rhythm */
body.postid-4241.single-proinno_references .pro-case > h2 {
  margin-top: 3.5rem !important;
  padding-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}
body.postid-4241.single-proinno_references .pro-case > h2:first-of-type {
  margin-top: 3rem !important;
}
body.postid-4241.single-proinno_references .pro-case > h2 + p {
  margin-top: 0 !important;
}
body.postid-4241.single-proinno_references .pro-case .steps,
body.postid-4241.single-proinno_references .pro-case .results {
  margin-top: 1.75rem !important;
  margin-bottom: 2.25rem !important;
}
body.postid-4241.single-proinno_references .pro-case .evidence,
body.postid-4241.single-proinno_references .pro-case .quote,
body.postid-4241.single-proinno_references .pro-case .voices {
  margin-top: 2.25rem !important;
  margin-bottom: 3.5rem !important;
}

/* Clean, equal feedback cards */
body.postid-4241.single-proinno_references .pro-case .voices {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
body.postid-4241.single-proinno_references .pro-case .voice,
body.postid-4241.single-proinno_references .pro-case .voice:last-child {
  grid-column: auto !important;
  min-height: 0 !important;
  padding: 26px !important;
  border: 1px solid #eadfca !important;
  border-radius: 20px !important;
  background: #faf8f4 !important;
  box-shadow: none !important;
}
body.postid-4241.single-proinno_references .pro-case .voice::before {
  display: none !important;
}
body.postid-4241.single-proinno_references .pro-case .voice blockquote {
  margin: 0 0 1.25rem !important;
  color: #24211d !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
}
body.postid-4241.single-proinno_references .pro-case .voice .role {
  margin: auto 0 0 !important;
  color: #7d6938 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 700 !important;
}

/* Footer blocks: one divider and tighter, even spacing */
body.postid-4241.single-proinno_references .pro-case > section,
body.postid-4241.single-proinno_references .pro-case > .related,
body.postid-4241.single-proinno_references .pro-case > .service-path {
  margin: 0 !important;
  padding: 3rem 0 !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
  border-bottom: 0 !important;
}
body.postid-4241.single-proinno_references .pro-case > .related {
  padding-bottom: 2.25rem !important;
}
body.postid-4241.single-proinno_references .pro-case > .service-path {
  padding-top: 2.25rem !important;
}
body.postid-4241.single-proinno_references .pro-case .eyebrow {
  display: block;
  margin: 0 0 1rem !important;
  color: #7d6938 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body.postid-4241.single-proinno_references .pro-case > .cta {
  margin: 3rem 0 1rem !important;
  padding: 2.5rem !important;
  border-top: 0 !important;
}

@media (max-width: 700px) {
  body.postid-4241.single-proinno_references .pro-case .voices {
    grid-template-columns: 1fr !important;
  }
  body.postid-4241.single-proinno_references .pro-case > h2 {
    margin-top: 2.75rem !important;
    padding-top: 2.25rem !important;
  }
  body.postid-4241.single-proinno_references .pro-case > section,
  body.postid-4241.single-proinno_references .pro-case > .related,
  body.postid-4241.single-proinno_references .pro-case > .service-path {
    padding: 2.25rem 0 !important;
  }
}

/* --- WPWriter addition --- */

/* IMAGO 4241 – service card inner spacing correction */
body.postid-4241.single-proinno_references .pro-case > .service-path {
  padding: 34px !important;
  box-sizing: border-box !important;
}
body.postid-4241.single-proinno_references .pro-case > .service-path .eyebrow {
  margin-bottom: 1.25rem !important;
}
body.postid-4241.single-proinno_references .pro-case > .service-path p {
  margin: 0 !important;
  max-width: 100% !important;
  line-height: 1.65 !important;
  overflow-wrap: normal !important;
}
@media (max-width: 700px) {
  body.postid-4241.single-proinno_references .pro-case > .service-path {
    padding: 26px !important;
  }
}

/* --- WPWriter addition --- */

/* IMAGO 4241 – missing case-type eyebrow at page start */
body.postid-4241.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · JULKINEN ORGANISAATIO";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* --- WPWriter addition --- */

/* Pinja 7105 – missing case-type eyebrow at page start */
body.postid-7105.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · PK-YRITYS";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* --- WPWriter addition --- */

/* Koillis-Satakunnan Sähkö 3657 – standardized reference layout 2026-09-19 */
body.postid-3657.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-wrap: anywhere !important;
}
body.postid-3657.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · JULKINEN ORGANISAATIO";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
/* Separate the first heading into eyebrow and title */
body.postid-3657.single-proinno_references .pro-case > h2:first-of-type {
  font-size: 0 !important;
  line-height: 1 !important;
}
body.postid-3657.single-proinno_references .pro-case > h2:first-of-type::before {
  content: "LÄHTÖTILANNE";
  display: block;
  margin: 0 0 1rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.postid-3657.single-proinno_references .pro-case > h2:first-of-type::after {
  content: "Oman työn yhteys kokonaisuuteen piti tehdä näkyväksi";
  display: block;
  color: #14120f;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 700;
  line-height: 1.25;
}
/* Missing standard section eyebrows */
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(2)::before { content: "TOTEUTUS"; }
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(3)::before { content: "TULOS"; }
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(2)::before,
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(3)::before,
body.postid-3657.single-proinno_references .pro-case .evidence > h3::before,
body.postid-3657.single-proinno_references .pro-case .quote::before {
  display: block;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(2)::before,
body.postid-3657.single-proinno_references .pro-case > h2:nth-of-type(3)::before,
body.postid-3657.single-proinno_references .pro-case .evidence > h3::before {
  margin: 0 0 1rem;
}
body.postid-3657.single-proinno_references .pro-case .evidence > h3::before {
  content: "TAVOITE JA NÄYTTÖ";
}
body.postid-3657.single-proinno_references .pro-case .quote {
  position: relative !important;
  margin-top: 5.5rem !important;
  overflow: visible !important;
}
body.postid-3657.single-proinno_references .pro-case .quote::before {
  content: "ASIAKKAAN SANAT";
  position: absolute;
  left: 0;
  top: -3rem;
}
/* 900px containment */
body.postid-3657.single-proinno_references .pro-case .facts,
body.postid-3657.single-proinno_references .pro-case .steps,
body.postid-3657.single-proinno_references .pro-case .images,
body.postid-3657.single-proinno_references .pro-case .results,
body.postid-3657.single-proinno_references .pro-case .quote,
body.postid-3657.single-proinno_references .pro-case section,
body.postid-3657.single-proinno_references .pro-case .related,
body.postid-3657.single-proinno_references .pro-case > .buyer,
body.postid-3657.single-proinno_references .pro-case .cta {
  max-width: 100% !important;
  min-width: 0 !important;
}
body.postid-3657.single-proinno_references .pro-case .fact,
body.postid-3657.single-proinno_references .pro-case .step,
body.postid-3657.single-proinno_references .pro-case .result,
body.postid-3657.single-proinno_references .pro-case figure {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
body.postid-3657.single-proinno_references .pro-case img {
  max-width: 100% !important;
}
/* Consistent vertical rhythm */
body.postid-3657.single-proinno_references .pro-case > h2 {
  margin-top: 3.5rem !important;
  padding-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}
body.postid-3657.single-proinno_references .pro-case .steps,
body.postid-3657.single-proinno_references .pro-case .images,
body.postid-3657.single-proinno_references .pro-case .results,
body.postid-3657.single-proinno_references .pro-case .evidence {
  margin-top: 2rem !important;
  margin-bottom: 3.5rem !important;
}
/* Buyer section without box */
body.postid-3657.single-proinno_references .pro-case > section {
  margin: 0 !important;
  padding: 3rem 0 !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
  border-bottom: 0 !important;
}
body.postid-3657.single-proinno_references .pro-case > section .buyer {
  margin: 1.25rem 0 2.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.postid-3657.single-proinno_references .pro-case > section .buyer ul {
  margin: 0 !important;
}
/* Standardized read-more section */
body.postid-3657.single-proinno_references .pro-case > .related {
  margin: 0 !important;
  padding: 3rem 0 2.25rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-3657.single-proinno_references .pro-case .eyebrow,
body.postid-3657.single-proinno_references .pro-case > .buyer > h2 {
  display: block !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 0 !important;
  color: #7d6938 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
/* Standard service card */
body.postid-3657.single-proinno_references .pro-case > .buyer {
  margin: 0 !important;
  padding: 34px !important;
  border: 1px solid #eadfca !important;
  border-radius: 24px !important;
  background: #faf8f4 !important;
  box-sizing: border-box !important;
}
body.postid-3657.single-proinno_references .pro-case > .buyer p {
  margin: 0 !important;
  line-height: 1.65 !important;
}
body.postid-3657.single-proinno_references .pro-case > .cta {
  margin-top: 3rem !important;
}
@media (max-width: 700px) {
  body.postid-3657.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
  body.postid-3657.single-proinno_references .pro-case > h2 {
    margin-top: 2.75rem !important;
    padding-top: 2.25rem !important;
  }
  body.postid-3657.single-proinno_references .pro-case > section,
  body.postid-3657.single-proinno_references .pro-case > .related {
    padding-top: 2.25rem !important;
    padding-bottom: 2rem !important;
  }
  body.postid-3657.single-proinno_references .pro-case > .buyer {
    padding: 26px !important;
  }
}

/* --- WPWriter addition --- */

/* Koillis-Satakunnan Sähkö 3657 – remove duplicated visual starting point */
body.postid-3657.single-proinno_references .pro-case > .lead {
  font-size: 0 !important;
  line-height: 1 !important;
}
body.postid-3657.single-proinno_references .pro-case > .lead::after {
  content: "Henkilöstökysely, kaksi valmennuspäivää ja työpajat kokosivat henkilöstön havainnot työn sujuvuudesta, vastuista ja yhteistyöstä käytännön toimenpidesuunnitelmaksi.";
  display: block;
  color: #171512;
  font-size: clamp(1.22rem, 2vw, 1.45rem);
  line-height: 1.6;
}

/* --- WPWriter addition --- */

/* Koillis-Satakunnan Sähkö 3657 – standard read-more list */
body.postid-3657.single-proinno_references .pro-case > .related {
  background: transparent !important;
}
body.postid-3657.single-proinno_references .pro-case > .related p {
  position: relative !important;
  margin: 0 0 1rem !important;
  padding-left: 1.35rem !important;
}
body.postid-3657.single-proinno_references .pro-case > .related p::before {
  content: "•" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: #7d6938 !important;
  font-size: .9em !important;
  line-height: 1.7 !important;
}
body.postid-3657.single-proinno_references .pro-case > .related p:last-child {
  margin-bottom: 0 !important;
}

/* --- WPWriter addition --- */

/* All reference pages – LUE MYÖS is never a filled card */
body.single-proinno_references .pro-case .related,
body.single-proinno_references .pro-case .read-more,
body.single-proinno_references .pro-case section.related,
body.single-proinno_references .pro-case section.read-more {
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
body.single-proinno_references .pro-case > .related,
body.single-proinno_references .pro-case > .read-more,
body.single-proinno_references .pro-case > section.related,
body.single-proinno_references .pro-case > section.read-more {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single-proinno_references .pro-case .related ul,
body.single-proinno_references .pro-case .read-more ul {
  background: transparent !important;
}

/* --- WPWriter addition --- */

/* Tuccabaja 8544 – standardized reference layout 2026-09-19 */
body.postid-8544.single-proinno_references .pro-case {
  display: flex !important;
  flex-direction: column !important;
  width: min(900px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow-wrap: anywhere !important;
}
body.postid-8544.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · PK-YRITYS";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
/* First section heading */
body.postid-8544.single-proinno_references .pro-case > h2:first-of-type {
  font-size: 0 !important;
  line-height: 1 !important;
}
body.postid-8544.single-proinno_references .pro-case > h2:first-of-type::before {
  content: "LÄHTÖTILANNE";
  display: block;
  margin: 0 0 1rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.postid-8544.single-proinno_references .pro-case > h2:first-of-type::after {
  content: "Kasvu sitoi johdon operatiiviseen työhön";
  display: block;
  color: #14120f;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 700;
  line-height: 1.25;
}
/* Standard gold section labels */
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(2)::before { content: "TOTEUTUS"; }
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(3)::before { content: "TULOS"; }
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(4)::before { content: "PYSYVÄ MUUTOS"; }
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(2)::before,
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(3)::before,
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(4)::before,
body.postid-8544.single-proinno_references .pro-case .evidence > h3::before,
body.postid-8544.single-proinno_references .pro-case .quote::before {
  display: block;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(2)::before,
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(3)::before,
body.postid-8544.single-proinno_references .pro-case > h2:nth-of-type(4)::before,
body.postid-8544.single-proinno_references .pro-case .evidence > h3::before {
  margin: 0 0 1rem;
}
body.postid-8544.single-proinno_references .pro-case .evidence > h3::before {
  content: "TAVOITE JA NÄYTTÖ";
}
body.postid-8544.single-proinno_references .pro-case .quote {
  position: relative !important;
  margin-top: 5.5rem !important;
  overflow: visible !important;
}
body.postid-8544.single-proinno_references .pro-case .quote::before {
  content: "ASIAKKAAN SANAT";
  position: absolute;
  left: 0;
  top: -3rem;
}
/* Keep every component inside 900px */
body.postid-8544.single-proinno_references .pro-case > *,
body.postid-8544.single-proinno_references .pro-case .facts,
body.postid-8544.single-proinno_references .pro-case .steps,
body.postid-8544.single-proinno_references .pro-case .results,
body.postid-8544.single-proinno_references .pro-case .buyer-grid,
body.postid-8544.single-proinno_references .pro-case .quote {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.postid-8544.single-proinno_references .pro-case .fact,
body.postid-8544.single-proinno_references .pro-case .step,
body.postid-8544.single-proinno_references .pro-case .result,
body.postid-8544.single-proinno_references .pro-case .buyer,
body.postid-8544.single-proinno_references .pro-case .not-for,
body.postid-8544.single-proinno_references .pro-case .requirement {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
/* Consistent rhythm */
body.postid-8544.single-proinno_references .pro-case > h2 {
  margin-top: 3.5rem !important;
  padding-top: 3rem !important;
  margin-bottom: 1.5rem !important;
}
body.postid-8544.single-proinno_references .pro-case .steps,
body.postid-8544.single-proinno_references .pro-case .results,
body.postid-8544.single-proinno_references .pro-case .evidence {
  margin-top: 2rem !important;
  margin-bottom: 3.5rem !important;
}
/* Correct footer order: Lue myös, then requirements, then CTA */
body.postid-8544.single-proinno_references .pro-case > p.eyebrow:has(+ .related) { order: 1 !important; }
body.postid-8544.single-proinno_references .pro-case > .related { order: 2 !important; }
body.postid-8544.single-proinno_references .pro-case > p.eyebrow:has(+ .requirement) { order: 3 !important; }
body.postid-8544.single-proinno_references .pro-case > .requirement { order: 4 !important; }
body.postid-8544.single-proinno_references .pro-case > .cta { order: 5 !important; }

/* Standard footer styling */
body.postid-8544.single-proinno_references .pro-case > p.eyebrow:has(+ .related) {
  margin: 0 !important;
  padding: 3rem 0 1rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-8544.single-proinno_references .pro-case > .related {
  margin: 0 !important;
  padding: 0 0 2.75rem !important;
  border-bottom: 0 !important;
}
body.postid-8544.single-proinno_references .pro-case > p.eyebrow:has(+ .requirement) {
  margin: 0 !important;
  padding: 2.25rem 0 1rem !important;
  border-top: 1px solid rgba(138,122,74,.35) !important;
}
body.postid-8544.single-proinno_references .pro-case > .requirement {
  margin: 0 0 3rem !important;
  padding: 34px !important;
  border: 1px solid #eadfca !important;
  border-radius: 24px !important;
  background: #faf8f4 !important;
}
@media (max-width: 700px) {
  body.postid-8544.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
  body.postid-8544.single-proinno_references .pro-case > h2 {
    margin-top: 2.75rem !important;
    padding-top: 2.25rem !important;
  }
  body.postid-8544.single-proinno_references .pro-case > .requirement {
    padding: 26px !important;
  }
}

/* --- WPWriter addition --- */

/* Napapiirin Kuljetus 8685 – align with standard reference presentation */
body.postid-8685.single-proinno_references .nk-case > section {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: none !important;
  padding: 54px 0 !important;
  box-sizing: border-box !important;
}
body.postid-8685.single-proinno_references .nk-case > section:first-of-type > .eyebrow {
  font-size: 0 !important;
  line-height: 1 !important;
}
body.postid-8685.single-proinno_references .nk-case > section:first-of-type > .eyebrow::after {
  content: "ASIAKASTARINA · PK-YRITYS";
  display: block;
  color: #806421;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}
/* Keep all grids and cards inside the content width */
body.postid-8685.single-proinno_references .nk-case .facts,
body.postid-8685.single-proinno_references .nk-case .cards,
body.postid-8685.single-proinno_references .nk-case .result-grid,
body.postid-8685.single-proinno_references .nk-case .buyer,
body.postid-8685.single-proinno_references .nk-case .requirement,
body.postid-8685.single-proinno_references .nk-case .cta {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.postid-8685.single-proinno_references .nk-case .fact,
body.postid-8685.single-proinno_references .nk-case .card,
body.postid-8685.single-proinno_references .nk-case .result-item,
body.postid-8685.single-proinno_references .nk-case .buyer > *,
body.postid-8685.single-proinno_references .nk-case .requirement {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
/* Results: normal heading and separate light cards, not one giant panel */
body.postid-8685.single-proinno_references .nk-case .result {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.postid-8685.single-proinno_references .nk-case .result h2 {
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.12 !important;
  margin-bottom: 1.5rem !important;
}
body.postid-8685.single-proinno_references .nk-case .result-grid {
  gap: 18px !important;
  margin-top: 2rem !important;
}
body.postid-8685.single-proinno_references .nk-case .result-item {
  padding: 26px !important;
  border: 1px solid #eadfc6 !important;
  border-radius: 20px !important;
  background: #f8f6f1 !important;
}
body.postid-8685.single-proinno_references .nk-case .result-item strong {
  font-size: 20px !important;
}
/* Buyer section: one readable column, no side card */
body.postid-8685.single-proinno_references .nk-case .buyer {
  display: block !important;
}
body.postid-8685.single-proinno_references .nk-case .buyer h2 {
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.12 !important;
  margin-bottom: 1.5rem !important;
}
body.postid-8685.single-proinno_references .nk-case .not-for {
  margin-top: 3rem !important;
  padding: 2.75rem 0 0 !important;
  border-top: 1px solid #eadfc6 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.postid-8685.single-proinno_references .nk-case .not-for h3 {
  font-size: clamp(26px, 3.4vw, 38px) !important;
  line-height: 1.18 !important;
  margin-bottom: 1.25rem !important;
}
/* Read-more remains a plain white list */
body.postid-8685.single-proinno_references .nk-case > section:nth-last-of-type(3) {
  background: transparent !important;
}
body.postid-8685.single-proinno_references .nk-case > section:nth-last-of-type(3) ul {
  margin-bottom: 0 !important;
}
/* Requirements is the only light footer card */
body.postid-8685.single-proinno_references .nk-case .requirement {
  padding: 34px !important;
  border: 1px solid #eadfc6 !important;
  border-radius: 24px !important;
  background: #f8f6f1 !important;
}
body.postid-8685.single-proinno_references .nk-case .requirement h2 {
  font-size: clamp(28px, 3.5vw, 40px) !important;
  line-height: 1.15 !important;
}
/* CTA: no oversized outlined card */
body.postid-8685.single-proinno_references .nk-case .cta {
  padding: 1rem 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.postid-8685.single-proinno_references .nk-case .cta h2 {
  max-width: 760px !important;
  margin: 0 auto 1.5rem !important;
  font-size: clamp(30px, 4vw, 46px) !important;
  line-height: 1.12 !important;
}
body.postid-8685.single-proinno_references .nk-case .cta .button {
  margin-top: .5rem !important;
}
/* Unified section spacing */
body.postid-8685.single-proinno_references .nk-case .eyebrow {
  margin-bottom: 1rem !important;
}
@media (max-width: 700px) {
  body.postid-8685.single-proinno_references .nk-case > section {
    width: calc(100% - 32px) !important;
    padding: 38px 0 !important;
  }
  body.postid-8685.single-proinno_references .nk-case .requirement,
  body.postid-8685.single-proinno_references .nk-case .result-item {
    padding: 26px !important;
  }
}

/* --- WPWriter addition --- */

/* Kainuun metalliala 8628 – align all content to the same 900px column */
body.postid-8628.single-proinno_references .pro-case {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.postid-8628.single-proinno_references .pro-case > * {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
body.postid-8628.single-proinno_references .pro-case .facts,
body.postid-8628.single-proinno_references .pro-case .cards,
body.postid-8628.single-proinno_references .pro-case .results,
body.postid-8628.single-proinno_references .pro-case .buyer-grid,
body.postid-8628.single-proinno_references .pro-case .card,
body.postid-8628.single-proinno_references .pro-case .fact,
body.postid-8628.single-proinno_references .pro-case .result {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 700px) {
  body.postid-8628.single-proinno_references .pro-case {
    width: calc(100% - 32px) !important;
  }
}

/* --- WPWriter addition --- */

/* Correct case-type labels: service area, not organization type */
body.postid-3299.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · STRATEGINEN UUDISTUMINEN";
}
body.postid-4241.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · VASTUULLINEN JOHTAMINEN";
}
body.postid-7105.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · ASIAKASKOKEMUS JA PALVELUT";
}
body.postid-3657.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · VASTUULLINEN JOHTAMINEN";
}
body.postid-8544.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · STRATEGINEN UUDISTUMINEN";
}
body.postid-8685.single-proinno_references .nk-case > section:first-of-type > .eyebrow::after {
  content: "ASIAKASTARINA · ASIAKASKOKEMUS JA PALVELUT";
}
/* Missing label: Keski-Pohjanmaan pelastuslaitos 3401 */
body.postid-3401.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · VASTUULLINEN JOHTAMINEN";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* --- WPWriter addition --- */

body.postid-3299.single-proinno_references .pro-case::before {
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* --- WPWriter addition --- */

/* Keski-Pohjanmaan pelastuslaitos 5288 – missing service-area label */
body.postid-5288.single-proinno_references .pro-case::before {
  content: "ASIAKASTARINA · VASTUULLINEN JOHTAMINEN";
  display: block;
  margin: 0 0 1.5rem;
  color: #7d6938;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* --- WPWriter addition --- */

/* Makrum reference standardisation — post 3255 */
body.postid-3255.single-proinno_references .pro-case{
  width:calc(100% - 40px)!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.postid-3255.single-proinno_references .pro-case::before{
  content:"ASIAKASTARINA · TYÖN SUJUVUUS JA PROSESSIT";
  display:block;
  margin:0 0 28px!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.postid-3255.single-proinno_references .pro-case > h2:first-of-type{
  margin:56px 0 22px!important;
  padding:0!important;
  border:0!important;
  color:transparent!important;
  font-size:0!important;
  line-height:1!important;
}
body.postid-3255.single-proinno_references .pro-case > h2:first-of-type::after{
  content:"LÄHTÖTILANNE";
  display:block;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.postid-3255.single-proinno_references .pro-case > h2:not(:first-of-type){
  margin:64px 0 20px!important;
  padding-top:0!important;
}
body.postid-3255.single-proinno_references .pro-case .facts{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  margin:28px 0 56px!important;
  gap:16px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
body.postid-3255.single-proinno_references .pro-case .fact{
  border:1px solid #dcc999!important;
  border-radius:24px!important;
  background:#fff!important;
  padding:28px 32px!important;
  min-width:0!important;
}
body.postid-3255.single-proinno_references .pro-case .steps,
body.postid-3255.single-proinno_references .pro-case .results{
  width:100%!important;
  max-width:900px!important;
  margin:28px 0 56px!important;
}
body.postid-3255.single-proinno_references .pro-case .quote,
body.postid-3255.single-proinno_references .pro-case .evidence{
  width:100%!important;
  max-width:900px!important;
  margin:56px 0!important;
}
body.postid-3255.single-proinno_references .pro-case section{
  margin:64px 0 0!important;
}
body.postid-3255.single-proinno_references .pro-case .eyebrow{
  display:block!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  margin:0 0 18px!important;
}
body.postid-3255.single-proinno_references .pro-case section > .eyebrow + h2{
  margin:0 0 24px!important;
  padding:0!important;
  border:0!important;
}
body.postid-3255.single-proinno_references .pro-case .buyer ul{
  list-style:disc!important;
  padding-left:1.35rem!important;
  margin:0!important;
}
body.postid-3255.single-proinno_references .pro-case .buyer li{
  margin:.65rem 0!important;
  padding-left:.25rem!important;
}
body.postid-3255.single-proinno_references .pro-case .buyer li::marker{
  content:normal!important;
  color:#8a763d!important;
}
body.postid-3255.single-proinno_references .pro-case .related{
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:64px 0 0!important;
  padding:32px 0 0!important;
  border-top:1px solid rgba(138,122,74,.35)!important;
}
body.postid-3255.single-proinno_references .pro-case .related p{
  margin:0 0 18px!important;
}
body.postid-3255.single-proinno_references .pro-case .related + .buyer{
  background:#faf8f4!important;
  border:0!important;
  border-radius:24px!important;
  margin:56px 0!important;
  padding:32px!important;
}
body.postid-3255.single-proinno_references .pro-case .related + .buyer h2{
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.postid-3255.single-proinno_references .pro-case .cta{
  width:100%!important;
  max-width:900px!important;
  margin:56px 0 0!important;
}
@media(max-width:760px){
  body.postid-3255.single-proinno_references .pro-case{width:calc(100% - 32px)!important}
  body.postid-3255.single-proinno_references .pro-case .facts{grid-template-columns:1fr!important}
  body.postid-3255.single-proinno_references .pro-case .fact{padding:22px!important}
}


/* --- WPWriter addition --- */

/* Makrum: buyer and requirements blocks match reference-page standard */
body.postid-3255.single-proinno_references .pro-case section .buyer{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 56px!important;
}
body.postid-3255.single-proinno_references .pro-case section .buyer ul{
  padding-left:1.35rem!important;
}
body.postid-3255.single-proinno_references .pro-case section > h2{
  border-top:1px solid rgba(138,122,74,.35)!important;
  padding-top:44px!important;
  margin-top:56px!important;
}
body.postid-3255.single-proinno_references .pro-case section > .eyebrow + h2{
  border-top:0!important;
  padding-top:0!important;
  margin-top:0!important;
}
body.postid-3255.single-proinno_references .pro-case div.related ~ div.buyer{
  background:#faf8f4!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:none!important;
  padding:32px 36px!important;
  margin:48px 0 56px!important;
}
body.postid-3255.single-proinno_references .pro-case div.related ~ div.buyer > h2{
  border:0!important;
  padding:0!important;
  margin:0 0 16px!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.postid-3255.single-proinno_references .pro-case div.related ~ div.buyer > p{
  margin:0!important;
}


/* --- WPWriter addition --- */

/* Reference 6960: missing service-area story label */
body.postid-6960.single-proinno_references .pro-case::before{
  content:"ASIAKASTARINA · VASTUULLINEN JOHTAMINEN";
  display:block;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 28px!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}


/* --- WPWriter addition --- */

/* Reference 6979: missing service-area story label */
body.postid-6979.single-proinno_references .pro-case::before{
  content:"ASIAKASTARINA · TYÖN SUJUVUUS JA PROSESSIT";
  display:block;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 28px!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}


/* --- WPWriter addition --- */

/* Reference 6979: heading for Marko Hottinen quotation */
body.postid-6979.single-proinno_references .pro-case .quote{
  position:relative!important;
  overflow:visible!important;
  margin-top:86px!important;
}
body.postid-6979.single-proinno_references .pro-case .quote::before{
  content:"PELASTUSJOHTAJAN ARVIO";
  position:absolute;
  left:0;
  top:-38px;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.postid-6979.single-proinno_references .pro-case .quote > img{
  border-radius:24px 0 0 24px!important;
}
body.postid-6979.single-proinno_references .pro-case .quote > .quote-text{
  border-radius:0 24px 24px 0!important;
}
@media(max-width:800px){
  body.postid-6979.single-proinno_references .pro-case .quote > img{
    border-radius:24px 24px 0 0!important;
  }
  body.postid-6979.single-proinno_references .pro-case .quote > .quote-text{
    border-radius:0 0 24px 24px!important;
  }
}


/* --- WPWriter addition --- */

/* Reference quote heading standard */
body.postid-6979.single-proinno_references .pro-case .quote::before{
  content:"ASIAKKAAN KOKEMUS"!important;
}


/* --- WPWriter addition --- */

/* All reference pages: canonical story/service-area labels, audited 2026-09-19 */
body.single-proinno_references .pro-case::before,
body.single-proinno_references .nk-case::before{
  display:block!important;
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 28px!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

/* Asiakaskokemus ja palvelut */
body.postid-19509 .pro-case::before,
body.postid-7105 .pro-case::before,
body.postid-7533 .pro-case::before,
body.postid-3346 .pro-case::before,
body.postid-8592 .pro-case::before,
body.postid-3585 .pro-case::before,
body.postid-8650 .pro-case::before,
body.postid-857 .pro-case::before,
body.postid-7636 .pro-case::before,
body.postid-8685 .nk-case::before,
body.postid-8628 .pro-case::before{
  content:"ASIAKASTARINA · ASIAKASKOKEMUS JA PALVELUT"!important;
}

/* Työn sujuvuus ja prosessit */
body.postid-20538 .pro-case::before,
body.postid-8430 .pro-case::before,
body.postid-6979 .pro-case::before,
body.postid-7608 .pro-case::before,
body.postid-7061 .pro-case::before,
body.postid-3255 .pro-case::before,
body.postid-3612 .pro-case::before,
body.postid-3657 .pro-case::before{
  content:"ASIAKASTARINA · TYÖN SUJUVUUS JA PROSESSIT"!important;
}

/* Vastuullinen johtaminen */
body.postid-6960 .pro-case::before,
body.postid-5288 .pro-case::before,
body.postid-4241 .pro-case::before,
body.postid-3401 .pro-case::before{
  content:"ASIAKASTARINA · VASTUULLINEN JOHTAMINEN"!important;
}

/* Strateginen uudistuminen */
body.postid-7131 .pro-case::before,
body.postid-3299 .pro-case::before,
body.postid-3543 .pro-case::before,
body.postid-827 .pro-case::before,
body.postid-3525 .pro-case::before,
body.postid-8544 .pro-case::before{
  content:"ASIAKASTARINA · STRATEGINEN UUDISTUMINEN"!important;
}


/* --- WPWriter addition --- */

/* Canonical “Mitä vastaava kokonaisuus vaatii” presentation on all references */
body.single-proinno_references .pro-case section.requirements,
body.single-proinno_references .pro-case section:has(> .service),
body.single-proinno_references .pro-case section:has(> .requirement),
body.single-proinno_references .nk-case section:has(> .service),
body.single-proinno_references .nk-case section:has(> .requirement){
  max-width:900px!important;
  margin:56px auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.single-proinno_references .pro-case .service-path,
body.single-proinno_references .pro-case section.requirements,
body.single-proinno_references .pro-case section:has(> .service),
body.single-proinno_references .pro-case section:has(> .requirement),
body.single-proinno_references .nk-case section:has(> .service),
body.single-proinno_references .nk-case section:has(> .requirement),
body.single-proinno_references .pro-case .related + .buyer{
  background:#faf8f4!important;
  border:0!important;
  border-radius:28px!important;
  box-shadow:none!important;
  padding:32px 36px!important;
}
body.single-proinno_references .pro-case section.requirements > .eyebrow,
body.single-proinno_references .pro-case section:has(> .service) > .eyebrow,
body.single-proinno_references .pro-case section:has(> .requirement) > .eyebrow,
body.single-proinno_references .nk-case section:has(> .service) > .eyebrow,
body.single-proinno_references .nk-case section:has(> .requirement) > .eyebrow,
body.single-proinno_references .pro-case .service-path > .eyebrow,
body.single-proinno_references .pro-case .related + .buyer > h2{
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  color:#8a763d!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:750!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body.single-proinno_references .pro-case section.requirements .service,
body.single-proinno_references .pro-case section.requirements .buyer,
body.single-proinno_references .pro-case section:has(> .service) > .service,
body.single-proinno_references .pro-case section:has(> .requirement) > .requirement,
body.single-proinno_references .nk-case section:has(> .service) > .service,
body.single-proinno_references .nk-case section:has(> .requirement) > .requirement{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
body.single-proinno_references .pro-case section.requirements h2,
body.single-proinno_references .pro-case section:has(> .service) .service > h2,
body.single-proinno_references .pro-case section:has(> .requirement) .requirement > h2,
body.single-proinno_references .nk-case section:has(> .service) .service > h2,
body.single-proinno_references .nk-case section:has(> .requirement) .requirement > h2{
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  color:#171717!important;
  font-size:20px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}
body.single-proinno_references .pro-case .service-path p,
body.single-proinno_references .pro-case section.requirements p,
body.single-proinno_references .pro-case section:has(> .service) p,
body.single-proinno_references .pro-case section:has(> .requirement) p,
body.single-proinno_references .nk-case section:has(> .service) p,
body.single-proinno_references .nk-case section:has(> .requirement) p,
body.single-proinno_references .pro-case .related + .buyer p{
  margin:0 0 12px!important;
  font-size:18px!important;
  line-height:1.6!important;
}
body.single-proinno_references .pro-case section.requirements p:last-child,
body.single-proinno_references .pro-case section:has(> .service) p:last-child,
body.single-proinno_references .pro-case section:has(> .requirement) p:last-child,
body.single-proinno_references .nk-case section:has(> .service) p:last-child,
body.single-proinno_references .nk-case section:has(> .requirement) p:last-child,
body.single-proinno_references .pro-case .service-path p:last-child,
body.single-proinno_references .pro-case .related + .buyer p:last-child{
  margin-bottom:0!important;
}
body.single-proinno_references .pro-case section.requirements ul,
body.single-proinno_references .pro-case section:has(> .service) ul,
body.single-proinno_references .pro-case section:has(> .requirement) ul,
body.single-proinno_references .nk-case section:has(> .service) ul,
body.single-proinno_references .nk-case section:has(> .requirement) ul{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 20px!important;
  margin:14px 0 0!important;
  padding:0!important;
  list-style:none!important;
}
body.single-proinno_references .pro-case section.requirements li,
body.single-proinno_references .pro-case section:has(> .service) li,
body.single-proinno_references .pro-case section:has(> .requirement) li,
body.single-proinno_references .nk-case section:has(> .service) li,
body.single-proinno_references .nk-case section:has(> .requirement) li{
  margin:0!important;
  padding:0!important;
}
@media(max-width:700px){
  body.single-proinno_references .pro-case .service-path,
  body.single-proinno_references .pro-case section.requirements,
  body.single-proinno_references .pro-case section:has(> .service),
  body.single-proinno_references .pro-case section:has(> .requirement),
  body.single-proinno_references .nk-case section:has(> .service),
  body.single-proinno_references .nk-case section:has(> .requirement),
  body.single-proinno_references .pro-case .related + .buyer{
    padding:26px 22px!important;
    border-radius:22px!important;
  }
}


/* --- WPWriter addition --- */

/* v78: etusivun kevyt mobiilihero — Vimeo pois alle 768 px */
@media (max-width: 767px) {
  body.page-id-31 .Hero__Image {
    background-image: url("https://proinno.fi/wp-content/uploads/2025/06/nina-viskuri-proinno-1.webp") !important;
    background-size: cover !important;
    background-position: 64% center !important;
    background-repeat: no-repeat !important;
  }
  body.page-id-31 .Hero__Image__Video {
    display: none !important;
  }
}


/* --- WPWriter addition --- */
/* Yhteystiedot: WCAG-kontrasti */
body.page-id-65 #gform_wrapper_8 .gfield_required,
body.page-id-65 #gform_wrapper_8 .gfield_required_text { color:#6f6037 !important; }
#CybotCookiebotDialogNavDeclaration.CybotCookiebotDialogActive { color:#5a4d2f !important; }

/* --- WPWriter addition --- */
/* Blogiartikkelit: normaalit luettelomerkit */
body.single-post .ab-blogi ul:not(.wp-block-social-links):not(.blocks-gallery-grid) {
  list-style: disc outside !important;
  padding-left: 1.4rem !important;
}
body.single-post .ab-blogi ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li {
  display: list-item !important;
  padding-left: 0.2rem !important;
}
body.single-post .ab-blogi ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li::before {
  content: none !important;
  display: none !important;
}
body.single-post .ab-blogi ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li::marker {
  color: #6f5c24 !important;
  font-size: 0.85em !important;
}


/* --- WPWriter addition --- */
/* Blogiartikkelien kirjoittajaosio 20.9.2026 */
body.single-post .ab-blogi .proinno-author-box {
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid rgba(138,122,74,.35);
}
body.single-post .ab-blogi .proinno-author-box h2 {
  margin: 0 0 18px;
}
body.single-post .ab-blogi .proinno-author-box p {
  margin: 0 0 12px;
}
body.single-post .card-body.p-9.bg-light:has(h3:empty):has(p.text-muted.fs-9) {
  display: none !important;
}
@media (max-width: 767px) {
  body.single-post .ab-blogi .proinno-author-box { margin-top: 48px; padding-top: 24px; }
}

/* --- WPWriter addition --- */
/* ============================================================
   PALVELUSIVUT: loppu-CTA reunasta reunaan ja kiinni footeriin
   Päivitetty 21.9.2026
   ============================================================ */

/* Loppu-CTA ulos sisältökääreen sivupehmusteista. */
body.page:has([class*="-sivu"] [class*="-loppu-cta"])
[class*="-sivu"] [class*="-loppu-cta"] {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

/* Jos CTA on vaalean osion sisällä, osion alapehmuste ei saa
   muodostaa valkoista palkkia CTA:n ja footerin väliin. */
body.page:has([class*="-sivu"] [class*="-loppu-cta"])
[class*="-sivu"] > [class*="-osio"]:has(> [class*="-loppu-cta"]) {
  padding-bottom: 0 !important;
}

/* Palvelusivun ja teeman sisältökääreiden loppuvälit pois vain
   sivuilta, joilla yhteinen loppu-CTA on käytössä. */
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) #main-content,
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) .entry-content,
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) main article,
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) [class*="-sivu"] {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* WordPressin CTA:n jälkeen lisäämät tyhjät lohkot eivät saa
   avata uutta valkoista väliä. */
body.page:has([class*="-sivu"] [class*="-loppu-cta"])
[class*="-loppu-cta"] ~ p:empty,
body.page:has([class*="-sivu"] [class*="-loppu-cta"])
[class*="-loppu-cta"] ~ .wp-block-spacer:empty {
  display: none !important;
}

/* --- WPWriter addition --- */
/* Palvelusivujen loppu-CTA: viimeistely */
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) {
  overflow-x: clip !important;
}
body.page:has([class*="-sivu"] [class*="-loppu-cta"]) main.site-content {
  background-color: #0d0d0d !important;
}

/* --- WPWriter addition --- */
/* Palvelusivujen footer-liitos: ohita teeman viimeinen valkoinen taustapakotus. */
html body[class]:has([class*="-sivu"] [class*="-loppu-cta"])
#site-content.site-content {
  background-color: #0d0d0d !important;
}

/* --- WPWriter addition --- */
/* Poista teeman sisältökääreen loppuun jäävä tyhjän rivin korkeus. */
html body[class]:has([class*="-sivu"] [class*="-loppu-cta"])
#site-content.site-content {
  font-size: 0 !important;
  line-height: 0 !important;
}
html body[class]:has([class*="-sivu"] [class*="-loppu-cta"])
#site-content.site-content > section {
  font-size: 18px !important;
  line-height: normal !important;
}

/* --- WPWriter addition --- */
/* Kahden pääpalvelusivun teeman lisäämä 16 px loppurivi pois. */
body.page-id-10310 #site-content.site-content,
body.page-id-2740 #site-content.site-content {
  margin-bottom: -16px !important;
}

/* --- WPWriter addition --- */
/* ============================================================
   BLOGIT: Proinno Premium -yhtenäinen artikkelipohja
   Päivitetty 21.9.2026
   ============================================================ */

/* Kaikki varsinainen artikkelisisältö samaan rauhalliseen 900 px mittaan. */
body.single-post .Post__Content > * {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
body.single-post .Post__Content > .ab-blogi {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
}
body.single-post .Post__Content > h2,
body.single-post .Post__Content .ab-blogi h2 {
  font-size: clamp(32px, 3.3vw, 46px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.02em !important;
  margin-top: 72px !important;
  margin-bottom: 26px !important;
}
body.single-post .Post__Content > h3,
body.single-post .Post__Content .ab-blogi h3 {
  font-size: clamp(24px, 2.3vw, 32px) !important;
  line-height: 1.25 !important;
  margin-top: 48px !important;
  margin-bottom: 18px !important;
}

/* Ingressi: sama leveys, koko ja valkoinen kultareunainen pinta. */
body.single-post .Post > .mb-14.container .Post__Excerpt {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  flex: 0 0 900px !important;
}
body.single-post .Post > .mb-14.container .Post__Excerpt > div {
  background: #fff !important;
  border: 1px solid #dcc999 !important;
  border-radius: 0 !important;
  padding: 28px 32px !important;
  color: #383838 !important;
}
body.single-post .Post > .mb-14.container .Post__Excerpt p {
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

/* Luettelot: pienet tavalliset merkit kaikissa blogirakenteissa. */
body.single-post .Post__Content ul:not(.wp-block-social-links):not(.blocks-gallery-grid) {
  list-style: disc outside !important;
  padding-left: 1.25rem !important;
}
body.single-post .Post__Content ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li {
  display: list-item !important;
  padding-left: .15rem !important;
}
body.single-post .Post__Content ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li::before {
  content: none !important;
  display: none !important;
}
body.single-post .Post__Content ul:not(.wp-block-social-links):not(.blocks-gallery-grid) > li::marker {
  color: #8a763d !important;
  font-size: .72em !important;
}

/* Tekstilinkit erottuvat myös ilman hoveria. */
body.single-post .Post__Content a:not(.btn):not([class*="button"]):not(.wp-block-button__link) {
  color: #6f5c24 !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(138,118,61,.55) !important;
  text-underline-offset: .18em !important;
  text-decoration-thickness: 1px !important;
}
body.single-post .Post__Content a:not(.btn):not([class*="button"]):not(.wp-block-button__link):hover,
body.single-post .Post__Content a:not(.btn):not([class*="button"]):not(.wp-block-button__link):focus {
  color: #171717 !important;
  text-decoration-color: #dcc999 !important;
}

/* Beige pois: sisältönostot valkoisiksi ja kultaisella rakenteella. */
body.single-post .Post__Content .ab-laatikko,
body.single-post .Post__Content .ab-kaava,
body.single-post .Post__Content [class*="nosto"]:not(.ab-tumma) {
  background: #fff !important;
  border: 1px solid #dcc999 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.single-post .Post__Content blockquote {
  background: #fff !important;
  border: 0 !important;
  border-left: 3px solid #dcc999 !important;
  padding: 10px 0 10px 28px !important;
  color: #171717 !important;
}

/* Blogien loppunosto: valkoinen, avoin ja yhdenmukainen. */
body.single-post .Post__Content .ab-tumma {
  background: #fff !important;
  color: #171717 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 54px 0 46px !important;
  margin-top: 64px !important;
  text-align: center !important;
  position: relative !important;
}
body.single-post .Post__Content .ab-tumma::before {
  content: "" !important;
  display: block !important;
  width: 96px !important;
  height: 1px !important;
  background: #dcc999 !important;
  margin: 0 auto 30px !important;
}
body.single-post .Post__Content .ab-tumma h2,
body.single-post .Post__Content .ab-tumma h3 {
  color: #171717 !important;
  margin: 0 auto 18px !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.2 !important;
}
body.single-post .Post__Content .ab-tumma p {
  color: #383838 !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
body.single-post .Post__Content .ab-tumma p > a:first-child {
  display: table !important;
  width: fit-content !important;
  margin: 26px auto 18px !important;
  padding: 14px 25px !important;
  border: 1px solid #b69b57 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #171717 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}
body.single-post .Post__Content .ab-tumma p > a:first-child:hover,
body.single-post .Post__Content .ab-tumma p > a:first-child:focus {
  background: #dcc999 !important;
  border-color: #dcc999 !important;
}

/* Arkiston kortit: ei beigeä, vaan valkoinen ja ohut kultainen rakenne. */
body.blog .card-body.bg-light,
body.archive .card-body.bg-light,
body.page .Blog .card-body.bg-light,
body.page .Posts .card-body.bg-light {
  background: #fff !important;
  border: 1px solid #dcc999 !important;
  border-top: 0 !important;
}
body.blog article,
body.archive article,
body.page .Blog article,
body.page .Posts article {
  box-shadow: none !important;
}

/* Mobiilissa sama järjestelmä ilman ylisuuria otsikoita. */
@media (max-width: 767px) {
  body.single-post .Post__Content > *,
  body.single-post .Post__Content > .ab-blogi {
    width: min(100% - 32px, 900px) !important;
  }
  body.single-post .Post > .mb-14.container .Post__Excerpt {
    width: min(100% - 24px, 900px) !important;
    flex-basis: auto !important;
  }
  body.single-post .Post > .mb-14.container .Post__Excerpt > div {
    padding: 22px 20px !important;
  }
  body.single-post .Post > .mb-14.container .Post__Excerpt p {
    font-size: 18px !important;
    line-height: 1.55 !important;
  }
  body.single-post .Post__Content > h2,
  body.single-post .Post__Content .ab-blogi h2 {
    margin-top: 52px !important;
  }
  body.single-post .Post__Content .ab-tumma {
    padding: 42px 0 34px !important;
  }
}

/* --- WPWriter addition --- */
/* Blogien tekstilinja: otsikot ja leipäteksti samaan 900 px linjaan. */
body.single-post .Post__Content > p,
body.single-post .Post__Content > .ab-blogi > p {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single-post .Post__Content > ul,
body.single-post .Post__Content > ol {
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  box-sizing: border-box !important;
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* ============================================================
   BLOGIT: Proinno Premium -elementtijärjestelmä v2
   Päivitetty 21.9.2026
   ============================================================ */

/* 1. Loppu-CTA: valkoinen avoin alue + yksi kultareunainen painike.
   Toimii sekä valmiissa .ab-tumma-lohkossa että lähteitä edeltävässä
   palvelulinkkikappaleessa. */
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]),
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) {
  position: relative !important;
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin: 72px auto 56px !important;
  padding: 76px 0 50px !important;
  border: 0 !important;
  background: #fff !important;
  color: #383838 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"])::before,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"])::before {
  content: "SEURAAVA ASKEL" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: block !important;
  width: max-content !important;
  padding-top: 27px !important;
  border-top: 1px solid #dcc999 !important;
  color: #8a763d !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]) > a[href*="/palvelut/"],
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) > a[href*="/palvelut/"] {
  display: table !important;
  width: fit-content !important;
  margin: 28px auto 0 !important;
  padding: 14px 26px !important;
  border: 1px solid #b69b57 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #171717 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
}
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]) > a[href*="/palvelut/"]:hover,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) > a[href*="/palvelut/"]:hover,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]) > a[href*="/palvelut/"]:focus,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) > a[href*="/palvelut/"]:focus {
  background: #dcc999 !important;
  border-color: #dcc999 !important;
  color: #171717 !important;
}

/* 2. Kultakehys kuuluu vain jäsennettyihin sisältönostoihin. */
body.single-post .Post__Content .ab-laatikko,
body.single-post .Post__Content .ab-kaava,
body.single-post .Post__Content .ab-esimerkki,
body.single-post .Post__Content .ab-testi,
body.single-post .Post__Content .ab-rajaus {
  margin-top: 36px !important;
  margin-bottom: 36px !important;
  padding: 28px 32px !important;
  background: #fff !important;
  border: 1px solid #dcc999 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 3. Jatkolukeminen/palvelupolku: kevyt kultainen vasen viiva,
   ei korttimaista beigeä pintaa. */
body.single-post .Post__Content .ab-jatkolinkki {
  margin-top: 36px !important;
  margin-bottom: 36px !important;
  padding: 8px 0 8px 24px !important;
  background: #fff !important;
  border: 0 !important;
  border-left: 2px solid #dcc999 !important;
}
body.single-post .Post__Content .ab-jatkolinkki a {
  font-weight: 700 !important;
}

/* 4. Kirjoittajaosio: avoin, valkoinen ja erotettu yhdellä viivalla. */
body.single-post .Post__Content .proinno-author-box {
  max-width: 900px !important;
  margin: 64px auto 0 !important;
  padding: 32px 0 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-top: 1px solid rgba(138,122,74,.38) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* 5. Lähteet ovat osa artikkelia, eivät visuaalinen kortti. */
body.single-post .Post__Content h2[id*="lahte"],
body.single-post .Post__Content h2[id*="lähte"] {
  padding-top: 32px !important;
  border-top: 1px solid rgba(138,122,74,.28) !important;
}
body.single-post .Post__Content h2[id*="lahte"] + ul,
body.single-post .Post__Content h2[id*="lähte"] + ul {
  font-size: .92em !important;
  line-height: 1.55 !important;
}

/* 6. Mobiilimitat. */
@media (max-width: 767px) {
  body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]),
  body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) {
    width: min(100% - 32px, 900px) !important;
    margin-top: 54px !important;
    padding: 68px 0 38px !important;
  }
  body.single-post .Post__Content .ab-laatikko,
  body.single-post .Post__Content .ab-kaava,
  body.single-post .Post__Content .ab-esimerkki,
  body.single-post .Post__Content .ab-testi,
  body.single-post .Post__Content .ab-rajaus {
    padding: 22px 20px !important;
  }
}


/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Blogien maksuton Tilannekeskustelu: sama painike kaikissa sisältörakenteissa. */
body.single-post .Post__Content p:has(a[href*="/palvelut/tilannekeskustelu/"]):not(.ab-tumma p) {
  position: relative !important;
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin: 68px auto 52px !important;
  padding: 72px 0 44px !important;
  border: 0 !important;
  background: #fff !important;
  color: #383838 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body.single-post .Post__Content p:has(a[href*="/palvelut/tilannekeskustelu/"]):not(.ab-tumma p)::before {
  content: "SEURAAVA ASKEL" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: block !important;
  width: max-content !important;
  padding-top: 27px !important;
  border-top: 1px solid #dcc999 !important;
  color: #8a763d !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}
body.single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"] {
  display: table !important;
  width: fit-content !important;
  margin: 26px auto 0 !important;
  padding: 14px 26px !important;
  border: 1px solid #b69b57 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #171717 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
}
body.single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"]:hover,
body.single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"]:focus {
  background: #dcc999 !important;
  border-color: #dcc999 !important;
  color: #171717 !important;
}
@media (max-width:767px){
  body.single-post .Post__Content p:has(a[href*="/palvelut/tilannekeskustelu/"]):not(.ab-tumma p){
    width:min(100% - 32px,900px)!important;
    margin-top:52px!important;
    padding:66px 0 36px!important;
  }
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Blogien loppu-CTA v3: 900 px kultaviiva ja painikkeen alaväli. */
body.single-post .Post__Content .ab-tumma,
body.single-post .Post__Content p:has(a[href*="/palvelut/tilannekeskustelu/"]):not(.ab-tumma p),
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]),
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) {
  border-top: 1px solid #dcc999 !important;
}
body.single-post .Post__Content .ab-tumma::before,
body.single-post .Post__Content p:has(a[href*="/palvelut/tilannekeskustelu/"]):not(.ab-tumma p)::before,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"])::before,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"])::before {
  border-top: 0 !important;
  background: transparent !important;
}
body.single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"],
body.single-post .Post__Content .ab-tumma p > a:first-child,
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lahte"]) > a[href*="/palvelut/"],
body.single-post .Post__Content p:has(> a[href*="/palvelut/"]):has(+ h2[id*="lähte"]) > a[href*="/palvelut/"] {
  margin-top: 26px !important;
  margin-bottom: 22px !important;
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* KRIITTINEN KORJAUS 21.9.2026: blogikorttien hover takaisin mustaksi. */
body.blog article:hover .card-body,
body.archive article:hover .card-body,
body.page .Blog article:hover .card-body,
body.page .Posts article:hover .card-body,
body.page .Blog a:hover .card-body,
body.page .Posts a:hover .card-body,
body.page .Blog .card:hover .card-body,
body.page .Posts .card:hover .card-body {
  background: #050505 !important;
  border-color: #050505 !important;
}
body.blog article:hover .card-body *,
body.archive article:hover .card-body *,
body.page .Blog article:hover .card-body *,
body.page .Posts article:hover .card-body *,
body.page .Blog a:hover .card-body *,
body.page .Posts a:hover .card-body *,
body.page .Blog .card:hover .card-body *,
body.page .Posts .card:hover .card-body * {
  color: #fff !important;
}
body.blog article:hover .card-body svg *,
body.archive article:hover .card-body svg *,
body.page .Blog article:hover .card-body svg *,
body.page .Posts article:hover .card-body svg *,
body.page .Blog a:hover .card-body svg *,
body.page .Posts a:hover .card-body svg * {
  stroke: #dcc999 !important;
  fill: none !important;
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Blogit-koontisivun loppu-CTA: tumma, keskitetty premium-malli. */
body.page .blog-next-step {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  margin: 88px 0 0 -50vw !important;
  padding: 86px 24px 82px !important;
  box-sizing: border-box !important;
  background: #050505 !important;
  color: #fff !important;
  text-align: center !important;
}
body.page .blog-next-step > .wp-block-group__inner-container {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.page .blog-next-step .blog-section-kicker {
  margin: 0 0 24px !important;
  color: #dcc999 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
body.page .blog-next-step h2 {
  max-width: 900px !important;
  margin: 0 auto 24px !important;
  color: #fff !important;
  font-size: clamp(36px, 4.4vw, 60px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  text-align: center !important;
}
body.page .blog-next-step h2 + p {
  max-width: 820px !important;
  margin: 0 auto 34px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}
body.page .blog-next-step .wp-block-buttons {
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 auto 26px !important;
}
body.page .blog-next-step .wp-block-button__link {
  min-height: 54px !important;
  padding: 15px 28px !important;
  border: 1px solid #dcc999 !important;
  border-radius: 999px !important;
  background: #dcc999 !important;
  color: #171717 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.page .blog-next-step .wp-block-button:nth-child(2) .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
}
body.page .blog-next-step .wp-block-button__link:hover,
body.page .blog-next-step .wp-block-button__link:focus {
  background: #fff !important;
  border-color: #fff !important;
  color: #171717 !important;
}
body.page .blog-next-step .blog-cta-note {
  margin: 0 !important;
  color: #dcc999 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
@media(max-width:767px){
  body.page .blog-next-step {
    margin-top: 64px !important;
    padding: 64px 20px 60px !important;
  }
  body.page .blog-next-step .wp-block-buttons {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.page .blog-next-step .wp-block-button,
  body.page .blog-next-step .wp-block-button__link {
    width: 100% !important;
  }
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Blogit-arkiston loppu-CTA: body.blog-tarkennus. */
body.blog .blog-next-step {
  width: 100vw !important;
  max-width: none !important;
  position: relative !important;
  left: 50% !important;
  margin: 88px 0 0 -50vw !important;
  padding: 86px 24px 82px !important;
  box-sizing: border-box !important;
  background: #050505 !important;
  color: #fff !important;
  text-align: center !important;
}
body.blog .blog-next-step > .wp-block-group__inner-container {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
body.blog .blog-next-step .blog-section-kicker {
  margin: 0 0 24px !important;
  color: #dcc999 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}
body.blog .blog-next-step h2 {
  max-width: 900px !important;
  margin: 0 auto 24px !important;
  color: #fff !important;
  font-size: clamp(36px, 4.4vw, 60px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.025em !important;
  text-align: center !important;
}
body.blog .blog-next-step h2 + p {
  max-width: 820px !important;
  margin: 0 auto 34px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 19px !important;
  line-height: 1.65 !important;
  text-align: center !important;
}
body.blog .blog-next-step .wp-block-buttons {
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 auto 26px !important;
}
body.blog .blog-next-step .wp-block-button__link {
  min-height: 54px !important;
  padding: 15px 28px !important;
  border: 1px solid #dcc999 !important;
  border-radius: 999px !important;
  background: #dcc999 !important;
  color: #171717 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body.blog .blog-next-step .wp-block-button:nth-child(2) .wp-block-button__link {
  background: transparent !important;
  color: #fff !important;
}
body.blog .blog-next-step .wp-block-button__link:hover,
body.blog .blog-next-step .wp-block-button__link:focus {
  background: #fff !important;
  border-color: #fff !important;
  color: #171717 !important;
}
body.blog .blog-next-step .blog-cta-note {
  margin: 0 !important;
  color: #dcc999 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
@media(max-width:767px){
  body.blog .blog-next-step{margin-top:64px!important;padding:64px 20px 60px!important;}
  body.blog .blog-next-step .wp-block-buttons{flex-direction:column!important;align-items:stretch!important;}
  body.blog .blog-next-step .wp-block-button,
  body.blog .blog-next-step .wp-block-button__link{width:100%!important;}
}

/* --- WPWriter addition --- */

/* --- WPWriter addition --- */
/* Blogikortin todellinen hover-rakenne: musta pinta ja valkoinen teksti. */
body.blog .Bloglist__Item:hover .card-body,
body.blog .Bloglist__Item:focus-visible .card-body {
  background: #050505 !important;
  border-color: #050505 !important;
}
body.blog .Bloglist__Item:hover .card-body *,
body.blog .Bloglist__Item:focus-visible .card-body * {
  color: #fff !important;
}
body.blog .Bloglist__Item:hover .card-body svg *,
body.blog .Bloglist__Item:focus-visible .card-body svg * {
  stroke: #dcc999 !important;
}

/* --- WPWriter addition --- */

/* Painikkeen ja sitä seuraavan selitetekstin yhtenäinen väli, 25.9.2026. */
body.page div[class$="-sivu"] :is(p,div)[class$="-cta"] > a + p,
body.page div[class$="-sivu"] :is(p,div)[class$="-cta"] + p {
  margin-top: 28px !important;
}
body .Hero a[href*="calendly"]::after,
body .Hero a[href*="tilannekeskustelu"]::after {
  top: calc(100% + 20px) !important;
}


/* --- WPWriter addition --- */
/* Jyväskylän Osaamisverkko: sisällössä on jo asiakastarinan otsakerivi. */
body.postid-19509.single-proinno_references .pro-case::before{content:none!important;display:none!important;}


/* --- WPWriter addition --- */
/* Asiakastarinoiden kahdentuneen otsakerivin täsmäkorjaus 25.9.2026. */
body.postid-7533.single-proinno_references .pro-case::before,
body.postid-7131.single-proinno_references .pro-case::before,
body.postid-7061.single-proinno_references .pro-case::before,
body.postid-3346.single-proinno_references .pro-case::before,
body.postid-8592.single-proinno_references .pro-case::before,
body.postid-3543.single-proinno_references .pro-case::before,
body.postid-827.single-proinno_references .pro-case::before,
body.postid-3525.single-proinno_references .pro-case::before,
body.postid-8650.single-proinno_references .pro-case::before,
body.postid-857.single-proinno_references .pro-case::before,
body.postid-7636.single-proinno_references .pro-case::before,
body.postid-8628.single-proinno_references .pro-case::before,
body.postid-8685.single-proinno_references .nk-case::before{content:none!important;display:none!important;}
body.postid-8685.single-proinno_references .nk-case > section:first-of-type > .eyebrow::after{content:none!important;display:none!important;}
body.postid-8430.single-proinno_references .pro-case > section:first-of-type > .eyebrow:first-child,
body.postid-7608.single-proinno_references .pro-case > section:first-of-type > .eyebrow:first-child,
body.postid-3612.single-proinno_references .pro-case > section:first-of-type > .eyebrow:first-child,
body.postid-3585.single-proinno_references .pro-case > section:first-of-type > .eyebrow:first-child{display:none!important;}


/* --- WPWriter addition --- */
/* Proinno 2026-10-03: prevent mobile hero flex overflow on three service pages. */
@media (max-width: 767px) {
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content .row,
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content .row > [class*="col-"],
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content .py-15 {
    min-width: 0 !important;
  }
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content h1 {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
}

/* --- WPWriter addition --- */
/* Proinno 2026-10-03: keep long service hero titles on readable desktop lines. */
@media (min-width: 768px) {
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content .row > [class*="col-"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content .py-15 {
    width: 100% !important;
    max-width: 900px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content h1 {
    font-size: clamp(40px, 5vw, 60px) !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }
}

/* --- WPWriter addition --- */
/* Painetesti FAQ: shared Proinno gold + / open dash presentation, 2026-10-03. */
body.page-id-21840 .pt-sivu #usein-kysyttya details {
  border-top: 0 !important;
  border-bottom: 1px solid #d4cebe !important;
  padding: 0 !important;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details:first-of-type {
  border-top: 1px solid #d4cebe !important;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary {
  list-style: none !important;
  cursor: pointer;
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.4rem 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700;
  line-height: 1.5;
  color: #1c1c1c;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary::-webkit-details-marker {
  display: none;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary::marker {
  content: "";
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary::after {
  content: "+";
  flex: 0 0 auto;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1;
  color: #8a7434;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details[open] > summary::after {
  content: "–";
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary:hover {
  color: #8a7434;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > summary:focus-visible {
  outline: 2px solid #8a7434;
  outline-offset: 3px;
}
body.page-id-21840 .pt-sivu #usein-kysyttya details > p {
  margin: 0 !important;
  padding: 0 0 1.4rem;
}

/* --- WPWriter addition --- */
/* Proinno 2026-10-03: fit long Finnish service titles cleanly on narrow screens. */
@media (max-width: 767px) {
  body:is(.page-id-18112, .page-id-9668, .page-id-19638) .Hero__Content h1 {
    font-size: clamp(22px, 6.65vw, 36px) !important;
    letter-spacing: -0.02em !important;
  }
}

/* --- WPWriter addition --- */
/* Painetesti: remove the empty JSON-LD paragraph's footer gap. */
body.page-id-21840 .pt-sivu > p:last-child:has(> script[type="application/ld+json"]:only-child) {
  margin: 0 !important;
}

/* --- WPWriter addition --- */
/* Interim & Transformation: scoped premium service layout, 2026-10-03. */
body.page-id-21841 .interim-sivu {max-width:none!important;margin:0!important;}
body.page-id-21841 .interim-sivu * {box-sizing:border-box;}
body.page-id-21841 .interim-section {margin:0!important;width:100%!important;max-width:none!important;}
body.page-id-21841 .interim-inner {width:100%;max-width:900px!important;}
body.page-id-21841 .interim-sivu h1:before {content:none!important;}
body.page-id-21841 .interim-sivu :is(h1,h2,h3,p){max-width:none;}
body.page-id-21841 .interim-dark :is(p,h3,a){color:#e8e4da!important;}
body.page-id-21841 .interim-dark .interim-button{border-color:#dcc999!important;}
body.page-id-21841 .interim-button:hover{background:#dcc999!important;color:#14120f!important;}
body.page-id-21841 .interim-button:focus-visible{outline:3px solid #806d35;outline-offset:4px;}
body.page-id-21841 .interim-faq{border:0!important;border-bottom:1px solid #d4cebe!important;margin:0!important;padding:0!important;}
body.page-id-21841 .interim-faq:first-of-type{border-top:1px solid #d4cebe!important;}
body.page-id-21841 .interim-faq summary{display:flex!important;align-items:flex-start;justify-content:space-between;gap:24px;list-style:none!important;cursor:pointer;padding:24px 0!important;font-size:1.15rem!important;font-weight:700;line-height:1.5;color:#1c1c1c!important;}
body.page-id-21841 .interim-faq summary::-webkit-details-marker{display:none;}
body.page-id-21841 .interim-faq summary::marker{content:"";}
body.page-id-21841 .interim-faq summary:after{content:"+";flex:0 0 auto;color:#8a7434;font-size:1.7rem;font-weight:400;line-height:1;}
body.page-id-21841 .interim-faq[open] summary:after{content:"−";}
body.page-id-21841 .interim-faq summary:focus-visible{outline:2px solid #8a7434;outline-offset:3px;}
body.page-id-21841 .interim-faq>div{padding:0 36px 24px 0!important;}
body.page-id-21841 .interim-faq>div p{margin:0!important;}
@media(max-width:767px){body.page-id-21841 .interim-sivu h1{font-size:clamp(27px,7.6vw,40px)!important;}body.page-id-21841 .interim-faq summary{font-size:1.02rem!important;gap:16px;}}

/* --- WPWriter addition --- */
/* Interim: use the authored hero and prevent duplicate theme heading. */
body.page-id-21841 #site-content>section>.py-12.text-center:has(>h1){display:none!important;}
body.page-id-21841 .interim-dark .interim-inner>p:first-child{color:#dcc999!important;}
body.page-id-21841 .interim-section:last-child .interim-inner>p:last-child{margin-bottom:0!important;}

/* --- WPWriter addition --- */
/* Proinno 2026-10-04: pienet luettelomerkit tarkistetuilla sivuilla. */
body:is(.page-id-31,.page-id-61,.page-id-9852,.page-id-16678,.page-id-21840,.page-id-21872) #site-content ul:not(.list-unstyled):not(.pagination):not(.wp-block-social-links):not(.blocks-gallery-grid) > li {
  display: list-item !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
}
body:is(.page-id-31,.page-id-61,.page-id-9852,.page-id-16678,.page-id-21840,.page-id-21872) #site-content ul:not(.list-unstyled):not(.pagination):not(.wp-block-social-links):not(.blocks-gallery-grid) > li::before {
  content: none !important;
  display: none !important;
}
body:is(.page-id-31,.page-id-61,.page-id-9852,.page-id-16678,.page-id-21840,.page-id-21872) #site-content ul:not(.list-unstyled):not(.pagination):not(.wp-block-social-links):not(.blocks-gallery-grid) > li::marker {
  color: #8a763d !important;
  font-size: .72em !important;
}
body:is(.page-id-31,.page-id-61,.page-id-9852,.page-id-16678,.page-id-21840,.page-id-21872) #site-content :is(.es-tumma,.me-tumma,.pa-tumma,.vk-tumma,.pt-tumma) ul > li::marker {
  color: #dcc999 !important;
}


/* --- WPWriter addition --- */
/* Proinno responsive audit 2026-10-06: keep hero CTA helper text clear of the next control and section. */
@media (max-width: 991px) {
  body:is(.page-id-65,.page-id-6071,.page-id-19638,.page-id-19092,.page-id-18576,.page-id-18574,.page-id-18423,.page-id-18112,.page-id-17777,.page-id-16754,.page-id-16678,.page-id-10310,.page-id-9940,.page-id-9668,.page-id-9553,.page-id-5658,.page-id-2740,.page-id-2517,.page-id-59,.blog) .Hero a[href*="calendly"],
  body:is(.page-id-65,.page-id-6071,.page-id-19638,.page-id-19092,.page-id-18576,.page-id-18574,.page-id-18423,.page-id-18112,.page-id-17777,.page-id-16754,.page-id-16678,.page-id-10310,.page-id-9940,.page-id-9668,.page-id-9553,.page-id-5658,.page-id-2740,.page-id-2517,.page-id-59,.blog) .Hero a[href*="tilannekeskustelu"] { margin-bottom: 48px !important; }
}


/* --- WPWriter addition --- */
/* Proinno responsive audit 2026-10-06: readable service descriptions in the dark mobile menu. */
#mobile-navigation .menu-excerpt { color: #b8b2a2 !important; }


/* --- WPWriter addition --- */
/* Proinno unified content text links — 2026-10-12.
   Reference: existing blog gold #6f5c24. Content only; navigation,
   image links, buttons and existing editorial CTA buttons are excluded. */
body {
  --proinno-text-link: #6f5c24;
  --proinno-text-link-hover: #51421a;
}
/* Tokens inherit from the nearest surface, including nested light cards. */
:where(.module-dark, .module-cta-dark, .module-geo-dark,
  [class*="-tumma"]:not(.ab-tumma), .bg-dark, .blog-next-step,
  .es-tuloskortti, .tilannekortti, .tulos-kortti, .tulokset-kortti,
  .palvelu-kortti, .vertailu-kortti, .kokemus-kortti,
  .kp-teema-kortti, .kp-sitaatti, .kp-nosto-box, .kp-aloitus-korostettu,
  .polku-kortti, .tulevaisuus-kortti, .tilanne6-kortti, .tutkimus-rivi,
  .silta-kortti, .polku4-vaihe, .vk-lohko, .at-sitaatti-iso,
  .at-toteuttaja, .at-cta, .at-geo) {
  --proinno-text-link: #dcc999;
  --proinno-text-link-hover: #f2e3be;
}
:where(.module-light, [class*="-vaalea"], .es-harmaa,
  .es-kortti, .es-polku, .tu-naytto, .yt-kortti,
  .ab-blogi, .ab-tumma, .proinno-author-box) {
  --proinno-text-link: #6f5c24;
  --proinno-text-link-hover: #51421a;
}
body :is(#main-content, .Post__Content, .entry-content) a[href]:not(:where(.btn, [class*="button"], [class*="nappi"], [role="button"], .card, .Bloglist__Item, .card-cta, .logo, [class*="-logo"], .wp-block-social-link a, .SocialMedia a, nav a, header a, .Hero a, #breadcrumbs a, [class*="-cta"] > a, .valmennukset-cta a, .ab-tumma p > a:first-child, .single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"], .single-post .Post__Content p:has(+ h2[id*="lahte"]) > a[href*="/palvelut/"], .single-post .Post__Content p:has(+ h2[id*="lähte"]) > a[href*="/palvelut/"])):not(:has(img, svg)) {
  color: var(--proinno-text-link) !important;
  text-decoration-line: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .18em !important;
}
body :is(#main-content, .Post__Content, .entry-content) a[href]:not(:where(.btn, [class*="button"], [class*="nappi"], [role="button"], .card, .Bloglist__Item, .card-cta, .logo, [class*="-logo"], .wp-block-social-link a, .SocialMedia a, nav a, header a, .Hero a, #breadcrumbs a, [class*="-cta"] > a, .valmennukset-cta a, .ab-tumma p > a:first-child, .single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"], .single-post .Post__Content p:has(+ h2[id*="lahte"]) > a[href*="/palvelut/"], .single-post .Post__Content p:has(+ h2[id*="lähte"]) > a[href*="/palvelut/"])):not(:has(img, svg)):is(:hover, :focus-visible) {
  color: var(--proinno-text-link-hover) !important;
  text-decoration-thickness: 2px !important;
  opacity: 1 !important;
}
body :is(#main-content, .Post__Content, .entry-content) a[href]:not(:where(.btn, [class*="button"], [class*="nappi"], [role="button"], .card, .Bloglist__Item, .card-cta, .logo, [class*="-logo"], .wp-block-social-link a, .SocialMedia a, nav a, header a, .Hero a, #breadcrumbs a, [class*="-cta"] > a, .valmennukset-cta a, .ab-tumma p > a:first-child, .single-post .Post__Content a[href*="/palvelut/tilannekeskustelu/"], .single-post .Post__Content p:has(+ h2[id*="lahte"]) > a[href*="/palvelut/"], .single-post .Post__Content p:has(+ h2[id*="lähte"]) > a[href*="/palvelut/"])):not(:has(img, svg)):focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 3px !important;
}


/* --- WPWriter addition --- */
/* Dark Interim & Transformation sections use the same readable gold. */
:where(.interim-dark) {
  --proinno-text-link: #dcc999;
  --proinno-text-link-hover: #f2e3be;
}


/* --- WPWriter addition --- */
/* Preserve the existing editorial Calendly pill against older blog-link specificity. */
body.single-post .Post__Content .ab-tumma p > a:first-child[href*="calendly.com/"] {
  color: #171717 !important;
  text-decoration: none !important;
}
body.single-post .Post__Content .ab-tumma p > a:first-child[href*="calendly.com/"]:is(:hover, :focus) {
  color: #171717 !important;
  background: #dcc999 !important;
  border-color: #dcc999 !important;
  text-decoration: none !important;
}


/* OSA MUSTA v1 30.10.2026: kaikki tummat osiot ja kortit mustiksi (lisäysosio, ei korvaa aiempaa) */
body [class*="-osio"][class*="-tumma"],
body .es-tuloskortti,
body [class*="-section"][class*="-dark"]{background-color:#0a0a0a!important}
body [class*="-osio"][class*="-tumma"] .es-nosto,
html body :is(#main-content,.Post__Content,.entry-content,main,body) .yt-askel,
body .vk-tavaramerkki{background-color:#161616!important}

/* VALIKKO NOWRAP v1 31.10.2026 */
@media(min-width:1200px){header nav .nav-link{white-space:nowrap}}

/* VALIKKO NOWRAP v2 31.10.2026: vain päätason linkit, megavalikon kuvaukset rivittyvät */
header nav .Menu__Primary__Megamenu .nav-link,header nav .sub-menu .nav-link{white-space:normal!important}

/* TYOKALUT MOBIILI v1 31.10.2026: sivureunat työkalusivuille, nostoille ja työkaluille kapealla näytöllä */
@media(max-width:1000px){html body .tk-sivu,html body .tk-tieto,html body .tkn,html body .pv,html body .lm-ia,html body .lm-kl,html body .lm-sj,html body .lm-sp{margin-left:16px!important;margin-right:16px!important;width:auto!important}}

/* BLOGIT AIHENAV v1 31.10.2026: blogietusivulla aihelinkit ovat jo Suodata-painikkeina, linkit jäävät hakukoneille. Aihesivuilla navi näkyy. */
body.blog .ProinnoArchiveNav{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:0!important;padding:0!important}

/* FAQ YHTENAINEN v1 31.10.2026: kaikki usein kysytyt kultaisella plussalla, ei oletuskolmiota. Sivukohtaiset säännöt voittavat. */
html body main details>summary{list-style:none;position:relative;padding-right:2.5rem;cursor:pointer}
html body main details>summary::-webkit-details-marker{display:none}
html body main details>summary::marker{content:""}
html body main details>summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#9b8147;font-size:28px;font-weight:300;line-height:1}
html body main details[open]>summary::after{content:"\2212"}
html body main details>summary:hover{color:#6f6037}
html body main details>summary:focus-visible{outline:2px solid #DCC999;outline-offset:4px}

/* FAQ YHTENAINEN v2 31.10.2026: hallitussivun ja blogien FAQ samaan mittaan kuin palvelusivuilla */
html body main .hb-faq details,html body main details.pros-faq{max-width:none;padding:1.5rem 0;border-bottom:1px solid #e2dccd}
html body main .hb-faq details:first-of-type,html body main details.pros-faq:first-of-type{border-top:1px solid #e2dccd}
html body main .hb-faq summary,html body main details.pros-faq>summary{font-size:1.15rem;font-weight:600;line-height:1.4}
html body main .hb-faq details p,html body main details.pros-faq p{margin:.8rem 0 0;max-width:52rem}

/* AIKAJANA v1 31.10.2026: palvelusivujen Eteneminen-vaiheet aikajanaksi */
html body #eteneminen div[class$="-vaihe"]{position:relative!important;border:0!important;border-left:2px solid #e2dccd!important;margin:0 0 0 .55rem!important;padding:0 0 1.9rem 2.1rem!important;background:none!important;box-shadow:none!important}
html body #eteneminen div[class$="-vaihe"]:last-of-type{border-left-color:transparent!important;padding-bottom:.4rem!important}
html body #eteneminen div[class$="-vaihe"]::before{content:"";position:absolute;left:-10px;top:0;width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid #DCC999;box-sizing:border-box}
html body #eteneminen div[class$="-vaihe"]:first-of-type::before{background:#DCC999}
html body #eteneminen [class$="-numero"]{margin-top:-.05rem!important;line-height:18px!important}
html body #eteneminen div[class$="-vaihe"] div[class$="-vaihe"]{border:0!important;padding:0!important;margin:0!important}html body #eteneminen div[class$="-vaihe"] div[class$="-vaihe"]::before{display:none}

/* MEISTA TAUSTAT JA LOGOT v3 31.10.2026 */
html body.page-id-61 .me-sivu .me-savy{background:#ffffff!important}
html body.page-id-61 .me-sivu .me-osio.me-vaalea+.me-osio.me-vaalea{border-top:1px solid #ebe5d8}
html body.page-id-61 .me-sivu .me-savy .me-as-sitaatti{background:#f7f5f0!important}
html body.page-id-61 .me-sivu .me-logot{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:20px 48px!important}
html body.page-id-61 .me-sivu .me-logot img,html body.page-id-61 .me-sivu .me-logot a img{height:44px!important;width:auto!important;max-width:150px!important;object-fit:contain!important;background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important;filter:grayscale(1)!important;opacity:.65!important;mix-blend-mode:multiply!important;transition:opacity .2s,filter .2s}
html body.page-id-61 .me-sivu .me-logot img:hover{filter:none!important;opacity:1!important}
html body.page-id-61 .me-sivu .me-logot > *{background:transparent!important;padding:0!important;border:0!important;box-shadow:none!important}

/* MEISTA VALKOINEN v4 31.10.2026 */
html body.page-id-61 #site-content .me-sivu .me-osio.me-vaalea.me-savy{background:#ffffff!important}
html body.page-id-61 #site-content .me-sivu .me-yhteispuhe,html body.page-id-61 #site-content .me-sivu .me-kumppanisitaatti,html body.page-id-61 #site-content .me-sivu .me-osio.me-savy .me-as-sitaatti{background:#ffffff!important;border:1px solid #e6e2d9!important}

/* MEISTA LOGOT v5 31.10.2026: kuten etusivulla */
html body.page-id-61 #site-content .me-sivu .me-logot{gap:28px 56px!important;margin-top:32px!important}
html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{height:64px!important;max-width:190px!important;width:auto!important;object-fit:contain!important;filter:none!important;opacity:.9!important;mix-blend-mode:multiply!important}
html body.page-id-61 #site-content .me-sivu .me-logot a:hover img{opacity:1!important}
@media(max-width:768px){html body.page-id-61 #site-content .me-sivu .me-logot{gap:20px 32px!important}html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{height:48px!important;max-width:140px!important}}

/* MEISTA LOGOT v6 max-height */
html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{max-height:64px!important}
@media(max-width:768px){html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{max-height:48px!important}}

/* MEISTA LOGOT v7 yksi rivi, Ecca selkeammaksi */
html body.page-id-61 #site-content .me-sivu .me-logot{gap:24px 40px!important;flex-wrap:wrap!important}
html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{max-width:160px!important}
html body.page-id-61 #site-content .me-sivu .me-logot img[alt*="EccaNordic"]{filter:brightness(.5) contrast(1.2)!important;opacity:1!important}

/* MEISTA LOGOT v8 */
html body.page-id-61 #site-content .me-sivu .me-logot img[alt*="EccaNordic"]{filter:none!important;opacity:.9!important}
html body.page-id-61 #site-content .me-sivu .me-logot > a{flex:0 0 auto!important;width:auto!important}
html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{width:auto!important;height:56px!important;max-height:56px!important;max-width:170px!important}
html body.page-id-61 #site-content .me-sivu .me-logot{gap:24px 44px!important}

/* MEISTA LOGOT v9 yhteen riviin */
html body.page-id-61 #site-content .me-sivu .me-logot{gap:24px 32px!important;justify-content:space-between!important}
html body.page-id-61 #site-content .me-sivu .me-logot img,html body.page-id-61 #site-content .me-sivu .me-logot a img{max-width:140px!important}
@media(max-width:768px){html body.page-id-61 #site-content .me-sivu .me-logot{justify-content:flex-start!important}}

/* TYOKALUSIVUT INGRESSI LEVEYS v1 31.10.2026: ingressi koko sisältöleveydelle kuten muilla sivuilla */
html body #site-content .tk-sivu .tk-ingressi{max-width:100%;width:100%}

/* SIVUJEN INGRESSI LEVEYS v2 31.10.2026: Oppaat, Asiakastarinat ja työkalujen sisäiset ingressit koko sisältöleveydelle */
html body #site-content .op-sivu .op-ingressi, html body #site-content .tl-osio .tl-ingressi, html body #site-content .lm-ing, html body #site-content .lm-sp .ing, html body #site-content .pv .pv-ing{max-width:100%;width:100%}
