/* WordPress-sovitus prototyypin tyyleille (wc-2026.css / etusivu.css).
   Prototyypin merkintä säilyy lohkoissa; tässä vain WordPressin tuomat erot. */

/* Kirjautuneen käyttäjän hallintapalkki */
.admin-bar .site-header,.admin-bar .reading-progress{margin-top:32px}
@media (max-width:782px){.admin-bar .site-header,.admin-bar .reading-progress{margin-top:46px}}
@media (max-width:600px){.admin-bar .site-header{margin-top:0}}

/* Lohkojen kääreet eivät saa tuoda omia välejä */
.wp-site-blocks>*,.wp-block-template-part{margin:0}
.wp-block-group{box-sizing:border-box}

/* Etusivu: yläpalkki on yhteisessä osassa, aloitus sisällössä */
.on-etusivu main{padding-top:0}

/* Sivun ja arkiston otsikkoalue */
.sivu-otsikko{padding-bottom:var(--wp--preset--spacing--50)}
.sivu-otsikko .standfirst{font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--wp--preset--color--ink);max-width:46rem}
.sivu-otsikko .standfirst p{margin:0}
.sivu-otsikko .tags{margin-top:1.5rem}
.tags a[aria-current]{border-color:var(--wp--preset--color--gold);background:#fff}

/* Tavallisen sivun sisältö (muunnetut sivut) */
.sivu-sisalto{padding-top:var(--wp--preset--spacing--50)}
.sivu-sisalto>.prose{max-width:60rem;margin-inline:auto}

/* Artikkelin teksti: post-content-lohkon kääre on .prose-elementin sisällä */
.prose>.wp-block-post-content{margin:0}
.prose-sisalto>*{margin-block:0 1.25rem}
.prose-sisalto>h2{margin-top:3.25rem}
.prose-sisalto>h3{margin-top:2.25rem}

/* Muunnetun sisällön yleiset osat */
.prose img{height:auto}
/* Kirjoittajakuva pysyy ympyränä myös tekstisisällön sisällä. */
.prose .author img{width:88px;height:88px;aspect-ratio:1;object-fit:cover;border-radius:50%}
.prose .aligncenter,.prose figure.aligncenter img{margin-inline:auto}
.prose .alignleft{float:left;margin:.3rem 1.5rem 1rem 0;max-width:50%}
.prose .alignright{float:right;margin:.3rem 0 1rem 1.5rem;max-width:50%}
.prose .wp-block-image{margin:2.25rem 0}
.prose .wp-block-image img{display:block}
.prose table{width:100%;border-collapse:collapse;font-size:1rem;margin:2rem 0}
.prose th,.prose td{border-bottom:1px solid var(--wp--preset--color--line);padding:.6rem .75rem;text-align:left;vertical-align:top}
.prose th{font-weight:500;color:var(--wp--preset--color--ink);background:var(--wp--preset--color--canvas)}
.prose hr{border:0;border-top:1px solid var(--wp--preset--color--line);margin:2.5rem 0}
.prose .wp-block-embed iframe,.prose iframe{max-width:100%}
.prose .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9}
.prose .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.prose .nosto{background:var(--wp--preset--color--canvas);border-left:3px solid var(--wp--preset--color--blue);padding:1.25rem 1.5rem}
.prose .nosto>*:last-child{margin-bottom:0}
.prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:1rem}
.prose .wp-block-button__link{display:inline-flex;padding:.95em 1.5em;background:var(--wp--preset--color--gold);color:var(--wp--preset--color--ink);font-weight:500;font-size:var(--wp--preset--font-size--small);text-decoration:none;border-radius:0}
.prose .wp-block-button__link:hover{background:var(--wp--preset--color--gold-hover)}
.prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:2rem}
.prose .wp-block-column{flex:1 1 14rem;min-width:0}
.prose .wp-block-column>*:last-child{margin-bottom:0}

/* Arkiston kortit kuvalla */
.arkisto-ruudukko article{border:1px solid var(--wp--preset--color--pearl);border-top:3px solid var(--wp--preset--color--blue)}
.kortti-kuva{display:block;margin:-1.5rem -1.75rem 1.25rem;aspect-ratio:16/9;overflow:hidden;background:var(--wp--preset--color--pale-blue)}
.kortti-kuva img{width:100%;height:100%;object-fit:cover}
.sivutus{margin-top:var(--wp--preset--spacing--50)}
.sivutus ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.sivutus a,.sivutus span{display:inline-block;padding:.4rem .8rem;border:1px solid var(--wp--preset--color--pearl);text-decoration:none;font-size:var(--wp--preset--font-size--small)}
.sivutus .current{background:var(--wp--preset--color--ink);color:#fff;border-color:var(--wp--preset--color--ink)}
.service-cta p a{color:var(--wp--preset--color--blue)}

/* Hakulomake */
.search-form,.wp-block-search__inside-wrapper{display:flex;gap:.5rem;max-width:32rem;margin-top:1.5rem}
.search-form label{flex:1}
.search-field,.search-form input[type=search]{width:100%;font:inherit;padding:.75rem 1rem;border:1px solid var(--wp--preset--color--pearl)}
.search-submit{font:inherit;font-weight:500;padding:.75rem 1.25rem;border:0;background:var(--wp--preset--color--gold);color:var(--wp--preset--color--ink);cursor:pointer}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Suljetun mobiilivalikon paneeli ei saa leventää sivua */
.nav-mobile:not([open]) .panel{display:none}

/* Typografian yhtenäistys (21.10.2026). Prototyypin osioihin oli kertynyt omia kokoja, joten
   johdannot, nauhat ja ingressit kasvoivat 21–26 px:iin ja versaaliotsikot 19 px:iin.
   Nyt kolme tasoa: leipäteksti (medium), johdanto ja ingressi (large), otsikot (x-large / xx-large). */
.kicker,.section .kicker,.section h2.kicker,#palvelut h2.kicker,.hero .kicker,.closing .kicker,.band p.kicker,.better p.kicker,.page-hero .kicker{font-size:clamp(.8rem,.78rem + .1vw,.875rem);line-height:1.5;letter-spacing:.1em}
.section-head p.section-description,.section .section-description,.section h2.section-description,.service-problems,.better p,.better .ruori-teksti p,.band p,.band.is-compact p,
.lead,.hero .lead,.hero .hero-detail,.problem .lead,.page-hero .lead,.standfirst,.sivu-otsikko .standfirst,.article-head .standfirst,.service-intro,.service-questions li{font-size:var(--wp--preset--font-size--large);line-height:1.6;letter-spacing:0}
.sivu-otsikko .standfirst{font-size:var(--wp--preset--font-size--medium);line-height:1.7;max-width:44rem}
.page-hero .question{font-size:clamp(1.15rem,1.05rem + .4vw,1.4rem);line-height:1.45}
.quote blockquote p,.quote.is-large blockquote p,.quotes.is-compact .quote blockquote p{font-size:var(--wp--preset--font-size--medium);line-height:1.65}
.prose blockquote{font-size:var(--wp--preset--font-size--large);line-height:1.55}
.hero h1{font-size:clamp(2.1rem,1.5rem + 1.8vw,3rem)}
.editorial h2:not(.kicker):not(.section-description),.guide-section h2:not(.kicker):not(.section-description),#palvelut h2:not(.kicker),.problem h2,.training-head h2,.section-head h2:not(.kicker):not(.section-description){font-size:var(--wp--preset--font-size--x-large);letter-spacing:-.02em}
.way h3{font-size:clamp(1.35rem,1.2rem + .5vw,1.6rem);line-height:1.25}
.posts a{font-size:var(--wp--preset--font-size--medium)}
/* Yhteydenottolomake [wc_yhteydenotto] */
.yhteyslomake{max-width:34rem;margin:2rem 0}
.yhteyslomake p{margin:0 0 1.1rem}
.yhteyslomake label{display:block;font-size:var(--wp--preset--font-size--small);font-weight:500;color:var(--wp--preset--color--ink);margin-bottom:.35rem}
.yhteyslomake label span{font-weight:400;color:var(--wp--preset--color--muted)}
.yhteyslomake input,.yhteyslomake textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;padding:.8rem 1rem;border:1px solid #8B8B8D;border-radius:0;color:var(--wp--preset--color--ink);background:#fff}
.yhteyslomake input:focus,.yhteyslomake textarea:focus{outline:2px solid var(--wp--preset--color--gold);outline-offset:1px}
.yhteyslomake .fineprint{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted)}
.yhteyslomake-virhe{padding:.8rem 1rem;border-left:3px solid #A33;background:#FBEFEF;color:var(--wp--preset--color--ink)}
.yl-ansa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Referenssit, yhteydenotto ja oppaiden tilaussivut (21.10.2026). */
.page-intro .wrap{padding-block:1rem}
.page-intro h1,.page-intro .lead{max-width:54rem}
.page-intro .crumbs{margin-bottom:2rem}
.page-intro .lead{margin-bottom:1.75rem}
.reference-logos{background:var(--wp--preset--color--light-sand);padding-block:3rem}
.reference-logos .logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 3rem;list-style:none;margin:2rem 0 0;padding:0;align-items:center}
.reference-logos .logos li{display:flex;justify-content:center;min-width:0}
.reference-logos .logos img{width:calc(var(--w)*1px);max-width:100%;height:44px;object-fit:contain;filter:brightness(0);opacity:.75}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.story-card{border:1px solid var(--wp--preset--color--pearl);background:#fff;min-width:0}
.story-card>figure{margin:0}
.story-card>figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story-body{padding:1.75rem}
.story-body h3{font-size:var(--wp--preset--font-size--large);line-height:1.35;min-height:3em}
.story-body p{font-size:var(--wp--preset--font-size--medium)}
.story-body .story-label{font-weight:500;color:var(--wp--preset--color--ink);margin-bottom:.35rem}
.story-body .fineprint{font-size:var(--wp--preset--font-size--small)}
.more-stories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.more-story{border-top:3px solid var(--wp--preset--color--blue);padding-top:1.5rem}
.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:2rem;align-items:start}
.feedback-grid>.wp-block-quote{margin:0;border:0;border-left:3px solid var(--wp--preset--color--gold);padding:0 0 0 1.5rem}
.feedback-grid>.wp-block-quote p,.feedback-grid>.wp-block-quote li{font-size:var(--wp--preset--font-size--medium);line-height:1.7}
.feedback-grid>.wp-block-quote p:last-child{font-size:var(--wp--preset--font-size--small);margin-bottom:0}
.feedback-grid>.wp-block-quote p:last-child strong{font-weight:500}
.contact-layout,.guide-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact-layout>* , .guide-layout>*{min-width:0}
.contact-person{background:var(--wp--preset--color--canvas);padding:2rem}
.contact-person figure{margin:0 0 2rem}
.contact-person figure img{width:100%;max-height:25rem;object-fit:contain;object-position:bottom;background:var(--wp--preset--color--pale-blue)}
.contact-person a{overflow-wrap:anywhere}
.contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;padding-left:1.5rem}
.contact-steps li{padding-left:.5rem}
.contact-steps h3{font-size:var(--wp--preset--font-size--large)}
.guide-order{border:1px solid var(--wp--preset--color--pearl);border-top:7px solid var(--wp--preset--color--gold);padding:clamp(1.25rem,3vw,2.5rem);background:#fff;scroll-margin-top:7rem}
.guide-cover{margin:0 0 2rem}
.guide-cover img{width:100%;max-width:18rem;max-height:21rem;object-fit:contain;margin-inline:auto}
.guide-order .fineprint{font-size:var(--wp--preset--font-size--small);line-height:1.6;margin-top:1.5rem}
.guide-description ul{padding-left:1.5rem}
.guide-description li{margin-bottom:1rem}
/* Convert Pron kiinteä piirtoalue muutetaan vain tilaussivun kortissa tavalliseksi
   lomakevirraksi. Kenttien nimet, suostumustekstit, painike ja AC-kytkennät säilyvät. */
.guide-order .cp-popup-container,.guide-order .cp-popup-wrapper,.guide-order .cp-popup,.guide-order .cpro-form,
.guide-order .cp-popup-content,.guide-order .cpro-form-container{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;transform:none!important;position:relative!important;inset:auto!important;margin:0!important;padding:0!important;float:none!important;background:transparent!important}
.guide-order .cpro-form-container{display:flex!important;flex-direction:column;gap:1.1rem}
.guide-order .cp-field-html-data{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;transform:none!important}
.guide-order .cp-field-html-data[data-type="cp_heading"],.guide-order .cp-field-html-data[data-type="cp_image"]{display:none!important}
.guide-order .cp-field-html-data[data-type="cp_text"]{order:1}
.guide-order .cp-field-html-data[data-type="cp_email"]{order:2}
.guide-order .cp-field-html-data[data-type="cp_checkbox"]{order:3}
.guide-order .cp-field-html-data[data-type="cp_gradient_button"]{order:4}
.guide-order .cp-field-html-data>.cp-sr-only{position:static!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;display:block!important;font:inherit;font-size:var(--wp--preset--font-size--small);margin-bottom:.35rem}
.guide-order .cp-field-html-data input:not([type="checkbox"]){box-sizing:border-box!important;position:static!important;width:100%!important;height:auto!important;padding:.8rem 1rem!important;border:1px solid #8B8B8D!important;border-radius:0!important;font:inherit!important;color:var(--wp--preset--color--ink)!important;background:#fff!important}
.guide-order .cp-checkbox-fieldset{border:0!important;margin:0!important;padding:0!important;min-width:0}
.guide-order .cp-checkbox-field,.guide-order .cp_checkbox_label{position:static!important;width:auto!important;height:auto!important;white-space:normal!important;font:inherit!important;font-size:var(--wp--preset--font-size--small)!important;line-height:1.6!important}
.guide-order .cp_checkbox_label{display:block!important}
/* CP piirtää ruudun itse (appearance:none), ja automaattinen korkeus litisti sen viivaksi: selaimen oma ruutu. */
.guide-order .cp_checkbox_label input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:1.15rem!important;height:1.15rem!important;min-width:1.15rem;margin:0 .6rem 0 0!important;vertical-align:-.2rem;accent-color:var(--wp--preset--color--gold-text)}
.guide-order .cp-rotate-wrap{transform:none!important;position:static!important;height:auto!important}
.guide-order .cp-field-html-data button{position:static!important;width:100%!important;height:auto!important;border:0!important;border-radius:0!important;padding:1rem 1.5rem!important;font:inherit!important;font-weight:500!important;color:var(--wp--preset--color--ink)!important;background:var(--wp--preset--color--gold)!important;cursor:pointer}
.guide-order .cp-field-html-data button:hover{background:var(--wp--preset--color--gold-hover)!important}
.guide-order .cp-field-html-data :is(input,button):focus-visible{outline:2px solid var(--wp--preset--color--gold-text)!important;outline-offset:3px}
/* Artikkelin opaslomake (inc/opaslomake.php): kansi ja sama lomakekortti kuin tilaussivulla. */
.guide-inline{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start;margin:2.5rem 0}
.guide-inline-cover img{display:block;width:100%;height:auto}
.guide-inline .guide-order .kicker{margin-bottom:.5rem}
.guide-inline-title{font-size:clamp(1.3rem,1.15rem + .6vw,1.7rem);line-height:1.25;margin:0 0 .75rem;color:var(--wp--preset--color--ink)}
@media(max-width:700px){.guide-inline{grid-template-columns:1fr}.guide-inline-cover{max-width:8rem}}
.guide-service{max-width:52rem}
@media(max-width:1000px){.story-grid{grid-template-columns:1fr}.story-body h3{min-height:0}.story-card>figure img{max-height:25rem;object-position:center}}
@media(max-width:900px){.contact-layout,.guide-layout,.feedback-grid,.more-stories,.contact-steps{grid-template-columns:1fr}.contact-person{padding:1.5rem}.contact-person figure img{max-height:20rem}}
@media(max-width:640px){.reference-logos .logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.reference-logos .logos img{height:34px}}

/* Pääotsikot hillitymmiksi (21.10.2026): oppaat, referenssit, yhteydenotto
   ja CV (sivu ID 2). Artikkelit sekä sivu-/arkisto-otsikot wc-2026.css:ssä.
   Etusivun ja palvelu-/koulutussivujen aloitusten koko säilyy ennallaan. */
.page-intro h1,.page-id-2 .page-hero h1{font-size:clamp(2rem,1.4rem + 1.2vw,2.5rem);line-height:1.2}

/* Tunnistehaun ilmoitus näkyy myös Convert Pron kiinteässä piirtoalueessa. */
.cpro-form .wc-opas-tila{position:absolute!important;inset:auto .5rem .5rem!important;z-index:1000;margin:0!important;padding:.75rem!important;background:#fff!important;color:#131E27!important;border:1px solid #8F6800;font-size:1rem!important;line-height:1.5!important;pointer-events:none}
.cpro-form .wc-opas-tila:empty{display:none!important}
.guide-order .cpro-form .wc-opas-tila{position:static!important;margin-top:1rem!important}
.yhteyslomake-tila:empty{display:none}

/* Yritystiedot yhteiseen alatunnisteeseen. */
.site-footer .wrap.footer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:2rem 3rem;padding-block:2.5rem 1.5rem}
.footer-layout>div,.footer-layout>nav{min-width:0}
.site-footer .footer-company-name{font-size:1.1rem;font-weight:400;color:var(--wp--preset--color--on-dark);margin:0 0 .65rem}
.site-footer address{font-style:normal;line-height:1.8}
.site-footer .footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding-top:.2rem}
.site-footer .footer-contact a{max-width:100%;overflow-wrap:anywhere}
.site-footer .footer-nav{flex-direction:column;align-items:flex-start;gap:.55rem;padding-top:.2rem}
.site-footer a:hover{text-decoration:underline;text-underline-offset:.2em}
.site-footer .footer-bottom{grid-column:1/-1;border-top:1px solid rgba(239,238,233,.1);padding-top:1.25rem;font-size:.8rem}
@media(max-width:900px){.site-footer .wrap.footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem 2rem}.site-footer .footer-nav{grid-column:1/-1;flex-direction:row;gap:.75rem 1.5rem}}
@media(max-width:600px){.site-footer .wrap.footer-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.site-footer .footer-contact{padding-top:0}}

/* Oma sisällysluettelo korvaa Easy TOC:n myös alaotsikoissa. */
.toc ol ol{border-left:0;margin:.2rem 0 .4rem .8rem}
.toc ol ol a{font-size:.85rem}
.wc-toc-inline{position:static;max-width:none;margin:0 0 2rem;padding:1rem 1.25rem;background:var(--wp--preset--color--canvas)}
.wc-toc-inline summary{cursor:pointer}
.wc-toc-inline[open] summary{margin-bottom:1rem}
.wc-toc-anchor{display:block}

/* Oppaiden yhteinen esittelysivu. */
.guide-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}
.guide-library-card{display:flex;flex-direction:column;min-width:0;background:var(--wp--preset--color--canvas);border-top:3px solid var(--wp--preset--color--gold);padding:1.75rem}
.guide-library-cover{display:block;align-self:center;width:100%;max-width:17rem;margin-bottom:1.5rem}
.guide-library-cover img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.guide-library-card .guide-library-purpose{color:var(--wp--preset--color--muted);font-size:var(--wp--preset--font-size--small);line-height:1.5;margin:0 0 .65rem}
.guide-library-card h3{font-size:1.45rem;line-height:1.3;margin:0 0 1rem}
.guide-library-card h3 a{text-decoration:none}
.guide-library-card ul{padding-left:1.2rem;margin:0 0 1.75rem;font-size:var(--wp--preset--font-size--small)}
.guide-library-card li{margin-bottom:.55rem}
.guide-library-card .btn{margin-top:auto;align-self:flex-start;white-space:normal;text-align:center}
@media(max-width:1000px){.guide-library{grid-template-columns:1fr}.guide-library-card{padding:2rem}.guide-library-cover{max-width:14rem}.guide-library-card .btn{align-self:stretch}}

/* Lyhyt asiakaskommentti etusivun logojen alla. */
.customer-highlight{background:var(--surface-light-sand,var(--wp--preset--color--canvas));color:var(--wp--preset--color--ink);padding:0 0 2.5rem}
.customer-highlight figure{margin:0;border-top:1px solid rgba(19,30,39,.18);padding-top:1.75rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1rem 3rem;align-items:center}
.customer-highlight blockquote{margin:0;max-width:42rem;border-left:3px solid var(--wp--preset--color--gold);padding-left:1.25rem}
.customer-highlight blockquote p{margin:0;font-size:clamp(1.125rem,1rem + .4vw,1.375rem);font-weight:300;line-height:1.6;color:inherit}
.customer-highlight figcaption{font-size:.875rem;line-height:1.6;min-width:0}
.customer-highlight figcaption strong,.customer-highlight figcaption span{display:block}
.customer-highlight figcaption strong{font-weight:500}
.customer-highlight figcaption a{display:inline-block;margin-top:.5rem}
@media(max-width:700px){.customer-highlight figure{grid-template-columns:minmax(0,1fr);gap:1rem}.customer-highlight figcaption{padding-left:calc(1.25rem + 3px)}}

/* Viestiuudistus 21.10.2026: lyhyt asiakaskokemus ja avattava alkuperäinen palaute. */
.feedback-card{border-left:3px solid var(--wp--preset--color--gold);padding:0 0 0 1.5rem;min-width:0}
.feedback-card figure,.feedback-card blockquote{margin:0;padding:0;border:0}
.feedback-card figure blockquote p{font-size:var(--wp--preset--font-size--medium);line-height:1.65;margin:0 0 1rem}
.feedback-card figcaption{font-size:var(--wp--preset--font-size--small);line-height:1.6}
.feedback-card figcaption strong{display:block;font-weight:600}
.feedback-full{margin-top:1rem}
.feedback-full summary,.technical-details summary{cursor:pointer;font-weight:600;color:var(--wp--preset--color--ink);padding:.5rem 0;text-decoration:underline;text-underline-offset:.2em}
.feedback-full summary:focus-visible,.technical-details summary:focus-visible{outline:2px solid var(--wp--preset--color--gold);outline-offset:4px}
.feedback-full[open] summary{margin-bottom:1rem}
.feedback-full blockquote p{font-size:var(--wp--preset--font-size--small);line-height:1.7}

/* Asiakaspalaute /palaute/ (21.10.2026): paperitausta, valkoinen yhden palstan lomakealue. */
.palaute-sivu{padding-block:clamp(2rem,1rem + 4vw,5rem)}
.palaute-kortti{max-width:45rem;margin-inline:auto;background:#fff;padding:clamp(1.5rem,1rem + 2.5vw,3.5rem);box-sizing:border-box}
.palaute-kortti h1{font-size:clamp(2rem,1.4rem + 1.2vw,2.5rem);line-height:1.2;color:var(--wp--preset--color--ink);margin:0 0 1.25rem}
.palaute-kortti>p{margin:0 0 1rem}
.palautelomake{margin-top:2.5rem}
.palautelomake fieldset{border:0;padding:0;margin:0 0 2.25rem;min-width:0}
.palautelomake legend,.palaute-kysymys>label{display:block;padding:0;font-weight:600;font-size:var(--wp--preset--font-size--medium);line-height:1.45;color:var(--wp--preset--color--ink);margin:0 0 .35rem}
.palaute-kysymys{margin:0 0 2.25rem}
.palaute-nro{color:var(--wp--preset--color--gold-text)}
.palaute-vapaa{font-weight:400;color:var(--wp--preset--color--muted)}
.palaute-apu{font-size:var(--wp--preset--font-size--small);line-height:1.6;color:var(--wp--preset--color--muted);margin:0 0 .65rem}
.palautelomake textarea,.palautelomake input[type=text],.palautelomake input[type=email]{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;line-height:1.6;padding:.8rem 1rem;border:1px solid #8B8B8D;border-radius:0;color:var(--wp--preset--color--ink);background:#fff}
.palautelomake textarea{min-height:8rem;resize:vertical}
.palautelomake :is(textarea,input):focus-visible{outline:2px solid var(--wp--preset--color--gold);outline-offset:1px}
.palaute-rivi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}
.palaute-rivi p{margin:0 0 1.1rem}
.palaute-rivi label{display:block;font-size:var(--wp--preset--font-size--small);font-weight:500;color:var(--wp--preset--color--ink);margin-bottom:.35rem}
.palaute-referenssi{margin:0 0 1rem}
.palautelomake .fineprint{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--muted);margin:0 0 1.25rem}
.palaute-ansa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.palaute-tila{margin:0 0 1rem}
.palaute-tila:empty{display:none}
.palaute-virheet{padding:1rem 1.25rem;border-left:3px solid #A33;background:#FBEFEF;color:var(--wp--preset--color--ink);margin:0 0 2rem}
.palaute-virheet:focus{outline:2px solid #A33;outline-offset:2px}
.palaute-virheet h2{font-size:var(--wp--preset--font-size--medium);margin:0 0 .5rem}
.palaute-virheet ul{margin:0;padding-left:1.25rem}
.palaute-virheet a{color:var(--wp--preset--color--ink)}
.palaute-kenttavirhe{color:#8A1F1F;font-size:var(--wp--preset--font-size--small);font-weight:500;margin:0 0 .4rem}
.palautelomake [aria-invalid=true]{border-color:#A33;border-width:2px}
.palaute-kiitos{margin-top:2rem;padding:1.5rem 1.75rem;border-left:3px solid var(--wp--preset--color--gold);background:var(--wp--preset--color--canvas)}
.palaute-kiitos:focus{outline:none}
.palaute-kiitos h2{font-size:var(--wp--preset--font-size--x-large);margin:0 0 .75rem;color:var(--wp--preset--color--ink)}
.palaute-kiitos p{margin:0 0 .75rem}
.palaute-allekirjoitus{font-weight:500;color:var(--wp--preset--color--ink)}
@media(max-width:640px){.palaute-rivi{grid-template-columns:1fr}.palaute-sivu{padding-inline:0}.palaute-kortti{padding:1.5rem 16px}}

/* Palvelujen ja koulutusten koontisivu */
.service-jumps{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:2rem}
.service-training{background:#D2DBE2}
.service-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-training .guide-library-card{background:#fff}
.service-approach{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.service-approach .ruori-kuva{margin:0}
.service-approach img{width:100%;height:auto}
@media(max-width:1000px){.service-training-grid,.service-approach{grid-template-columns:1fr}.service-approach .ruori-kuva{max-width:36rem;margin:auto}}

/* Yhteydenottosivun toimistokuva ja osoite */
.contact-office{padding-top:0}
.contact-office-layout{display:grid;grid-template-columns:minmax(0,454px) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.contact-office-layout figure{margin:0}
.contact-office-layout img{display:block;width:100%;height:auto}
@media(max-width:700px){.contact-office-layout{grid-template-columns:1fr}.contact-office-layout figure{max-width:454px}}
/* Yhteydenottosivun aloitus: rajattu kuva aloitusosiossa, yhteystietokortti ilman kuvaa (21.10.2026) */
/* Valo kuvan takana, tummenee reunoja kohti. Kuva ja valokeila ovat oikeassa reunassa. */
.page-intro.has-portrait{padding-block:clamp(1.5rem,3vw,2.5rem) 0;overflow:hidden;background:radial-gradient(ellipse 38% 95% at 82% 78%,rgba(108,152,184,.55) 0%,rgba(57,88,111,.35) 45%,rgba(31,50,66,0) 100%),linear-gradient(120deg,#2B4558 0%,#1C2E3D 45%,#111C26 100%)}
.page-intro.has-portrait .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:clamp(2rem,5vw,5rem);align-items:end;padding-bottom:0}
.page-intro.has-portrait .intro-text{align-self:center;padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.page-intro.has-portrait .crumbs{margin-bottom:1.25rem}
.page-intro.has-portrait .lead{margin-bottom:0}
.intro-portrait{margin:0;position:relative;align-self:end}
.intro-portrait::before{content:"";position:absolute;inset:4% -18% -10%;background:radial-gradient(closest-side,rgba(150,186,212,.45),rgba(82,125,156,.15) 60%,rgba(82,125,156,0))}
.intro-portrait img{position:relative;display:block;width:100%;height:auto;max-height:24rem;object-fit:contain;object-position:bottom}
.contact-person{border-top:3px solid var(--wp--preset--color--gold)}
.contact-person .kicker{margin:0 0 .5rem}
.contact-person h2{margin-top:0}
@media(max-width:900px){.page-intro.has-portrait .wrap{grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:1.5rem}}
@media(max-width:640px){.page-intro.has-portrait .wrap{grid-template-columns:1fr}.page-intro.has-portrait .intro-text{padding-bottom:.5rem}.intro-portrait{width:min(70%,16rem);justify-self:center}}
/* Sähköpostiosoite tekstinä (niklas at …) roskapostin vähentämiseksi; sama väri kuin viereisillä linkeillä. */
.closing .contact .sahkoposti{color:#fff}
.sahkoposti{overflow-wrap:anywhere}
/* Yhteydenottosivun Näin aloitetaan -osio tiiviimpänä kuin tavallinen osio. */
.section.contact-start{padding-block:var(--wp--preset--spacing--50)}
.contact-start .section-head{margin-bottom:var(--wp--preset--spacing--40)}
.contact-start .contact-steps{margin:0}
.contact-start .contact-steps h3{margin-top:0;margin-bottom:.5rem}
.contact-start .contact-steps p{margin-bottom:0}

/* Tiivis asiakaskommentti juuri ennen yhteydenottolomaketta. */
.contact-quote{margin:0 0 2rem;border-left:3px solid var(--wp--preset--color--gold);padding-left:1.25rem}
.contact-quote blockquote{margin:0 0 .65rem}
.contact-quote figcaption{color:var(--wp--preset--color--muted)}

/* Oppaiden läpinäkyvät kansikuvat sivujen alussa. */
.page-intro.has-guide-cover{padding-block:clamp(1rem,2vw,1.75rem)}
.page-intro.has-guide-cover .crumbs{margin-bottom:1rem}
.page-intro.has-guide-cover .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;isolation:isolate;padding-block:0}
.guide-intro-text{min-width:0}
.guide-intro-cover{margin:0;width:100%;max-width:29rem;justify-self:center}
.guide-intro-cover img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.page-intro.has-guide-cover .wrap{grid-template-columns:1fr;gap:1rem}.guide-intro-cover{max-width:20rem}}

/* Klikattavat opaskannet säilyttävät kuvan oman asettelun. */
.guide-image-link{display:block}
.guide-section .cover>.guide-image-link{width:100%;height:100%}
.guide-image-link:focus-visible{outline:3px solid var(--wp--preset--color--gold);outline-offset:4px}

/* KOKEILU 23.10.2026: W-symboli himmeänä etusivun aloituksen taustalla, oikeassa reunassa (Niklaksen valinta).
   Vertailu ilman symbolia: ?symboli=pois. */
.hero{position:relative;isolation:isolate;overflow:clip}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url(../kuvat/wc-symboli-tausta.svg) no-repeat center/contain;aspect-ratio:359/360;
  height:150%;right:-12%;bottom:-8%;opacity:.045}
html[data-symboli="pois"] .hero::before,html[data-symboli="pois"] .service-title::before{content:none}
@media(max-width:760px){.hero::before{height:auto;width:115%;right:-45%;bottom:-10%;opacity:.04}}

/* KOKEILU 23.10.2026: sama W-symboli palvelukorttien sinisessä otsikkoalueessa (etusivu, palvelukoonti ym.). */
.service-title{position:relative;isolation:isolate;overflow:hidden}
.service-title::before{content:"";position:absolute;z-index:-1;pointer-events:none;background:url(../kuvat/wc-symboli-tausta.svg) no-repeat center/contain;aspect-ratio:359/360;
  height:170%;right:-8%;bottom:-40%;opacity:.07}

/* Yhteinen palvelupolku — 23.10.2026 */
.wc-journey{margin:2rem 0 2.5rem;color:#131e27}
.wc-journey .wc-journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;list-style:none;padding:0;margin:0}
.wc-journey-steps>li{position:relative;margin:0;min-width:0}
.wc-journey-steps>li:not(:last-child)::after{content:'→';position:absolute;right:-1.65rem;top:2.1rem;color:#527d9c;font-size:1.5rem}
.wc-journey-steps a{display:flex;flex-direction:column;align-items:flex-start;height:100%;box-sizing:border-box;padding:1.3rem 1.4rem;border-top:3px solid #527d9c;background:#eef1f3;text-decoration:none;color:#131e27;transition:background .15s}
.wc-journey-steps a:hover{background:#d2dbe2}
.wc-journey-steps a:focus-visible{outline:3px solid #8f6800;outline-offset:4px}
.wc-journey-steps a[aria-current="page"]{border-top-color:#ca9200;background:#e6edf1}
.wc-journey-number{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#395b73;color:white;font-size:.9rem;font-weight:600;margin-bottom:.8rem}
.wc-journey-title{font-size:1.15rem;line-height:1.3;font-weight:600;margin-bottom:.5rem}
.wc-journey-description{font-size:.95rem;line-height:1.5;color:#3e4246}
.wc-journey .wc-journey-note{font-size:.9rem;line-height:1.5;color:#5e6268;margin:1rem 0 0;max-width:none}
.wc-ai-roadmap{background:#eef1f3}
@media(max-width:700px){.wc-journey .wc-journey-steps{grid-template-columns:1fr;gap:1.8rem}.wc-journey-steps>li:not(:last-child)::after{content:'↓';left:2.25rem;right:auto;top:auto;bottom:-1.7rem}.wc-journey-steps a{padding:1.1rem 1.25rem}.wc-journey-number{margin-bottom:.55rem}}

/* Palvelupolku osana varsinaisia palvelukortteja — 23.10.2026 */
.wc-service-path .wc-service-number{display:inline-grid;place-items:center;width:2rem;height:2rem;margin:0 .65rem .2rem 0;border:1px solid currentColor;border-radius:50%;font-size:.8rem;line-height:1;vertical-align:middle;flex-shrink:0}
.wc-service-path .service-title{min-height:0;padding:1.25rem 1.5rem;transition:background .2s}
.wc-service-path .service-title h3{font-size:clamp(1.3rem,1.6vw,1.6rem);line-height:1.35}
.wc-service-path .service-body{padding:1.5rem;transition:background .2s}
.wc-service-path .service:hover .service-title,.wc-service-path .service:focus-within .service-title{background:#527d9c}
.wc-service-path .service:hover .service-body,.wc-service-path .service:focus-within .service-body{background:#eef1f3}
.wc-service-path .guide-library-card{transition:background .2s}
.wc-service-path .guide-library-card:hover,.wc-service-path .guide-library-card:focus-within{background:#d2dbe2}
.wc-service-path .guide-library-card .wc-service-number{color:#395b73}
.wc-journey .wc-journey-steps a{flex-direction:row;align-items:center;gap:.75rem;padding:.85rem 1rem}
.wc-journey .wc-journey-number{width:2rem;height:2rem;flex-shrink:0;margin:0}
.wc-journey .wc-journey-title{font-size:1rem;margin:0}
.wc-journey .wc-journey-steps>li:not(:last-child)::after{top:.8rem}
@media(max-width:700px){.wc-journey .wc-journey-steps>li:not(:last-child)::after{top:auto}}
@media(prefers-reduced-motion:reduce){.wc-service-path .service-title,.wc-service-path .service-body,.wc-service-path .guide-library-card{transition:none}}

/* Palveluotsikot linkkeinä, yhtenäinen perusväri. */
.wc-service-path .service.is-continuation .service-title{background:var(--wp--preset--color--blue)}
.wc-service-path .service.is-continuation:hover .service-title,.wc-service-path .service.is-continuation:focus-within .service-title{background:#527d9c}
.wc-service-path h3 a,.wc-service-path h3 a:visited{color:inherit;text-decoration:none}
.wc-service-path h3 a:focus-visible{outline:2px solid currentColor;outline-offset:5px}

/* Nykyinen palvelu erottuu sekä värillä että tekstillä. */
.wc-journey a[aria-current="page"]{box-shadow:inset 0 0 0 1px #ca9200}
.wc-journey a[aria-current="page"] .wc-journey-number{background:#395b73;color:#f3c65c;font-weight:700}
.wc-journey-current{display:block;margin-top:.2rem;font-size:.75rem;font-weight:600;line-height:1.3;color:#8f6800}

/* Kaikki kolme palvelua myös palvelusivujen jatko-osiossa. */
.wc-service-path .is-current-service .wc-service-number{color:#f3c65c;border-color:#f3c65c;background:rgba(19,30,39,.25);font-weight:700}
.wc-service-path .is-current-service .service-body{background:#f5f1e8}

/* CIO-palvelun johtamisvastuu: kaikki kappaleet samalla valkoisella. */
.band:has(#rooli) p{color:#fff}
