/* FORCEO – You got it.  Brändi: Dark Teal, Green, Mint, Frosted Blue, Beige · Plus Jakarta Sans */
:root{
  --teal:#0D3E4D; --teal-2:#145466; --deep:#04161C; --green:#20A264; --green-hi:#4AE59B;
  --mint:#93FAC8; --frost:#9AE3F4; --beige:#F8F9E2; --paper:#F7F7F7;
  --bg:#F7F7F7; --bg-alt:#F8F9E2; --surface:#FFFFFF; --text:#0D3E4D; --muted:#4A6770;
  --line:rgba(13,62,77,.14); --link:#137046; --mark:#20A264; --for:#0D3E4D;
  --btn-bg:#0D3E4D; --btn-ink:#F7F7F7; --chip:#E9F5EF;
  --on-dark:#F7F7F7; --on-dark-2:rgba(247,247,247,.74); --dark-line:rgba(154,227,244,.22);
  --r-l:24px; --r:16px; --r-s:10px;
  --wrap:1240px; --gut:clamp(20px,4.5vw,56px);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#072933; --bg-alt:#0A3240; --surface:#0D3E4D; --text:#EAF4F1; --muted:#A8C3C5;
    --line:rgba(147,250,200,.16); --link:#93FAC8; --mark:#93FAC8; --for:#F7F7F7;
    --btn-bg:#93FAC8; --btn-ink:#0D3E4D; --chip:#0F4757; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#072933; --bg-alt:#0A3240; --surface:#0D3E4D; --text:#EAF4F1; --muted:#A8C3C5;
  --line:rgba(147,250,200,.16); --link:#93FAC8; --mark:#93FAC8; --for:#F7F7F7;
  --btn-bg:#93FAC8; --btn-ink:#0D3E4D; --chip:#0F4757; color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 88px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--teal)}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--green-hi);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--mint);color:var(--teal);padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:780px}

/* ---------- typografia ---------- */
h1,h2,h3,h4{margin:0;font-weight:500;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(2.5rem,5.6vw,4.75rem);letter-spacing:-.04em;line-height:1.02}
h2{font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:-.032em}
h3{font-size:1.375rem;font-weight:600;letter-spacing:-.015em;line-height:1.25}
h4{font-size:1.0625rem;font-weight:600;letter-spacing:0}
p{margin:0}
.lead{font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.55;color:var(--muted);max-width:62ch}
.pname{font-weight:600;color:var(--green);font-size:1rem;letter-spacing:0}
.stack>*+*{margin-top:1rem}
.stack-l>*+*{margin-top:1.5rem}
.muted{color:var(--muted)}

/* ---------- osiot ---------- */
.s{padding:clamp(72px,10vw,136px) 0;position:relative}
.s-tight{padding:clamp(48px,6vw,80px) 0}
.s-alt{background:var(--bg-alt)}
.s-head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px);max-width:820px}
.dark,.s-dark{background:linear-gradient(135deg,var(--teal) 0%,#0A3340 58%,var(--deep) 100%);color:var(--on-dark);
  --text:#F7F7F7;--muted:rgba(247,247,247,.74);--line:var(--dark-line);--link:var(--mint);--btn-bg:var(--mint);--btn-ink:var(--teal);
  --mark:var(--mint);--for:var(--paper);--surface:rgba(20,84,102,.55);--chip:#145466}
.s-dark .pname,.dark .pname{color:var(--mint)}
.s-green{background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;
  --text:#062019;--muted:rgba(6,32,25,.78);--line:rgba(6,32,25,.18);--link:#062019;--btn-bg:var(--teal);--btn-ink:var(--paper);--mark:var(--teal);--for:var(--teal)}
.s-green .pname{color:var(--teal)}
.bgmark{position:absolute;pointer-events:none;color:var(--paper);opacity:.05;z-index:0}
.bgmark svg{width:100%;height:100%}
.over{position:relative;z-index:1}

/* ---------- napit ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:.85em 1.35em;border-radius:12px;
  background:var(--btn-bg);color:var(--btn-ink);font:600 1rem/1.2 var(--font);text-decoration:none;border:1.5px solid var(--btn-bg);cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(4,22,28,.6);text-decoration:none}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--text)}
.btn svg{width:18px;height:18px;flex:none}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.tlink{display:inline-flex;align-items:center;gap:.5em;font-weight:600;text-decoration:none;color:var(--link)}
.tlink:hover{text-decoration:underline}
.tile{display:inline-block;width:14px;height:8px;border-radius:2.5px;background:currentColor;transform:rotate(-30deg);flex:none}
.tlink .tile{color:var(--mark)}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--teal);color:var(--paper);--mark:var(--mint);--for:var(--paper);
  border-bottom:1px solid rgba(154,227,244,.12)}
.hdr .wrap{display:flex;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;text-decoration:none;color:inherit;flex:none}
.logo{height:30px;width:auto;overflow:visible}
.logo .m{fill:var(--mark)} .logo .f{fill:var(--for)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{color:var(--paper);text-decoration:none;font-size:.95rem;font-weight:500;padding:10px 12px;border-radius:10px;opacity:.86}
.nav a:hover,.nav a[aria-current="page"]{opacity:1;background:rgba(147,250,200,.1)}
.nav a[aria-current="page"]{color:var(--mint)}
.hdr .btn{--btn-bg:var(--mint);--btn-ink:var(--teal);min-height:44px;padding:.6em 1.1em;font-size:.95rem}
.menu-btn{display:none;margin-left:auto;background:none;border:0;color:var(--paper);width:48px;height:48px;border-radius:12px;cursor:pointer}
.menu-btn svg{width:26px;height:26px}
@media (max-width:1080px){
  .nav,.hdr .hdr-cta{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .hdr.open .nav{display:flex;position:fixed;inset:calc(76px + env(safe-area-inset-top,0px)) 0 0;flex-direction:column;align-items:stretch;
    background:var(--teal);padding:20px var(--gut) calc(40px + env(safe-area-inset-bottom,0px));gap:2px;overflow:auto}
  .hdr.open .nav a{font-size:1.35rem;padding:14px 4px;border-bottom:1px solid rgba(154,227,244,.12);border-radius:0}
  .hdr.open .nav .btn{margin-top:20px;font-size:1.05rem}
}
@media (min-width:1081px){.nav .nav-cta{display:none}}

/* ---------- hero ---------- */
.hero,.phero{position:relative}
.s,.hero,.phero,.ftr{overflow-x:clip}
.hero{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,112px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{max-width:13ch;font-size:clamp(2.4rem,4.7vw,4.15rem);hyphens:manual}
.hero .lead{margin-top:24px}
.hero .btns{margin-top:36px}
.slogan{margin-top:44px;font-size:clamp(2rem,3.4vw,2.9rem);font-weight:500;letter-spacing:-.035em;color:var(--mint);line-height:1;
  display:flex;align-items:center;gap:16px;min-height:1.1em}
.slogan .word{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.slogan.on .word{opacity:1;transform:none}
.slogan.on .word:nth-child(2){transition-delay:.12s}.slogan.on .word:nth-child(3){transition-delay:.24s}
.no-js .slogan .word,.rm .slogan .word{opacity:1;transform:none}
.hero-bg{position:absolute;right:-6%;top:-12%;width:58%;height:130%;opacity:.06;color:var(--paper);pointer-events:none}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.hero h1{max-width:16ch}.hero-bg{width:110%;right:-40%}}

/* pöytä: sotku siivoutuu kasvukyvyn osa-alueiksi */
.desk{position:relative;border-radius:var(--r-l);background:rgba(4,22,28,.38);border:1px solid var(--dark-line);padding:22px;
  box-shadow:0 40px 80px -50px rgba(0,0,0,.7)}
html:not(.no-js) .desk:not(.ready) .desk-cols{opacity:0}
.desk-top{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;min-height:46px}
.desk-label{font-size:.92rem;color:var(--on-dark-2);font-weight:500}
.desk-label b{color:var(--paper);font-weight:600}
.desk-btn{background:var(--mint);border:0;color:var(--teal);border-radius:12px;padding:11px 16px;font:600 .95rem var(--font);cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;box-shadow:0 0 0 0 rgba(147,250,200,.55);animation:pulse 2.4s ease-out 2s infinite}
.desk-btn:hover{transform:translateY(-1px)}
.desk-btn svg{width:17px;height:17px}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(147,250,200,.5)}70%{box-shadow:0 0 0 14px rgba(147,250,200,0)}100%{box-shadow:0 0 0 0 rgba(147,250,200,0)}}
.desk-done{display:none;font-size:1.5rem;font-weight:500;letter-spacing:-.03em;color:var(--mint)}
.desk.done .desk-done{display:block;animation:rise .6s var(--ease)}
.desk-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transition:opacity .3s}
.dcol{display:flex;flex-direction:column;gap:8px}
.dlist{list-style:none;margin:0;padding:0;display:contents}
.dcol .dh{font-size:1rem;font-weight:600;color:var(--paper);display:flex;align-items:center;gap:8px;margin-bottom:4px;transition:opacity .6s var(--ease) .5s}
.dcol .dh .tile{color:var(--c)}
.chip{position:relative;display:flex;align-items:flex-start;gap:9px;padding:11px 12px;border-radius:12px;background:#11495A;
  border:1px solid rgba(147,250,200,.28);color:var(--paper);font-size:.86rem;line-height:1.3;font-weight:500;
  transition:transform 1.05s var(--ease),background .6s,border-color .6s,color .6s,box-shadow .6s,border-radius .6s;will-change:transform;z-index:1}
.chip>.tile{width:11px;height:6px;margin-top:.45em;color:var(--c);transition:opacity .5s}
.chip .txt{display:grid}
.chip .txt>span{grid-area:1/1;transition:opacity .45s}
.chip .t-mess{opacity:0}
.chip.m{background:#F8F9E2;color:#0D3E4D;border-color:rgba(13,62,77,.12);border-radius:4px;box-shadow:0 16px 26px -14px rgba(0,0,0,.8)}
.chip.m>.tile{opacity:0}
.chip.m .t-mess{opacity:1}
.chip.m .t-ok{opacity:0}
.chip.m:nth-child(3n){background:#9AE3F4}
.chip.m:nth-child(4n+1){background:#FFFFFF}
.chip.m>.txt{animation:drift 5.5s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -0.7s)}
.desk.messy .dcol .dh{opacity:0;transition-delay:0s}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(2px,-4px)}}
.c-johtaminen{--c:#93FAC8}.c-kasvu{--c:#9AE3F4}.c-kannattavuus{--c:#F8F9E2}
@media (max-width:640px){
  .desk{padding:16px}
  .desk-cols{grid-template-columns:1fr;gap:18px}
  .dcol{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .dcol .dh{grid-column:1/-1}
}
/* ---------- logorivi ---------- */
.logos{padding:34px 0;background:var(--deep);color:var(--on-dark-2)}
.logos .wrap{display:flex;align-items:center;gap:clamp(20px,3vw,48px);flex-wrap:wrap}
.logos p{font-size:.9rem;font-weight:500;color:rgba(247,247,247,.62);flex:none}
.logos ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(20px,3vw,40px);flex-wrap:wrap;flex:1 1 640px;justify-content:space-between}
.logos img{height:22px;width:auto;opacity:.8}
.logos li.sq img{height:34px}

/* ---------- polkujen valinta ---------- */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.path{position:relative;border-radius:var(--r-l);overflow:hidden;color:var(--on-dark);isolation:isolate;
  background:linear-gradient(135deg,var(--teal),#0A3340 70%,var(--deep));min-height:600px;
  --text:#F7F7F7;--muted:rgba(247,247,247,.74);--btn-bg:var(--mint);--btn-ink:var(--teal);--mark:var(--mint)}
.path.alt{background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;--text:#062019;--muted:rgba(6,32,25,.78);--btn-bg:var(--teal);--btn-ink:var(--paper);--mark:var(--teal)}
.path .ph{position:absolute;right:-3%;bottom:0;width:44%;max-width:330px;z-index:-1}
.path .pc{padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;gap:16px;max-width:62%;min-height:100%}
.path .who{font-weight:600;font-size:.95rem;color:var(--mint)}
.path.alt .who{color:var(--teal)}
.path h3{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.08}
.path p{opacity:.88}
.path .btn{align-self:flex-start;margin-top:auto}
@media (max-width:980px){.paths{grid-template-columns:1fr}.path{min-height:0}.path .pc{max-width:64%}.path .ph{width:40%}}
@media (max-width:560px){.path .pc{max-width:none;padding-bottom:220px}.path .ph{width:56%;right:0}}
/* askeleet */
.flow{list-style:none;margin:4px 0 8px;padding:0;counter-reset:f;display:grid;gap:14px}
.flow li{counter-increment:f;display:grid;grid-template-columns:34px 1fr;gap:2px 12px;align-items:start}
.flow li::before{content:counter(f);grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:.9rem;
  background:rgba(147,250,200,.16);color:var(--mint)}
.path.alt .flow li::before,.s-green .flow li::before{background:rgba(13,62,77,.14);color:var(--teal)}
.flow b{font-weight:600;line-height:1.3}
.flow span{font-size:.94rem;color:var(--muted);line-height:1.45}
.flow.big{gap:18px}.flow.big b{font-size:1.15rem}
.hero-flow{border-radius:var(--r-l);padding:clamp(22px,3vw,32px);background:rgba(4,22,28,.35);border:1px solid var(--dark-line);align-self:center}
.s-green .hero-flow{background:rgba(255,255,255,.28);border-color:rgba(6,32,25,.14)}
.hero-flow .small{margin-bottom:14px;font-weight:600}
.step-no{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--green);font-size:.95rem}
.step-no::before{content:"";width:14px;height:8px;border-radius:2.5px;background:currentColor;transform:rotate(-30deg)}
.dark .step-no{color:var(--mint)}
.switch{background:var(--deep);color:var(--on-dark-2);font-size:.95rem;padding:14px 0}
.switch a{color:var(--mint);font-weight:600;margin-left:6px}
/* valinta herossa */
.choose{margin-top:36px}
.choose-q{font-weight:600;margin-bottom:12px;color:var(--text)}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:560px}
.choice{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:16px;text-decoration:none;color:var(--text);
  border:1.5px solid var(--line);background:rgba(4,22,28,.28);transition:border-color .25s,background .25s,transform .3s var(--ease)}
.choice:hover{border-color:var(--mint);background:rgba(147,250,200,.08);transform:translateY(-2px);text-decoration:none}
.choice .c-k{font-size:1.3rem;font-weight:600;letter-spacing:-.015em;display:flex;align-items:center;gap:10px}
.choice .c-k::after{content:"";width:14px;height:8px;border-radius:2.5px;background:var(--mint);transform:rotate(-30deg);margin-left:auto;transition:transform .3s var(--ease)}
.choice:hover .c-k::after{transform:rotate(-30deg) translateX(4px)}
.choice .c-s{font-size:.9rem;color:var(--muted)}
@media (max-width:480px){.choices{grid-template-columns:1fr}}
.pstart{margin-top:30px;max-width:560px}
.pstart .small{margin-bottom:10px;font-weight:600}
/* ---------- kysy FORCEO ---------- */
.ask{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:900px){.ask{grid-template-columns:1fr}}
.ask-box{border-radius:var(--r-l);background:rgba(4,22,28,.4);border:1px solid var(--dark-line);padding:clamp(18px,2.4vw,28px)}
.ask-box label{display:block;font-weight:600;margin-bottom:10px}
.ask-box textarea{width:100%;min-height:150px;resize:vertical;border-radius:14px;border:1.5px solid rgba(154,227,244,.3);background:#0A3340;color:var(--paper);
  font:500 1.08rem/1.5 var(--font);padding:16px 18px}
.ask-box textarea::placeholder{color:rgba(247,247,247,.5)}
.ask-box textarea:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 4px rgba(147,250,200,.15)}
.ask-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:14px;flex-wrap:wrap}
.ask-hint{font-size:.85rem;color:var(--on-dark-2)}
.ex{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ex button{background:transparent;border:1px solid var(--dark-line);color:var(--on-dark-2);border-radius:999px;padding:7px 13px;font:500 .85rem var(--font);cursor:pointer;text-align:left}
.ex button:hover{color:var(--mint);border-color:var(--mint)}
.answer{margin-top:18px;border-radius:18px;background:#0F4757;border:1px solid rgba(147,250,200,.3);padding:22px;display:none}
.answer.on{display:block;animation:rise .55s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.answer .cat{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--c,var(--mint))}
.answer h3{margin:8px 0 6px;font-size:1.45rem}
.answer .why{font-size:.95rem;color:var(--on-dark-2);margin-bottom:6px}
.answer .alt{margin-top:14px;padding-top:14px;border-top:1px solid var(--dark-line);font-size:.92rem;color:var(--on-dark-2)}
.answer .btns{margin-top:18px}
.answer .btn{min-height:46px;font-size:.95rem}

/* ---------- kolme kysymystä (portaat) ---------- */
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,28px);align-items:start}
.cat-col{border-top:3px solid var(--mark);padding-top:22px}
.cat-col:nth-child(2){margin-top:56px}.cat-col:nth-child(3){margin-top:112px}
.cat-col h3{font-size:1.75rem;font-weight:500;letter-spacing:-.025em}
.cat-col .q{margin:10px 0 18px;color:var(--muted);font-size:1rem}
.plist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.plist li{border-bottom:1px solid var(--line)}
.plist a{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:14px 2px;text-decoration:none;color:var(--text)}
.plist a .tile{grid-row:1/3;margin-top:.55em;color:var(--mark);transition:transform .3s var(--ease)}
.plist a:hover .tile{transform:rotate(-30deg) translateX(4px)}
.plist b{font-weight:600}
.plist span.t{font-size:.92rem;color:var(--muted);grid-column:2}
.plist a:hover b{text-decoration:underline}
.note{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line);color:var(--muted);max-width:70ch}
@media (max-width:900px){.steps3{grid-template-columns:1fr}.cat-col:nth-child(n){margin-top:0}}

/* ---------- tilannekuva-nosto, pisteet ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(3,auto);gap:10px 28px;margin:28px 0 32px;padding:20px 0;border-block:1px solid var(--line);justify-content:start}
.facts dt{font-size:.85rem;color:var(--muted);font-weight:500}
.facts dd{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.01em}
.facts div{display:flex;flex-direction:column-reverse;gap:2px}
@media (max-width:520px){.facts{grid-template-columns:1fr 1fr}}
.align{border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);padding:clamp(20px,3vw,34px)}
.align-head{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:8px}
.align-head h3{font-size:1.15rem}
.legend{display:flex;gap:14px;font-size:.82rem;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.arow{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:18px 0;border-bottom:1px solid var(--line)}
.arow:last-of-type{border-bottom:0}
.arow .lbl{font-weight:600;font-size:.98rem}
.arow .tag{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--chip);color:var(--text);opacity:0;transition:opacity .5s .9s}
.align.go .arow .tag{opacity:1}
.track{grid-column:1/-1;position:relative;height:30px}
.track::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--line);border-radius:2px}
.track .span{position:absolute;top:calc(50% - 7px);height:14px;border-radius:999px;background:rgba(32,162,100,.16);left:var(--a);width:0;transition:width 1s var(--ease) .2s}
.align.go .track .span{width:calc(var(--b) - var(--a))}
.dot{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--frost);border:2px solid var(--surface);
  transition:left 1.1s var(--ease),opacity .6s;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.dot.ceo{background:var(--green);z-index:2}
.dark .dot.ceo,:root[data-theme="dark"] .dot.ceo{background:var(--mint)}
.dot.ghost{background:transparent;border:2px dashed var(--muted);opacity:.0}
.align.go .dot{left:var(--x)}
.align.go .dot.ghost{opacity:.8}
.scale{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin-top:10px}

/* ---------- lainaus ---------- */
.quote{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(24px,5vw,72px);align-items:end}
.quote blockquote{margin:0}
.quote blockquote p{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.025em;font-weight:500}
.quote blockquote p::before{content:"”";display:block;font-size:4rem;line-height:.6;color:var(--mark);margin-bottom:10px}
.quote cite{display:flex;flex-direction:column;margin-top:28px;font-style:normal;font-weight:600}
.quote cite span{font-weight:400;color:var(--muted)}
.quote .qimg{position:relative;align-self:end;max-width:340px;justify-self:end}
.quote .qimg::before{content:"";position:absolute;inset:18% -8% 0 -8%;border-radius:var(--r-l);background:linear-gradient(135deg,var(--green-hi),var(--green));z-index:0}
.quote .qimg img{position:relative;z-index:1}
@media (max-width:780px){.quote{grid-template-columns:1fr}.quote .qimg{justify-self:start;max-width:240px}}

/* ---------- artikkelilista ---------- */
.alist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.alist li{border-bottom:1px solid var(--line)}
.alist a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 28px;padding:26px 0;text-decoration:none;color:var(--text);align-items:center}
.alist h2{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;letter-spacing:-.02em}
.alist p{color:var(--muted);font-size:.98rem;grid-column:1;max-width:72ch}
.alist .meta{grid-row:1/3;grid-column:2;font-size:.85rem;color:var(--muted);text-align:right;white-space:nowrap}
.alist a:hover h2{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.2em}
@media (max-width:640px){.alist a{grid-template-columns:1fr}.alist .meta{grid-row:auto;grid-column:1;text-align:left}}

/* ---------- UKK ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 2px;font-weight:600;font-size:1.12rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:transform .35s var(--ease),background .3s}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;border-radius:2px}
.faq summary .pm::after{transform:rotate(90deg);transition:transform .35s var(--ease)}
.faq details[open] summary .pm{background:var(--mark);border-color:var(--mark);color:var(--bg)}
.faq details[open] summary .pm::after{transform:rotate(0)}
.faq .a{padding:0 2px 24px;color:var(--muted);max-width:72ch}

/* ---------- ihmiset ---------- */
.people{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.person{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:clamp(20px,2.6vw,30px);border-radius:var(--r-l);
  background:var(--surface);border:1px solid var(--line)}
.person img{width:104px;height:104px;border-radius:50%;border:2px solid var(--mark)}
.person h3{font-size:1.3rem}
.person .role{color:var(--green);font-weight:600;font-size:.95rem;margin:2px 0 10px}
.dark .person .role{color:var(--mint)}
.person a{display:block;color:var(--text);text-decoration:none;font-size:.98rem}
.person a:hover{text-decoration:underline}
@media (max-width:780px){.people{grid-template-columns:1fr}.person img{width:84px;height:84px}}

/* ---------- sivun hero (alasivut) ---------- */
.phero{padding:clamp(48px,6vw,88px) 0 clamp(56px,7vw,96px);overflow:hidden}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:end}
.phero h1{font-size:clamp(2.3rem,4.8vw,4rem)}
.phero .lead{margin-top:22px}
.phero .btns{margin-top:32px}
.phero .pimg{max-width:420px;justify-self:end;margin-bottom:calc(-1 * clamp(56px,7vw,96px))}
@media (max-width:860px){.phero-grid{grid-template-columns:1fr}.phero .pimg{max-width:300px;justify-self:start}}
.crumbs{font-size:.88rem;margin-bottom:22px;color:var(--muted)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;opacity:.5}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--text);text-decoration:underline}

/* ---------- viikko (vieritykseen sidottu) ---------- */
.week{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;--p:0}
.week::before{content:"";position:absolute;left:0;right:0;top:22px;height:3px;background:var(--line);border-radius:3px}
.week::after{content:"";position:absolute;left:0;top:22px;height:3px;width:calc(var(--p) * 100%);background:var(--mark);border-radius:3px}
.wd{position:relative;padding:0 14px 0 0}
.wd .d{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:var(--bg);border:2px solid var(--line);
  position:relative;z-index:1;transition:background .4s,border-color .4s,color .4s}
.s-alt .wd .d{background:var(--bg-alt)}
.wd.on .d{background:var(--mark);border-color:var(--mark);color:var(--bg)}
.wd h4{margin:16px 0 6px;font-size:1rem}
.wd p{font-size:.9rem;color:var(--muted)}
.wd .t{font-size:.8rem;font-weight:600;color:var(--green);display:block;margin-top:6px}
.dark .wd .t{color:var(--mint)}
@media (max-width:900px){
  .week{grid-template-columns:1fr;gap:22px;padding-left:64px}
  .week::before{left:21px;right:auto;top:0;bottom:0;width:3px;height:auto}
  .week::after{left:21px;top:0;width:3px;height:calc(var(--p) * 100%)}
  .wd{padding:0}.wd .d{position:absolute;left:-64px;top:-6px}
  .wd h4{margin-top:0}
}

/* ---------- kortit ja listat ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
@media (max-width:980px){.grid4{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.grid2,.grid4{grid-template-columns:1fr}}
.card{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);padding:clamp(20px,2.4vw,28px)}
.card h3{font-size:1.2rem;margin-bottom:8px}
.card p{color:var(--muted);font-size:.98rem}
.card .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--chip);color:var(--mark);margin-bottom:16px}
.card .ic svg{width:22px;height:22px}
.ex-list{margin:14px 0 0;padding:14px 0 0;border-top:1px dashed var(--line);list-style:none;font-size:.92rem;color:var(--muted)}
.ex-list li+li{margin-top:8px}
.ex-list b{color:var(--text);font-weight:600}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.checks li::before{content:"";width:14px;height:8px;border-radius:2.5px;background:var(--mark);transform:rotate(-30deg);margin-top:.6em}

/* tunnistatko tilanteen */
.recog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.recog p{padding:24px 24px 24px 0;border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:500;letter-spacing:-.01em}
.recog p:nth-child(odd){border-right:1px solid var(--line)}
.recog p:nth-child(even){padding-left:24px}
@media (max-width:700px){.recog{grid-template-columns:1fr}.recog p:nth-child(n){border-right:0;padding-left:0}}

/* löydöksestä ratkaisuun / tasotaulu */
.explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:900px){.explorer{grid-template-columns:1fr}}
.fgroup+.fgroup{margin-top:22px}
.fgroup h3{font-size:1rem;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.fgroup h3 .tile{color:var(--c)}
.fbtns{display:flex;flex-wrap:wrap;gap:8px}
.fbtn{background:var(--surface);border:1.5px solid var(--line);color:var(--text);border-radius:12px;padding:10px 14px;font:500 .92rem/1.3 var(--font);cursor:pointer;text-align:left;
  transition:border-color .25s,background .25s,transform .25s var(--ease)}
.fbtn:hover{border-color:var(--mark)}
.fbtn[aria-pressed="true"]{background:var(--teal);color:var(--paper);border-color:var(--teal)}
:root[data-theme="dark"] .fbtn[aria-pressed="true"]{background:var(--mint);color:var(--teal);border-color:var(--mint)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fbtn[aria-pressed="true"]{background:var(--mint);color:var(--teal);border-color:var(--mint)}}
.panel{position:sticky;top:calc(env(safe-area-inset-top,0px) + 100px);border-radius:var(--r-l);padding:clamp(22px,3vw,34px);
  background:linear-gradient(135deg,var(--teal),#0A3340 70%,var(--deep));color:var(--paper);--text:#F7F7F7;--muted:rgba(247,247,247,.74);--line:var(--dark-line);--link:var(--mint);--btn-bg:var(--mint);--btn-ink:var(--teal);--mark:var(--mint)}
.panel .fade{animation:rise .45s var(--ease)}
.panel .pname{color:var(--mint)}
.panel h3{font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:500;letter-spacing:-.02em;margin:6px 0 10px}
.panel .ex-quote{font-size:1.15rem;font-weight:500;color:var(--frost);margin-bottom:16px;line-height:1.4}
.panel ol.prog{list-style:none;margin:18px 0 0;padding:0;counter-reset:s;display:grid;gap:12px}
.panel ol.prog li{counter-increment:s;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start}
.panel ol.prog li::before{content:counter(s);width:32px;height:32px;border-radius:10px;background:rgba(147,250,200,.14);color:var(--mint);font-weight:700;font-size:.9rem;display:grid;place-items:center}
.panel ol.prog b{display:block;font-weight:600}
.panel ol.prog span{font-size:.92rem;color:var(--muted)}
.panel dl{display:flex;flex-wrap:wrap;gap:6px 22px;margin:20px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem}
.panel dt{color:var(--muted)} .panel dd{margin:0 0 0 6px;font-weight:600}
.panel dl div{display:flex}
.panel .btns{margin-top:22px}
.panel .alt2{margin-top:16px;font-size:.92rem;color:var(--muted)}
.board{display:grid;gap:26px}
.lvl h3{font-size:1.05rem;display:flex;gap:10px;align-items:baseline;margin-bottom:12px}
.lvl h3 small{font-weight:500;color:var(--muted);font-size:.88rem}
.areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:520px){.areas{grid-template-columns:1fr 1fr}}
.area{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);
  font:600 .92rem/1.25 var(--font);cursor:pointer;text-align:left;transition:border-color .25s,transform .3s var(--ease),background .25s}
.area svg{width:22px;height:22px;color:var(--mark)}
.area:hover{border-color:var(--mark);transform:translateY(-2px)}
.area[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:var(--paper)}
.area[aria-pressed="true"] svg{color:var(--mint)}
:root[data-theme="dark"] .area[aria-pressed="true"]{background:var(--mint);color:var(--teal);border-color:var(--mint)}
:root[data-theme="dark"] .area[aria-pressed="true"] svg{color:var(--teal)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .area[aria-pressed="true"]{background:var(--mint);color:var(--teal);border-color:var(--mint)}:root:not([data-theme="light"]) .area[aria-pressed="true"] svg{color:var(--teal)}}
.area.wide{grid-column:1/-1;flex-direction:row;align-items:center}

/* hinta */
.price{border-radius:var(--r-l);padding:clamp(24px,3.4vw,40px);background:var(--surface);border:1px solid var(--line)}
.price .amt{font-size:clamp(2.6rem,5vw,3.8rem);font-weight:500;letter-spacing:-.04em;line-height:1;margin:10px 0 6px}
.price .vat{color:var(--muted);font-size:.95rem}
.guarantee{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px;border-radius:14px;background:var(--chip)}
.guarantee svg{width:26px;height:26px;color:var(--mark);flex:none}
.small{font-size:.88rem;color:var(--muted)}

/* ---------- tuotesivu ---------- */
.pfacts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pfacts span{display:inline-flex;gap:8px;align-items:center;font-size:.9rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--text)}
.pfacts b{font-weight:600}
.dark .pfacts span{border-color:var(--dark-line)}
.prose{max-width:70ch}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:2em;letter-spacing:-.025em}
.prose h3{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--green)}
.dark .prose li::marker{color:var(--mint)}
.prose strong{font-weight:650}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,80px);align-items:start}
@media (max-width:980px){.layout{grid-template-columns:1fr}}
.aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 100px);display:grid;gap:16px}
.tldr{border-left:4px solid var(--mark);background:var(--bg-alt);padding:20px 22px;border-radius:0 14px 14px 0;font-size:1.1rem;line-height:1.55}
.tldr b{display:block;font-size:.85rem;color:var(--green);margin-bottom:6px}
.dark .tldr b{color:var(--mint)}
.mini{display:block;border-radius:var(--r);padding:18px 20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--text);transition:border-color .25s}
.mini:hover{border-color:var(--mark)}
.mini small{display:block;color:var(--muted);font-size:.85rem}
.mini b{display:block;font-weight:600;margin:3px 0}
.mini span{font-size:.9rem;color:var(--muted)}
.author{display:flex;gap:16px;align-items:center;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.author img{width:64px;height:64px;border-radius:50%}
.author b{display:block}
.author span{color:var(--muted);font-size:.92rem}
.ameta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.9rem;color:var(--on-dark-2);margin-top:22px}

/* referenssit */
.logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--dark-line);border-radius:var(--r-l);overflow:hidden}
.logo-grid li{list-style:none;background:var(--teal);display:grid;place-items:center;padding:34px 20px;min-height:130px}
.logo-grid img{height:30px;width:auto;opacity:.9}
.logo-grid li.sq img{height:52px}
.logo-grid li span{font-size:.8rem;color:var(--on-dark-2);margin-top:12px}
@media (max-width:760px){.logo-grid{grid-template-columns:1fr 1fr}}
.qcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,24px)}
@media (max-width:900px){.qcards{grid-template-columns:1fr}}
.qcard{margin:0;padding:clamp(22px,2.8vw,32px);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:20px}
.qcard p{font-size:1.15rem;line-height:1.45;font-weight:500;letter-spacing:-.01em}
.qcard p::before{content:"”";color:var(--mark);font-size:2.4rem;line-height:0;vertical-align:-.35em;margin-right:4px}
.qcard footer{margin-top:auto;font-size:.92rem}
.qcard footer b{display:block}
.qcard footer span{color:var(--muted)}

/* meistä */
.bio{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--line)}
.bio img{width:200px;height:200px;border-radius:50%;border:3px solid var(--mark)}
.bio h3{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:500;letter-spacing:-.03em}
.bio .role{color:var(--green);font-weight:600;margin:6px 0 20px}
.dark .bio .role{color:var(--mint)}
.bio dl{display:grid;grid-template-columns:180px 1fr;gap:14px 24px;margin:0}
.bio dt{font-weight:600}
.bio dd{margin:0;color:var(--muted)}
.todo{display:inline-block;border:1.5px dashed var(--green);color:var(--green);border-radius:8px;padding:2px 10px;font-size:.92rem;font-weight:500}
.dark .todo{border-color:var(--mint);color:var(--mint)}
@media (max-width:760px){.bio{grid-template-columns:1fr}.bio img{width:140px;height:140px}.bio dl{grid-template-columns:1fr;gap:4px}.bio dd{margin-bottom:12px}}
.mvh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.mvh div{padding:28px 28px 28px 0}
.mvh div+div{padding-left:28px;border-left:1px solid var(--line)}
.mvh h2{font-size:1rem;color:var(--green);margin-bottom:10px}
.dark .mvh h2{color:var(--mint)}
.mvh p{font-size:1.2rem;font-weight:500;letter-spacing:-.01em;line-height:1.4}
@media (max-width:820px){.mvh{grid-template-columns:1fr}.mvh div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}}

/* ---------- footer ---------- */
.ftr{background:var(--deep);color:var(--on-dark-2);padding:clamp(64px,8vw,104px) 0 calc(40px + env(safe-area-inset-bottom,0px));--mark:var(--mint);--for:var(--paper)}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end;padding-bottom:56px;border-bottom:1px solid rgba(154,227,244,.14)}
.ftr-sign{display:flex;align-items:center;gap:clamp(18px,3vw,36px)}
.bigmark{width:clamp(72px,9vw,120px);height:auto;overflow:visible}
.bigmark .pc,.bigmark .full{fill:var(--mint)}
.ftr-sign p{font-size:clamp(2.6rem,6vw,5rem);font-weight:500;letter-spacing:-.045em;line-height:.95;color:var(--paper)}
.ftr-cta{justify-self:end;text-align:right;display:grid;gap:16px;justify-items:end}
.ftr-cta p{max-width:36ch}
.ftr-cta .btn{--btn-bg:var(--mint);--btn-ink:var(--teal)}
.ftr-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:48px 0}
.ftr-cols h2{font-size:.95rem;font-weight:600;color:var(--paper);letter-spacing:0;margin-bottom:14px}
.ftr-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a{color:var(--on-dark-2);text-decoration:none;font-size:.95rem}
.ftr a:hover{color:var(--mint);text-decoration:underline}
.ftr-bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;padding-top:24px;border-top:1px solid rgba(154,227,244,.14)}
.ftr .logo{height:26px}
@media (max-width:860px){.ftr-top{grid-template-columns:1fr}.ftr-cta{justify-self:start;text-align:left;justify-items:start}.ftr-cols{grid-template-columns:1fr 1fr}}

/* logomerkin kokoaminen */
.mk .pc{transition:transform .9s var(--ease),opacity .6s var(--ease)}
.mk .full{transition:opacity .4s ease .1s;opacity:0}
.mk.built .full{opacity:1}
.mk.built .pc{opacity:0;transition-delay:.25s}
.mk.prep .pc{opacity:0}
.mk.prep .p1{transform:translate(14px,-8px)}.mk.prep .p2{transform:translate(-12px,7px)}
.mk.prep .p3{transform:translate(18px,-10px)}.mk.prep .p4{transform:translate(-16px,9px)}
.mk:not(.prep):not(.built) .pc{opacity:1}
.mk .p2{transition-delay:.12s}.mk .p3{transition-delay:.24s}.mk .p4{transition-delay:.36s}
.no-js .mk .full,.rm .mk .full{opacity:1}.no-js .mk .pc,.rm .mk .pc{opacity:0}

/* preview-reititys */
[data-route-page][hidden]{display:none!important}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
}
.ftr a.btn,.nav a.btn{color:var(--btn-ink);opacity:1}
.ftr a.btn:hover{color:var(--btn-ink);text-decoration:none}
.path .go{justify-self:start}

.fgroup h3 .tile{color:var(--mark)}
.art-hero h1{max-width:24ch}
.desk-top{position:relative;z-index:20}
.desk-btn[hidden]{display:none}
.desk-done{white-space:nowrap}
.chip .txt{min-width:0;overflow-wrap:break-word;hyphens:auto}
.answer .choice .c-k{font-size:1.05rem}.answer .choice{padding:14px 16px}
.desk-foot{display:flex;justify-content:flex-end;margin-top:14px;min-height:38px}
.desk-again{background:transparent;border:1px solid var(--dark-line);color:var(--on-dark-2);border-radius:999px;padding:8px 14px;font:500 .88rem var(--font);cursor:pointer;animation:rise .5s var(--ease)}
.desk-again:hover{border-color:var(--mint);color:var(--mint)}
.desk-again[hidden]{display:none}
.desk-btn{white-space:nowrap}

/* ===== v3: kielet, graafit, kuvat ===== */
.hero h1{max-width:15ch;font-size:clamp(2.3rem,4.4vw,3.9rem)}
.langs{display:flex;gap:2px;padding:3px;border-radius:10px;background:rgba(147,250,200,.08);margin-left:4px}
.langs a{color:var(--paper);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:6px 8px;border-radius:7px;opacity:.7}
.langs a:hover{opacity:1}
.langs a[aria-current="true"]{background:var(--mint);color:var(--teal);opacity:1}
.langs.in-menu{display:none}
@media (max-width:1180px){
  .nav,.hdr .hdr-cta{display:none}
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .hdr .wrap>.langs{margin-left:auto}
  .menu-btn{margin-left:8px}
  .hdr.open .nav{display:flex;position:fixed;inset:calc(76px + env(safe-area-inset-top,0px)) 0 0;flex-direction:column;align-items:stretch;background:var(--teal);padding:20px var(--gut) calc(40px + env(safe-area-inset-bottom,0px));gap:2px;overflow:auto}
  .hdr.open .nav a:not(.btn){font-size:1.3rem;padding:14px 4px;border-bottom:1px solid rgba(154,227,244,.12);border-radius:0}
  .hdr.open .nav .btn{margin-top:20px;font-size:1.05rem}
}
@media (min-width:1181px){.nav .nav-cta{display:none}}
.nav a{font-size:.92rem;padding:10px 10px}
.lang-chrome[hidden]{display:none}

/* polkukuvat ja nauhat */
.phero .pimg img{max-height:460px;width:auto;margin-left:auto}
.phero h1{margin-top:12px}
.flow.inline{margin-top:26px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.flow.inline li{grid-template-columns:30px 1fr}
.flow.inline li::before{width:30px;height:30px}
@media (max-width:700px){.flow.inline{grid-template-columns:1fr}}
.prose-flow li::before{background:var(--chip);color:var(--green)}
.dark .prose-flow li::before{color:var(--mint)}
.band .band-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px);align-items:center}
.band-img{position:relative;max-width:340px}
.band-img::before{content:"";position:absolute;inset:22% -6% 0 -6%;border-radius:var(--r-l);background:linear-gradient(135deg,var(--green-hi),var(--green))}
.band-img img{position:relative}
@media (max-width:760px){.band .band-grid{grid-template-columns:1fr}.band-img{max-width:220px}}
.btn svg{width:18px;height:18px}
.cat-sec{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:clamp(24px,5vw,72px);align-items:center}
.cat-img{position:relative;max-width:320px}
.cat-img::before{content:"";position:absolute;inset:25% -6% 0 -6%;border-radius:var(--r-l);background:linear-gradient(135deg,var(--teal),var(--deep))}
.cat-img img{position:relative}
@media (max-width:760px){.cat-sec{grid-template-columns:1fr}.cat-img{max-width:220px}}
.mini.big{padding:28px}.mini.big b{font-size:1.5rem;letter-spacing:-.02em}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:clamp(24px,3.5vw,40px);border-radius:var(--r-l);background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;--btn-bg:var(--teal);--btn-ink:var(--paper)}
.cta-band h2{font-size:clamp(1.4rem,2.4vw,2rem)}
.cta-band p{margin-top:6px;opacity:.85}
.person.mini-p{padding:0;border:0;background:none;grid-template-columns:64px 1fr;gap:14px;margin-top:6px}
.person.mini-p img{width:64px;height:64px}
.person.mini-p b{display:block;margin-bottom:4px}
.person.mini-p a{font-size:.9rem;color:var(--link)}

/* graafit yhteiset */
.viz{margin:0;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);padding:clamp(20px,3vw,32px)}
.viz h3{font-size:1.15rem;margin-bottom:14px}
.prose .viz{margin:2em 0}

/* vesiputous: missä kate vuotaa */
.wgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:start;margin-bottom:14px}
.wcol{display:flex;flex-direction:column;gap:8px;min-width:0}
.wbar{position:relative;height:200px;flex:none}
.wbar::before{content:"";position:absolute;left:8%;right:8%;top:calc(var(--t) * 1%);height:0;border-radius:8px;background:var(--teal);transition:height .9s var(--ease) var(--d)}
.wcol.k-s .wbar::before,.wcol.k-e .wbar::before{background:linear-gradient(180deg,var(--green-hi),var(--green))}
.wcol.k-l .wbar::before{background:repeating-linear-gradient(-30deg,#9AE3F4 0 6px,#C7EFF9 6px 12px)}
:root[data-theme="dark"] .wcol.k-s .wbar::before{background:var(--mint)}
.viz.go .wbar::before{height:calc(var(--h) * 1%)}
.wv{position:absolute;left:0;right:0;top:calc((var(--t) + var(--h)) * 1% + 4px);text-align:center;font-size:.8rem;font-weight:700;color:var(--muted);opacity:0;transition:opacity .4s calc(var(--d) + .6s)}
.viz.go .wv{opacity:1}
.wl{font-size:.78rem;line-height:1.25;text-align:center;color:var(--muted);font-weight:500}
@media (max-width:520px){.wbar{height:160px}.wgrid{gap:5px}.wl{font-size:.68rem}}

/* gantt: Tilannekuvan viikko */
.g-grid{display:grid;gap:10px;overflow-x:auto}
.g-row{display:grid;grid-template-columns:150px repeat(6,minmax(70px,1fr));gap:6px;align-items:center;min-width:620px;position:relative}
.g-head span{font-size:.82rem;font-weight:600;color:var(--muted);text-align:center}
.g-who b{display:block;font-size:.95rem}
.g-who small{color:var(--muted);font-size:.82rem}
.g-bar{grid-column:var(--s) / span var(--w);grid-row:1;height:44px;border-radius:10px;display:flex;align-items:center;padding:0 12px;font-size:.8rem;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease) var(--d)}
.g-bar.r0{background:var(--green);color:#fff}
.g-bar.r1{background:var(--frost);color:var(--teal)}
.g-bar.r2{background:var(--teal);color:var(--paper)}
:root[data-theme="dark"] .g-bar.r2{background:#145466}
.viz.go .g-bar{transform:scaleX(1)}
.g-who{grid-column:1;grid-row:1}

/* kasvukyvyn kehä */
.wheel{margin:0 0 26px}
.wheel svg{width:100%;max-width:400px;display:block;margin:0 auto}
.wheel .seg{cursor:pointer;opacity:.82;transition:opacity .2s,transform .3s var(--ease);transform-origin:200px 200px;stroke:var(--bg);stroke-width:2}
.wheel .seg:hover,.wheel .seg:focus,.wheel .seg.on{opacity:1;transform:scale(1.035);outline:none}
.wheel .seg.on{stroke:var(--teal);stroke-width:3}
.wheel .hub{fill:var(--teal);cursor:pointer}
.wheel .hub:hover,.wheel .hub.on{fill:#145466}
.w-num{fill:var(--mint);font:600 46px var(--font);text-anchor:middle;pointer-events:none}
.w-lbl{fill:var(--paper);font:500 13px var(--font);text-anchor:middle;pointer-events:none}
.wheel .legend{justify-content:center;margin-top:12px;flex-wrap:wrap}
.wheel .legend i{border-radius:3px}

/* pika-analyysin lomake */
.qform{display:grid;gap:20px}
.qform label{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.qform input,.qform textarea{font:500 1rem var(--font);padding:13px 15px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text)}
.qform input:focus,.qform textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 4px rgba(32,162,100,.15)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.fgrid{grid-template-columns:1fr}}
.qform fieldset{border:0;padding:0;margin:0}
.qform legend{font-weight:600;font-size:.95rem;margin-bottom:10px}
.choice.radio{cursor:pointer;background:var(--surface);position:relative}
.choice.radio input{position:absolute;opacity:0}
.choice.radio:has(input:checked){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.choice.radio:has(input:focus-visible){outline:3px solid var(--green-hi);outline-offset:3px}
.choice.radio .c-k::after{background:var(--mark)}
.f-err{color:#B42318;font-weight:600;min-height:1.2em}
.qform .btn{justify-self:start}
.price-row{max-width:820px}

/* ===== v4: logopainike, kuvien päälle asettuvat kortit ===== */
.mk-ic{width:15px;height:21px;flex:none;overflow:visible}
.mk-ic .pc{fill:currentColor;transition:transform .35s var(--ease)}
.desk-btn:hover .mk-ic .p1{transform:translate(1.6px,-.9px)}.desk-btn:hover .mk-ic .p2{transform:translate(-1.4px,.8px)}
.desk-btn:hover .mk-ic .p3{transform:translate(1.9px,-1.1px)}.desk-btn:hover .mk-ic .p4{transform:translate(-1.7px,1px)}
.dcol .dh{font-size:1rem;font-weight:600;color:var(--paper);display:flex;align-items:center;gap:8px;margin:0 0 4px;transition:opacity .6s var(--ease) .5s}

/* kelluvat kortit kuvan päällä */
.fw{position:relative;isolation:isolate}
.fcard{position:absolute;z-index:2;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;max-width:260px;padding:14px 16px;border-radius:16px;
  background:rgba(8,38,47,.78);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(147,250,200,.28);color:var(--paper);
  box-shadow:0 24px 48px -24px rgba(0,0,0,.65);animation:floatin .9s var(--ease) both}
.fcard>small{grid-column:-2;font-size:.78rem;font-weight:600;color:var(--mint);letter-spacing:.01em}
.fcard>b{grid-column:-2;font-size:1.02rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.fcard>svg{grid-row:1/3;width:30px;height:30px;color:var(--mint)}
.fcard>.mk-ic{width:18px;height:26px}
.fcard.f1{left:-16%;bottom:16%;animation-delay:.25s}
.fcard.f2{right:-6%;top:12%;animation-delay:.45s}
.fcard.wide{max-width:300px}
.fcard.price b{font-size:1.9rem;letter-spacing:-.03em}
.fcard.light{background:rgba(255,255,255,.82);color:var(--teal);border-color:rgba(255,255,255,.9)}
.fcard.light>small{color:var(--green)}
.fcard.list{padding:16px 18px;max-width:280px}
.fcard.list .checks{gap:8px;font-size:.88rem;font-weight:500;line-height:1.35}
.fcard.list .checks li::before{background:var(--mint)}
@keyframes floatin{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.phero .pimg.fw{max-width:440px}
@media (max-width:860px){
  .phero .pimg.fw{max-width:320px;margin-top:8px}
  .fcard.f1{left:-4%;bottom:10%}.fcard.f2{right:-4%;top:6%}
  .fcard{max-width:220px;padding:12px 14px}.fcard>b{font-size:.94rem}
}
@media (max-width:420px){.fcard.f2{right:-2%}.fcard.f1{left:-2%}.fcard{max-width:200px}}

/* polkukortit: kuva taustalla, lasikortti päällä */
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.pcard{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-l);min-height:660px;padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;gap:18px;
  background:linear-gradient(135deg,var(--teal),#0A3340 70%,var(--deep));color:var(--paper);--muted:rgba(247,247,247,.78);--btn-bg:var(--mint);--btn-ink:var(--teal)}
.pcard.alt{background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;--muted:rgba(6,32,25,.78);--btn-bg:var(--teal);--btn-ink:var(--paper)}
.pc-media{position:absolute;right:-3%;bottom:0;width:56%;max-width:380px;z-index:-1;transition:transform .9s var(--ease)}
.pcard:hover .pc-media{transform:translateX(-8px)}
.pc-top{max-width:64%;display:grid;gap:12px}
.pc-top .who{font-weight:600;font-size:.95rem;color:var(--mint)}
.pcard.alt .pc-top .who{color:var(--teal)}
.pc-top h3{font-size:clamp(1.6rem,2.4vw,2.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.08}
.pc-top p{color:var(--muted)}
.pc-glass{margin-top:auto;max-width:74%;padding:18px 20px;border-radius:18px;background:rgba(4,22,28,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(147,250,200,.24)}
.pcard.alt .pc-glass{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.75)}
.pc-glass .flow{margin:0}
.pcard .btn{align-self:flex-start}
@media (max-width:980px){.pcards{grid-template-columns:1fr}.pcard{min-height:620px}}
@media (max-width:560px){.pc-top{max-width:none}.pc-media{width:62%}.pc-glass{max-width:none}.pcard{min-height:0;padding-bottom:28px}.pc-top{padding-bottom:150px}}

/* lainaus kuvan päällä */
.quote.ov{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center}
.quote.ov blockquote{position:relative;z-index:2;margin-right:-22%;padding:clamp(26px,3.5vw,44px);border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:0 40px 70px -40px rgba(4,22,28,.45)}
.quote.ov .qimg{max-width:400px}
@media (max-width:780px){.quote.ov{grid-template-columns:1fr}.quote.ov blockquote{margin:0 0 -40px;order:2}.quote.ov .qimg{order:1;justify-self:center}}
.cat-img.fw .fcard{left:auto;right:-14%;bottom:12%}
@media (max-width:760px){.cat-img.fw .fcard{right:-4%}}
.band-img.fw .fcard{left:auto;right:-30%;bottom:10%}
@media (max-width:760px){.band-img.fw .fcard{right:-50%}}
.mvh h2{font-size:1rem;color:var(--green);margin-bottom:10px;letter-spacing:0;font-weight:600}
.alist h2{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;letter-spacing:-.02em}
@media (prefers-reduced-motion:reduce){.fcard{animation:none}}
.band-img.fw .fcard{right:-18%;bottom:5%;background:rgba(8,38,47,.9)}
@media (max-width:760px){.band-img.fw .fcard{right:-45%}}
.pcard.alt .flow li::before{background:var(--teal);color:var(--mint)}
.pc-top{max-width:70%}
.h1-l{font-size:clamp(2.2rem,4vw,3.4rem);max-width:20ch}
.mk-ic{width:17px;height:24px}

/* ===== v5: kuvakortit kaikkialle, palveluvalikko, isommat logot ===== */
.pcard.frost{background:linear-gradient(135deg,#C9F1FA,#9AE3F4 55%,#6FCFE6);color:var(--teal);--muted:rgba(13,62,77,.78);--btn-bg:var(--teal);--btn-ink:var(--paper)}
.pcard.frost .pc-top .who{color:#0B6E8A}
.pcard.frost .pc-glass{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.8)}
.pcard.frost .flow li::before,.pcard.frost .checks li::before{background:var(--teal);color:var(--mint)}
.pcard.alt .checks li::before{background:var(--teal)}
.pcard .checks{gap:10px;font-weight:500}
.pcard .btns{margin-top:4px}
.pcard .btn.ghost{color:inherit;border-color:currentColor;opacity:.9}
.pcard.wide{min-height:540px}
.pcard.wide .pc-top{max-width:54%}
.pcard.wide .pc-glass{max-width:60%}
.pcard.wide .pc-media{width:40%;max-width:430px;right:3%}
.pcard h2{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;letter-spacing:-.03em;line-height:1.08}
.pcard .facts{margin:0;padding:0;border:0;gap:6px 26px}
.pcard .facts dt{color:var(--muted)}
.pcard .guarantee{margin:0;background:transparent;padding:0}
.pcard .guarantee svg{color:currentColor}
/* lainauskortti */
.pcard.pquote{margin:0;min-height:520px}
.pc-quote{margin:0}
.pc-quote p{font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.2;letter-spacing:-.025em;font-weight:500}
.pc-quote p::before{content:"”";display:block;font-size:4rem;line-height:.6;margin-bottom:12px;color:var(--teal)}
.pcard:not(.alt):not(.frost) .pc-quote p::before{color:var(--mint)}
.pc-cite{margin:0;display:grid;gap:2px}
.pc-cite span{color:var(--muted)}
/* palvelukategoriat */
.stack-cards{display:grid;gap:clamp(16px,2.4vw,28px)}
.pcard.svc{min-height:600px}
.pcard.svc .pc-glass{max-width:62%}
.pcard.svc .plist{border-top:0}
.pcard.svc .plist li{border-bottom:1px solid rgba(147,250,200,.18)}
.pcard.alt.svc .plist li,.pcard.frost.svc .plist li{border-bottom-color:rgba(13,62,77,.14)}
.pcard.svc .plist li:last-child{border-bottom:0}
.pcard.svc .plist a{color:inherit;padding:11px 2px}
.pcard.svc .plist .tile{color:var(--mint)}
.pcard.alt.svc .plist .tile,.pcard.frost.svc .plist .tile{color:var(--teal)}
.pcard.svc .plist span.t{color:var(--muted)}
/* polku A: kaksi graafia rinnakkain, tuotokset numeroituna */
.viz2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
@media (max-width:900px){.viz2{grid-template-columns:1fr}}
.gets .get{position:relative;padding-top:64px;background:linear-gradient(160deg,var(--surface) 60%,rgba(147,250,200,.18))}
.get-n{position:absolute;top:20px;left:22px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--teal);color:var(--mint);font-weight:700}
/* ihmiskortit värikkäiksi */
.people .person{background:linear-gradient(135deg,var(--teal),#0A3340 70%,var(--deep));border:0;color:var(--paper);--text:#F7F7F7}
.people .person:nth-child(2){background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;--text:#062019}
.people .person img{width:120px;height:120px;border-color:var(--mint)}
.people .person:nth-child(2) img{border-color:var(--teal)}
.people .person .role{color:var(--mint)}
.people .person:nth-child(2) .role{color:var(--teal)}
.people .person a{color:inherit}
.bio{border-top:0;border-radius:var(--r-l);padding:clamp(24px,3.5vw,44px);margin-bottom:clamp(16px,2.4vw,28px);background:linear-gradient(135deg,var(--teal),#0A3340 70%,var(--deep));color:var(--paper);--muted:rgba(247,247,247,.76)}
.bio:nth-of-type(2){background:linear-gradient(135deg,var(--green-hi),var(--green));color:#062019;--muted:rgba(6,32,25,.78)}
.bio .role{color:var(--mint)!important}.bio:nth-of-type(2) .role{color:var(--teal)!important}
.bio a{color:inherit}.bio .todo{border-color:currentColor;color:inherit}
.bio img{border-color:var(--mint)}
/* isommat asiakaslogot */
.logos{padding:44px 0}
.logos .wrap{flex-direction:column;align-items:stretch;gap:22px}
.logos p{text-align:center}
.logos ul{display:grid;grid-template-columns:repeat(7,auto);justify-content:space-between;align-items:center;gap:28px 40px}
.logos img{height:34px;opacity:.9}
.logos li.sq img{height:54px}
@media (max-width:1100px){.logos ul{grid-template-columns:repeat(4,auto);justify-content:space-around}}
@media (max-width:640px){.logos{padding:36px 0}.logos ul{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:26px 16px}.logos img{height:30px;max-width:100%;object-fit:contain}.logos li.sq img{height:48px}}
.logo-grid img{height:46px;max-width:100%;object-fit:contain}
.logo-grid li.sq img{height:76px}
.logo-grid li{min-height:170px}
@media (max-width:640px){.logo-grid img{height:34px}.logo-grid li.sq img{height:56px}.logo-grid li{min-height:130px;padding:24px 14px}}
/* palveluvalikko */
.navdd{position:relative;display:flex;align-items:center}
.navdd .dd-top{padding-right:4px}
.dd-btn{background:none;border:0;color:var(--paper);width:28px;height:36px;display:grid;place-items:center;cursor:pointer;border-radius:8px;opacity:.8}
.dd-btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.navdd.on>.dd-top{color:var(--mint);opacity:1;background:rgba(147,250,200,.1)}
.dd-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;padding:8px;border-radius:16px;background:var(--teal);border:1px solid rgba(154,227,244,.2);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s;z-index:60}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.dd-menu a{display:block;padding:11px 14px!important;border-radius:10px!important;font-size:.95rem}
.navdd:hover .dd-menu,.navdd:focus-within .dd-menu,.navdd.open .dd-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .25s var(--ease)}
.navdd:hover .dd-btn svg,.navdd.open .dd-btn svg{transform:rotate(180deg)}
@media (max-width:1180px){
  .hdr.open .navdd{flex-wrap:wrap}
  .hdr.open .navdd .dd-top{flex:1}
  .hdr.open .dd-btn{display:none}
  .hdr.open .dd-menu{position:static;opacity:1;visibility:visible;transform:none;min-width:0;width:100%;background:transparent;border:0;box-shadow:none;padding:0 0 6px 16px}
  .hdr.open .dd-menu a{font-size:1.05rem!important;border-bottom:0!important;padding:10px 4px!important;opacity:.85}
}
/* mobiili: kuvakortit */
@media (max-width:980px){.pcard.wide .pc-top,.pcard.wide .pc-glass,.pcard.svc .pc-glass{max-width:72%}}
@media (max-width:640px){
  .pcard,.pcard.wide,.pcard.svc,.pcard.quote{min-height:0;padding:24px 20px 24px}
  .pcard .pc-top,.pcard.wide .pc-top{max-width:none;padding-bottom:0}
  .pcard .pc-glass,.pcard.wide .pc-glass,.pcard.svc .pc-glass{max-width:none;margin-top:170px}
  .pcard .pc-media,.pcard.wide .pc-media{width:58%;right:-2%;max-width:240px;top:auto;bottom:auto}
  .pcard .pc-media{position:absolute}
  .pcard .btn{align-self:stretch}
  .pcard .btns .btn{flex:1 1 100%}
}
.logos ul{flex:none}
.logos p{font-size:.95rem;color:rgba(247,247,247,.7)}
.pcard.wide .pc-media{height:92%;width:auto;max-width:none}
.pcard.wide .pc-media img{height:100%;width:auto;max-width:none}
@media (max-width:640px){
  .pcard.wide .pc-media{height:auto;width:58%;max-width:240px}
  .pcard.wide .pc-media img{width:100%;height:auto}
  .pcard .pc-media{bottom:auto;top:auto}
}
@media (max-width:640px){
  .pcard,.pcard.wide,.pcard.svc,.pcard.pquote{gap:0}
  .pcard .pc-top{order:1;padding-bottom:8px}
  .pcard .pc-media,.pcard.wide .pc-media{position:relative;order:2;align-self:flex-end;right:auto;bottom:auto;width:64%;max-width:260px;height:auto;margin:4px -6px 0 0;z-index:0}
  .pcard .pc-media img,.pcard.wide .pc-media img{width:100%;height:auto}
  .pcard .pc-glass,.pcard.wide .pc-glass,.pcard.svc .pc-glass{order:3;position:relative;z-index:2;margin-top:-96px}
  .pcard>.btn,.pcard>.btns{order:4;margin-top:16px}
}
.hdr.open .nav .btn{border-radius:12px!important;border-bottom:0!important}

/* ===== v6: palveluiden megavalikko ===== */
.hdr .wrap{position:relative}
.navdd{position:static}
.dd-menu.mega{left:var(--gut);right:var(--gut);top:calc(100% - 6px);min-width:0;padding:0;border-radius:22px;overflow:hidden;
  background:linear-gradient(135deg,#0F4757,#0A3340 60%,#072A35);border:1px solid rgba(154,227,244,.18);box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.dd-menu.mega::before{top:-14px;height:14px}
.mm-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.mm-col{padding:26px 26px 22px;border-right:1px solid rgba(154,227,244,.12)}
.mm-col:last-child{border-right:0}
.mm-q{font-size:.82rem;line-height:1.4;color:rgba(247,247,247,.62);margin:6px 0 14px;min-height:2.8em}
.mm-col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.dd-menu.mega .mm-col a{display:grid;gap:2px;padding:9px 12px!important;margin:0 -12px;border-radius:12px!important;text-decoration:none;color:var(--paper);opacity:1}
.mm-col a b{font-weight:600;font-size:.95rem}
.mm-col a span{font-size:.8rem;color:rgba(247,247,247,.6);line-height:1.35}
.mm-col a:hover,.mm-col a:focus-visible{background:rgba(147,250,200,.1)}
.mm-col a:hover b{color:var(--mint)}
.mm-col a[aria-current="page"]{background:rgba(147,250,200,.14)}
.mm-col a[aria-current="page"] b{color:var(--mint)}
.mm-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 26px;background:rgba(4,22,28,.45);border-top:1px solid rgba(154,227,244,.12)}
.mm-fl{font-size:.85rem;font-weight:600;color:rgba(247,247,247,.7)}
.mm-starts{display:flex;gap:8px;flex-wrap:wrap}
.dd-menu.mega .mm-starts a{padding:8px 14px!important;border-radius:999px!important;border:1px solid rgba(147,250,200,.3);font-size:.86rem;font-weight:600;color:var(--paper);text-decoration:none;opacity:1}
.dd-menu.mega .mm-starts a:hover,.dd-menu.mega .mm-starts a[aria-current="page"]{background:var(--mint);color:var(--teal);border-color:var(--mint)}
.dd-menu.mega .mm-all{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 6px!important;font-size:.9rem;font-weight:600;color:var(--mint);text-decoration:none;opacity:1}
.mm-all .tile{color:var(--mint)}
.dd-menu.mega .mm-all:hover{text-decoration:underline}
@media (max-width:1180px){
  .hdr.open .dd-menu.mega{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0 0 8px}
  .hdr.open .mm-cols{grid-template-columns:1fr}
  .hdr.open .mm-col{padding:2px 0 2px 12px;border:0}
  .hdr.open .mm-h{width:100%;justify-content:flex-start;padding:12px 0;font-size:1.1rem;cursor:pointer}
  .hdr.open .mm-h svg{display:block;width:18px;height:18px;margin-left:auto;transition:transform .25s var(--ease)}
  .hdr.open .mm-col.open .mm-h svg{transform:rotate(180deg)}
  .hdr.open .mm-q{display:none}
  .hdr.open .mm-col ul{display:none;padding:0 0 8px 26px}
  .hdr.open .mm-col.open ul{display:grid}
  .hdr.open .dd-menu.mega .mm-col a{margin:0;padding:8px 4px!important;border-bottom:0!important}
  .hdr.open .mm-col a span{display:none}
  .hdr.open .mm-foot{background:transparent;border:0;padding:10px 0 0 12px;flex-direction:column;align-items:flex-start}
  .hdr.open .dd-menu.mega .mm-starts a{font-size:.9rem!important;border-bottom:1px solid rgba(147,250,200,.3)!important}
  .hdr.open .dd-menu.mega .mm-all{margin-left:0;font-size:1rem!important}
}

/* ===== v7: mobiilin hienosäätö ===== */
.g-list{display:none;list-style:none;margin:0;padding:0}
@media (max-width:900px){
  .gantt .g-grid{display:none}
  .g-list{display:grid;gap:0;position:relative}
  .g-list::before{content:"";position:absolute;left:27px;top:12px;bottom:12px;width:2px;background:var(--line)}
  .g-list li{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:start;padding:10px 0}
  .gl-day{position:relative;z-index:1;justify-self:start;min-width:56px;padding:7px 8px;border-radius:10px;background:var(--teal);color:var(--mint);font-weight:700;font-size:.78rem;text-align:center;line-height:1.2}
  .gl-items{display:grid;gap:6px;padding-top:2px}
  .gl-it{display:block;padding:8px 12px;border-radius:10px;font-size:.88rem;line-height:1.35}
  .gl-it b{font-weight:700}
  .gl-it.r0{background:var(--green);color:#fff}
  .gl-it.r1{background:var(--frost);color:var(--teal)}
  .gl-it.r2{background:var(--chip);color:var(--text)}
}
@media (max-width:560px){
  .wgrid{grid-template-columns:1fr;gap:10px}
  .wcol{flex-direction:row;align-items:center;gap:12px}
  .wl{order:-1;flex:0 0 98px;text-align:left;font-size:.82rem;color:var(--text)}
  .wbar{height:28px;flex:1}
  .wbar::before{top:3px!important;bottom:3px;left:calc(var(--l) * 1%);right:auto;height:auto!important;width:0;border-radius:6px;transition:width .9s var(--ease) var(--d)}
  .viz.go .wbar::before{width:calc(var(--h) * 1%)}
  .wcol.k-l .wbar::before{background:repeating-linear-gradient(60deg,#9AE3F4 0 6px,#C7EFF9 6px 12px)}
  .wv{top:50%!important;transform:translateY(-50%);left:calc((var(--l) + var(--h)) * 1% + 6px);right:auto;text-align:left}
}
@media (max-width:640px){
  .pcard .pc-glass,.pcard.wide .pc-glass{margin-top:-60px}
  .pcard.svc .pc-glass{margin-top:-36px}
  .pcard.svc .pc-media{width:58%}
}
.crumbs li{min-width:0;overflow-wrap:anywhere}
/* leveät kuvakortit: kuva ei koskaan kasva kortin korkeuden mukana */
.pcard.wide .pc-media{height:auto;width:40%;max-width:440px;display:flex;justify-content:flex-end}
.pcard.wide .pc-media img{width:auto;height:auto;max-width:100%;max-height:520px}
@media (min-width:641px) and (max-width:980px){
  .pcard.wide .pc-top,.pcard.wide .pc-glass,.pcard.svc .pc-glass{max-width:58%}
  .pcard.wide .pc-media{width:40%}
  .pcard.wide .pc-media img{max-height:440px}
  .pcard .pc-top{max-width:62%}.pcard .pc-glass{max-width:66%}
  .pcard .pc-media{width:44%}
}
@media (max-width:640px){
  .pcard.wide .pc-media{width:64%;max-width:260px;display:block}
  .pcard.wide .pc-media img{width:100%;max-height:none}
}

.pt0{padding-top:0}
@media (min-width:641px) and (max-width:980px){.pcard>.btns,.pcard>.btn{max-width:60%}}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.phero-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){
  .desk-top{flex-wrap:wrap;gap:10px}
  .desk-label{flex:1 1 140px}
  .desk-btn{padding:10px 14px;font-size:.9rem}
  .desk-done{font-size:1.25rem}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem);overflow-wrap:break-word}
  .choice .c-k{font-size:1.15rem}
}
@media (max-width:640px){.desk-cols{grid-template-columns:minmax(0,1fr)}.dcol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.chip .txt>span{overflow-wrap:anywhere;hyphens:auto}
.fcard>b{overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3,.pc-top p,.prose p,.prose li{overflow-wrap:break-word;hyphens:auto}
@media (max-width:980px){.layout{grid-template-columns:minmax(0,1fr)}}
.pcard>*,.pc-top,.pc-glass{min-width:0}
.flow li{grid-template-columns:34px minmax(0,1fr)}
.flow.inline li{grid-template-columns:30px minmax(0,1fr)}
.flow b,.flow span{overflow-wrap:break-word;hyphens:auto}
.pcard{max-width:100%;min-width:0}
.aside{min-width:0}.mini,.mini b{overflow-wrap:anywhere;hyphens:auto}
.pc-top{grid-template-columns:minmax(0,1fr)}
.aside{grid-template-columns:minmax(0,1fr)}
.aside .card>div{grid-template-columns:minmax(0,1fr)}
.stack-l>*,.stack>*{min-width:0}
/* ryhmäkuvat isommiksi mobiilissa, jotta ihmiset eivät jää pelkiksi päiksi */
@media (max-width:640px){
  .pcard .pc-media.grp,.pcard.wide .pc-media.grp{width:100%;max-width:360px;margin-right:-8px}
}
/* alatunniste kapeilla näytöillä */
.ftr-cols>div{min-width:0}
.ftr a{overflow-wrap:anywhere}
@media (max-width:860px){.ftr-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.ftr-cols{grid-template-columns:minmax(0,1fr);gap:24px}.ftr-sign p{font-size:2.4rem}}
/* henkilökortit kapeilla näytöillä */
.person{grid-template-columns:auto minmax(0,1fr)}
.person img{flex:none;aspect-ratio:1;object-fit:cover}
.person a{overflow-wrap:anywhere}
@media (max-width:400px){.people .person img{width:84px;height:84px}.people .person{gap:14px;padding:18px}}
@media (max-width:380px){
  .hdr .wrap{gap:10px}
  .logo{height:24px}
  .langs a{padding:6px 6px;font-size:.72rem}
  .menu-btn{width:40px;height:40px;margin-left:2px}
}

/* ===== v8: FORCEO-logomerkki merkkinä kaikkialla ===== */
:root{--mk:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%2259.6%2050.6%2028.6%2040.8%22%3E%3Cpath%20d%3D%22M%2083.722656%2055.878906%20C%2084.121094%2056.570312%2083.886719%2057.449219%2083.195312%2057.851562%20L%2068.628906%2066.261719%20C%2068.167969%2066.53125%2068.011719%2067.121094%2068.277344%2067.578125%20L%2071.160156%2072.570312%20C%2071.425781%2073.03125%2072.015625%2073.191406%2072.472656%2072.921875%20L%2082.878906%2066.910156%20C%2083.570312%2066.519531%2084.449219%2066.75%2084.847656%2067.441406%20L%2087.25%2071.609375%20C%2087.648438%2072.289062%2087.414062%2073.179688%2086.722656%2073.570312%20L%2076.320312%2079.578125%20C%2075.859375%2079.851562%2075.703125%2080.433594%2075.964844%2080.894531%20L%2078.609375%2085.472656%20C%2079.007812%2086.164062%2078.773438%2087.042969%2078.082031%2087.441406%20L%2072.253906%2090.808594%20C%2071.566406%2091.203125%2070.683594%2090.96875%2070.285156%2090.277344%20L%2067.882812%2086.117188%20C%2067.484375%2085.425781%2067.722656%2084.546875%2068.410156%2084.148438%20L%2074.652344%2080.542969%20C%2075.113281%2080.277344%2075.269531%2079.691406%2075.003906%2079.230469%20L%2072.121094%2074.230469%20C%2071.855469%2073.78125%2071.269531%2073.621094%2070.808594%2073.878906%20L%2064.566406%2077.488281%20C%2063.875%2077.890625%2062.996094%2077.648438%2062.597656%2076.960938%20L%2060.195312%2072.800781%20C%2059.796875%2072.109375%2060.03125%2071.230469%2060.722656%2070.828125%20L%2066.964844%2067.21875%20C%2067.425781%2066.960938%2067.582031%2066.371094%2067.316406%2065.910156%20L%2064.671875%2061.328125%20C%2064.273438%2060.640625%2064.511719%2059.761719%2065.199219%2059.359375%20L%2079.351562%2051.191406%20C%2080.042969%2050.789062%2080.921875%2051.03125%2081.320312%2051.71875%20Z%20M%2083.722656%2055.878906%22/%3E%3C/svg%3E")}
.tile,.step-no::before,.choice .c-k::after,.checks li::before{width:10px!important;height:14px!important;border-radius:0!important;transform:none!important;
  -webkit-mask:var(--mk) no-repeat center/contain;mask:var(--mk) no-repeat center/contain}
.tile{display:inline-block;flex:none;vertical-align:-1px}
.choice:hover .c-k::after{transform:translateX(3px)!important}
.plist a:hover .tile{transform:translateX(3px)!important}
.checks li::before{margin-top:.38em}
.chip>.tile{width:9px!important;height:13px!important;margin-top:.25em}
.dcol .dh .tile,.fgroup h3 .tile{width:12px!important;height:17px!important}
.mk-ic,.fcard>.mk-ic{transform:none}
/* iso logomerkki kuvan taustalla: täyttää tyhjän tilan kuvan vieressä */
.pc-media{isolation:isolate}
.pc-media::before{content:"";position:absolute;right:30%;bottom:0;height:86%;aspect-ratio:28.6/40.8;z-index:-1;pointer-events:none;
  background:rgba(147,250,200,.12);-webkit-mask:var(--mk) no-repeat center bottom/contain;mask:var(--mk) no-repeat center bottom/contain}
.pcard.alt .pc-media::before{background:rgba(13,62,77,.13)}
.pcard.frost .pc-media::before{background:rgba(255,255,255,.45)}
.pc-media.grp::before{right:auto;left:-6%;height:70%}
.pc-media img{position:relative}
@media (max-width:640px){
  .pc-media::before{right:auto;left:-62%;height:96%}
  .pc-media.grp::before{left:-10%;height:70%}
}
/* kuva vasemmalle, jotta henkilö katsoo sisältöä kohti */
.pcard.left .pc-media{right:auto;left:3%;justify-content:flex-start}
.pcard.left .pc-top,.pcard.left .pc-glass{margin-left:auto}
.pcard.left>.btn,.pcard.left>.btns{align-self:flex-end}
.pcard.left .pc-media::before{right:auto;left:42%}
.phero-grid.rev{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.phero-grid.rev>.pimg{order:-1;justify-self:start}
@media (max-width:860px){.phero-grid.rev{grid-template-columns:minmax(0,1fr)}.phero-grid.rev>.pimg{order:0}}
@media (max-width:640px){
  .pcard.left .pc-media{align-self:flex-start;margin:4px 0 0 -6px}
  .pcard.left .pc-media::before{left:auto;right:-62%}
  .pcard.left .pc-top,.pcard.left .pc-glass{margin-left:0}
  .pcard.left>.btn,.pcard.left>.btns{align-self:stretch}
}
/* logorivi: otsikko yhtenä logoista, lopussa "teidän logonne" */
.logos ul{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 30px}
.logos img{height:28px}
.logos li.sq img{height:46px}
.lg-label{display:flex;align-items:center;gap:9px;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--paper);white-space:nowrap}
.lg-label .tile{color:var(--mint);width:13px!important;height:19px!important}
.lg-you a{display:inline-flex;align-items:center;height:44px;padding:0 16px;border:1.5px dashed rgba(147,250,200,.55);border-radius:12px;color:var(--mint);
  font-weight:600;font-size:.92rem;text-decoration:none;white-space:nowrap;transition:background .25s,border-color .25s}
.lg-you a:hover{background:rgba(147,250,200,.1);border-color:var(--mint)}
@media (max-width:1180px){.logos ul{justify-content:center;gap:24px 34px}}
@media (max-width:640px){
  .logos ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:26px 16px}
  .logos img{height:28px}.logos li.sq img{height:46px}
  .lg-label{grid-column:1/-1;font-size:1.15rem}
  .logos li.sq{grid-column:auto}
  .lg-you{grid-column:auto}
  .lg-you a{height:40px;padding:0 12px;font-size:.84rem;white-space:normal;text-align:center;line-height:1.2}
}
/* logorivi: yksi rivi isolla näytöllä, 3×3 tabletilla, 2 saraketta puhelimella */
@media (min-width:1024px){
  .logos ul{flex-wrap:nowrap;justify-content:space-between;gap:clamp(12px,1.4vw,22px)}
  .logos img{height:clamp(19px,1.95vw,26px);width:auto}
  .logos li.sq img{height:clamp(32px,3.2vw,42px)}
  .lg-label{font-size:clamp(.98rem,1.15vw,1.15rem)}
  .lg-you a{height:auto;padding:8px 12px;white-space:normal;max-width:9.5em;line-height:1.2;font-size:clamp(.78rem,.85vw,.88rem);text-align:center}
}
@media (min-width:641px) and (max-width:1023px){
  .logos ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:30px 24px}
  .lg-label{grid-column:auto}
}

/* ===== v9: kolmivaiheinen pöytä ===== */
.scene{display:none}
html:not(.no-js) .desk[data-stage="scene"]{padding:0;background:transparent;border:0;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
html:not(.no-js) .desk[data-stage="scene"]>:not(.scene){display:none}
html:not(.no-js) .desk[data-stage="scene"] .scene{display:block;position:relative;aspect-ratio:1/1;border-radius:var(--r-l);overflow:hidden;isolation:isolate}
.scene>img{width:100%;height:100%;object-fit:cover;transform-origin:28% 80%;transition:transform .85s cubic-bezier(.6,0,.2,1),filter .85s}
.scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,22,28,0) 55%,rgba(4,22,28,.28));transition:background .85s}
.desk.zooming .scene>img{transform:scale(2.7);filter:brightness(.55) saturate(.9)}
.desk.zooming .scene::after{background:rgba(13,62,77,.55)}
.scene-q{left:auto;right:4%;top:6%;bottom:auto;max-width:240px;animation-delay:.4s}
.help-btn{position:absolute;left:58%;top:83%;z-index:3;width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:50%;border:0;cursor:pointer;
  background:var(--mint);color:var(--teal);display:grid;align-content:center;justify-items:center;gap:6px;padding:12px;text-align:center;
  font:700 1rem/1.12 var(--font);box-shadow:0 0 0 0 rgba(147,250,200,.6),0 20px 40px -14px rgba(0,0,0,.6);animation:helppulse 2.2s ease-out 1.2s infinite;
  transition:transform .3s var(--ease),opacity .3s}
.help-btn .mk-ic{width:22px;height:31px}
.help-btn:hover{transform:scale(1.07)}
.help-btn:hover .mk-ic .p1{transform:translate(1.6px,-.9px)}.help-btn:hover .mk-ic .p2{transform:translate(-1.4px,.8px)}
.help-btn:hover .mk-ic .p3{transform:translate(1.9px,-1.1px)}.help-btn:hover .mk-ic .p4{transform:translate(-1.7px,1px)}
@keyframes helppulse{0%{box-shadow:0 0 0 0 rgba(147,250,200,.6),0 20px 40px -14px rgba(0,0,0,.6)}70%{box-shadow:0 0 0 22px rgba(147,250,200,0),0 20px 40px -14px rgba(0,0,0,.6)}100%{box-shadow:0 0 0 0 rgba(147,250,200,0),0 20px 40px -14px rgba(0,0,0,.6)}}
.desk.zooming .help-btn,.desk.zooming .scene-q{opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s}
/* sotkuvaihe: raahattavat laput */
.chip.m{cursor:grab;touch-action:manipulation}
.chip.m:hover{filter:brightness(1.04)}
.chip.dragging{transition:none!important;z-index:80!important;cursor:grabbing;box-shadow:0 30px 50px -18px rgba(0,0,0,.85)!important}
.chip.pop{animation:chippop .7s var(--ease)}
@keyframes chippop{0%{}40%{box-shadow:0 0 0 6px rgba(147,250,200,.35)}100%{box-shadow:0 0 0 0 rgba(147,250,200,0)}}
.chip:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
.desk.messy.dragging .dcol .dh{opacity:.5;transition-delay:0s}
.desk-count{display:inline-block;margin-left:8px;padding:2px 9px;border-radius:999px;background:rgba(147,250,200,.14);color:var(--mint);font-size:.8rem;font-weight:700}
.desk-foot{justify-content:space-between;align-items:center;gap:12px}
.desk-hint{margin:0;font-size:.84rem;color:var(--on-dark-2)}
.desk-hint[hidden]{display:none}
.desk-foot .desk-again{margin-left:auto}
@media (max-width:640px){
  .help-btn{width:104px;height:104px;margin:-52px 0 0 -52px;font-size:.88rem;left:60%;top:84%}
  .help-btn .mk-ic{width:18px;height:26px}
  .scene-q{max-width:190px;padding:10px 12px}
  .scene-q b{font-size:.88rem}
}
.scene-q{right:auto;left:4%;top:5%}
.scene-q:not(.x){background:rgba(8,38,47,.82);color:var(--paper);border-color:rgba(147,250,200,.28)}
.scene-q>small{color:var(--mint)!important}
.help-btn{left:66%;top:85%}
@media (max-width:640px){.help-btn{left:68%;top:84%}}
/* raahaus poistettu: laput eivät ole tartuttavia */
.chip.m{cursor:default}
.chip.m:hover{filter:none}
.desk-back{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;color:var(--on-dark-2);font:500 .88rem var(--font);cursor:pointer;padding:8px 4px;border-radius:8px}
.desk-back svg{width:16px;height:16px}
.desk-back:hover{color:var(--mint)}
.desk-back[hidden]{display:none}
/* tilannekuvat (T2–T5) kehyksessä sivujen yläosissa */
.phero .pimg.sc{max-width:520px;margin-bottom:0;align-self:center;justify-self:end}
.phero .pimg.sc img{width:100%;max-height:none;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-l);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.phero .pimg.sc .fcard.f1{left:-8%;bottom:8%}
.phero .pimg.sc .fcard.f2{right:-5%;top:7%}
.phero-grid:has(.pimg.sc){align-items:center}
@media (max-width:860px){
  .phero .pimg.sc{max-width:none;justify-self:stretch;margin-top:12px}
  .phero .pimg.sc .fcard.f1{left:4%;bottom:5%}.phero .pimg.sc .fcard.f2{right:4%;top:5%}
}
@media (max-width:860px){
  .phero .pimg.sc .fcard.f1{left:4%;top:5%;bottom:auto}
  .phero .pimg.sc .fcard.f2{right:4%;bottom:5%;top:auto}
}
@media (min-width:981px){.pcards .pcard .pc-top{max-width:56%}.pcards .pcard .pc-media img{max-height:600px;width:auto;margin-left:auto}}
/* pöytäkohtaus: zoomattava kerros ja käsin kirjoitetut laput */
.scene{container-type:inline-size}
.scene-zoom{position:absolute;inset:0;transform-origin:50% 86%;transition:transform .85s cubic-bezier(.6,0,.2,1),filter .85s}
.scene-zoom>img{width:100%;height:100%;object-fit:cover;display:block}
.desk.zooming .scene>img{transform:none;filter:none}
.desk.zooming .scene-zoom{transform:scale(2.6);filter:brightness(.62) saturate(.92)}
.sn{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:translate(-50%,-50%) rotate(var(--r)) scaleY(.62);
  font:600 1.5cqw/1.05 'Caveat','Segoe Print','Bradley Hand',cursive;color:#23353b;text-align:center;opacity:.82;mix-blend-mode:multiply;
  overflow-wrap:break-word;hyphens:manual;pointer-events:none}
.help-btn{left:86%;top:84%}
@media (max-width:640px){.help-btn{left:84%;top:83%}}
.sn{font-size:1.35cqw}
/* lappujen käsiala: haalea, luonnollinen tussijälki */
.sn{font-size:1.2cqw;line-height:1.02;color:#3d5157;opacity:.5;filter:blur(.2px);mix-blend-mode:multiply;letter-spacing:.01em;
  transform:translate(-50%,-50%) rotate(var(--r)) scaleY(.6) skewX(-4deg)}
.scene-zoom{transform-origin:51% 93%}
.desk.zooming .scene-zoom{transform:scale(2.05)}
.help-btn{left:89%;top:71%}
@media (max-width:640px){.help-btn{left:87%;top:71%}}
.help-btn{left:90%;top:75%}
@media (max-width:640px){.help-btn{left:88%;top:75%}}
.help-btn{left:90%;top:79%}
@media (max-width:640px){.help-btn{left:88%;top:79%}}
/* Auta toimaria -nappi pysyy aina kuvan sisällä oikeassa alakulmassa */
.help-btn,.help-btn:hover{left:auto;top:auto;right:3cqw;bottom:3cqw;margin:0;width:min(128px,24cqw);height:min(128px,24cqw);
  font-size:min(1rem,3.6cqw);gap:min(6px,1.2cqw);padding:min(12px,2cqw)}
.help-btn .mk-ic{width:min(22px,4.4cqw);height:min(31px,6.2cqw)}
@media (max-width:640px){.help-btn,.help-btn:hover{left:auto;top:auto;right:3cqw;bottom:3cqw;margin:0;width:min(110px,27cqw);height:min(110px,27cqw);font-size:min(.9rem,3.9cqw)}}

/* ===== Tilannekuvan viikko: päivä päivältä ===== */
.wkf{margin:0;border-radius:var(--r-l);background:#0D3E4D;color:#F7F7F7;padding:clamp(18px,2.6vw,32px);border:1px solid rgba(82,165,150,.45)}
.wkf-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.wkf-day{display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease) var(--d),transform .6s var(--ease) var(--d)}
.wkf.go .wkf-day{opacity:1;transform:none}
.wkf-dh{display:flex;flex-direction:column;gap:2px;padding:4px 4px 8px;border-bottom:1px solid rgba(154,227,244,.22)}
.wkf-dh b{font-size:1.05rem;color:#9AE3F4}
.wkf-dh small{font-size:.78rem;font-weight:600;color:rgba(247,247,247,.7)}
.wkf-ph{display:none}
.wkf-ev{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 14px 16px;border-radius:14px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.6)}
.wkf-ev b{font-size:.98rem;line-height:1.3;color:#F7F7F7}
.wkf-ev p{margin:2px 0 0;font-size:.84rem;line-height:1.45;color:rgba(247,247,247,.8)}
.wkf-t{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#93FAC8}
.wkf-who{font-size:.8rem;color:rgba(247,247,247,.78);margin-top:2px}
.wkf-ev.db{border:1.5px solid #93FAC8;background:rgba(147,250,200,.10)}
.wkf-tag{align-self:flex-start;margin-top:6px;font-size:.75rem;font-weight:700;color:#0D3E4D;background:#93FAC8;border-radius:999px;padding:3px 10px}
.wkf-phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.wkf-phases span{display:flex;align-items:center;justify-content:center;height:34px;border-radius:999px;font-size:.82rem;font-weight:700;color:#0D3E4D}
.wkf .p1{background:#3FB8A3}.wkf .p2{background:#20C27A}.wkf .p3{background:#93FAC8}
@media (max-width:900px){
  .wkf-days{grid-template-columns:1fr;gap:18px}
  .wkf-day{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px 14px;align-items:start}
  .wkf-dh{grid-row:1 / span 2;border-bottom:0;border-right:1px solid rgba(154,227,244,.22);padding:2px 10px 2px 0;height:100%}
  .wkf-ph{display:inline-flex;align-self:flex-start;margin-top:8px;font-size:.72rem;font-weight:700;color:#0D3E4D;border-radius:999px;padding:2px 9px}
  .wkf-ev{grid-column:2}
  .wkf-dh b{font-size:.95rem}
  .wkf-phases{display:none}
}
@media (max-width:420px){.wkf-day{grid-template-columns:92px minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.wkf-day{opacity:1;transform:none;transition:none}}

/* ===== Tilannekuva: kasvun rakenteet ===== */
.gs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.gs-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:22px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r-l);background:#0D3E4D;color:#F7F7F7;border:1px solid rgba(82,165,150,.45);
  opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease) var(--d),transform .7s var(--ease) var(--d)}
.gs-grid.go .gs-card{opacity:1;transform:none}
.gs-top{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:12px;align-items:center}
.gs-eb{margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.03em;color:#93FAC8}
.gs-card h3{margin:0;font-size:clamp(1.3rem,1.8vw,1.6rem);line-height:1.15;color:#9AE3F4}
.gs-ring{position:relative;width:128px;height:128px}
.gs-ring svg{width:100%;height:100%;display:block;overflow:visible}
.gs-ring .r-dots{fill:none;stroke:rgba(154,227,244,.25);stroke-width:1;stroke-dasharray:2 5}
.gs-ring .r-base{fill:none;stroke:rgba(154,227,244,.32);stroke-width:9}
.gs-ring .r-arc{fill:none;stroke:#93FAC8;stroke-width:9;stroke-linecap:round}
.gs-ring .r-head{fill:#93FAC8}
.gs-ring .r-core{fill:#145466;stroke:rgba(147,250,200,.45);stroke-width:1.5}
.gs-ring .r-spin{transform-origin:100px 100px;animation:gsSpin 18s linear infinite}
.gs-ring span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;white-space:pre-line;font-size:.74rem;font-weight:700;line-height:1.15;color:#9AE3F4;padding:0 30px}
@keyframes gsSpin{to{transform:rotate(360deg)}}
.gs-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gs-items li{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border-radius:12px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.55);font-size:.9rem;font-weight:600;line-height:1.25}
.gs-ic{flex:none;width:32px;height:32px;border-radius:9px;background:#93FAC8;color:#0A0A0A;display:flex;align-items:center;justify-content:center}
.gs-ic svg{width:18px;height:18px}
@media (max-width:1100px){.gs-grid{grid-template-columns:1fr;max-width:640px}}
@media (max-width:420px){.gs-items{grid-template-columns:1fr}.gs-top{grid-template-columns:minmax(0,1fr) 104px}.gs-ring{width:104px;height:104px}.gs-ring span{font-size:.66rem;padding:0 24px}}
@media (prefers-reduced-motion:reduce){.gs-ring .r-spin{animation:none}.gs-card{opacity:1;transform:none;transition:none}}

/* ===== Tilannekuva: kypsyyskartta ===== */
.mk-ic{width:15px;height:21px;display:block}
.mm{margin:0;border-radius:calc(var(--r-l) + 4px);background:#0D3E4D;color:#F7F7F7;padding:clamp(20px,3vw,40px);border:1px solid rgba(82,165,150,.45)}
.mm-top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.mm-eb{margin:0 0 6px;font-size:.82rem;font-weight:600;color:#93FAC8}
.mm h3{margin:0;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.15;color:#9AE3F4}
.mm-leg{display:flex;gap:18px;flex-wrap:wrap}
.mm-leg span{display:flex;align-items:center;gap:8px;font-size:.85rem;color:rgba(247,247,247,.85)}
.mm-leg i{width:12px;height:12px;border-radius:50%}.mm-leg .now{background:#93FAC8}.mm-leg .foc{background:#9AE3F4}
.mm-panel{border-radius:22px;background:rgba(20,84,102,.42);border:1px solid rgba(82,165,150,.45);padding:clamp(14px,2vw,24px) clamp(10px,2vw,22px) 10px}
.mm-head,.mm-row{display:grid;grid-template-columns:minmax(120px,210px) minmax(0,1fr);gap:6px;align-items:center}
.mm-head{grid-template-columns:minmax(120px,210px) repeat(4,minmax(0,1fr));padding:0 10px 12px}
.mm-h{display:flex;flex-direction:column;gap:6px;padding:0 4px}
.mm-h .mm-bar{display:block;width:100%;height:4px;border-radius:2px}
.mm-h .n{font-size:.72rem;font-weight:700;color:#9AE3F4}
.mm-h .nm{font-size:.92rem;font-weight:600;line-height:1.2}
.mm-row{padding:5px 10px;border-radius:14px;box-shadow:inset 0 -1px 0 rgba(82,165,150,.28)}
.mm-row:last-child{box-shadow:none}
.mm-row.weak{background:rgba(154,227,244,.10);box-shadow:none}
.mm-name{font-size:1rem;font-weight:600}
.mm-track{position:relative;height:50px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mm-track .z{border-radius:11px}
.mm-track .z:nth-child(1){background:rgba(62,138,154,.10)}.mm-track .z:nth-child(2){background:rgba(63,184,163,.11)}
.mm-track .z:nth-child(3){background:rgba(32,194,122,.12)}.mm-track .z:nth-child(4){background:rgba(147,250,200,.13)}
.mm-track .base{position:absolute;left:1.5%;right:1.5%;top:23px;height:4px;border-radius:2px;background:rgba(247,247,247,.12)}
.mm-track .val{position:absolute;left:1.5%;top:23px;height:4px;border-radius:2px;background:#93FAC8;width:0;transition:width 1s var(--ease) .2s}
.mm.go .mm-track .val{width:var(--w)}
.mm-track .hdl{position:absolute;top:6px;width:38px;height:38px;border-radius:50%;background:#93FAC8;color:#0D3E4D;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px rgba(13,62,77,.85),0 0 0 6px rgba(147,250,200,.35)}
.mm-row.weak .val,.mm-row.weak .hdl{background:#9AE3F4}
.mm-row.weak .hdl{box-shadow:0 0 0 5px rgba(13,62,77,.85),0 0 0 6px rgba(154,227,244,.55)}
.mm-call{position:absolute;top:9px;height:32px;display:flex;align-items:center;padding:0 14px;border-radius:999px;background:#9AE3F4;color:#0D3E4D;font-size:.8rem;font-weight:700;white-space:nowrap}
@media (max-width:760px){
  .mm-head{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 4px 10px}.mm-head>span:first-child{display:none}
  .mm-h .nm{font-size:.72rem}
  .mm-row{grid-template-columns:1fr;gap:4px;padding:8px 4px}
  .mm-name{font-size:.92rem;padding-left:4px}
  .mm-call{font-size:.72rem;padding:0 10px}
}

/* ===== Tilannekuva: löydöskortit ===== */
.fc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);align-items:stretch}
.fc{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.6vw,34px);border-radius:calc(var(--r-l) + 4px);background:#0D3E4D;color:#F7F7F7;border:1px solid rgba(82,165,150,.45)}
.fc-eb{margin:0;font-size:.82rem;font-weight:700;color:#93FAC8}
.fc h3{margin:0;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.2;color:#9AE3F4}
.fc-map{border-radius:18px;background:rgba(20,84,102,.42);border:1px solid rgba(82,165,150,.45);padding:12px 12px 10px}
.fc-track{position:relative;height:78px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.fc-track .z{border-radius:10px;padding:6px 7px;font-size:.68rem;font-weight:600;line-height:1.2;color:rgba(247,247,247,.72)}
.fc-track .z b{color:#9AE3F4;margin-right:2px}
.fc-track .z:nth-child(1){background:rgba(62,138,154,.10)}.fc-track .z:nth-child(2){background:rgba(63,184,163,.11)}
.fc-track .z:nth-child(3){background:rgba(32,194,122,.12)}.fc-track .z:nth-child(4){background:rgba(147,250,200,.13)}
.fc-track .base{position:absolute;left:1.5%;right:1.5%;top:44px;height:4px;border-radius:2px;background:rgba(247,247,247,.12)}
.fc-track .val{position:absolute;left:1.5%;top:44px;height:4px;width:var(--w);border-radius:2px;background:#93FAC8}
.fc-track .hdl{position:absolute;top:29px;width:34px;height:34px;border-radius:50%;background:#93FAC8;color:#0D3E4D;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px rgba(13,62,77,.85),0 0 0 5px rgba(147,250,200,.35)}
.fc-track .hdl .mk-ic{width:13px;height:18px}
.fc-call{position:absolute;top:31px;height:30px;display:flex;align-items:center;padding:0 12px;border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap;background:#93FAC8;color:#0D3E4D}
.fc-avg{position:absolute;top:38px;width:16px;height:16px;border-radius:50%;box-sizing:border-box;border:2px dashed rgba(147,250,200,.9)}
.fc-avgl{position:absolute;top:66px;font-size:.68rem;font-weight:600;color:rgba(147,250,200,.95);white-space:nowrap}
.fc.focus .fc-track{height:96px}
.fc.focus .fc-call{top:64px}
.fc.focus .fc-track .val,.fc.focus .fc-track .hdl,.fc.focus .fc-call{background:#9AE3F4}
.fc.focus .fc-track .hdl{box-shadow:0 0 0 4px rgba(13,62,77,.85),0 0 0 5px rgba(154,227,244,.55)}
.fc-cmp{margin:10px 2px 0;font-size:.84rem;color:rgba(247,247,247,.85)}
.fc-stack{display:flex;flex-direction:column;flex:1}
.fc-seen{border-radius:18px 18px 0 0;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.6);padding:18px 20px}
.fc-means{flex:1;border-radius:0 0 18px 18px;background:#1B6577;border:1px solid rgba(82,165,150,.6);border-top:0;padding:18px 20px}
.fc-l{margin:0 0 10px;font-size:.8rem;font-weight:700;color:#93FAC8}
.fc-means .fc-l{color:#9AE3F4}
.fc-means p:last-child{margin:0;font-size:1.02rem;font-weight:500;line-height:1.5}
.fc-seen ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fc-seen li{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;line-height:1.45}
.fc-seen li .mk-ic{flex:none;width:11px;height:16px;margin-top:4px;color:#93FAC8}
/* vahvuus: Green-sävymaailma (B) */
.fc.strong{background:linear-gradient(135deg,#4AE59B,#20A264);color:#0A0A0A;border:0}
.fc.strong .fc-eb{color:#0D3E4D}
.fc.strong h3{color:#0A0A0A}
.fc.strong .fc-map{background:rgba(247,247,247,.40);border:1px solid rgba(247,247,247,.55)}
.fc.strong .fc-track .z{background:rgba(13,62,77,.08);color:rgba(10,10,10,.75)}
.fc.strong .fc-track .z b{color:#0D3E4D}
.fc.strong .fc-track .base{background:rgba(13,62,77,.18)}
.fc.strong .fc-track .val,.fc.strong .fc-track .hdl,.fc.strong .fc-call{background:#0D3E4D}
.fc.strong .fc-track .hdl{color:#93FAC8;box-shadow:0 0 0 4px rgba(247,247,247,.55),0 0 0 5px rgba(13,62,77,.35)}
.fc.strong .fc-call{color:#93FAC8}
.fc.strong .fc-cmp{color:#0A0A0A}
.fc.strong .fc-seen{background:rgba(247,247,247,.42);border:1px solid rgba(247,247,247,.6)}
.fc.strong .fc-means{background:rgba(247,247,247,.24);border:1px solid rgba(247,247,247,.6);border-top:0}
.fc.strong .fc-l,.fc.strong .fc-means .fc-l{color:#0D3E4D}
.fc.strong .fc-seen li .mk-ic{color:#0D3E4D}
@media (max-width:980px){.fc-grid{grid-template-columns:1fr;max-width:640px}}
@media (max-width:460px){.fc-track .z{font-size:.6rem;padding:5px 4px}.fc-call{font-size:.66rem;padding:0 8px}}
.fc.strong .fc-call{left:calc(var(--p) + 28px)}
@media (max-width:600px){.fc.strong .fc-track{height:96px}.fc.strong .fc-call{top:64px;left:calc(var(--p) - 17px)}}
.gs-items{grid-template-columns:1fr;gap:8px}
.gs-items li{min-height:46px;padding:7px 10px;font-size:.92rem}
@media (min-width:700px) and (max-width:1100px){.gs-items{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Tilannekuva: tekoälyn roadmap ===== */
.rm-how{list-style:none;margin:0 0 clamp(22px,3vw,34px);padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.rm-how li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.rm-n{flex:none;width:34px;height:34px;border-radius:10px;background:#93FAC8;color:#0D3E4D;font-weight:700;display:flex;align-items:center;justify-content:center}
.rm-how b{display:block;font-size:1rem;margin-bottom:4px}
.rm-how p{margin:0;font-size:.92rem;line-height:1.5;color:var(--muted)}
.rm{position:relative;margin:0;border-radius:calc(var(--r-l) + 4px);background:#0D3E4D;color:#F7F7F7;padding:clamp(20px,3vw,38px);border:1px solid rgba(82,165,150,.45);overflow:hidden}
.rm-eb{margin:0 0 22px;font-size:.82rem;font-weight:700;color:#93FAC8}
.rm-line{position:absolute;left:clamp(20px,3vw,38px);right:clamp(20px,3vw,38px);top:calc(clamp(20px,3vw,38px) + 58px);height:4px;border-radius:2px;background:linear-gradient(90deg,#93FAC8,#20C27A 50%,#3FB8A3)}
.rm-cols{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.rm-col{display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease) var(--d),transform .6s var(--ease) var(--d)}
.rm.go .rm-col{opacity:1;transform:none}
.rm-node{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#0D3E4D;box-shadow:0 0 0 5px #0D3E4D,0 0 0 6px rgba(147,250,200,.35)}
.rm-node .mk-ic{width:14px;height:20px}
.rm-node.p1{background:#93FAC8}.rm-node.p2{background:#20C27A}.rm-node.p3{background:#3FB8A3}
.rm-ph{display:flex;align-items:baseline;gap:10px;margin:4px 0 2px}
.rm-ph b{font-size:1.2rem;color:#9AE3F4}
.rm-ph span{font-size:.82rem;font-weight:600;color:rgba(247,247,247,.7)}
.rm-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:16px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.6)}
.rm-area{align-self:flex-start;font-size:.74rem;font-weight:700;color:#0D3E4D;background:#9AE3F4;border-radius:999px;padding:3px 10px}
.rm-card b{font-size:1rem;line-height:1.35}
.rm-eff{font-size:.84rem;color:#93FAC8;font-weight:600}
.rm-eff i{font-style:normal;color:rgba(247,247,247,.7);font-weight:500;margin-right:6px}
@media (max-width:900px){
  .rm-how,.rm-cols{grid-template-columns:1fr}
  .rm-line{left:calc(clamp(20px,3vw,38px) + 18px);right:auto;width:4px;height:auto;top:calc(clamp(20px,3vw,38px) + 44px);bottom:clamp(20px,3vw,38px);background:linear-gradient(180deg,#93FAC8,#20C27A 50%,#3FB8A3)}
  .rm-col{padding-left:0}
  .rm-card{margin-left:56px}
  .rm-ph{margin-top:-46px;margin-left:56px;min-height:40px;align-items:center}
}
@media (prefers-reduced-motion:reduce){.rm-col{opacity:1;transform:none;transition:none}}
.gs-ring span.num{font-size:1.5rem;font-weight:700;color:#93FAC8;padding:0}

/* ===== Tilannekuva v2: ilme, ihmiset, brand pattern ===== */
:root{--ptn-dark:url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cdefs%3E%3Cpattern id="p" width="52" height="22" patternUnits="userSpaceOnUse" patternTransform="rotate%28-30%29"%3E%3Crect x="1" y="1" width="24" height="9" rx="3.5" fill="%23F7F7F7" fill-opacity="0.1"/%3E%3Crect x="27" y="12" width="24" height="9" rx="3.5" fill="%23F7F7F7" fill-opacity="0.1"/%3E%3Crect x="27" y="1" width="24" height="9" rx="3.5" fill="%230A0A0A" fill-opacity="0.12"/%3E%3Crect x="1" y="12" width="24" height="9" rx="3.5" fill="%230A0A0A" fill-opacity="0.12"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="400" height="400" fill="url%28%23p%29"/%3E%3C/svg%3E");--ptn-mint:url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cdefs%3E%3Cpattern id="p" width="52" height="22" patternUnits="userSpaceOnUse" patternTransform="rotate%28-30%29"%3E%3Crect x="1" y="1" width="24" height="9" rx="3.5" fill="%2393FAC8" fill-opacity="0.3"/%3E%3Crect x="27" y="12" width="24" height="9" rx="3.5" fill="%2393FAC8" fill-opacity="0.3"/%3E%3Crect x="27" y="1" width="24" height="9" rx="3.5" fill="%230A0A0A" fill-opacity="0.18"/%3E%3Crect x="1" y="12" width="24" height="9" rx="3.5" fill="%230A0A0A" fill-opacity="0.18"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="400" height="400" fill="url%28%23p%29"/%3E%3C/svg%3E");--ptn-light:url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cdefs%3E%3Cpattern id="p" width="52" height="22" patternUnits="userSpaceOnUse" patternTransform="rotate%28-30%29"%3E%3Crect x="1" y="1" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.05"/%3E%3Crect x="27" y="12" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.05"/%3E%3Crect x="27" y="1" width="24" height="9" rx="3.5" fill="%2320A264" fill-opacity="0.06"/%3E%3Crect x="1" y="12" width="24" height="9" rx="3.5" fill="%2320A264" fill-opacity="0.06"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="400" height="400" fill="url%28%23p%29"/%3E%3C/svg%3E");--ptn-green:url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cdefs%3E%3Cpattern id="p" width="52" height="22" patternUnits="userSpaceOnUse" patternTransform="rotate%28-30%29"%3E%3Crect x="1" y="1" width="24" height="9" rx="3.5" fill="%23F7F7F7" fill-opacity="0.16"/%3E%3Crect x="27" y="12" width="24" height="9" rx="3.5" fill="%23F7F7F7" fill-opacity="0.16"/%3E%3Crect x="27" y="1" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.1"/%3E%3Crect x="1" y="12" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.1"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="400" height="400" fill="url%28%23p%29"/%3E%3C/svg%3E")}
.ptn-corner{position:absolute;right:0;bottom:0;width:70%;height:75%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%);mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%)}
.s-ptn{position:relative;overflow:hidden}
.s-ptn::before{content:"";position:absolute;inset:0;background:var(--ptn-light);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000,transparent 60%);mask-image:radial-gradient(ellipse at 100% 0%,#000,transparent 60%)}
.s-ptn>.wrap{position:relative}

/* rakennekortit kuvilla */
.gs-card{padding:0;gap:0}
.gs-media{position:relative;height:230px;border-radius:var(--r-l) var(--r-l) 0 0;overflow:hidden}
.gs-media::before{content:"";position:absolute;inset:0;background:var(--ptn-dark);background-size:400px 400px;
  -webkit-mask-image:radial-gradient(circle at 85% 30%,#000,transparent 75%);mask-image:radial-gradient(circle at 85% 30%,#000,transparent 75%)}
.gs-media .gs-big{position:absolute;right:-30px;top:-20px;width:230px;height:auto;color:rgba(247,247,247,.07)}
.gs-media img{position:absolute;right:4%;bottom:0;height:96%;width:auto;max-width:none;filter:drop-shadow(0 18px 24px rgba(4,22,28,.35))}
.gs-card.l1 .gs-media{background:linear-gradient(140deg,#1B6577 0%,#0D3E4D 70%)}
.gs-card.l2 .gs-media{background:linear-gradient(140deg,#3FB8A3 0%,#145466 75%)}
.gs-card.l3 .gs-media{background:linear-gradient(140deg,#4AE59B 0%,#20A264 80%)}
.gs-card.l3 .gs-media .gs-big{color:rgba(13,62,77,.10)}
.gs-body{position:relative;display:flex;flex-direction:column;gap:18px;padding:58px clamp(22px,2.4vw,30px) clamp(22px,2.4vw,30px)}
.gs-card .gs-ring{position:absolute;left:clamp(16px,2vw,24px);top:-56px;width:104px;height:104px;border-radius:50%;background:#0D3E4D;box-shadow:0 0 0 6px #0D3E4D}
.gs-ring .r-core{fill:url(#none)}
.gs-ring .r-ptn{position:absolute;left:24%;top:24%;width:52%;height:52%;border-radius:50%;background:#145466 var(--ptn-mint);background-size:220px 220px;box-shadow:inset 0 0 0 1.5px rgba(147,250,200,.45)}
.gs-ring span.num{z-index:1;text-shadow:0 1px 6px rgba(4,22,28,.6)}
.gs-card .gs-top{display:block}
.gs-card .gs-eb{font-size:.8rem}
.gs-card h3{font-size:clamp(1.35rem,1.9vw,1.65rem)}
.gs-card.l1 .gs-eb{color:#9AE3F4}.gs-card.l2 .gs-eb{color:#93FAC8}.gs-card.l3 .gs-eb{color:#4AE59B}
.gs-card.l1 .gs-ic{background:#9AE3F4}.gs-card.l2 .gs-ic{background:#93FAC8}.gs-card.l3 .gs-ic{background:#4AE59B}
.gs-card:hover .gs-media img{transform:translateY(-4px)}
.gs-media img{transition:transform .5s var(--ease)}
@media (max-width:420px){.gs-media{height:200px}.gs-card .gs-ring{width:92px;height:92px;top:-50px}}

/* osion otsikko + henkilö */
.s-head.with-person{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin-bottom:0}
.s-head.with-person>div:first-child{display:grid;gap:18px;max-width:760px;padding-bottom:clamp(36px,5vw,64px)}
.hp{position:relative;width:clamp(150px,18vw,230px);align-self:end;margin-bottom:-2px}
.hp::before{content:"";position:absolute;left:-14%;right:0;bottom:0;height:62%;border-radius:var(--r-l) var(--r-l) 0 0;background:linear-gradient(140deg,#4AE59B,#20A264)}
.hp::after{content:"";position:absolute;left:-14%;right:0;bottom:0;height:62%;border-radius:var(--r-l) var(--r-l) 0 0;background:var(--ptn-green);background-size:300px 300px;opacity:.9}
.hp img{position:relative;z-index:1;width:100%;height:auto}
.hp.flip img{transform:scaleX(-1)}
.with-person+.mm,.with-person+.wkf,.with-person+.rm-how{border-top-right-radius:0}
@media (max-width:700px){.s-head.with-person{grid-template-columns:1fr}.hp{display:none}.s-head.with-person>div:first-child{padding-bottom:0;margin-bottom:28px}}

/* löydökset: hillitty kuvio taustalla */
.fc{position:relative;overflow:hidden}
.fc>*{position:relative}
.fc::after{content:"";position:absolute;right:0;bottom:0;width:65%;height:55%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%);mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%)}
.fc.strong::after{background:var(--ptn-green);background-size:400px 400px}

/* roadmap-vaiheet väreillä */
.rm-how{margin-bottom:0}
.rm-how li{position:relative;overflow:hidden;flex-direction:column;gap:14px;padding:clamp(22px,2.4vw,30px);border:0;border-radius:var(--r-l);min-height:230px;color:#F7F7F7}
.rm-how li:nth-child(1){background:linear-gradient(150deg,#145466,#0D3E4D)}
.rm-how li:nth-child(2){background:linear-gradient(150deg,#1B6577,#145466)}
.rm-how li:nth-child(3){background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.rm-how li::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:80%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%);mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%)}
.rm-how li:nth-child(3)::after{background:var(--ptn-green);background-size:400px 400px}
.rm-how li>*{position:relative;z-index:1}
.rm-n{width:auto;height:auto;background:none;color:#93FAC8;font-size:2.6rem;line-height:1;letter-spacing:-.02em;justify-content:flex-start}
.rm-how li:nth-child(2) .rm-n{color:#9AE3F4}
.rm-how li:nth-child(3) .rm-n{color:#0D3E4D}
.rm-how b{font-size:1.2rem;margin-bottom:8px}
.rm-how li:nth-child(1) b,.rm-how li:nth-child(2) b{color:#F7F7F7}
.rm-how p{color:rgba(247,247,247,.82);font-size:.98rem}
.rm-how li:nth-child(3) p{color:rgba(10,10,10,.82)}
.with-person+.rm-how li:last-child{border-top-right-radius:0}
.hp.flip img{transform:scaleX(-1)}

/* ===== Tilannekuva: CTA ===== */
.cta-x{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(20px,3vw,40px);padding:clamp(26px,4vw,56px);border-radius:calc(var(--r-l) + 8px);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 55%,#072933 100%);color:#F7F7F7}
.cta-x::before{content:"";position:absolute;right:-40px;top:-60px;width:520px;height:420px;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 70% 30%,#000,transparent 70%);mask-image:radial-gradient(circle at 70% 30%,#000,transparent 70%)}
.cta-x>*{position:relative}
.cta-eb{margin:0 0 10px;font-size:.85rem;font-weight:700;letter-spacing:.03em;color:#93FAC8}
.cta-x h2{margin:0;color:#9AE3F4;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.08;max-width:18ch}
.cta-lead{margin:14px 0 0;max-width:58ch;color:rgba(247,247,247,.82);font-size:1.05rem;line-height:1.55}
.cta-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(22px,3vw,34px)}
.cta-opt{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:20px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.6);transition:transform .3s var(--ease),border-color .3s}
.cta-opt:hover{transform:translateY(-3px);border-color:rgba(147,250,200,.8)}
.cta-opt.main{background:linear-gradient(150deg,#4AE59B,#20A264);border:0;color:#0A0A0A}
.cta-k{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#93FAC8}
.cta-opt.main .cta-k{color:#0D3E4D}
.cta-opt h3{margin:0;font-size:1.2rem;line-height:1.25;color:#F7F7F7}
.cta-opt.main h3{color:#0A0A0A}
.cta-opt>p:not(.cta-k){margin:0 0 6px;font-size:.92rem;line-height:1.5;color:rgba(247,247,247,.8)}
.cta-opt.main>p:not(.cta-k){color:rgba(10,10,10,.8)}
.cta-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:0;background:#93FAC8;color:#0D3E4D;font:700 .95rem var(--font);text-decoration:none;cursor:pointer}
.cta-btn svg{width:18px;height:18px}
.cta-opt.main .cta-btn{background:#0D3E4D;color:#93FAC8}
.cta-btn.ghost{background:transparent;color:#F7F7F7;border:1.5px solid rgba(147,250,200,.6);margin-top:0;min-height:44px;font-size:.88rem}
.cta-btn:hover{filter:brightness(1.06)}
.cta-row{margin-top:auto;display:grid;gap:8px}
.cta-form{margin-top:auto;display:grid;gap:8px}
.cta-form input{font:500 .95rem var(--font);min-height:46px;padding:0 14px;border-radius:12px;border:1.5px solid rgba(147,250,200,.45);background:rgba(4,22,28,.35);color:#F7F7F7}
.cta-form input::placeholder{color:rgba(247,247,247,.6)}
.cta-form input:focus{outline:none;border-color:#93FAC8;box-shadow:0 0 0 3px rgba(147,250,200,.2)}
.cta-form .cta-btn{margin-top:0}
.cta-form.sent .cta-btn{background:#9AE3F4}
.cta-dl{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;color:#9AE3F4;text-decoration:underline;text-underline-offset:.2em}
.cta-dl svg{width:15px;height:15px}
.cta-g{display:flex;gap:14px;align-items:center;margin-top:22px;padding:16px 18px;border-radius:16px;background:rgba(147,250,200,.08);border:1px dashed rgba(147,250,200,.45)}
.cta-g svg{flex:none;width:28px;height:28px;color:#93FAC8}
.cta-g b{display:block;color:#93FAC8}
.cta-g span{font-size:.92rem;color:rgba(247,247,247,.85)}
.cta-person{align-self:stretch;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:28px 22px;border-radius:24px;background:rgba(247,247,247,.06);border:1px solid rgba(154,227,244,.25)}
.cta-pic{position:relative;width:148px;height:148px;margin:10px 0 8px;border-radius:50%;background:linear-gradient(150deg,#4AE59B,#20A264);box-shadow:0 0 0 4px #0D3E4D,0 0 0 6px #93FAC8;overflow:hidden}
.cta-pic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);mix-blend-mode:luminosity}
.cta-person h3{margin:4px 0 0;font-size:1.25rem;color:#F7F7F7}
.cta-role{margin:0 0 8px;font-size:.88rem;color:#9AE3F4}
.cta-person a{color:#F7F7F7;text-decoration:none;font-weight:600;font-size:.95rem}
.cta-person a:hover{color:#93FAC8;text-decoration:underline}
.cta-ygi{margin:auto 0 0;padding-top:18px;font-size:.9rem;color:rgba(247,247,247,.75)}
.cta-ygi b{color:#93FAC8}
@media (max-width:1100px){.cta-x{grid-template-columns:1fr}.cta-person{flex-direction:row;flex-wrap:wrap;justify-content:center;text-align:left;gap:6px 18px}.cta-pic{width:110px;height:110px;margin:0}}
@media (max-width:900px){.cta-opts{grid-template-columns:1fr}}

/* CTA v2 -asettelu */
.cta-x{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.cta-opts,.cta-foot{grid-column:1 / -1}
.cta-opts{margin-top:4px}
.cta-person{flex-direction:row;align-items:center;text-align:left;gap:20px;padding:20px 26px 20px 20px;align-self:end}
.cta-pic{width:128px;height:128px;margin:0;flex:none}
.cta-pi{display:flex;flex-direction:column;gap:3px}
.cta-pi .cta-k{margin-bottom:2px}
.cta-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.cta-foot .cta-g{margin-top:0;flex:1 1 420px}
.cta-ygi{margin:0;padding:0}
.cta-row{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.cta-x{grid-template-columns:1fr}.cta-person{align-self:start;flex-wrap:nowrap;justify-content:flex-start}.cta-pic{width:104px;height:104px}}
@media (max-width:520px){.cta-person{flex-direction:column;align-items:flex-start}.cta-row{grid-template-columns:1fr}}
.cta-row{grid-template-columns:1fr}.cta-btn.ghost{white-space:nowrap}
.hp.wide{width:clamp(220px,27vw,360px)}
.with-person+.fc-grid .fc.strong{border-top-right-radius:0}
.s-head.with-person>div:first-child{min-width:0}
.hp.wide::before{background:linear-gradient(170deg,#4AE59B,#3CD68B)}
.s-head.with-person{column-gap:clamp(56px,6vw,88px)}
.hp.wide::before,.hp.wide::after{left:0}

/* Markun kuva sellaisenaan: kuvassa on jo FORCEO-käsittely ja rengas */
.cta-pic{background:none;box-shadow:none;border-radius:0;overflow:visible}
.cta-pic img{filter:none;mix-blend-mode:normal;object-fit:contain;border-radius:50%}
/* iso brand pattern taustoihin */
.s-bigptn{position:relative;overflow:hidden}
.s-bigptn::before{content:"";position:absolute;inset:0;pointer-events:none;background:var(--ptn-light);background-size:900px 900px;
  -webkit-mask-image:linear-gradient(115deg,transparent 30%,#000 75%);mask-image:linear-gradient(115deg,transparent 30%,#000 75%)}
.s-bigptn>.wrap{position:relative}
.cta-x::before{width:760px;height:620px;right:-120px;top:-140px;background-size:820px 820px}
.gs-media::before{background-size:700px 700px}
:root{--ptn-big:url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cdefs%3E%3Cpattern id="p" width="52" height="22" patternUnits="userSpaceOnUse" patternTransform="rotate%28-30%29"%3E%3Crect x="1" y="1" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.07"/%3E%3Crect x="27" y="12" width="24" height="9" rx="3.5" fill="%230D3E4D" fill-opacity="0.07"/%3E%3Crect x="27" y="1" width="24" height="9" rx="3.5" fill="%2320A264" fill-opacity="0.1"/%3E%3Crect x="1" y="12" width="24" height="9" rx="3.5" fill="%2320A264" fill-opacity="0.1"/%3E%3C/pattern%3E%3C/defs%3E%3Crect width="400" height="400" fill="url%28%23p%29"/%3E%3C/svg%3E")}
.s-bigptn::before{background:var(--ptn-big);background-size:1000px 1000px;-webkit-mask-image:linear-gradient(120deg,transparent 35%,rgba(0,0,0,.55) 70%,#000 100%);mask-image:linear-gradient(120deg,transparent 35%,rgba(0,0,0,.55) 70%,#000 100%)}
:root{--ptn-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cdefs%3E%3Cpattern id='p' width='52' height='22' patternUnits='userSpaceOnUse' patternTransform='rotate(-30)'%3E%3Crect x='1' y='1' width='24' height='9' rx='3.5' fill='%23F7F7F7' fill-opacity='0.1'/%3E%3Crect x='27' y='12' width='24' height='9' rx='3.5' fill='%23F7F7F7' fill-opacity='0.1'/%3E%3Crect x='27' y='1' width='24' height='9' rx='3.5' fill='%230A0A0A' fill-opacity='0.12'/%3E%3Crect x='1' y='12' width='24' height='9' rx='3.5' fill='%230A0A0A' fill-opacity='0.12'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='400' height='400' fill='url(%23p)'/%3E%3C/svg%3E");--ptn-mint:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cdefs%3E%3Cpattern id='p' width='52' height='22' patternUnits='userSpaceOnUse' patternTransform='rotate(-30)'%3E%3Crect x='1' y='1' width='24' height='9' rx='3.5' fill='%2393FAC8' fill-opacity='0.3'/%3E%3Crect x='27' y='12' width='24' height='9' rx='3.5' fill='%2393FAC8' fill-opacity='0.3'/%3E%3Crect x='27' y='1' width='24' height='9' rx='3.5' fill='%230A0A0A' fill-opacity='0.18'/%3E%3Crect x='1' y='12' width='24' height='9' rx='3.5' fill='%230A0A0A' fill-opacity='0.18'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='400' height='400' fill='url(%23p)'/%3E%3C/svg%3E");--ptn-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cdefs%3E%3Cpattern id='p' width='52' height='22' patternUnits='userSpaceOnUse' patternTransform='rotate(-30)'%3E%3Crect x='1' y='1' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.05'/%3E%3Crect x='27' y='12' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.05'/%3E%3Crect x='27' y='1' width='24' height='9' rx='3.5' fill='%2320A264' fill-opacity='0.06'/%3E%3Crect x='1' y='12' width='24' height='9' rx='3.5' fill='%2320A264' fill-opacity='0.06'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='400' height='400' fill='url(%23p)'/%3E%3C/svg%3E");--ptn-green:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cdefs%3E%3Cpattern id='p' width='52' height='22' patternUnits='userSpaceOnUse' patternTransform='rotate(-30)'%3E%3Crect x='1' y='1' width='24' height='9' rx='3.5' fill='%23F7F7F7' fill-opacity='0.16'/%3E%3Crect x='27' y='12' width='24' height='9' rx='3.5' fill='%23F7F7F7' fill-opacity='0.16'/%3E%3Crect x='27' y='1' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.1'/%3E%3Crect x='1' y='12' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='400' height='400' fill='url(%23p)'/%3E%3C/svg%3E");--ptn-big:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cdefs%3E%3Cpattern id='p' width='52' height='22' patternUnits='userSpaceOnUse' patternTransform='rotate(-30)'%3E%3Crect x='1' y='1' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.07'/%3E%3Crect x='27' y='12' width='24' height='9' rx='3.5' fill='%230D3E4D' fill-opacity='0.07'/%3E%3Crect x='27' y='1' width='24' height='9' rx='3.5' fill='%2320A264' fill-opacity='0.1'/%3E%3Crect x='1' y='12' width='24' height='9' rx='3.5' fill='%2320A264' fill-opacity='0.1'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='400' height='400' fill='url(%23p)'/%3E%3C/svg%3E")}
.gs-media img{height:88%}
@media (min-width:701px) and (max-width:1100px){
  .gs-grid{max-width:none}
  .gs-card{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr)}
  .gs-media{height:auto;min-height:300px;border-radius:var(--r-l) 0 0 var(--r-l)}
  .gs-media img{height:80%;right:50%;transform:translateX(50%)}
  .gs-card:hover .gs-media img{transform:translate(50%,-4px)}
  .gs-body{padding:28px 28px 28px 34px}
  .gs-card .gs-ring{position:relative;left:auto;top:auto;width:84px;height:84px;box-shadow:none;margin-bottom:-6px}
  .gs-items{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== v3: kuvio vain korteissa, ehjät kulmat ===== */
.s-ptn::before,.s-bigptn::before,.hp::after,.rm-how li::after{display:none}
.gs-ring .r-ptn{background:#145466}
/* henkilön tausta omaksi pyöristetyksi laatikokseen, ei liitosta korttiin */
.hp{margin-bottom:18px}
.hp::before,.hp.wide::before{border-radius:var(--r-l)}
.hp img{clip-path:inset(-60% 0 0 0 round 0 0 var(--r-l) var(--r-l))}
.with-person+.mm,.with-person+.wkf,.with-person+.rm-how li:last-child,.with-person+.fc-grid .fc.strong{border-top-right-radius:calc(var(--r-l) + 4px)}
.with-person+.rm-how li:last-child{border-top-right-radius:var(--r-l)}
.with-person+.wkf{border-top-right-radius:var(--r-l)}
/* rakennekortin kuva-alue kortin pyöristyksen mukaan */
.gs-card{border:0;box-shadow:inset 0 0 0 1px rgba(82,165,150,.45)}
.gs-media{border-radius:var(--r-l) var(--r-l) 0 0}
/* CTA: kaksi vaihtoehtoa */
.cta-opts{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.cta-opts{grid-template-columns:1fr}}
/* Asiakkaan ääni: värikortit ja kuvio */
.s-voice .qcard{position:relative;overflow:hidden;border:0;color:#F7F7F7}
.s-voice .qcard>*{position:relative;z-index:1}
.s-voice .qcard::after{content:"";position:absolute;right:0;bottom:0;width:75%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%);mask-image:radial-gradient(circle at 100% 100%,#000,transparent 70%)}
.s-voice .qcard:nth-child(3n+1){background:linear-gradient(150deg,#145466,#0D3E4D)}
.s-voice .qcard:nth-child(3n+2){background:linear-gradient(150deg,#1B6577,#145466)}
.s-voice .qcard:nth-child(3n+3){background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.s-voice .qcard:nth-child(3n+3)::after{background:var(--ptn-green);background-size:400px 400px}
.s-voice .qcard p::before{color:#93FAC8}
.s-voice .qcard:nth-child(3n+3) p::before{color:#0D3E4D}
.s-voice .qcard footer b{color:#9AE3F4}
.s-voice .qcard footer span{color:rgba(247,247,247,.75)}
.s-voice .qcard:nth-child(3n+3) footer b{color:#0D3E4D}
.s-voice .qcard:nth-child(3n+3) footer span{color:rgba(10,10,10,.72)}
.cta-opt.main .cta-btn.ghost{color:#0D3E4D;border-color:rgba(13,62,77,.5)}
.cta-opt.main .cta-btn{white-space:nowrap}
.cta-opt.main .cta-btn.ghost{background:transparent}

/* löydös: nosto samalle riville, ei keskiarvoa */
.fc.focus .fc-track{height:78px}
.fc.focus .fc-call{top:31px;left:calc(var(--p) + 28px)}
@media (max-width:600px){.fc.focus .fc-track{height:78px}.fc.focus .fc-call{top:31px;left:calc(var(--p) + 24px)}}
/* CTA: kuvio liukuu oikeaan alakulmaan */
.cta-x::before{left:auto;right:0;top:auto;bottom:0;width:70%;height:85%;background:var(--ptn-dark);background-size:400px 400px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.6) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.6) 35%,transparent 75%)}
/* roadmap-korttien liukuva kuvio, numerot jäävät puhtaalle pohjalle */
.rm-how li::after{display:block;width:85%;height:85%;background-size:400px 400px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 72%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 72%)}

/* ===== Etusivu v2 ===== */
/* polkukortit */
.hpaths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px)}
.hpath{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:calc(var(--r-l) + 4px);background:#0D3E4D;color:#F7F7F7;box-shadow:inset 0 0 0 1px rgba(82,165,150,.45)}
.hpath-media{position:relative;height:280px;overflow:hidden;border-radius:calc(var(--r-l) + 4px) calc(var(--r-l) + 4px) 0 0}
.hpath-media::before{content:"";position:absolute;inset:0;background:var(--ptn-dark);background-size:400px 400px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 40%,transparent 80%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 40%,transparent 80%)}
.hpath.p1 .hpath-media{background:linear-gradient(140deg,#3FB8A3 0%,#145466 75%)}
.hpath.p2 .hpath-media{background:linear-gradient(140deg,#4AE59B 0%,#20A264 80%)}
.hpath-media .gs-big{position:absolute;left:-40px;top:-30px;width:300px;height:auto;color:rgba(247,247,247,.07)}
.hpath-media img{position:absolute;right:6%;bottom:0;height:92%;width:auto;max-width:none;filter:drop-shadow(0 18px 24px rgba(4,22,28,.35));transition:transform .5s var(--ease)}
.hpath:hover .hpath-media img{transform:translateY(-4px)}
.hpath-body{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.6vw,34px);flex:1}
.hpath-body::after{content:"";position:absolute;right:0;bottom:0;width:70%;height:60%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 72%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 72%)}
.hpath-body>*{position:relative;z-index:1}
.hpath-eb{margin:0;font-size:.82rem;font-weight:700;color:#93FAC8}
.hpath.p1 .hpath-eb{color:#9AE3F4}
.hpath h3{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.12;color:#9AE3F4}
.hpath-lead{margin:0;color:rgba(247,247,247,.82);line-height:1.55}
.hpath-steps{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:8px}
.hpath-steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.5)}
.hp-n{flex:none;width:30px;height:30px;border-radius:9px;background:#93FAC8;color:#0D3E4D;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.hpath.p1 .hp-n{background:#9AE3F4}
.hpath-steps b{display:block;font-size:.98rem}
.hpath-steps span:not(.hp-n){font-size:.88rem;color:rgba(247,247,247,.78);line-height:1.45}
.hpath .cta-btn{align-self:flex-start;margin-top:auto}
@media (max-width:900px){.hpaths{grid-template-columns:1fr;max-width:640px}}
@media (max-width:460px){.hpath-media{height:220px}}

/* kolme kysymystä */
.hqs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.hq{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:clamp(24px,2.6vw,32px);border-radius:var(--r-l);color:#F7F7F7}
.hq::after{content:"";position:absolute;right:0;bottom:0;width:85%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 72%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 72%)}
.hq>*{position:relative;z-index:1}
.hq.q1{background:linear-gradient(150deg,#145466,#0D3E4D)}
.hq.q2{background:linear-gradient(150deg,#1B6577,#145466)}
.hq.q3{background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.hq.q3::after{background:var(--ptn-green);background-size:400px 400px}
.hq-ic{width:44px;height:44px;border-radius:12px;background:#93FAC8;color:#0A0A0A;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.hq.q2 .hq-ic{background:#9AE3F4}.hq.q3 .hq-ic{background:#0D3E4D;color:#93FAC8}
.hq-ic svg{width:22px;height:22px}
.hq-eb{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#93FAC8}
.hq.q2 .hq-eb{color:#9AE3F4}.hq.q3 .hq-eb{color:#0D3E4D}
.hq h3{margin:0 0 8px;font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.3;color:#F7F7F7}
.hq.q3 h3{color:#0A0A0A}
.hq ul{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:6px}
.hq li a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(4,22,28,.22);color:inherit;text-decoration:none;font-weight:600;font-size:.94rem;transition:background .2s}
.hq li a:hover{background:rgba(4,22,28,.38)}
.hq.q3 li a{background:rgba(247,247,247,.35)}
.hq.q3 li a:hover{background:rgba(247,247,247,.55)}
.hq li a span{color:#93FAC8}.hq.q3 li a span{color:#0D3E4D}
.hq-all{margin-top:22px}
@media (max-width:980px){.hqs{grid-template-columns:1fr;max-width:640px}}

/* pika-analyysi: tumma kortti ja henkilö */
.hquick{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:clamp(20px,3vw,40px);align-items:end;
  padding:clamp(26px,4vw,56px) clamp(26px,4vw,56px) 0;border-radius:calc(var(--r-l) + 8px);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 55%,#072933 100%);color:#F7F7F7}
.hquick::before{content:"";position:absolute;right:0;bottom:0;width:65%;height:90%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.6) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.6) 35%,transparent 75%)}
.hquick>*{position:relative}
.hquick-main{padding-bottom:clamp(26px,4vw,56px)}
.hquick h2{margin:0;color:#9AE3F4;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.1}
.hquick-list{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px}
.hquick-list li{display:flex;gap:12px;align-items:center;font-weight:600}
.hquick-list .mk-ic{flex:none;width:13px;height:18px;color:#93FAC8}
.hquick .btn{--btn-bg:#93FAC8;--btn-ink:#0D3E4D;background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}
.hquick .btn.ghost{background:transparent;color:#F7F7F7;border-color:rgba(147,250,200,.6)}
.hquick-person{position:relative;align-self:end}
.hquick-person::before{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;border-radius:var(--r-l) var(--r-l) 0 0;background:linear-gradient(170deg,#4AE59B,#20A264)}
.hquick-person img{position:relative;width:100%;height:auto;display:block}
@media (max-width:800px){.hquick{grid-template-columns:1fr}.hquick-person{max-width:260px;justify-self:center}}

/* tiimikortit ja lainaus: kuvio kulmaan */
.s-team .person{position:relative;overflow:hidden}
.s-team .person::after{content:"";position:absolute;right:0;bottom:0;width:60%;height:100%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.s-team .person>*{position:relative;z-index:1}
/* lainauskortti: henkilö pienemmäksi, tilaa yläpuolelle */
.pcard.pquote .pc-media{height:80%;right:7%}
@media (max-width:860px){.pcard.pquote .pc-media{height:auto;width:46%;max-width:200px;right:4%}}
@media (max-width:560px){
  .pcard.pquote{padding-bottom:0}
  .pcard.pquote .pc-top{padding-bottom:0}
  .pcard.pquote .pc-glass{order:2}
  .pcard.pquote .pc-media{position:relative;order:3;right:auto;bottom:auto;align-self:flex-end;width:58%;max-width:220px;height:auto;margin:4px 0 0;z-index:0}
  .pcard.pquote .pc-media img{height:auto;width:100%}
}
@media (max-width:560px){.pcard.pquote .pc-glass{margin-top:6px;z-index:1}}
@media (max-width:860px){.pcard.pquote .pc-glass{margin-top:6px}}

/* ===== Apua tarpeeseen: tuotevalitsin ===== */
.hx{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(18px,2.6vw,34px);align-items:start}
.hx-groups{display:grid;gap:14px}
.hx-group{padding:18px;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line)}
.hx-gl{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.hx-gl b{font-size:1.02rem}
.hx-gl span{font-size:.85rem;color:var(--muted)}
.hx-group.g1 .hx-gl b::before,.hx-group.g2 .hx-gl b::before,.hx-group.g3 .hx-gl b::before,.hx-group.g4 .hx-gl b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:1px}
.hx-group.g1 .hx-gl b::before{background:#3E8A9A}.hx-group.g2 .hx-gl b::before{background:#3FB8A3}.hx-group.g3 .hx-gl b::before{background:#20C27A}.hx-group.g4 .hx-gl b::before{background:#93FAC8}
.hx-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hx-chips.one{grid-template-columns:minmax(0,1fr)}
.hx-chip{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 10px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--text);font:600 .9rem var(--font);text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.hx-chip:hover{border-color:var(--green);transform:translateY(-1px)}
.hx-chip[aria-pressed="true"]{background:#0D3E4D;border-color:#0D3E4D;color:#F7F7F7}
.hx-ic{flex:none;width:30px;height:30px;border-radius:9px;background:#93FAC8;color:#0A0A0A;display:flex;align-items:center;justify-content:center}
.hx-ic svg{width:17px;height:17px}
.hx-panel{position:sticky;top:96px;overflow:hidden;border-radius:calc(var(--r-l) + 4px);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 55%,#072933 100%);color:#F7F7F7;padding:clamp(22px,2.8vw,34px);min-height:420px}
.hx-panel::before{content:"";position:absolute;right:0;bottom:0;width:70%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%)}
.hx-panel>*{position:relative}
.hx-in{animation:hxIn .45s var(--ease)}
@keyframes hxIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hx-eb{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.03em;color:#93FAC8}
.hx-panel h3{margin:0 0 10px;font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.2;color:#9AE3F4}
.hx-empty p{color:rgba(247,247,247,.82)}
.hx-pops{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hx-pop{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(147,250,200,.6);background:transparent;color:#F7F7F7;font:600 .9rem var(--font);cursor:pointer}
.hx-pop:hover{background:rgba(147,250,200,.12)}
.hx-q{margin:0 0 16px;font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.4;font-weight:500;color:#F7F7F7}
.hx-q::before{content:"”";color:#93FAC8;font-size:2rem;line-height:0;vertical-align:-.3em;margin-right:4px}
.hx-ask{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.5);font-size:.92rem;line-height:1.5;color:rgba(247,247,247,.88)}
.hx-ask b{display:block;font-size:.76rem;letter-spacing:.03em;text-transform:uppercase;color:#93FAC8;margin-bottom:4px}
.hx-prod{position:relative;overflow:hidden;display:grid;gap:10px;padding:18px 20px;border-radius:18px;background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A;margin-bottom:10px}
.hx-prod h4{margin:0;font-size:1.12rem;line-height:1.25}
.hx-prod>p{margin:0;font-size:.93rem;color:rgba(10,10,10,.8)}
.hx-facts{display:flex;flex-wrap:wrap;gap:6px}
.hx-facts span{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:rgba(247,247,247,.45)}
.hx-steps{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px;counter-reset:s}
.hx-steps li{display:flex;gap:10px;font-size:.88rem;line-height:1.4}
.hx-steps li::before{counter-increment:s;content:counter(s);flex:none;width:22px;height:22px;border-radius:7px;background:#0D3E4D;color:#93FAC8;font-weight:700;font-size:.75rem;display:flex;align-items:center;justify-content:center;margin-top:1px}
.hx-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.hx-btns a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;font-weight:700;font-size:.9rem;text-decoration:none}
.hx-btns .go{background:#0D3E4D;color:#93FAC8}
.hx-btns .rd{border:1.5px solid rgba(13,62,77,.5);color:#0D3E4D}
@media (max-width:980px){.hx{grid-template-columns:1fr}.hx-panel{position:relative;top:0;min-height:0;scroll-margin-top:90px}}
@media (max-width:520px){.hx-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* miksi kokeilla + henkilöt */
.hqs.why .hq{min-height:220px}
.hq-p{margin:0;line-height:1.55;color:rgba(247,247,247,.85)}
.hq.q3 .hq-p{color:rgba(10,10,10,.8)}
.why-q{margin-top:clamp(18px,2.4vw,28px)}
.hmen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.hman{position:relative;overflow:hidden;display:flex;gap:22px;align-items:center;padding:clamp(22px,2.6vw,32px);border-radius:var(--r-l);background:linear-gradient(150deg,#145466,#0D3E4D);color:#F7F7F7}
.hman:nth-child(2){background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.hman::after{content:"";position:absolute;right:0;bottom:0;width:60%;height:100%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.hman:nth-child(2)::after{background:var(--ptn-green);background-size:400px 400px}
.hman>*{position:relative;z-index:1}
.hman-pic{flex:none;width:clamp(110px,12vw,150px)}
.hman-pic img{width:100%;height:auto;border-radius:50%}
.hman-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.hman h3{margin:0;font-size:1.35rem;color:#9AE3F4}
.hman:nth-child(2) h3{color:#0A0A0A}
.hman-title{margin:0;font-size:.9rem;font-weight:600;color:#93FAC8}
.hman:nth-child(2) .hman-title{color:#0D3E4D}
.hman-areas{margin:6px 0 8px;font-size:.92rem;color:rgba(247,247,247,.85)}
.hman:nth-child(2) .hman-areas{color:rgba(10,10,10,.78)}
.hman-areas span{display:block;font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;opacity:.8}
.hman a{color:inherit;font-weight:600;text-decoration:none;overflow-wrap:anywhere}
.hman a:hover{text-decoration:underline}
@media (max-width:900px){.hmen{grid-template-columns:1fr;max-width:640px}}
@media (max-width:480px){.hman{flex-direction:column;align-items:flex-start}}

/* CTA ilman henkilöitä, kolme vaihtoehtoa */
.cta-x.solo{grid-template-columns:1fr}
.cta-opts.three{grid-template-columns:1.3fr 1fr 1fr}
.cta-form textarea{font:500 .95rem var(--font);padding:12px 14px;border-radius:12px;border:1.5px solid rgba(13,62,77,.35);background:rgba(247,247,247,.55);color:#0A0A0A;resize:vertical;min-height:84px}
.cta-opt.main .cta-form input{border-color:rgba(13,62,77,.35);background:rgba(247,247,247,.55);color:#0A0A0A}
.cta-opt.main .cta-form input::placeholder,.cta-form textarea::placeholder{color:rgba(10,10,10,.55)}
@media (max-width:980px){.cta-opts.three{grid-template-columns:1fr}}
@media (min-width:981px){.hx{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
.hx-chip span:last-child{min-width:0;hyphens:auto;-webkit-hyphens:auto}

/* navigaatio seuraa vierittäessä */
body{overflow-x:clip}
.hdr-chrome{position:sticky;top:0;z-index:60}
.hdr-chrome .hdr{position:relative;top:0}
.hdr{transition:box-shadow .3s}
.hdr.scrolled{box-shadow:0 8px 24px rgba(4,22,28,.28)}
.navdd.hold .dd-menu{opacity:0!important;visibility:hidden!important;pointer-events:none}

/* ===== v4: kaikkien sivujen uudet osat ===== */
.rm-how.auto{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.rm-how.auto li{min-height:200px}
.rm-how.auto li:nth-child(3n+1){background:linear-gradient(150deg,#145466,#0D3E4D);color:#F7F7F7}
.rm-how.auto li:nth-child(3n+2){background:linear-gradient(150deg,#1B6577,#145466);color:#F7F7F7}
.rm-how.auto li:nth-child(3n+3){background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.rm-how.auto li:nth-child(3n+1) b,.rm-how.auto li:nth-child(3n+2) b{color:#F7F7F7}
.rm-how.auto li:nth-child(3n+3) b{color:#0A0A0A}
.rm-how.auto li:nth-child(3n+1) p,.rm-how.auto li:nth-child(3n+2) p{color:rgba(247,247,247,.82)}
.rm-how.auto li:nth-child(3n+3) p{color:rgba(10,10,10,.82)}
.rm-how.auto li:nth-child(3n+1) .rm-n{color:#93FAC8}.rm-how.auto li:nth-child(3n+2) .rm-n{color:#9AE3F4}.rm-how.auto li:nth-child(3n+3) .rm-n{color:#0D3E4D}
.rm-how.auto li:nth-child(3n+3)::after{background:var(--ptn-green);background-size:400px 400px}
/* värikortit yleiskäyttöön */
.hqs .hq h3:last-child{margin-bottom:0}
.hq .hq-p{margin:0}
/* palvelut: Tilannekuva-nosto */
.feat{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);align-items:center;padding:clamp(24px,3.5vw,48px);border-radius:calc(var(--r-l) + 8px);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 55%,#072933 100%);color:#F7F7F7}
.feat::before{content:"";position:absolute;right:0;bottom:0;width:60%;height:80%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%)}
.feat>*{position:relative}
.feat h2{margin:0;color:#9AE3F4;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.1}
.feat-facts{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px}
.feat-facts span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(147,250,200,.1);border:1px solid rgba(147,250,200,.35);font-size:.9rem}
.feat-facts svg{width:18px;height:18px;color:#93FAC8}
.feat .btn{--btn-bg:#93FAC8;--btn-ink:#0D3E4D;background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}
.feat .btn.ghost{background:transparent;color:#F7F7F7;border-color:rgba(147,250,200,.6)}
.feat-img img{width:100%;height:auto;border-radius:var(--r-l);box-shadow:0 0 0 6px rgba(147,250,200,.15)}
@media (max-width:900px){.feat{grid-template-columns:1fr}}
/* palvelut: kategoriat */
.svc-rows{display:grid;gap:clamp(22px,3vw,40px)}
.svc-row{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,2fr);gap:clamp(14px,2vw,24px);align-items:stretch}
.svc-cat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:clamp(22px,2.6vw,30px) clamp(22px,2.6vw,30px) 0;border-radius:var(--r-l);color:#F7F7F7;min-height:380px}
.svc-cat.q1{background:linear-gradient(150deg,#145466,#0D3E4D)}.svc-cat.q2{background:linear-gradient(150deg,#1B6577,#145466)}.svc-cat.q3{background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.svc-cat::after{content:"";position:absolute;right:0;bottom:0;width:90%;height:60%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.svc-cat.q3::after{background:var(--ptn-green);background-size:400px 400px}
.svc-cat>*{position:relative;z-index:1}
.svc-cat h2{margin:0;font-size:clamp(1.25rem,1.9vw,1.55rem);line-height:1.25;color:#F7F7F7}
.svc-cat.q3 h2{color:#0A0A0A}
.svc-cat.q2 .hq-eb{color:#9AE3F4}.svc-cat.q3 .hq-eb{color:#0D3E4D}
.svc-cat.q2 .hq-ic{background:#9AE3F4}.svc-cat.q3 .hq-ic{background:#0D3E4D;color:#93FAC8}
.svc-img{margin-top:auto;display:flex;justify-content:center}
.svc-img img{width:auto;max-width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(4,22,28,.3))}
.svc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.pc2{position:relative;display:flex;flex-direction:column;gap:6px;padding:20px 22px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
.pc2:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:0 14px 30px rgba(13,62,77,.1)}
.pc2 b{font-size:1.08rem;padding-right:24px}
.pc2-t{font-size:.92rem;color:var(--muted);line-height:1.45}
.pc2-f{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px}
.pc2-f i{font-style:normal;font-size:.76rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--chip);color:var(--text)}
.pc2-go{position:absolute;right:18px;top:18px;color:var(--green);font-weight:700}
@media (max-width:980px){.svc-row{grid-template-columns:1fr}.svc-cat{min-height:0}.svc-img img{height:180px}}
@media (max-width:620px){.svc-list{grid-template-columns:1fr}}
/* palvelusivu: mikä se on + faktat */
.pwhat{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.pfact{position:sticky;top:100px;overflow:hidden;padding:clamp(22px,2.6vw,30px);border-radius:var(--r-l);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 60%,#072933 100%);color:#F7F7F7}
.pfact::before{content:"";position:absolute;right:0;bottom:0;width:80%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.pfact>*{position:relative}
.pfact dl{margin:6px 0 20px;display:grid;gap:0}
.pfact dl div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(154,227,244,.2)}
.pfact dt{color:rgba(247,247,247,.75);font-size:.92rem}
.pfact dd{margin:0;font-weight:700;text-align:right}
@media (max-width:900px){.pwhat{grid-template-columns:minmax(0,1fr)}.pfact{position:relative;top:0}}
/* mitä saat */
.outs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.outs li{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-radius:16px;background:var(--surface);border:1px solid var(--line);font-weight:600;line-height:1.45}
.outs .mk-ic{flex:none;width:13px;height:18px;margin-top:3px;color:var(--green)}
/* artikkelikortit */
.acards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.acard{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,28px);border-radius:var(--r-l);color:#F7F7F7;text-decoration:none;min-height:280px;transition:transform .3s var(--ease),box-shadow .3s}
.acard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,62,77,.18)}
.acard.q1{background:linear-gradient(150deg,#145466,#0D3E4D)}.acard.q2{background:linear-gradient(150deg,#1B6577,#145466)}.acard.q3{background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.acard::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:65%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.acard.q3::after{background:var(--ptn-green);background-size:400px 400px}
.acard>*{position:relative;z-index:1}
.acard-top{display:flex;align-items:center;gap:10px}
.acard-top .hq-ic{width:36px;height:36px;margin:0}
.acard.q2 .hq-ic{background:#9AE3F4}.acard.q3 .hq-ic{background:#0D3E4D;color:#93FAC8}
.acard-cat{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#93FAC8}
.acard.q2 .acard-cat{color:#9AE3F4}.acard.q3 .acard-cat{color:#0D3E4D}
.acard h3{margin:4px 0 0;font-size:clamp(1.12rem,1.5vw,1.28rem);line-height:1.3;color:#F7F7F7}
.acard.q3 h3{color:#0A0A0A}
.acard p{margin:0;font-size:.92rem;line-height:1.5;color:rgba(247,247,247,.8)}
.acard.q3 p{color:rgba(10,10,10,.78)}
.acard-meta{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;gap:10px;font-size:.82rem;font-weight:600;color:rgba(247,247,247,.75)}
.acard.q3 .acard-meta{color:rgba(10,10,10,.72)}
.acard-meta span{color:#93FAC8;font-weight:700}.acard.q3 .acard-meta span{color:#0D3E4D}
.acard.big{min-height:300px;margin-bottom:clamp(14px,1.8vw,22px);padding:clamp(28px,3.4vw,44px)}
.acard.big h3{font-size:clamp(1.6rem,2.8vw,2.3rem);max-width:24ch}
.acard.big p{font-size:1.05rem;max-width:60ch}
.dark-eb{color:var(--green)!important;margin-bottom:12px!important}
@media (max-width:980px){.acards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.acards{grid-template-columns:1fr}}
/* artikkelin sivupalkki */
.art-aside{display:grid;gap:14px;align-content:start}
.as-card{position:relative;overflow:hidden;display:grid;gap:10px;padding:20px;border-radius:var(--r-l);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 60%);color:#F7F7F7}
.as-card .cta-eb{margin:0}
.as-link{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.5);color:#F7F7F7;text-decoration:none}
.as-link:hover{border-color:#93FAC8}
.as-link b{font-size:.95rem}.as-link span{font-size:.82rem;color:rgba(247,247,247,.75)}
.as-card.light{background:var(--surface);border:1px solid var(--line);color:var(--text)}
.as-au{display:flex;gap:12px;align-items:center}
.as-au img{width:64px;height:64px;border-radius:50%}
.as-au b{display:block}.as-au span{font-size:.85rem;color:var(--muted)}
.as-card.light a{color:var(--link);font-weight:600;font-size:.92rem;text-decoration:none;overflow-wrap:anywhere}
.art-body .tldr{border-radius:var(--r-l);background:linear-gradient(150deg,rgba(147,250,200,.25),rgba(74,229,155,.18));border:1px solid rgba(32,162,100,.35);padding:20px 22px}
/* referenssit: logopaneeli */
.logos-panel{position:relative;overflow:hidden;padding:clamp(26px,4vw,52px);border-radius:calc(var(--r-l) + 8px);background:radial-gradient(120% 140% at 0% 0%,#145466 0%,#0D3E4D 55%,#072933 100%);color:#F7F7F7}
.logos-panel::before{content:"";position:absolute;right:0;bottom:0;width:60%;height:80%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.55) 35%,transparent 75%)}
.logos-panel>*{position:relative}
.logos-panel h2{color:#9AE3F4;margin:0 0 24px}
/* pika-analyysi: lomakekortti */
.qa-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.qa-list li{display:flex;gap:12px;align-items:center;font-weight:600}
.qa-list .mk-ic{flex:none;width:13px;height:18px;color:#93FAC8}
.qcard-form{position:relative;padding:clamp(24px,3.4vw,44px);border-radius:calc(var(--r-l) + 4px);background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 60px rgba(13,62,77,.1)}
.qcard-form h2{margin:0 0 20px}
/* CTA-lomake tummalla kortilla */
.cta-opt:not(.main) .cta-form textarea{background:rgba(4,22,28,.35);border-color:rgba(147,250,200,.45);color:#F7F7F7}
.cta-opt:not(.main) .cta-form textarea::placeholder{color:rgba(247,247,247,.6)}
.cta-opts:not(.three){grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.cta-opts:not(.three){grid-template-columns:1fr}}
/* asiakaskortit kaikkialla värikkäinä */
.qcards .qcard{position:relative;overflow:hidden;border:0;color:#F7F7F7}
.qcards .qcard>*{position:relative;z-index:1}
.qcards .qcard::after{content:"";position:absolute;right:0;bottom:0;width:75%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 72%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 72%)}
.qcards .qcard:nth-child(3n+1){background:linear-gradient(150deg,#145466,#0D3E4D)}
.qcards .qcard:nth-child(3n+2){background:linear-gradient(150deg,#1B6577,#145466)}
.qcards .qcard:nth-child(3n+3){background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.qcards .qcard:nth-child(3n+3)::after{background:var(--ptn-green);background-size:400px 400px}
.qcards .qcard p::before{color:#93FAC8}.qcards .qcard:nth-child(3n+3) p::before{color:#0D3E4D}
.qcards .qcard footer b{color:#9AE3F4}.qcards .qcard footer span{color:rgba(247,247,247,.75)}
.qcards .qcard:nth-child(3n+3) footer b{color:#0D3E4D}.qcards .qcard:nth-child(3n+3) footer span{color:rgba(10,10,10,.72)}
:root{--lm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='59 50 29.5 42'%3E%3Cg transform='rotate(-30)'%3E%3Crect x='25.34' y='84.01' width='19.23' height='7.69' rx='1.44'/%3E%3Crect x='15.73' y='91.70' width='9.61' height='7.69' rx='1.44'/%3E%3Crect x='25.34' y='99.39' width='14.42' height='7.69' rx='1.44'/%3E%3Crect x='15.73' y='107.08' width='9.61' height='7.69' rx='1.44'/%3E%3C/g%3E%3C/svg%3E")}
/* palvelun tunnus: logomerkki palvelun nimen edessä */
.pc2 b::before,.hq li a::before,.hx-prod h4::before,.as-link b::before,.mm-col li a b::before,.phero h1.svc::before,.feat h2::before,.hero h1::before{content:"";display:inline-block;flex:none;width:.78em;height:1.08em;margin-right:.42em;vertical-align:-.12em;
  background:currentColor;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.pc2 b::before{color:#20A264}
.hq li a::before{color:#93FAC8}.hq.q3 li a::before{color:#0D3E4D}
.hq li a{justify-content:flex-start}.hq li a span{margin-left:auto}
.hx-prod h4::before{color:#0D3E4D}
.as-link b::before{color:#93FAC8}
.mm-col li a b::before{color:#93FAC8}
.phero h1.svc::before{width:.62em;height:.86em;margin-right:.28em;vertical-align:-.04em;color:#93FAC8}
@media (max-width:600px){.phero h1.svc::before{display:none}}
.feat h2::before{width:.62em;height:.86em;margin-right:.3em;vertical-align:-.04em;color:#93FAC8}
.hero h1::before{width:.6em;height:.84em;margin-right:.24em;vertical-align:-.02em;color:#93FAC8}
.hero h1{color:#9AE3F4}.hero .lead{color:#F7F7F7}

/* kaikkien sivujen herot: vaaleansininen otsikko, valkoinen leipäteksti */
.phero h1{color:#9AE3F4}
.phero .lead{color:#F7F7F7}
.phero h1.h1-l.svc::before{width:.6em;height:.84em;margin-right:.26em}
/* tavoitekartta palvelusivulla */
.aims-map .mm-from{position:absolute;top:23px;height:4px;width:var(--w);border-radius:2px;background:linear-gradient(90deg,#9AE3F4,#93FAC8)}
.aims-map .mm-start{position:absolute;top:16px;width:18px;height:18px;border-radius:50%;background:#0D3E4D;border:3px solid #9AE3F4;box-sizing:border-box}
.mm-leg .start{background:#0D3E4D;border:2px solid #9AE3F4;box-sizing:border-box}
/* asiakaskorttien logot */
.q-logo{display:flex;align-items:center;height:34px;margin-bottom:4px}
.q-logo img{height:26px;width:auto;max-width:150px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}
.qcards .qcard:nth-child(3n+3) .q-logo img{filter:brightness(0);opacity:.8}
/* palvelusivujen kuvaajat */
.chart-x .mm-panel{padding:clamp(16px,2.4vw,28px)}
.fu-l{font-size:.95rem;font-weight:600}
.fu{display:grid;gap:12px}
.fu-row,.tu-row,.rh-row,.vw-row{display:grid;grid-template-columns:minmax(110px,180px) minmax(0,1fr);gap:14px;align-items:center}
.fu-bars{display:grid;gap:5px}
.fu-a,.fu-b{display:block;height:14px;border-radius:7px;width:0;transition:width 1s var(--ease) .15s}
.fu-a{background:#9AE3F4;opacity:.75}.fu-b{background:#93FAC8}
.chart-x.go .fu-a,.chart-x.go .fu-b{width:var(--w)}
.mm-leg .start{background:#9AE3F4}
.aims-map .mm-leg .start{background:#0D3E4D;border:2px solid #9AE3F4}
.tu{display:grid;gap:16px}
.tu-bar{display:flex;height:52px;border-radius:14px;overflow:hidden;gap:3px}
.tu-a,.tu-b{display:flex;align-items:center;padding:0 16px;font-size:.85rem;font-weight:700;white-space:nowrap;overflow:hidden;color:#0D3E4D}
.tu-a{background:#9AE3F4}.tu-b{background:#93FAC8}
.rh{display:grid;gap:10px}
.rh-track{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;min-height:26px;align-items:center}
.rh-head .rh-track span{font-size:.7rem;font-weight:700;color:#9AE3F4;text-align:center}
.rh-b{height:26px;border-radius:8px}
.rh-b.r0{background:#93FAC8}.rh-b.r1{background:linear-gradient(90deg,#3FB8A3,#20C27A)}.rh-b.r2{background:#9AE3F4}
.vw{display:grid;gap:8px}
.vw-scale{display:flex;justify-content:space-between;padding-left:calc(min(180px,30%) + 14px);font-size:.78rem;font-weight:700;color:#9AE3F4}
.vw-row{grid-template-columns:minmax(110px,180px) minmax(0,1fr) 120px;padding:8px 10px;border-radius:14px}
.vw-row.focus{background:rgba(154,227,244,.10)}
.vw-track{position:relative;height:44px;border-radius:12px;background:rgba(147,250,200,.07)}
.vw-track::before{content:"";position:absolute;left:2%;right:2%;top:20px;height:4px;border-radius:2px;background:rgba(247,247,247,.12)}
.vw-span{position:absolute;top:8px;height:28px;border-radius:14px;background:rgba(147,250,200,.14)}
.vw-row.focus .vw-span{background:rgba(154,227,244,.24)}
.vw-d{position:absolute;top:13px;width:18px;height:18px;border-radius:50%;box-sizing:border-box;background:#0D3E4D;border:3px solid #9AE3F4}
.vw-d.ceo{top:9px;width:26px;height:26px;border:0;background:#93FAC8;box-shadow:0 0 0 4px rgba(13,62,77,.85)}
.vw-tag{font-size:.82rem;font-weight:700;color:#93FAC8}
.vw-row.focus .vw-tag{color:#0D3E4D;background:#9AE3F4;border-radius:999px;padding:5px 10px;justify-self:start}
@media (max-width:700px){.fu-row,.tu-row,.rh-row,.vw-row{grid-template-columns:1fr;gap:6px}.vw-scale{padding-left:0}.rh-head .rh-track span{font-size:.55rem}.vw-tag{justify-self:start}}
.rh-head .rh-track span b{font-weight:700}.rh-head .rh-track span i{display:none;font-style:normal}
@media (max-width:700px){.rh-head .rh-track span b{display:none}.rh-head .rh-track span i{display:inline;font-size:.7rem}.aims-map .mm-h .nm{font-size:.66rem;line-height:1.15}}

/* ===== Navigaatio v2: selkeä megavalikko ===== */
.hdr .dd-menu.mega.mg{padding:14px;display:grid;gap:12px;background:linear-gradient(180deg,#0f4656,#0D3E4D);border:1px solid rgba(154,227,244,.18);box-shadow:0 30px 70px rgba(4,22,28,.45)}
.hdr .mg a{text-decoration:none}
.hdr .mg .mg-feat{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 16px;padding:16px 20px!important;margin:0!important;border-radius:16px!important;
  background:linear-gradient(120deg,#4AE59B,#20A264);color:#0A0A0A;font-size:1rem}
.hdr .mg .mg-feat::after{content:"";position:absolute;right:0;bottom:0;width:50%;height:100%;background:var(--ptn-green);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.hdr .mg .mg-feat>*{position:relative;z-index:1}
.mg-feat-eb{grid-row:1 / span 2;align-self:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:#0D3E4D;color:#93FAC8}
.mg-feat b{font-size:1.1rem;color:#0A0A0A}
.mg-feat b::before{content:"";display:inline-block;width:.78em;height:1.08em;margin-right:.4em;vertical-align:-.12em;background:#0D3E4D;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.mg-feat-p{grid-column:2;font-size:.86rem;color:rgba(10,10,10,.78)}
.mg-go{grid-row:1 / span 2;grid-column:3;font-weight:700;font-size:1.2rem;color:#0D3E4D;transition:transform .2s}
.hdr .mg .mg-feat:hover .mg-go{transform:translateX(4px)}
.mg-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mg-col{border-radius:16px;background:rgba(20,84,102,.45);border:1px solid rgba(154,227,244,.14);overflow:hidden}
.mg-col::before{content:"";display:block;height:4px;background:var(--cc)}
.mg-col.c1{--cc:#9AE3F4}.mg-col.c2{--cc:#93FAC8}.mg-col.c3{--cc:#4AE59B}
.hdr .mg .mg-h{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;gap:12px;width:100%;padding:16px 16px 10px;cursor:default;color:#F7F7F7}
.mg-ic{flex:none;width:34px;height:34px;border-radius:10px;background:var(--cc);color:#0A0A0A;display:flex;align-items:center;justify-content:center}
.mg-ic svg{width:18px;height:18px}
.mg-ht{display:grid;gap:3px}
.mg-ht b{font-size:1.05rem;font-weight:700;color:#F7F7F7}
.mg-ht small{font-size:.78rem;line-height:1.4;color:rgba(247,247,247,.66);min-height:2.8em}
.mg-h>svg{display:none}
.mg-list{list-style:none;margin:0;padding:4px 8px 10px;display:grid;gap:2px}
.mg-list li+li{border-top:1px solid rgba(154,227,244,.08)}
.hdr .mg .mg-list a{display:grid!important;gap:2px;padding:9px 10px!important;border-radius:10px!important;color:#F7F7F7;font-size:.95rem!important;opacity:1!important}
.hdr .mg .mg-list a b{font-weight:600;font-size:.94rem}
.hdr .mg .mg-list a b::before{color:var(--cc)}
.hdr .mg .mg-list a span{font-size:.78rem;line-height:1.35;color:rgba(247,247,247,.62)}
.hdr .mg .mg-list a:hover,.hdr .mg .mg-list a:focus-visible{background:rgba(147,250,200,.1)}
.hdr .mg .mg-list a[aria-current="page"]{background:rgba(147,250,200,.16)}
.mg-list a b::before{content:"";display:inline-block;width:.72em;height:1em;margin-right:.4em;vertical-align:-.1em;background:currentColor;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.mg-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hdr .mg .mg-help{flex:1;display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px!important;border-radius:14px!important;border:1px solid rgba(147,250,200,.35);color:#F7F7F7}
.mg-help b{color:#93FAC8;font-size:.95rem}
.mg-help span{font-size:.82rem;color:rgba(247,247,247,.7)}
.hdr .mg .mg-help:hover{background:rgba(147,250,200,.08)}
.hdr .mg .mg-all{display:inline-flex!important;align-items:center;gap:8px;padding:12px 16px!important;border-radius:14px!important;background:#93FAC8;color:#0D3E4D;font-weight:700;font-size:.92rem!important}
/* mobiili: koko näytön valikko */
@media (max-width:1180px){
  .hdr.open .nav{gap:0;padding-top:12px}
  .hdr.open .navdd>.dd-top{font-size:1.3rem;font-weight:600;padding:14px 4px;border-bottom:0!important}
  .hdr.open .dd-menu.mega.mg{position:static;padding:0 0 14px;background:transparent;border:0;box-shadow:none;gap:10px}
  .hdr.open .mg .mg-feat{grid-template-columns:1fr auto;padding:14px 16px!important}
  .hdr.open .mg-feat-eb{grid-row:auto;justify-self:start}
  .hdr.open .mg-feat b{grid-column:1}.hdr.open .mg-feat-p{grid-column:1}
  .hdr.open .mg-go{grid-row:1 / span 3;grid-column:2}
  .hdr.open .mg-cols{grid-template-columns:1fr;gap:8px}
  .hdr.open .mg .mg-h{align-items:center;padding:14px 14px;min-height:56px;cursor:pointer}
  .hdr.open .mg-ht small{display:none}
  .hdr.open .mg-h>svg{display:block;width:20px;height:20px;margin-left:auto;color:#93FAC8;transition:transform .25s var(--ease)}
  .hdr.open .mg-col.open .mg-h>svg{transform:rotate(180deg)}
  .hdr.open .mg-list{display:none;padding:0 8px 10px}
  .hdr.open .mg-col.open .mg-list{display:grid}
  .hdr.open .mg .mg-list a{min-height:48px;align-content:center;padding:10px 12px!important}
  .hdr.open .mg .mg-list a span{display:none}
  .hdr.open .mg-foot{flex-direction:column;align-items:stretch;gap:8px}
  .hdr.open .mg .mg-all{justify-content:center}
  .hdr.open .nav>a.nav-l{font-size:1.3rem;font-weight:600;padding:16px 4px;border-bottom:1px solid rgba(154,227,244,.12)}
  .hdr.open .nav>a.nav-l:first-of-type{border-top:1px solid rgba(154,227,244,.12)}
}
@media (max-width:1180px){
  .hdr.open .dd-menu.mg a{opacity:1!important}
  .hdr.open .mg .mg-help{padding:14px 16px!important;font-size:1rem!important}
  .hdr.open .mg .mg-all{padding:14px 16px!important;font-size:1rem!important}
  .hdr.open .mg .mg-feat{font-size:1rem!important}
}
/* tavoitekaaviot */
.mm-leg .sw0{background:#9AE3F4}.mm-leg .sw1{background:#3FB8A3}.mm-leg .sw2{background:#93FAC8}
.sp{display:grid;gap:16px}
.sp-wrap{width:100%}
.sp-bar{display:flex;height:54px;gap:3px;border-radius:14px;overflow:hidden;width:0;transition:width 1.1s var(--ease) .15s}
.chart-x.go .sp-bar{width:var(--w)}
.sp-s{display:flex;align-items:center;padding:0 14px;font-size:.82rem;font-weight:700;color:#0D3E4D;white-space:nowrap;overflow:hidden;min-width:0}
.co{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end;height:260px;padding-top:10px}
.co-c{display:flex;flex-direction:column;align-items:center;gap:10px;height:100%}
.co-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:6px;border-bottom:1px solid rgba(154,227,244,.25)}
.co-a,.co-b{width:min(34%,34px);height:0;border-radius:8px 8px 0 0;transition:height 1s var(--ease) .15s}
.co-a{background:#9AE3F4;opacity:.8}.co-b{background:#93FAC8}
.chart-x.go .co-a,.chart-x.go .co-b{height:var(--h)}
.co-l{font-size:.8rem;font-weight:600;text-align:center;line-height:1.25;min-height:2.5em}
.ms{position:relative;padding:8px 4px 4px}
.ms-line{position:absolute;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);top:30px;height:4px;border-radius:2px;background:rgba(247,247,247,.12)}
.ms-fill{display:block;height:100%;width:0;border-radius:2px;background:linear-gradient(90deg,#9AE3F4,#93FAC8);transition:width 1.4s var(--ease) .2s}
.chart-x.go .ms-fill{width:100%}
.ms ol{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}
.ms li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.ms-dot{width:44px;height:44px;border-radius:50%;background:#0D3E4D;border:3px solid #93FAC8;box-shadow:0 0 0 5px rgba(13,62,77,.85);box-sizing:border-box;position:relative}
.ms li:last-child .ms-dot{background:#93FAC8}
.ms-dot::after{content:"";position:absolute;inset:9px 11px;background:#93FAC8;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.ms li:last-child .ms-dot::after{background:#0D3E4D}
.ms-k{font-size:.74rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#9AE3F4}
.ms b{font-size:.95rem;line-height:1.35;color:#F7F7F7;max-width:22ch}
.goal-wf .wf,.goal-wf figure{margin:0}
@media (max-width:700px){
  .co{height:220px;gap:6px}.co-l{font-size:.66rem}
  .ms ol{grid-template-columns:1fr;gap:16px}.ms li{flex-direction:row;text-align:left;align-items:center}
  .ms-line{left:25px;right:auto;top:30px;bottom:30px;width:4px;height:auto}
  .ms-fill{width:100%;height:0;transition:height 1.4s var(--ease) .2s}.chart-x.go .ms-fill{height:100%}
  .ms-k{min-width:76px}
}
.ms-t{display:flex;flex-direction:column;align-items:center;gap:6px}
@media (max-width:700px){.ms-t{align-items:flex-start;gap:2px}.ms-k{min-width:0}}
.goal-wf .viz{position:relative;overflow:hidden;border:0;border-radius:calc(var(--r-l) + 4px);background:#0D3E4D;color:#F7F7F7;padding:clamp(20px,3vw,40px)}
.goal-wf .viz::after{content:"";position:absolute;right:0;bottom:0;width:60%;height:70%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.goal-wf .viz>*{position:relative;z-index:1}
.goal-wf .viz h3{color:#9AE3F4;font-size:clamp(1.3rem,2.2vw,1.9rem)}
.goal-wf .wgrid{padding:18px 14px 6px;border-radius:22px;background:rgba(20,84,102,.42);border:1px solid rgba(82,165,150,.45)}
.goal-wf .wl,.goal-wf .wv{color:rgba(247,247,247,.8)}
.goal-wf .wcol.k-s .wbar::before,.goal-wf .wcol.k-e .wbar::before{background:linear-gradient(180deg,#93FAC8,#20C27A)}
.goal-wf figcaption{color:rgba(247,247,247,.7)!important}
.sp-wrap{min-width:0;overflow:hidden}
.sp-s{flex-basis:0;text-overflow:ellipsis}
@media (max-width:700px){.sp-s{font-size:0;padding:0}.sp-bar{height:40px}}

/* ===== etusivun alaosa v2 ===== */
/* kysymykset: värikorttikolmikko beige-osiossa */
.hq2s{background:var(--bg-alt)}
.hq2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hq2{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:24px;padding:28px 26px 16px;color:#F7F7F7;
  transition:transform .25s var(--ease),box-shadow .25s}
.hq2::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:65%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.hq2>*{position:relative;z-index:1}
.hq2:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,62,77,.18)}
.hq2.c1{background:linear-gradient(160deg,#145466,#0D3E4D);--cc:#93FAC8;--ic:#93FAC8;--li:rgba(154,227,244,.16)}
.hq2.c2{background:linear-gradient(160deg,#1B6577,#145466);--cc:#93FAC8;--ic:#93FAC8;--li:rgba(154,227,244,.18)}
.hq2.c3{background:linear-gradient(160deg,#4AE59B,#20A264);color:#0A0A0A;--cc:#0D3E4D;--ic:#0D3E4D;--li:rgba(13,62,77,.18)}
.hq2.c3::after{background-image:var(--ptn-green)}
.hq2-num{position:absolute;right:20px;top:16px;font-size:3rem;font-weight:800;letter-spacing:-.04em;color:currentColor;opacity:.14;line-height:1}
.hq2-ic{width:44px;height:44px;border-radius:13px;background:var(--ic);color:#0D3E4D;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.hq2.c3 .hq2-ic{color:#93FAC8}
.hq2-ic svg{width:22px;height:22px}
.hq2-eb{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cc);margin:0 0 6px}
.hq2 h3{font-size:clamp(1.2rem,1.7vw,1.45rem);line-height:1.25;letter-spacing:-.01em;color:inherit;margin:0 0 18px;min-height:3.6em}
.hq2-list{list-style:none;margin:auto 0 0;padding:0}
.hq2-list li+li{border-top:1px solid var(--li)}
.hq2-list a{display:flex;align-items:center;gap:10px;padding:12px 2px;color:inherit;text-decoration:none;border-radius:8px}
.hq2-list .mk-b{font-weight:600;font-size:.96rem}
.mk-b::before{content:"";display:inline-block;width:.72em;height:1em;margin-right:.45em;vertical-align:-.1em;background:var(--cc,#93FAC8);-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.hq2-go{margin-left:auto;color:var(--cc);font-weight:700;opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .25s var(--ease)}
.hq2-list a:hover .hq2-go,.hq2-list a:focus-visible .hq2-go{opacity:1;transform:none}
.hq2-list a:hover .mk-b{text-decoration:underline;text-underline-offset:3px}
.hq2-foot{display:flex;justify-content:center;margin-top:30px}
@media (max-width:980px){.hq2-grid{grid-template-columns:1fr}.hq2 h3{min-height:0}}
/* pika-analyysi */
.qk2{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .85fr;gap:24px;border-radius:30px;color:#F7F7F7;
  background:linear-gradient(120deg,#145466,#0D3E4D 70%);border:1px solid rgba(82,165,150,.4)}
.qk2::after{content:"";position:absolute;right:0;bottom:0;width:55%;height:75%;background:var(--ptn-dark);background-size:430px 430px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.qk2-main{position:relative;z-index:1;padding:clamp(26px,4vw,52px)}
.qk2-main h2{color:#9AE3F4;font-size:clamp(1.6rem,2.6vw,2.3rem)}
.qk2-main .cta-lead{color:rgba(247,247,247,.85);max-width:48ch}
.qk2-gets{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px}
.qk2-gets li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:rgba(20,84,102,.55);border:1px solid rgba(154,227,244,.16);font-weight:600;font-size:.96rem}
.qk2-n{flex:none;width:30px;height:30px;border-radius:50%;background:#93FAC8;color:#0D3E4D;font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.qk2-side{position:relative;z-index:1;align-self:end;display:flex;justify-content:center;min-height:320px}
.qk2-blob{position:absolute;inset:auto 8% 0;height:86%;border-radius:26px 26px 0 0;background:linear-gradient(160deg,#4AE59B,#20A264)}
.qk2-blob::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--ptn-green);background-size:300px 300px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.qk2-side img{position:relative;width:auto;height:min(420px,34vw);max-width:100%;object-fit:contain;object-position:bottom}
@media (max-width:980px){
  .qk2{grid-template-columns:1fr;gap:0}
  .qk2-side{min-height:0;margin-top:-6px}
  .qk2-side img{height:300px}
}
/* asiakkaan ääni */
.hv2{display:grid;grid-template-columns:.9fr 1.35fr;gap:clamp(22px,4vw,56px);align-items:center;margin:0}
.hv2-img{position:relative;align-self:stretch;min-height:380px;display:flex;align-items:flex-end;justify-content:center}
.hv2-bg{position:absolute;inset:12% 0 0;border-radius:28px;background:linear-gradient(160deg,#4AE59B,#20A264);overflow:hidden}
.hv2-bg::after{content:"";position:absolute;inset:0;background:var(--ptn-green);background-size:340px 340px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.hv2-img img{position:relative;width:auto;height:min(430px,100%);max-width:92%;object-fit:contain;object-position:bottom}
.hv2-q{margin:0;padding:0}
.hv2-eb{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--link);margin:0 0 14px}
.hv2-eb::before{content:"";display:inline-block;width:.75em;height:1.05em;margin-right:.5em;vertical-align:-.14em;background:var(--mark);-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.hv2-txt{position:relative;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.3;font-weight:700;letter-spacing:-.015em;color:var(--text);margin:0 0 26px}
.hv2-txt::before{content:"”";position:absolute;left:-.55em;top:-.42em;font-size:3.2em;line-height:1;color:#93FAC8;opacity:.9;z-index:-1}
.hv2-q{position:relative;z-index:0}
.hv2-cite{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hv2-cite .q-logo{display:flex;align-items:center;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line)}
.hv2-cite .q-logo img{height:26px;width:auto}
.hv2-cite b{display:block;font-size:1rem;color:var(--text)}
.hv2-cite span{font-size:.88rem;color:var(--muted)}
.hv2-more{margin:26px 0 0;text-align:right}
@media (max-width:980px){
  .hv2{grid-template-columns:1fr}
  .hv2-img{order:2;min-height:0;margin-top:8px}
  .hv2-img img{height:300px}
  .hv2-txt::before{left:-.1em;top:-.55em}
  .hv2-more{text-align:left}
}
/* tiimi */
.tm2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tm2-c{position:relative;overflow:hidden;border-radius:26px;padding:clamp(22px,3vw,32px)}
.tm2-c::after{content:"";position:absolute;right:0;bottom:0;width:55%;height:60%;background-size:360px 360px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.tm2-c>*{position:relative;z-index:1}
.tm2-c.t-dark{background:linear-gradient(135deg,#145466,#0D3E4D);color:#F7F7F7}
.tm2-c.t-dark::after{background-image:var(--ptn-dark)}
.tm2-c.t-green{background:linear-gradient(135deg,#4AE59B,#20A264);color:#0A0A0A}
.tm2-c.t-green::after{background-image:var(--ptn-green)}
.tm2-top{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.tm2-ph{flex:none;width:92px;height:92px;border-radius:50%;overflow:hidden;border:3px solid #93FAC8;box-shadow:0 6px 18px rgba(4,22,28,.25)}
.tm2-c.t-green .tm2-ph{border-color:#0D3E4D}
.tm2-ph img{width:100%;height:100%;object-fit:cover}
.tm2-eb{font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#93FAC8;margin:0 0 4px}
.tm2-c.t-green .tm2-eb{color:#0D3E4D}
.tm2-c h3{font-size:clamp(1.3rem,2vw,1.6rem);margin:0;color:inherit}
.tm2-acts{display:flex;gap:10px;flex-wrap:wrap}
.tm2-a{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;
  background:rgba(247,247,247,.1);border:1px solid rgba(154,227,244,.3);color:#F7F7F7;transition:background .2s}
.tm2-a svg{width:16px;height:16px}
.tm2-c.t-dark .tm2-a:hover{background:rgba(147,250,200,.18)}
.tm2-c.t-green .tm2-a{background:rgba(13,62,77,.1);border-color:rgba(13,62,77,.35);color:#0A0A0A}
.tm2-c.t-green .tm2-a:hover{background:rgba(13,62,77,.2)}
.tm2-more{margin-top:24px}
@media (max-width:860px){.tm2{grid-template-columns:1fr}.tm2-a{word-break:break-all}}
.qk2 .btns .btn:not(.ghost){background:#93FAC8;color:#0D3E4D;border-color:transparent}
.qk2 .btns .btn.ghost{color:#F7F7F7;border-color:rgba(147,250,200,.5)}
.qk2 .btns .btn.ghost:hover{background:rgba(147,250,200,.12)}
.hv2-cite .q-logo{background:#0D3E4D;border-color:#0D3E4D}
@media (max-width:980px){.hv2-txt::before{display:none}}

/* ===== mobiilin tekstien skaalaus ===== */
h1,h2,h3,h4,.cta-x h2,.pc2 h3,.hq2 h3,.tm2-c h3,.hman h3{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.cta-x>*,.pcard>*,.hq2>*,.qk2>*,.tm2-c>*,.feat>*,.hv2>*{min-width:0}
p,li,b,dd,dt,small,blockquote,figcaption{overflow-wrap:break-word}
.mm-lv{display:none}
@media (max-width:560px){
  .mm-h .nm{display:none}
  .mm-lv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;list-style:none;margin:0 0 12px;padding:0 4px}
  .mm-lv li{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:rgba(247,247,247,.85);min-width:0}
  .mm-lv .n{flex:none;font-size:.7rem;font-weight:800;color:#0D3E4D;background:#93FAC8;border-radius:6px;padding:1px 5px}
  .mm-head{padding-bottom:8px}
  .wkf-day{grid-template-columns:96px minmax(0,1fr)!important}
  .wkf-dh b{font-size:.95rem}
}
@media (max-width:420px){
  .hx-chips:not(.one){gap:6px}
  .hx-chips:not(.one) .hx-chip{flex-direction:column;align-items:flex-start;gap:6px;padding:10px;font-size:.84rem;line-height:1.25}
  .hx-chip>span:last-child{overflow-wrap:break-word}
  .cta-x h2{font-size:clamp(1.5rem,7.4vw,1.9rem)}
}
.fc-track .z i{font-style:normal}
.fc-lv{display:none}
@media (max-width:460px){
  .fc-track .z i{display:none}
  .fc-track .z b{font-size:.7rem}
  .fc-lv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;list-style:none;margin:10px 2px 2px;padding:0;font-size:.74rem;font-weight:600;color:rgba(247,247,247,.8)}
  .fc-lv li{display:flex;gap:6px;align-items:baseline;min-width:0}
  .fc-lv b{color:#9AE3F4;font-size:.7rem}
  .fc.strong .fc-lv{color:rgba(10,10,10,.75)}.fc.strong .fc-lv b{color:#0D3E4D}
}
.pwhat>*,.hqs>*,.hq>*,.hq li,.layout>*{min-width:0}
.hq li a{min-width:0}.hq li a>*:first-child{min-width:0;overflow-wrap:break-word}
@media (max-width:360px){
  .hx-chips:not(.one) .hx-chip{font-size:.78rem;padding:9px 8px}
  h2{overflow-wrap:anywhere}
}
@media (max-width:360px){.hq li a{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}}
@media (max-width:700px){
  .co{display:grid;grid-template-columns:minmax(0,1fr);height:auto;gap:12px;padding-top:4px}
  .co-c{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;height:auto;gap:10px}
  .co-l{order:-1;text-align:left;font-size:.8rem;min-height:0}
  .co-bars{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border-bottom:0;border-left:1px solid rgba(154,227,244,.25);padding:2px 0}
  .co-a,.co-b{width:0;height:10px;border-radius:0 6px 6px 0;transition:width 1s var(--ease) .15s}
  .chart-x.go .co-a,.chart-x.go .co-b{width:var(--h);height:10px}
}
/* artikkelien rajaus ja tyyppimerkintä */
.afilt{display:flex;flex-wrap:wrap;gap:8px;margin:34px 0 20px}
.afb{font:600 .9rem var(--font);padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;min-height:42px;transition:background .2s,border-color .2s}
.afb:hover{border-color:var(--green)}
.afb[aria-pressed="true"]{background:#0D3E4D;border-color:#0D3E4D;color:#F7F7F7}
:root[data-theme="dark"] .afb[aria-pressed="true"]{background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .afb[aria-pressed="true"]{background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}}
.acard[hidden]{display:none!important}
.acard-type{margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:rgba(147,250,200,.18);color:#93FAC8;white-space:nowrap}
.acard.q3 .acard-type{background:rgba(13,62,77,.14);color:#0D3E4D}
.afilt-empty{margin:10px 0 0;color:var(--muted)}
.prose .tbl{overflow-x:auto;margin:22px 0;border-radius:16px;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.prose table{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.prose th,.prose td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{background:#0D3E4D;color:#F7F7F7;font-weight:700;font-size:.88rem}
.prose tr:last-child td{border-bottom:0}
.prose tbody tr:nth-child(even) td{background:rgba(147,250,200,.07)}
@media (max-width:700px){
  .afilt{flex-wrap:nowrap;overflow-x:auto;margin:26px calc(var(--gut) * -1) 16px;padding:2px var(--gut) 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .afilt::-webkit-scrollbar{display:none}
  .afb{flex:none}
  .prose table{min-width:520px}
}
.prose table:not(:has(th:nth-child(3))){min-width:0}

/* etusivun korttien brand pattern: vain oikeaan alakulmaan, ei tuplakuvioita */
.qk2::after{display:none}
.hpath-media .gs-big{display:none}
.hq2.c3::after{background-image:var(--ptn-green)}

/* ===== Palvelusivujen hero v2: henkilöt vihreällä paneelilla + minikaavio ===== */
.svc-hero .phero-grid{align-items:end}
.svc-hero .btns{display:flex;flex-wrap:wrap;gap:10px}
.svc-hero .btn.ghost{background:transparent;color:#F7F7F7;border:1.5px solid rgba(147,250,200,.5)}
.svc-hero .btn.ghost:hover{background:rgba(147,250,200,.12)}
.svh{position:relative;justify-self:end;width:min(100%,500px);height:clamp(380px,34vw,470px);margin-bottom:calc(-1 * clamp(56px,7vw,96px))}
.svh-panel{position:absolute;left:6%;right:0;bottom:0;height:74%;border-radius:28px 28px 0 0;overflow:hidden;background:linear-gradient(150deg,#4AE59B,#20A264)}
.svh-panel::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:80%;background:var(--ptn-green);background-size:360px 360px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.svh>img{position:absolute;z-index:1;left:50%;bottom:0;transform:translateX(-46%);height:96%;width:auto;max-width:none;filter:drop-shadow(0 18px 24px rgba(4,22,28,.28))}
.svh-chart{position:absolute;z-index:2;right:-4%;top:4%;width:230px;padding:14px 16px 16px;border-radius:18px;background:rgba(10,52,64,.86);border:1px solid rgba(154,227,244,.25);
  box-shadow:0 18px 40px rgba(4,22,28,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F7F7F7}
.svh-eb{margin:0 0 4px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#93FAC8}
.svh-t{display:block;font-size:.95rem;line-height:1.3;font-weight:600;margin-bottom:12px}
.svh-bars{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 10px;align-items:center}
.svh-l{font-size:.74rem;color:rgba(247,247,247,.72);white-space:nowrap}
.svh-bar{height:10px;border-radius:6px;background:rgba(247,247,247,.1);overflow:hidden}
.svh-bar i{display:block;height:100%;width:0;border-radius:6px;transition:width 1.1s var(--ease) .3s}
.svh-bar.a i{background:#9AE3F4;opacity:.85}.svh-bar.b i{background:#93FAC8}
.svh-chart.go .svh-bar i{width:var(--w)}
.svh-quote{position:absolute;z-index:2;left:-12%;bottom:12%;max-width:270px;padding:13px 16px;border-radius:16px;background:rgba(10,52,64,.9);border:1px solid rgba(154,227,244,.25);
  box-shadow:0 18px 40px rgba(4,22,28,.35);color:#F7F7F7;display:grid;gap:3px}
.svh-quote small{font-size:.76rem;font-weight:600;color:#93FAC8}
.svh-quote b{font-size:.98rem;font-weight:600;line-height:1.3}
@media (prefers-reduced-motion:reduce){.svh-bar i{transition:none;width:var(--w)}}
@media (max-width:1100px){.svh-quote{left:-4%}.svh-chart{right:-2%}}
@media (max-width:860px){
  .svh{justify-self:center;width:min(100%,420px);height:380px;margin-top:20px}
  .svh-chart{right:0;top:0;width:200px;padding:12px 14px}
  .svh-quote{left:0;bottom:10%;max-width:230px}
}
@media (max-width:420px){
  .svh{height:340px}
  .svh-chart{width:180px}.svh-t{font-size:.86rem;margin-bottom:9px}
  .svh-quote{max-width:205px;padding:11px 13px}.svh-quote b{font-size:.9rem}
}
.phero h1.svc::before{display:inline-block}
@media (max-width:600px){.phero h1.svc::before{display:inline-block;width:.56em;height:.78em}}

/* faktakortin vastuuhenkilö */
.pf-owner{display:flex;align-items:center;gap:12px;margin:18px 0 4px;padding:12px;border-radius:14px;background:rgba(147,250,200,.1);border:1px solid rgba(147,250,200,.22)}
.pf-owner img{flex:none;width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #93FAC8}
.pf-owner div{display:grid;gap:1px;min-width:0}
.pf-owner small{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#93FAC8}
.pf-owner b{font-size:1rem;color:#F7F7F7}
.pf-owner span{font-size:.84rem;color:rgba(247,247,247,.72)}

/* henkilöt myös mobiilissa osio-otsikoiden yhteydessä */
@media (max-width:700px){
  .s-head.with-person .hp{display:block;justify-self:end;width:min(48%,200px);margin:-6px 0 18px}
  .s-head.with-person .hp.wide{width:min(70%,280px)}
  .s-head.with-person>div:first-child{margin-bottom:0}
}
/* hero v2: sommittelun hienosäätö */
.svc-hero .phero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.svc-hero h1.svc{font-size:clamp(2.3rem,3.9vw,3.5rem)}
.svh{width:min(100%,540px)}
.svh-panel{left:0;right:0;height:72%}
.svh>img{left:50%;transform:translateX(-50%);height:auto;width:auto;max-height:97%;max-width:100%}
.svh-chart{top:auto;bottom:7%;right:-5%;width:222px}
.svh-quote{bottom:auto;top:44%;left:-15%;max-width:250px}
@media (max-width:1100px){.svh-quote{left:-6%}.svh-chart{right:-2%}}
@media (max-width:860px){
  .svc-hero .phero-grid{grid-template-columns:1fr}
  .svh{width:min(100%,440px)}
  .svh-chart{right:-2%;bottom:5%;width:196px}
  .svh-quote{left:-2%;top:40%;max-width:220px}
}
@media (max-width:420px){.svh-chart{width:172px}.svh-quote{max-width:190px;top:38%}}
.svc-hero h1.svc{font-size:clamp(2.2rem,3.3vw,3rem)}
/* tilannekortit: määrän mukainen ruudukko */
.hqs.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hqs.n1{grid-template-columns:minmax(0,560px)}
@media (max-width:980px){.hqs.n2,.hqs.n1{grid-template-columns:1fr}}
/* Mitä saat: tuotoskortit värikolmikolla */
.outs2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:clamp(12px,1.6vw,18px)}
.outs2 li{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;min-height:170px;padding:22px 22px 24px;border-radius:22px;color:#F7F7F7;transition:transform .25s var(--ease)}
.outs2 li:hover{transform:translateY(-3px)}
.outs2 li.q1{background:linear-gradient(160deg,#145466,#0D3E4D)}
.outs2 li.q2{background:linear-gradient(160deg,#1B6577,#145466)}
.outs2 li.q3{background:linear-gradient(160deg,#4AE59B,#20A264);color:#0A0A0A}
.outs2 li::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:65%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.outs2 li.q3::after{background-image:var(--ptn-green)}
.outs2 li>*{position:relative;z-index:1}
.o-n{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#93FAC8}
.o-n::before{content:"";width:13px;height:18px;background:currentColor;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.outs2 li.q3 .o-n{color:#0D3E4D}
.o-t{font-size:1.02rem;font-weight:600;line-height:1.4}
.outs2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))} @media (max-width:700px){.outs2{grid-template-columns:1fr}.outs2 li{min-height:0}}
@media (max-width:600px){
  .svh-quote{display:none}
  .svh{height:330px;width:100%}
  .svh>img{max-height:98%}
  .svh-chart{right:-6px;bottom:4%;width:168px;padding:11px 12px 12px}
  .svh-bars{grid-template-columns:1fr;gap:3px}
  .svh-l{font-size:.68rem}
  .svh-bar{height:8px;margin-bottom:5px}
}

/* ===== Asiakkaan ääni: useampi nostettu referenssi ===== */
.hv2-stack{display:grid}
.hv2-stack>.hv2{grid-area:1/1;transition:opacity .45s var(--ease),visibility 0s linear .45s;opacity:0;visibility:hidden}
.hv2-stack>.hv2.is-on{opacity:1;visibility:visible;transition:opacity .45s var(--ease),visibility 0s}
.hv2-txt.long{font-size:clamp(1.08rem,1.55vw,1.38rem);line-height:1.5;font-weight:600;letter-spacing:-.005em}
.hv2-txt.long::before{font-size:4.2em;top:-.55em;left:-.42em}
.hv2-nav{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0 calc(.9 / 2.25 * 100% + clamp(22px,4vw,56px) * .4)}
.hv2-tab{display:grid;gap:1px;text-align:left;padding:10px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;min-height:48px;transition:border-color .2s,background .2s}
.hv2-tab span{font-weight:700;font-size:.92rem}
.hv2-tab small{font-size:.78rem;color:var(--muted)}
.hv2-tab:hover{border-color:var(--green)}
.hv2-tab[aria-pressed="true"]{background:#0D3E4D;border-color:#0D3E4D;color:#F7F7F7}
.hv2-tab[aria-pressed="true"] small{color:#93FAC8}
.tk-qmore{margin-top:clamp(28px,4vw,48px)}
.tk-qmore .qcards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:980px){.hv2-nav{margin-left:0}.tk-qmore .qcards{grid-template-columns:1fr}}
.hv2-nav{margin-left:calc((100% - clamp(22px,4vw,56px)) * .4 + clamp(22px,4vw,56px))} @media (max-width:980px){.hv2-nav{margin-left:0}}
.hv2.bust .hv2-img img{height:min(540px,86%);max-width:100%;object-fit:contain;object-position:bottom}
@media (max-width:980px){
  .hv2-stack>.hv2{grid-area:auto;transition:none}
  .hv2-stack>.hv2:not(.is-on){display:none}
  .hv2.bust .hv2-img img{height:320px}
}
.svc-hero .phero-grid>*{min-width:0}
@media (max-width:480px){.svc-hero h1.svc{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}}
/* rajatut muotokuvat (olkapäät kuvan reunassa) ja välilehtien kasvokuvat */
.hv2.crop .hv2-img img{width:100%;height:auto;max-height:88%;max-width:100%;object-fit:cover;object-position:top;border-radius:0 0 28px 28px}
.hv2-tab{grid-template-columns:auto 1fr;column-gap:10px;align-items:center}
.hv2-tab>span,.hv2-tab>small{grid-column:2}
.hv2-av{grid-row:1/3;width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(160deg,#4AE59B,#20A264);display:block}
.hv2-av img{width:100%;height:100%;object-fit:cover;object-position:50% 6%;display:block}
.hv2-tab[aria-pressed="true"] .hv2-av{box-shadow:0 0 0 2px #93FAC8}
@media (max-width:980px){
  .hv2.crop .hv2-img img{width:min(100%,360px);height:auto;max-height:none}
  .hv2-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hv2-tab{padding:8px 10px}.hv2-av{width:34px;height:34px}
  .hv2-tab span{font-size:.86rem}.hv2-tab small{font-size:.72rem}
}
.hv2-nav{margin-left:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px}
.hv2-av img{object-position:center}
.hv2-tab{min-width:0}.hv2-tab span,.hv2-tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:980px){.hv2-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media (max-width:980px){.hv2-tab span,.hv2-tab small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}}
/* polkukortit: rivit linjassa vierekkäin (subgrid) */
@supports (grid-template-rows:subgrid){
  @media (min-width:901px){
    .hpaths{grid-auto-rows:auto;row-gap:0}
    .hpath{display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:0}
    .hpath-media{grid-row:1}
    .hpath-body{display:grid;grid-row:2 / span 7;grid-template-rows:subgrid;row-gap:12px}
    .hpath-steps{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:8px;margin:6px 0 10px}
    .hpath .cta-btn{align-self:end;justify-self:start;margin-top:0}
    .hpath h3{align-self:start}
  }
}
.logos li a{display:flex;align-items:center;justify-content:center;border-radius:8px;transition:opacity .2s}
.logos li a:hover{opacity:.75}
.logos li a:focus-visible{outline:2px solid #93FAC8;outline-offset:4px}
@media (max-width:640px){.logos li.sq:last-child{grid-column:1/-1}}

/* ===================== ETUSIVU v3 ===================== */
/* --- Asiakkaamme kertovat: referenssit näkyvillä --- */
.rb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.rb-head .tlink{margin-bottom:6px}
.rbento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.rb{position:relative;overflow:hidden;margin:0;border-radius:24px;display:flex;flex-direction:column;color:#F7F7F7}
.rb.q1{background:linear-gradient(160deg,#145466,#0D3E4D)}
.rb.q2{background:linear-gradient(160deg,#1B6577,#145466)}
.rb.q3{background:linear-gradient(160deg,#4AE59B,#20A264);color:#0A0A0A}
.rb::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:55%;background:var(--ptn-dark);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.rb.q3::after{background-image:var(--ptn-green)}
.rb>*{position:relative;z-index:1}
.rb-media{position:relative;overflow:hidden;flex:none;height:240px}
.rb-panel{position:absolute;inset:0;background:linear-gradient(150deg,#4AE59B,#20A264)}
.rb.q3 .rb-panel{background:linear-gradient(150deg,#145466,#0D3E4D)}
.rb-media img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:94%;width:auto;max-width:none;filter:drop-shadow(0 14px 20px rgba(4,22,28,.28))}
.rb-media.m-crop img{width:100%;height:auto;max-height:none;filter:none}
.rb-media.m-zoom img{bottom:auto;top:var(--it);height:var(--ih)}
.rb-q{margin:0;padding:22px 24px 24px;display:flex;flex-direction:column;gap:14px;flex:1}
.rb-qm{width:30px;height:24px;color:#93FAC8}
.rb.q3 .rb-qm{color:#0D3E4D}
.rb-txt{margin:0;font-size:1rem;line-height:1.55;font-weight:500}
.rb-cite{margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rb-cite .q-logo{display:flex;align-items:center;padding:8px 12px;border-radius:10px;background:rgba(10,52,64,.6);border:1px solid rgba(154,227,244,.2)}
.rb.q3 .rb-cite .q-logo{background:#0D3E4D;border-color:#0D3E4D}
.rb-cite .q-logo img{height:20px;width:auto}
.rb-cite b{display:block;font-size:.95rem}
.rb-cite span{font-size:.82rem;opacity:.75}
/* sijoittelu */
.rb-big{grid-column:1/7;grid-row:1/3}
.rb-big .rb-media{height:320px}
.rb-big .rb-txt{font-size:1.08rem}
.rb-wide{grid-column:7/13;grid-row:1;display:grid;grid-template-columns:42% 1fr}
.rb-wide .rb-media{height:auto;min-height:280px}
.rb-wide .rb-txt{font-size:1.12rem;font-weight:600;line-height:1.5}
.rb-sm1{grid-column:7/10;grid-row:2}
.rb-sm2{grid-column:10/13;grid-row:2}
.rb-sm1 .rb-media,.rb-sm2 .rb-media{height:200px}
.rb-sm1 .rb-q,.rb-sm2 .rb-q{padding:18px 18px 20px}
@media (max-width:1100px){
  .rbento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-big{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:42% 1fr}
  .rb-big .rb-media{height:auto;min-height:320px}
  .rb-wide{grid-column:1/-1;grid-row:auto}
  .rb-sm1,.rb-sm2{grid-column:auto;grid-row:auto}
}
@media (max-width:700px){
  .rbento{grid-template-columns:1fr}
  .rb-big,.rb-wide{display:flex;grid-template-columns:none}
  .rb-big .rb-media,.rb-wide .rb-media,.rb-sm1 .rb-media,.rb-sm2 .rb-media{height:260px;min-height:0}
  .rb-media.m-crop img{width:auto;height:100%;left:50%}
  .rb-txt,.rb-big .rb-txt,.rb-wide .rb-txt{font-size:1rem}
}

/* --- Kolme kysymystä: rivit + henkilö --- */
.qr-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:stretch}
.qr-intro{display:flex;flex-direction:column;gap:14px}
.qr-intro h2{margin:0}
.qr-intro .lead{margin:0}
.qr-person{position:relative;flex:1;min-height:300px;margin-top:8px;display:flex;align-items:flex-end;justify-content:center}
.qr-panel{position:absolute;inset:16% 0 0;border-radius:24px;background:linear-gradient(150deg,#4AE59B,#20A264);overflow:hidden}
.qr-panel::after{content:"";position:absolute;right:0;bottom:0;width:80%;height:70%;background:var(--ptn-green);background-size:360px 360px;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.qr-person img{position:relative;height:min(100%,460px);width:auto;max-width:90%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 16px 22px rgba(4,22,28,.22))}
.qr-intro .btn{align-self:flex-start}
.qr-list{display:grid;gap:14px;align-content:stretch}
.qr{position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px 24px 24px 22px;border-radius:22px;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.qr::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--cc)}
.qr:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(13,62,77,.12)}
.qr.c1{--cc:#1B6577}.qr.c2{--cc:#3FB8A3}.qr.c3{--cc:#20C27A}
.qr-num{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--cc);opacity:.9;min-width:62px}
.qr-eb{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cc)}
.qr-ic{width:26px;height:26px;border-radius:8px;background:var(--cc);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.qr-ic svg{width:15px;height:15px}
.qr h3{margin:0 0 14px;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.3;color:var(--text)}
.qr-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.qr-chips a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;border:1.5px solid var(--line);color:var(--text);text-decoration:none;font-size:.86rem;font-weight:600;transition:background .2s,border-color .2s}
.qr-chips a::before{content:"";width:.7em;height:.95em;background:var(--cc);-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.qr-chips a:hover{border-color:var(--cc);background:rgba(147,250,200,.14)}
@media (max-width:980px){
  .qr-grid{grid-template-columns:1fr}
  .qr-person{min-height:280px;max-height:340px}
  .qr-intro .btn{order:5}
}
@media (max-width:560px){.qr{grid-template-columns:1fr;gap:6px}.qr-num{font-size:2rem}}

/* --- Aloitetaan yhdessä: pika-analyysi + tiimi --- */
.cl-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px;align-items:stretch}
.cl-quick{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);border-radius:26px;color:#F7F7F7;background:linear-gradient(130deg,#145466,#0D3E4D 70%)}
.cl-qmain{padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;gap:12px}
.cl-quick h3{margin:0;font-size:clamp(1.5rem,2.2vw,1.9rem);color:#9AE3F4}
.cl-qp{margin:0;color:rgba(247,247,247,.84)}
.cl-quick .qk2-gets{margin:6px 0 12px}
.cl-quick .btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.cl-quick .btns .btn:not(.ghost){background:#93FAC8;color:#0D3E4D;border-color:transparent}
.cl-quick .btns .btn.ghost{color:#F7F7F7;border-color:rgba(147,250,200,.5)}
.cl-qside{position:relative;display:flex;align-items:flex-end;justify-content:center}
.cl-qside .qk2-blob{inset:auto 0 0 0;height:78%;border-radius:26px 0 0 0}
.cl-qside img{position:relative;height:min(92%,460px);width:auto;max-width:100%;object-fit:contain;object-position:bottom}
.cl-team{display:flex;flex-direction:column;gap:14px}
.cl-thead h3{margin:0 0 4px;font-size:clamp(1.3rem,1.8vw,1.6rem)}
.cl-thead p{margin:0;color:var(--muted)}
.cl-team .tm2-c{flex:1;display:flex;flex-direction:column;justify-content:center}
.cl-team .tm2-c h4{margin:0;font-size:clamp(1.2rem,1.6vw,1.45rem);color:inherit}
.cl-team .tm2-top{margin-bottom:16px}
.cl-team .tm2-ph{width:80px;height:80px}
.cl-more{margin:4px 0 0}
@media (max-width:1100px){.cl-grid{grid-template-columns:1fr}}
@media (max-width:640px){
  .cl-quick{grid-template-columns:1fr}
  .cl-qside{height:300px}
  .cl-qside .qk2-blob{border-radius:26px 26px 0 0;left:8%;right:8%}
}
/* v3 hienosäätö */
.rb-big .rb-media{height:300px}
.rb-big .rb-txt{font-size:1.2rem;line-height:1.58}
.qr-list{grid-auto-rows:1fr}
.qr-person{min-height:320px}
.qr-person img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;max-height:none;width:auto;max-width:none}
.qr-panel{inset:12% 0 0}
.cl-grid{grid-template-columns:minmax(0,1.38fr) minmax(0,1fr)}
.cl-quick{grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr)}
.cl-qside .qk2-blob{height:70%}
.cl-qside img{height:min(86%,430px)}
@media (max-width:980px){.qr-person img{height:100%}.qr-list{grid-auto-rows:auto}}
@media (max-width:1100px){.cl-grid{grid-template-columns:1fr}}
@media (max-width:640px){.cl-quick{grid-template-columns:1fr}.cl-qside{height:300px}}
@media (max-width:980px){.qr-person{flex:none;height:340px;min-height:0;max-height:none}}
.qr-person img{left:auto;right:0;transform:none;clip-path:inset(0 round 0 0 24px 0)}
.rb-media.m-crop img{left:0;right:0;transform:none;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.qr-person img{max-height:520px}
@media (max-width:1100px){.rb-big .rb-media{height:auto;min-height:340px}.rb-big .rb-media img{height:92%}}
@media (max-width:700px){.rb-big .rb-media{height:260px;min-height:0}}
@media (max-width:1100px){
  .qr-grid{grid-template-columns:1fr}
  .qr-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);grid-template-areas:"h p" "l p" "b p";column-gap:36px;row-gap:14px;align-items:start}
  .qr-intro h2{grid-area:h}.qr-intro .lead{grid-area:l}.qr-intro .btn{grid-area:b;order:0}
  .qr-person{grid-area:p;flex:none;height:300px;min-height:0;margin:0}
  .qr-list{grid-auto-rows:auto}
}
@media (max-width:700px){
  .qr-intro{grid-template-columns:1fr;grid-template-areas:"h" "l" "p" "b"}
  .qr-person{height:320px}
}
@media (max-width:1100px) and (min-width:701px){
  .cl-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .cl-thead,.cl-more{grid-column:1/-1}
}
@media (min-width:1101px){
  .rb-big .rb-media{flex:1 1 300px;height:auto;min-height:300px}
  .rb-big .rb-q{flex:none}
}
:root{--lmp-light:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2264%22%20height%3D%2272%22%20viewBox%3D%220%200%2064%2072%22%3E%3Cg%20transform%3D%22translate%286%206%29%20scale%280.4762%29%20translate%28-59%20-50%29%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20fill-opacity%3D%220.16%22%20d%3D%22M%2083.722656%2055.878906%20C%2084.121094%2056.570312%2083.886719%2057.449219%2083.195312%2057.851562%20L%2068.628906%2066.261719%20C%2068.167969%2066.53125%2068.011719%2067.121094%2068.277344%2067.578125%20L%2071.160156%2072.570312%20C%2071.425781%2073.03125%2072.015625%2073.191406%2072.472656%2072.921875%20L%2082.878906%2066.910156%20C%2083.570312%2066.519531%2084.449219%2066.75%2084.847656%2067.441406%20L%2087.25%2071.609375%20C%2087.648438%2072.289062%2087.414062%2073.179688%2086.722656%2073.570312%20L%2076.320312%2079.578125%20C%2075.859375%2079.851562%2075.703125%2080.433594%2075.964844%2080.894531%20L%2078.609375%2085.472656%20C%2079.007812%2086.164062%2078.773438%2087.042969%2078.082031%2087.441406%20L%2072.253906%2090.808594%20C%2071.566406%2091.203125%2070.683594%2090.96875%2070.285156%2090.277344%20L%2067.882812%2086.117188%20C%2067.484375%2085.425781%2067.722656%2084.546875%2068.410156%2084.148438%20L%2074.652344%2080.542969%20C%2075.113281%2080.277344%2075.269531%2079.691406%2075.003906%2079.230469%20L%2072.121094%2074.230469%20C%2071.855469%2073.78125%2071.269531%2073.621094%2070.808594%2073.878906%20L%2064.566406%2077.488281%20C%2063.875%2077.890625%2062.996094%2077.648438%2062.597656%2076.960938%20L%2060.195312%2072.800781%20C%2059.796875%2072.109375%2060.03125%2071.230469%2060.722656%2070.828125%20L%2066.964844%2067.21875%20C%2067.425781%2066.960938%2067.582031%2066.371094%2067.316406%2065.910156%20L%2064.671875%2061.328125%20C%2064.273438%2060.640625%2064.511719%2059.761719%2065.199219%2059.359375%20L%2079.351562%2051.191406%20C%2080.042969%2050.789062%2080.921875%2051.03125%2081.320312%2051.71875%20Z%20M%2083.722656%2055.878906%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%2838%2042%29%20scale%280.4762%29%20translate%28-59%20-50%29%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20fill-opacity%3D%220.16%22%20d%3D%22M%2083.722656%2055.878906%20C%2084.121094%2056.570312%2083.886719%2057.449219%2083.195312%2057.851562%20L%2068.628906%2066.261719%20C%2068.167969%2066.53125%2068.011719%2067.121094%2068.277344%2067.578125%20L%2071.160156%2072.570312%20C%2071.425781%2073.03125%2072.015625%2073.191406%2072.472656%2072.921875%20L%2082.878906%2066.910156%20C%2083.570312%2066.519531%2084.449219%2066.75%2084.847656%2067.441406%20L%2087.25%2071.609375%20C%2087.648438%2072.289062%2087.414062%2073.179688%2086.722656%2073.570312%20L%2076.320312%2079.578125%20C%2075.859375%2079.851562%2075.703125%2080.433594%2075.964844%2080.894531%20L%2078.609375%2085.472656%20C%2079.007812%2086.164062%2078.773438%2087.042969%2078.082031%2087.441406%20L%2072.253906%2090.808594%20C%2071.566406%2091.203125%2070.683594%2090.96875%2070.285156%2090.277344%20L%2067.882812%2086.117188%20C%2067.484375%2085.425781%2067.722656%2084.546875%2068.410156%2084.148438%20L%2074.652344%2080.542969%20C%2075.113281%2080.277344%2075.269531%2079.691406%2075.003906%2079.230469%20L%2072.121094%2074.230469%20C%2071.855469%2073.78125%2071.269531%2073.621094%2070.808594%2073.878906%20L%2064.566406%2077.488281%20C%2063.875%2077.890625%2062.996094%2077.648438%2062.597656%2076.960938%20L%2060.195312%2072.800781%20C%2059.796875%2072.109375%2060.03125%2071.230469%2060.722656%2070.828125%20L%2066.964844%2067.21875%20C%2067.425781%2066.960938%2067.582031%2066.371094%2067.316406%2065.910156%20L%2064.671875%2061.328125%20C%2064.273438%2060.640625%2064.511719%2059.761719%2065.199219%2059.359375%20L%2079.351562%2051.191406%20C%2080.042969%2050.789062%2080.921875%2051.03125%2081.320312%2051.71875%20Z%20M%2083.722656%2055.878906%22/%3E%3C/g%3E%3C/svg%3E");--lmp-mint:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2264%22%20height%3D%2272%22%20viewBox%3D%220%200%2064%2072%22%3E%3Cg%20transform%3D%22translate%286%206%29%20scale%280.4762%29%20translate%28-59%20-50%29%22%3E%3Cpath%20fill%3D%22%2393FAC8%22%20fill-opacity%3D%220.14%22%20d%3D%22M%2083.722656%2055.878906%20C%2084.121094%2056.570312%2083.886719%2057.449219%2083.195312%2057.851562%20L%2068.628906%2066.261719%20C%2068.167969%2066.53125%2068.011719%2067.121094%2068.277344%2067.578125%20L%2071.160156%2072.570312%20C%2071.425781%2073.03125%2072.015625%2073.191406%2072.472656%2072.921875%20L%2082.878906%2066.910156%20C%2083.570312%2066.519531%2084.449219%2066.75%2084.847656%2067.441406%20L%2087.25%2071.609375%20C%2087.648438%2072.289062%2087.414062%2073.179688%2086.722656%2073.570312%20L%2076.320312%2079.578125%20C%2075.859375%2079.851562%2075.703125%2080.433594%2075.964844%2080.894531%20L%2078.609375%2085.472656%20C%2079.007812%2086.164062%2078.773438%2087.042969%2078.082031%2087.441406%20L%2072.253906%2090.808594%20C%2071.566406%2091.203125%2070.683594%2090.96875%2070.285156%2090.277344%20L%2067.882812%2086.117188%20C%2067.484375%2085.425781%2067.722656%2084.546875%2068.410156%2084.148438%20L%2074.652344%2080.542969%20C%2075.113281%2080.277344%2075.269531%2079.691406%2075.003906%2079.230469%20L%2072.121094%2074.230469%20C%2071.855469%2073.78125%2071.269531%2073.621094%2070.808594%2073.878906%20L%2064.566406%2077.488281%20C%2063.875%2077.890625%2062.996094%2077.648438%2062.597656%2076.960938%20L%2060.195312%2072.800781%20C%2059.796875%2072.109375%2060.03125%2071.230469%2060.722656%2070.828125%20L%2066.964844%2067.21875%20C%2067.425781%2066.960938%2067.582031%2066.371094%2067.316406%2065.910156%20L%2064.671875%2061.328125%20C%2064.273438%2060.640625%2064.511719%2059.761719%2065.199219%2059.359375%20L%2079.351562%2051.191406%20C%2080.042969%2050.789062%2080.921875%2051.03125%2081.320312%2051.71875%20Z%20M%2083.722656%2055.878906%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%2838%2042%29%20scale%280.4762%29%20translate%28-59%20-50%29%22%3E%3Cpath%20fill%3D%22%2393FAC8%22%20fill-opacity%3D%220.14%22%20d%3D%22M%2083.722656%2055.878906%20C%2084.121094%2056.570312%2083.886719%2057.449219%2083.195312%2057.851562%20L%2068.628906%2066.261719%20C%2068.167969%2066.53125%2068.011719%2067.121094%2068.277344%2067.578125%20L%2071.160156%2072.570312%20C%2071.425781%2073.03125%2072.015625%2073.191406%2072.472656%2072.921875%20L%2082.878906%2066.910156%20C%2083.570312%2066.519531%2084.449219%2066.75%2084.847656%2067.441406%20L%2087.25%2071.609375%20C%2087.648438%2072.289062%2087.414062%2073.179688%2086.722656%2073.570312%20L%2076.320312%2079.578125%20C%2075.859375%2079.851562%2075.703125%2080.433594%2075.964844%2080.894531%20L%2078.609375%2085.472656%20C%2079.007812%2086.164062%2078.773438%2087.042969%2078.082031%2087.441406%20L%2072.253906%2090.808594%20C%2071.566406%2091.203125%2070.683594%2090.96875%2070.285156%2090.277344%20L%2067.882812%2086.117188%20C%2067.484375%2085.425781%2067.722656%2084.546875%2068.410156%2084.148438%20L%2074.652344%2080.542969%20C%2075.113281%2080.277344%2075.269531%2079.691406%2075.003906%2079.230469%20L%2072.121094%2074.230469%20C%2071.855469%2073.78125%2071.269531%2073.621094%2070.808594%2073.878906%20L%2064.566406%2077.488281%20C%2063.875%2077.890625%2062.996094%2077.648438%2062.597656%2076.960938%20L%2060.195312%2072.800781%20C%2059.796875%2072.109375%2060.03125%2071.230469%2060.722656%2070.828125%20L%2066.964844%2067.21875%20C%2067.425781%2066.960938%2067.582031%2066.371094%2067.316406%2065.910156%20L%2064.671875%2061.328125%20C%2064.273438%2060.640625%2064.511719%2059.761719%2065.199219%2059.359375%20L%2079.351562%2051.191406%20C%2080.042969%2050.789062%2080.921875%2051.03125%2081.320312%2051.71875%20Z%20M%2083.722656%2055.878906%22/%3E%3C/g%3E%3C/svg%3E")}
/* --- Asiakkaamme kertovat v2: kuvaikkunat samassa mittakaavassa --- */
.rbento2{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.rbento2 .rb{display:flex;flex-direction:column}
.rbento2 .rb::after{background-repeat:no-repeat;background-size:620px auto;background-position:100% 100%}
.rb-win{position:relative;flex:none;height:236px;margin:14px 14px 0;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,#4AE59B,#20A264)}
.rb.q3 .rb-win{background:linear-gradient(150deg,#145466,#0D3E4D)}
.rb-lmp{position:absolute;inset:0;background:var(--lmp-light);background-size:64px 72px;
  -webkit-mask-image:radial-gradient(ellipse 120% 120% at 100% 100%,#000 0%,rgba(0,0,0,.55) 45%,transparent 90%);mask-image:radial-gradient(ellipse 120% 120% at 100% 100%,#000 0%,rgba(0,0,0,.55) 45%,transparent 90%)}
.rb.q3 .rb-lmp{background-image:var(--lmp-mint)}
.rb-win img{position:absolute;top:var(--it);left:calc(50% - var(--il));height:var(--ih);width:auto;max-width:none;filter:drop-shadow(0 12px 18px rgba(4,22,28,.25))}
.rbento2 .rb-q{padding:20px 22px 22px}
.rb-feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(260px,320px) 1fr;align-items:center}
.rb-feat .rb-win{margin:14px 0 14px 14px}
.rb-feat .rb-q{padding:24px clamp(24px,4vw,56px) 24px clamp(20px,3vw,40px);justify-content:center}
.rb-feat .rb-txt{font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.4;font-weight:600;letter-spacing:-.01em}
.rb-feat .rb-cite{margin-top:8px}
.rb-r2a{grid-column:1/7}.rb-r2b{grid-column:7/10}.rb-r2c{grid-column:10/13}
.rb-r2a .rb-txt{font-size:1.02rem}
.rb-r2b .rb-txt,.rb-r2c .rb-txt{font-size:.98rem}
@media (max-width:1100px){
  .rbento2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-r2a{grid-column:1/-1}.rb-r2b,.rb-r2c{grid-column:auto}
}
@media (max-width:700px){
  .rbento2{grid-template-columns:1fr}
  .rb-feat{display:flex}
  .rb-feat .rb-win{margin:14px 14px 0}
  .rb-feat .rb-q{padding:20px 22px 22px}
  .rb-feat .rb-txt{font-size:1.2rem}
}
.rbento2 .rb-feat{display:grid;grid-template-columns:minmax(260px,320px) 1fr;align-items:center}
@media (max-width:700px){.rbento2 .rb-feat{display:flex;flex-direction:column;align-items:stretch}}
.rb-feat .rb-win img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
/* iso logomerkki vaaleiden osioiden taustalla */
.has-lm{position:relative;overflow:hidden}
.has-lm>.wrap{position:relative;z-index:1}
.bgmark.on-light{color:var(--text);opacity:.045}
.s-alt>.bgmark.on-light{opacity:.055}
@media (max-width:700px){.bgmark.on-light{width:70%!important;opacity:.04}}

/* --- Ota yhteyttä: kevyen kynnyksen CTA --- */
.cta3{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);border-radius:32px;color:#F7F7F7;
  background:linear-gradient(125deg,#145466 0%,#0D3E4D 62%);box-shadow:0 30px 60px rgba(13,62,77,.18)}
.c3-main{padding:clamp(28px,4.5vw,64px);display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}
.c3-eb{margin:0;display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#93FAC8}
.c3-eb::before{content:"";width:.8em;height:1.1em;background:#93FAC8;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.cta3 h2{margin:0;color:#9AE3F4;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1.12;letter-spacing:-.02em;max-width:18ch}
.c3-lead{margin:0;font-size:1.08rem;color:rgba(247,247,247,.86);max-width:46ch}
.c3-form{display:grid;gap:10px;margin-top:6px;padding:16px;border-radius:20px;background:rgba(247,247,247,.07);border:1px solid rgba(154,227,244,.2)}
.c3-form>label{font-weight:700;font-size:.95rem}
.c3-form textarea,.c3-form input{font:inherit;font-size:.98rem;color:#F7F7F7;background:rgba(10,52,64,.55);border:1.5px solid rgba(154,227,244,.25);border-radius:14px;padding:12px 14px;width:100%;box-sizing:border-box}
.c3-form textarea{resize:vertical;min-height:84px}
.c3-form textarea::placeholder,.c3-form input::placeholder{color:rgba(247,247,247,.55)}
.c3-form textarea:focus,.c3-form input:focus{outline:none;border-color:#93FAC8;box-shadow:0 0 0 3px rgba(147,250,200,.25)}
.c3-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.c3-send{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:14px;padding:0 24px;min-height:50px;font:inherit;font-weight:700;font-size:1rem;color:#0D3E4D;background:#93FAC8;cursor:pointer;transition:transform .2s var(--ease),background .2s}
.c3-send:hover{background:#B9FCD9;transform:translateX(2px)}
.c3-alt{display:grid;gap:10px;margin-top:4px}
.c3-or{margin:0;font-size:.85rem;font-weight:600;color:rgba(247,247,247,.7)}
.c3-calls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.c3-call{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;padding:12px 14px;border-radius:16px;
  text-decoration:none;color:#F7F7F7;background:rgba(247,247,247,.06);border:1px solid rgba(154,227,244,.2);transition:background .2s,border-color .2s}
.c3-call:hover{background:rgba(147,250,200,.12);border-color:rgba(147,250,200,.5)}
.c3-av{grid-row:1/3;width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #93FAC8}
.c3-av img{width:100%;height:100%;object-fit:cover;display:block}
.c3-who{display:grid;min-width:0}
.c3-who b{font-size:.95rem}
.c3-who small{font-size:.76rem;color:rgba(247,247,247,.7)}
.c3-tel{display:flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem;color:#93FAC8}
.c3-tel svg{width:15px;height:15px}
.c3-about{justify-self:start;color:#93FAC8;font-weight:600;text-decoration:none;font-size:.92rem}
.c3-about:hover{text-decoration:underline;text-underline-offset:3px}
.c3-media{position:relative;min-height:420px}
.c3-panel{position:absolute;inset:clamp(18px,2.5vw,28px) clamp(18px,2.5vw,28px) 0 0;border-radius:24px 24px 0 0;overflow:hidden;background:linear-gradient(150deg,#4AE59B,#20A264)}
.c3-media>img{position:absolute;left:47%;bottom:0;transform:translateX(-50%);height:92%;width:auto;max-width:none;filter:drop-shadow(0 18px 26px rgba(4,22,28,.3))}
.c3-chip{position:absolute;z-index:2;left:0;top:calc(clamp(18px,2.5vw,28px) + 28px);display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  background:#0D3E4D;color:#F7F7F7;font-weight:700;font-size:.9rem;box-shadow:0 12px 28px rgba(4,22,28,.3);transform:translateX(-30%)}
.c3-chip svg{width:18px;height:18px;color:#93FAC8}
@media (max-width:1100px){
  .cta3{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr)}
  .c3-calls{grid-template-columns:1fr}
}
@media (max-width:820px){
  .cta3{grid-template-columns:1fr}
  .c3-media{min-height:340px;order:-1}
  .c3-panel{inset:20px 20px 0 20px}
  .c3-chip{left:auto;right:28px;top:40px;transform:none}
  .c3-calls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .c3-row{grid-template-columns:1fr}
  .c3-send{justify-content:center}
  .c3-calls{grid-template-columns:1fr}
  .c3-media{min-height:300px}
}
.c3-media{overflow:hidden}
@media (max-width:1100px){.c3-media>img{height:84%;left:50%}}
@media (max-width:820px){
  .c3-media>img{height:94%;left:50%}
  .c3-chip{right:auto;left:32px;top:auto;bottom:16px}
}
.c3-media{overflow:visible}
.c3-media>img{height:min(92%,520px)}
@media (max-width:1100px){.c3-media>img{height:min(84%,500px)}}
@media (max-width:820px){.c3-media{overflow:hidden;border-radius:32px 32px 0 0}.c3-media>img{height:94%}}
.c3-media>img{height:min(90%,680px)}
@media (max-width:1100px){.c3-media>img{height:min(84%,560px)}}
@media (max-width:820px){.c3-media>img{height:94%}}
@media (max-width:1100px) and (min-width:821px){.c3-media>img{left:45%}}
.outs2.n1{grid-template-columns:minmax(0,1fr)}
.outs2.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.outs2.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.outs2.n1 li{min-height:0}.outs2.n1 .o-t{font-size:1.2rem;line-height:1.45;max-width:60ch}
@media (max-width:860px){.outs2.n2,.outs2.n3{grid-template-columns:1fr}}
/* Tilannekuva: ohjaus alaspäin */
.tk-cue{position:relative;z-index:2;display:flex;justify-content:center;margin-top:clamp(28px,4vw,44px)}
.tk-cue a,.tk-next a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;border-radius:999px;transition:background .2s,transform .2s var(--ease)}
.tk-cue a{padding:12px 20px;color:#F7F7F7;background:rgba(247,247,247,.08);border:1.5px solid rgba(147,250,200,.45)}
.tk-cue a:hover{background:rgba(147,250,200,.14)}
.tk-cue svg,.tk-next svg{width:18px;height:18px;animation:tkBob 1.8s var(--ease) infinite}
.tk-next{display:flex;justify-content:center;width:min(100% - 2 * var(--gut),1240px);margin:clamp(30px,4vw,48px) auto 0}
.tk-next a{padding:11px 18px;color:#0D3E4D;background:var(--surface);border:1.5px solid var(--line);font-size:.95rem}
.tk-next a:hover{border-color:var(--green);transform:translateY(2px)}
:root[data-theme="dark"] .tk-next a{color:#93FAC8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tk-next a{color:#93FAC8}}
@keyframes tkBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.tk-cue svg,.tk-next svg{animation:none}}

/* ===== Palvelut-heron kasvukaavio ===== */
.sv-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.sv-hero h1{font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;max-width:16ch}
.gv{margin:0;padding:18px 20px 16px;border-radius:24px;background:rgba(10,52,64,.72);border:1px solid rgba(154,227,244,.22);box-shadow:0 24px 50px rgba(4,22,28,.35);color:#F7F7F7}
.gv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.gv-eb{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#93FAC8}
.gv-h{margin:2px 0 0;font-size:1.15rem;font-weight:600;color:#9AE3F4}
.gv-leg{display:flex;gap:14px;font-size:.78rem;color:rgba(247,247,247,.78)}
.gv-leg span{display:inline-flex;align-items:center;gap:6px}
.gv-leg i{display:inline-block;width:18px;height:0;border-top:3px solid #93FAC8}
.gv-leg i.o{border-top:2.5px dashed #9AE3F4}
.gv-plot{position:relative}
.gv-svg{display:block;width:100%;height:auto;overflow:visible}
.gv-ax{font:600 11px var(--font);fill:rgba(247,247,247,.55)}
.gv-line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease) .2s}
.gv-area{opacity:0;transition:opacity 1s ease 1.2s}
.gv-ms{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4);transition:opacity .4s ease var(--d),transform .5s var(--ease) var(--d)}
.chart-x.go .gv-line{stroke-dashoffset:0}
.chart-x.go .gv-area{opacity:1}
.chart-x.go .gv-ms{opacity:1;transform:none}
.gv-lab{position:absolute;display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:7px 10px;border-radius:12px;background:rgba(13,62,77,.92);border:1px solid rgba(154,227,244,.25);
  font-size:.74rem;line-height:1.25;opacity:0;transform:translateY(6px);transition:opacity .4s ease var(--d),transform .5s var(--ease) var(--d);white-space:nowrap}
.gv-lab i{grid-row:1/3;width:10px;height:10px;border-radius:50%}
.gv-lab b{font-size:.78rem}
.gv-lab span{color:rgba(247,247,247,.72)}
.chart-x.go .gv-lab{opacity:1;transform:none}
.gv-lab.l1{left:31%;top:80%}
.gv-lab.l2{left:54%;top:54%}
.gv-lab.l3{left:58%;top:4%}
@media (prefers-reduced-motion:reduce){.gv-line{transition:none;stroke-dashoffset:0}.gv-area,.gv-ms,.gv-lab{transition:none;opacity:1;transform:none}}
@media (max-width:980px){.sv-hero-grid{grid-template-columns:1fr}.gv{max-width:560px}}
@media (max-width:480px){.gv-lab{font-size:.68rem;padding:5px 8px}.gv-lab b{font-size:.72rem}.gv-lab.l1{left:24%;top:78%}.gv-lab.l2{left:44%;top:50%}.gv-lab.l3{left:46%;top:2%}}
.gv-lab.l3{left:51%;top:5%}
@media (max-width:480px){.gv-lab.l3{left:38%;top:1%}}
/* Palvelut-hero: heikoin osa-alue -kaavio */
.gv2{margin:0;padding:18px 20px 16px;border-radius:24px;background:rgba(10,52,64,.72);border:1px solid rgba(154,227,244,.22);box-shadow:0 24px 50px rgba(4,22,28,.35);color:#F7F7F7}
.gv-leg i.s{width:12px;height:12px;border:0;border-radius:3px;background:#93FAC8}
.gv-leg i.g{width:12px;height:12px;border:2px dashed #93FAC8;border-radius:3px;background:transparent}
.gv2-plot{position:relative;height:230px;margin:14px 6px 0;border-bottom:1.5px solid rgba(154,227,244,.35)}
.gv2-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,3vw,34px);padding:0 clamp(10px,2vw,24px)}
.gv2-col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.gv2-track{position:relative;height:100%;display:flex;align-items:flex-end;justify-content:center}
.gv2-bar{width:min(64px,70%);height:0;border-radius:10px 10px 0 0;transition:height 1s var(--ease) var(--d)}
.c1 .gv2-bar{background:#9AE3F4}.c2 .gv2-bar{background:#93FAC8}.c3 .gv2-bar{background:#4AE59B}
.chart-x.go .gv2-bar{height:var(--h)}
.gv2-ghost{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(64px,70%);height:0;border:2px dashed #93FAC8;border-bottom:0;border-radius:10px 10px 0 0;
  opacity:0;transition:height 1s var(--ease) 1.5s,opacity .3s ease 1.5s}
.chart-x.go .gv2-ghost{height:var(--h);opacity:1}
.gv2-first{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);white-space:nowrap;padding:4px 10px;border-radius:999px;background:#93FAC8;color:#0D3E4D;font-size:.72rem;font-weight:700;
  opacity:0;transition:opacity .4s ease 2.3s}
.chart-x.go .gv2-first{opacity:1}
.gv2-l{position:absolute;top:calc(100% + 8px);left:0;right:0;text-align:center;font-size:.8rem;font-weight:600;color:rgba(247,247,247,.85)}
.gv2-ceil{position:absolute;left:0;right:0;bottom:var(--y);border-top:2px dashed rgba(247,247,247,.55);opacity:0;transition:opacity .5s ease}
.gv2-ceil span{position:absolute;right:0;bottom:4px;font-size:.7rem;font-weight:700;color:rgba(247,247,247,.75);background:rgba(10,52,64,.9);padding:2px 6px;border-radius:6px}
.gv2-ceil.new{border-top-color:#93FAC8}
.gv2-ceil.new span{color:#93FAC8}
.chart-x.go .gv2-ceil.now{opacity:1;transition-delay:1.1s}
.chart-x.go .gv2-ceil.new{opacity:1;transition-delay:2.6s}
.gv2-cap{margin:38px 0 0;font-size:.85rem;color:rgba(247,247,247,.78)}
@media (prefers-reduced-motion:reduce){.gv2-bar,.gv2-ghost,.gv2-first,.gv2-ceil{transition:none}}
@media (max-width:480px){.gv2-plot{height:200px}.gv2-l{font-size:.72rem}.gv2-first{font-size:.66rem}}
.gv-leg i.sw-now{width:12px;height:12px;border:0;border-radius:3px;background:#93FAC8}
.gv-leg i.sw-after{width:12px;height:12px;border:2px dashed #93FAC8;border-radius:3px;background:transparent;box-sizing:border-box}
.gv2-cols{right:27%;padding:0 4px 0 8px}
.gv2-ceil{z-index:2}
.gv2-ceil span{right:0;bottom:auto;top:-9px;transform:translateY(-50%);max-width:25%;white-space:normal;text-align:right;line-height:1.2;background:none;padding:0}
@media (max-width:480px){.gv2-cols{right:30%}.gv2-ceil span{font-size:.64rem;max-width:28%}}
.gv2-ceil span{top:auto;bottom:5px;transform:none}
.gv2-ceil.now span{bottom:auto;top:5px}
/* Palvelut alueittain: tasapainoinen ruudukko */
.svc-cat{min-height:340px}
.svc-list{align-content:stretch;grid-auto-rows:1fr}
.svc-list .pc2{height:100%;box-sizing:border-box}
.pc2-f{margin-top:auto}
.pc2.big{padding:26px 26px 22px;gap:10px}
.pc2.big b{font-size:1.25rem}
.pc2.big .pc2-t{font-size:1rem}
.pc2-p{display:grid;gap:4px;margin:6px 0 4px;padding:14px 16px;border-radius:14px;background:rgba(147,250,200,.12);border:1px solid rgba(32,194,122,.25);font-size:.92rem;line-height:1.5;color:var(--text)}
.pc2-p small{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--link)}
@media (max-width:980px){.svc-list{grid-auto-rows:auto}}
.pc2-p{font-size:.86rem;line-height:1.45;padding:11px 13px}
.pc2.big .pc2-p{font-size:.92rem;padding:14px 16px}
@media (min-width:981px){
  .svc-img{flex:1 1 220px;min-height:220px;align-items:flex-end;position:relative}
  .svc-img img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:min(100%,440px);max-width:none;width:auto}
}
@media (max-width:480px){.gv2-l{left:-16px;right:-16px;font-size:.68rem}.gv2-cols{gap:18px}}
/* pariton määrä palveluita: viimeinen kortti koko leveydelle */
@media (min-width:621px){.svc-list .pc2:last-child:nth-child(odd){grid-column:1/-1}}

/* ===================== PALVELUSIVUT v3 ===================== */
.sv3-owner{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:8px 16px 8px 8px;border-radius:999px;background:rgba(247,247,247,.07);border:1px solid rgba(154,227,244,.22);color:#F7F7F7;text-decoration:none;transition:background .2s}
.sv3-owner:hover{background:rgba(147,250,200,.12)}
.sv3-owner>span:last-child{display:grid;line-height:1.25}
.sv3-owner small{font-size:.72rem;color:#93FAC8;font-weight:700;letter-spacing:.02em}
.sv3-owner b{font-size:.95rem}
.sv3-owner i{font-style:normal;font-size:.78rem;color:rgba(247,247,247,.72)}
.sv3-av{display:block;flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;border:2px solid #93FAC8;background:#145466}
.sv3-av img{width:100%;height:100%;object-fit:cover;display:block}
.sv3-av.lg{width:72px;height:72px}
/* lupausnauha */
.s.sv3-band{background:linear-gradient(125deg,#145466 0%,#0D3E4D 70%);color:#F7F7F7;position:relative;overflow:hidden}
.s.sv3-band::after{content:"";position:absolute;right:0;bottom:0;width:55%;height:70%;background:var(--ptn-dark);background-size:520px 520px;pointer-events:none;opacity:.9;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.sv3-band .wrap{position:relative;z-index:1}
.sv3-band-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);gap:clamp(24px,4vw,56px);align-items:center}
.sv3-eb{margin:0 0 6px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#93FAC8}
.sv3-band h2{margin:0 0 18px;color:#9AE3F4}
.sv3-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sv3-checks li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px 18px;border-radius:18px;background:rgba(247,247,247,.06);border:1px solid rgba(154,227,244,.18);font-size:1.05rem;line-height:1.5}
.sv3-ck{width:30px;height:30px;border-radius:50%;background:#93FAC8;color:#0D3E4D;display:inline-flex;align-items:center;justify-content:center}
.sv3-ck svg{width:17px;height:17px}
.sv3-bcard{display:grid;justify-items:start;gap:6px;padding:24px;border-radius:24px;background:#F7F7F7;color:#0A0A0A;box-shadow:0 24px 48px rgba(4,22,28,.35)}
.sv3-bcard b{font-size:1.1rem;margin-top:6px}
.sv3-bcard small{color:#4a5a60;font-size:.85rem}
.sv3-bcard p{margin:8px 0 12px;font-size:.95rem;line-height:1.5;color:#1e2b30}
.sv3-bcard .btn{background:#0D3E4D;color:#F7F7F7;border-color:#0D3E4D}
.sv3-nob{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#20A264;margin-top:4px}
.sv3-nob svg{width:15px;height:15px}
@media (max-width:900px){.sv3-band-grid{grid-template-columns:1fr}}
/* aikajana */
.tl{margin:0 0 clamp(22px,3vw,32px);padding:20px 22px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.tl-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.tl .gv-eb{color:var(--link)}
.tl-h{margin:2px 0 0;font-size:1.2rem;font-weight:700;color:var(--text)}
.tl-sum{display:flex;gap:8px;flex-wrap:wrap}
.tl-sum span{padding:6px 12px;border-radius:999px;background:rgba(147,250,200,.18);font-size:.85rem;color:var(--text)}
.tl-grid{display:grid;gap:8px}
.tl-axis,.tl-row{display:grid;grid-template-columns:minmax(150px,24%) 1fr;gap:14px;align-items:center}
.tl-ticks{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));font-size:.72rem;font-weight:700;color:var(--muted);text-align:center}
.tl-ticks span{border-left:1px dashed var(--line);padding:2px 0}
.tl-name{display:flex;gap:10px;align-items:baseline;font-weight:700;font-size:.92rem;color:var(--text)}
.tl-name b{font-size:.75rem;color:var(--link)}
.tl-track{position:relative;height:38px;border-radius:10px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n) - 1px),var(--line) calc(100% / var(--n) - 1px),var(--line) calc(100% / var(--n)))}
.tl-bar{position:absolute;top:4px;bottom:4px;border-radius:9px;display:flex;align-items:center;padding:0 10px;transform:scaleX(0);transform-origin:left center;transition:transform .7s var(--ease) var(--d)}
.tl-bar.b1{background:#145466;color:#F7F7F7}.tl-bar.b2{background:#3FB8A3;color:#0A0A0A}.tl-bar.b3{background:#4AE59B;color:#0A0A0A}
.tl-bar i{font-style:normal;font-size:.74rem;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .3s ease calc(var(--d) + .5s)}
.chart-x.go .tl-bar{transform:none}.chart-x.go .tl-bar i{opacity:1}
@media (prefers-reduced-motion:reduce){.tl-bar{transform:none;transition:none}.tl-bar i{opacity:1;transition:none}}
@media (max-width:640px){.tl-axis,.tl-row{grid-template-columns:1fr;gap:4px}.tl-axis>span{display:none}.tl-name{font-size:.86rem}}
/* kuvalliset referenssit */
.sv3-refs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sv3-ref{display:flex;flex-direction:column}
.sv3-ref .rb-q{padding:18px 20px 20px}
.sv3-ref .rb-txt{font-size:.98rem}
.sv3-ref .rb-q::before{content:"”";font-size:3rem;line-height:.6;font-weight:800;color:#93FAC8;height:18px}
.sv3-ref.q3 .rb-q::before{color:#0D3E4D}
@media (max-width:980px){.sv3-refs{grid-template-columns:1fr 1fr}.sv3-refs .sv3-ref:last-child{grid-column:1/-1}}
@media (max-width:640px){.sv3-refs{grid-template-columns:1fr}}
/* varausosio */
.sv3-steps{list-style:none;margin:2px 0 4px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sv3-steps li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(247,247,247,.06);border:1px solid rgba(154,227,244,.18);font-size:.86rem;font-weight:600;line-height:1.3}
.sv3-steps li span{flex:none;width:26px;height:26px;border-radius:50%;background:#93FAC8;color:#0D3E4D;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800}
.c3-calls.one{grid-template-columns:minmax(0,1fr);max-width:420px}
@media (max-width:700px){.sv3-steps{grid-template-columns:1fr}}
/* kelluva varauspalkki */
.sv3-sticky{position:fixed;z-index:60;right:clamp(12px,2vw,24px);bottom:calc(clamp(12px,2vw,24px) + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;padding:8px 8px 8px 10px;border-radius:999px;
  background:#0D3E4D;color:#F7F7F7;box-shadow:0 18px 40px rgba(4,22,28,.35);border:1px solid rgba(147,250,200,.35);transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .3s ease}
.sv3-sticky.show{transform:none;opacity:1;pointer-events:auto}
.sv3-sticky .sv3-av{width:38px;height:38px}
.sv3-st{font-size:.88rem;font-weight:600;white-space:nowrap}
.sv3-stel{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(147,250,200,.14);color:#93FAC8}
.sv3-stel svg{width:18px;height:18px}
.sv3-sticky .btn{padding:10px 16px;min-height:0;background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}
@media (max-width:700px){.sv3-sticky{left:12px;right:12px;justify-content:space-between}.sv3-st{display:none}}

/* ===== Brändiyhtenäistys: palvelusivujen kortit ja painikkeet (design systemin tokenit) =====
   lasikortti tummalla: surface #1454669e + border #52a596c2; korostus Mint; ikonilaatta Mint + musta ikoni; kortit vain Dark Teal tai Green */
:root{--ds-glass:rgba(20,84,102,.62);--ds-border:rgba(82,165,150,.76);--ds-mint:#93FAC8;--ds-frost:#9AE3F4;--ds-teal:#0D3E4D;--ds-green:#20A264;--ds-green-l:#4AE59B;--ds-beige:#F8F9E2;--ds-black:#0A0A0A;--ds-white:#F7F7F7}
/* "Puhut suoraan asiantuntijan kanssa" */
.sv3-owner{position:relative;gap:12px;padding:8px 8px 8px 8px;border-radius:18px;background:var(--ds-glass);border:1px solid var(--ds-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.sv3-owner:hover{background:rgba(20,84,102,.85);border-color:var(--ds-mint)}
.sv3-owner small{display:flex;align-items:center;gap:6px;color:var(--ds-mint);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}
.sv3-owner small::before{content:"";width:.7em;height:1em;background:var(--ds-mint);-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.sv3-owner b{color:var(--ds-frost)}
.sv3-owner i{color:rgba(247,247,247,.85)}
.sv3-owner::after{content:"";flex:none;width:40px;height:40px;margin-left:6px;border-radius:12px;background:var(--ds-mint) center/18px 18px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230A0A0A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.sv3-av{border-color:var(--ds-mint);background:var(--ds-teal)}
/* heron kortit (Oikea valinta, kun… / minikaavio) lasikorteiksi */
.svh-chart,.svh-quote{background:var(--ds-glass);border:1px solid var(--ds-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* Tunnistatko-, referenssi- ja vaihekortit: vain Dark Teal ja Green */
.hq.q2,.rb.q2{background:linear-gradient(150deg,#0D3E4D,#145466);border:1px solid var(--ds-border)}
.hq.q2 .hq-ic{background:var(--ds-mint);color:var(--ds-black)}
.hq.q1 .hq-ic{background:var(--ds-mint);color:var(--ds-black)}
.hq.q2 .hq-eb,.hq.q1 .hq-eb{color:var(--ds-mint)}
.hq.q1 h3,.hq.q2 h3{color:var(--ds-frost)}
/* Mitä saat -nosto */
.sv3-checks li{background:var(--ds-glass);border:1px solid var(--ds-border)}
.sv3-ck{background:var(--ds-mint);color:var(--ds-black)}
.sv3-bcard{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--ds-green-l),var(--ds-green));color:var(--ds-black);box-shadow:0 24px 48px rgba(4,22,28,.35)}
.sv3-bcard::after{content:"";position:absolute;right:0;bottom:0;width:90%;height:70%;background:var(--ptn-green);background-size:400px 400px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.sv3-bcard>*{position:relative;z-index:1}
.sv3-bcard small{color:var(--ds-teal);font-weight:700}
.sv3-bcard p{color:rgba(10,10,10,.85)}
.sv3-bcard .btn{background:var(--ds-teal);color:var(--ds-mint);border-color:var(--ds-teal)}
.sv3-bcard .btn:hover{background:#145466}
.sv3-bcard .sv3-av{border-color:var(--ds-teal)}
.sv3-nob{color:var(--ds-teal)}
/* projektin aikajana: kaaviokortti vaalealla pohjalla = Dark Teal -kaaviokortti */
.tl{position:relative;overflow:hidden;background:var(--ds-teal);border:1px solid var(--ds-border);color:var(--ds-white)}
.tl::after{content:"";position:absolute;right:0;bottom:0;width:70%;height:80%;background:var(--ptn-dark);background-size:420px 420px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.tl>*{position:relative;z-index:1}
.tl .gv-eb{color:var(--ds-mint)}
.tl-h{color:var(--ds-frost)}
.tl-sum span{background:var(--ds-glass);border:1px solid var(--ds-border);color:var(--ds-white)}
.tl-ticks{color:rgba(247,247,247,.6)}
.tl-ticks span{border-left-color:rgba(247,247,247,.1)}
.tl-name{color:var(--ds-white)}
.tl-name b{color:var(--ds-mint)}
.tl-track{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n) - 1px),rgba(247,247,247,.1) calc(100% / var(--n) - 1px),rgba(247,247,247,.1) calc(100% / var(--n)))}
.tl-bar.b1{background:var(--ds-mint);color:var(--ds-black)}
.tl-bar.b2{background:var(--ds-frost);color:var(--ds-black)}
.tl-bar.b3{background:var(--ds-green);color:var(--ds-black)}
/* varausosio ja kelluva palkki */
.sv3-steps li{background:var(--ds-glass);border:1px solid var(--ds-border)}
.sv3-steps li span{background:var(--ds-mint);color:var(--ds-teal)}
.c3-form{background:var(--ds-glass);border-color:var(--ds-border)}
.c3-call{background:var(--ds-glass);border-color:var(--ds-border)}
.c3-call:hover{border-color:var(--ds-mint)}
.c3-who b{color:var(--ds-frost)}
.c3-send{color:var(--ds-black)}
.sv3-sticky{background:var(--ds-teal);border:1px solid var(--ds-border)}
.sv3-st{color:var(--ds-white)}
.sv3-stel{background:var(--ds-mint);color:var(--ds-black);border-radius:12px}
.sv3-sticky .btn{color:var(--ds-black)}
/* Palvelut-heron kaavio: aluevärit (Johtaminen Mint, Kasvu Frosted Blue, Kannattavuus Beige) */
.c1 .gv2-bar{background:var(--ds-mint)}.c2 .gv2-bar{background:var(--ds-frost)}.c3 .gv2-bar{background:var(--ds-beige)}
.gv2-ghost{border-color:var(--ds-frost)}
.gv2{background:var(--ds-glass);border-color:var(--ds-border)}
.gv-leg i.sw-now{background:var(--ds-frost)}.gv-leg i.sw-after{border-color:var(--ds-frost)}

/* ===================== LAATUKIERROS: välit, mobiili, luettavuus ===================== */
/* tiiviimmät sektiovälit, jotta seuraava osio näkyy jo ruudulla */
.s{padding:clamp(52px,6.4vw,100px) 0}
.s-head{margin-bottom:clamp(28px,3.4vw,48px)}
.s-head.with-person>div:first-child{padding-bottom:clamp(28px,3.4vw,48px)}
.phero{padding:clamp(40px,5vw,80px) 0 clamp(44px,5.6vw,84px)}
@media (max-width:700px){
  .s{padding:46px 0}
  .s-head{margin-bottom:26px;gap:12px}
  .s-head.with-person>div:first-child{padding-bottom:22px}
  .phero{padding:28px 0 40px}
  .hero{padding:28px 0 44px}
}
/* mobiili: syöttökentät 16 px (iOS ei zoomaa), pienin teksti 12 px */
@media (max-width:700px){
  input,textarea,select{font-size:16px!important}
  .cta-k,.acard-type,.svh-eb,.svh-l,.gv-eb,.ms-k,.gv2-l,.fc-call,.mm-call,.wkf-ph,.wkf-t,.n,.c3-who small,.sv3-owner small,.sv3-owner i,.tl-ticks,.tl-bar i,.rb-cite span,.pf-owner small,.qr-eb,.hq-eb,.c3-eb,.sv3-eb,.cta-eb{font-size:12px!important}
  small{font-size:max(12px,.78em)}
  .rh-m i,.rh i{font-size:12px}
}
/* mobiili: kosketuskohteet vähintään 44 px */
@media (max-width:700px){
  .langs a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  .hdr .brand,.ftr-bot>a{min-height:44px;display:inline-flex;align-items:center}
  .ftr-cols li a{display:inline-flex;align-items:center;min-height:44px}
  .ftr-cols ul{gap:0}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px}
  .tlink,.c3-about,.hman-txt a,.as-card a,.cta-pi a{display:inline-flex;align-items:center;min-height:44px}
}
.bgmark.lmk{background:currentColor;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
@media (max-width:700px){
  .hman-areas span,.hman-areas small,.rb-cite small,.rh-track i,.rh-track b,.mm-panel b,.mm-head span,.svh-quote small{font-size:12px!important}
  .logos li a{min-height:44px}
}
.rh-track b{font-size:max(11px,.7rem)}
@media (max-width:700px){
  .fc-track .z b,.fc-lv b{font-size:12px}
  .gv2-ceil span{font-size:12px!important;max-width:30%}
  .gv2-cols{right:31%}
}
/* pienin näyttöteksti 12 px myös työpöydällä */
.acard-type,.svh-eb,.sv3-owner small,.rh-track b,.gv2-ceil span,.fc-track .z i,.fc-track .z b,.gv-eb,.tl-ticks,.tl-bar i{font-size:max(12px,.75rem)!important}
.hv2-tab small{font-size:max(12px,.75rem)}
@media (max-width:700px){.crumbs a{min-height:0}.crumbs li{display:inline-flex;align-items:center;min-height:44px}.crumbs ol{align-items:center}}
/* mobiili: taulukot pinottuina kortteina */
@media (max-width:600px){
  .prose .tbl{overflow:visible;border:0;border-radius:0}
  .prose table.stk{min-width:0;display:block;font-size:.95rem}
  .prose table.stk thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .prose table.stk tbody{display:grid;gap:12px}
  .prose table.stk tr{display:grid;gap:10px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
  .prose table.stk td{display:grid;gap:2px;padding:0;border:0}
  .prose table.stk td::before{content:attr(data-label);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--link)}
  .prose table.stk td:first-child{font-weight:700;font-size:1.02rem;color:var(--text)}
  .prose table.stk td:first-child::before{display:none}
}
/* artikkelisuodattimet rivittyvät mobiilissa näkyviin */
@media (max-width:700px){.afilt{flex-wrap:wrap;overflow:visible;margin:22px 0 14px;padding:0}.afb{min-height:44px}}
@media (max-width:380px){.gv2-l{left:-24px;right:-24px;letter-spacing:-.01em}}
@media (max-width:600px){.prose table.stk td{background:none!important}}
.pc2-f i{border-radius:10px}
.amore{display:flex;justify-content:center;margin-top:clamp(22px,3vw,32px)}
.amore .btn{min-height:48px;padding:0 24px;background:transparent;color:var(--text);border:1.5px solid var(--line)}
.amore .btn:hover{border-color:var(--mark)}
@media (max-width:700px){.crumbs li:nth-child(n+3)[aria-current]{display:none}}
.pc2-p small{font-size:max(12px,.75rem)}
@media (max-width:700px){.crumbs a{min-height:44px;display:inline-flex;align-items:center}}

/* ===================== ETUSIVUN HERO v2: elävä näyttämö ===================== */
.hero.v2{--mx:0;--my:0;--gx:68%;--gy:38%;isolation:isolate}
.hero.v2::before{content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:radial-gradient(520px circle at var(--gx) var(--gy),rgba(147,250,200,.16),transparent 62%),radial-gradient(700px circle at 12% 110%,rgba(154,227,244,.10),transparent 60%);
  transition:background-position .2s}
.hero.v2 .hero-bg{transform:translate3d(calc(var(--mx) * -18px),calc(var(--my) * -12px),0);transition:transform .5s var(--ease);animation:heroDrift 18s ease-in-out infinite alternate}
@keyframes heroDrift{from{margin-top:0}to{margin-top:-2.5%}}
.hero.v2 .wrap{position:relative;z-index:1}
/* otsikko nousee sana kerrallaan */
.hero.v2 h1 .hw{display:inline-block;opacity:0;transform:translateY(.55em) rotate(2deg);animation:hwIn .7s var(--ease) forwards;animation-delay:calc(120ms + var(--i) * 90ms)}
@keyframes hwIn{to{opacity:1;transform:none}}
.hero.v2 h1 .hw-mark{position:relative;color:#93FAC8}
.hero.v2 h1 .hw-mark::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.09em;border-radius:99px;background:#93FAC8;transform:scaleX(0);transform-origin:left;animation:hwLine .7s var(--ease) .9s forwards}
@keyframes hwLine{to{transform:scaleX(1)}}
.hero.v2 .lead{opacity:0;animation:hwIn .7s var(--ease) .65s forwards;transform:translateY(14px)}
.hero.v2 .choose{opacity:0;animation:hwIn .7s var(--ease) .85s forwards;transform:translateY(14px)}
/* valintakortit: Mint-reunus kiertää hoverissa */
.hero.v2 .choice{position:relative;transition:transform .25s var(--ease),border-color .25s,background .25s}
.hero.v2 .choice:hover{transform:translateY(-4px);border-color:#93FAC8;background:rgba(20,84,102,.62)}
.hero.v2 .choice::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .3s;
  background:conic-gradient(from var(--a,0deg),transparent 0 70%,#93FAC8 85%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:hsSpin 3s linear infinite}
.hero.v2 .choice:hover::after{opacity:1}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes hsSpin{to{--a:360deg}}
/* näyttämö: kuva kallistuu osoittimen mukana, lasimerkit leijuvat eri syvyyksissä */
.hero-stage{position:relative;perspective:1400px}
.hero.v2 .hero-stage>.desk{transform:rotateY(calc(var(--mx) * 5deg)) rotateX(calc(var(--my) * -4deg));transition:transform .45s var(--ease);transform-style:preserve-3d;will-change:transform;
  opacity:0;animation:stageIn 1s var(--ease) .35s forwards}
@keyframes stageIn{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1}}
.hs-chip{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:16px;white-space:nowrap;
  background:rgba(20,84,102,.78);border:1px solid rgba(82,165,150,.76);color:#F7F7F7;font-weight:700;font-size:.92rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 18px 40px rgba(4,22,28,.4);opacity:0;animation:chipIn .7s var(--ease) forwards,chipFloat 6s ease-in-out infinite;transition:opacity .25s}
.hs-chip i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#93FAC8;color:#0A0A0A}
.hs-chip i svg{width:18px;height:18px}
.hs-chip.c1{left:-9%;bottom:16%;animation-delay:1.5s,1.5s;translate:calc(var(--mx) * 22px) calc(var(--my) * 16px)}
.hs-chip.c2{right:-7%;top:34%;animation-delay:1.9s,2.4s;translate:calc(var(--mx) * -30px) calc(var(--my) * -20px)}
@keyframes chipIn{from{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}
@keyframes chipFloat{0%,100%{margin-top:0}50%{margin-top:-9px}}
.hero-stage:has(.desk:not([data-stage="scene"])) .hs-chip{opacity:0!important;pointer-events:none}
.hero.v2 .scene-q b.typing::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.12em;background:#93FAC8;animation:caret .7s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
@media (max-width:900px){.hs-chip.c1{left:2%;bottom:auto;top:-18px}.hs-chip.c2{display:none}.hero.v2 .hero-stage>.desk{transform:none}}
@media (max-width:700px){.hs-chip{font-size:.82rem;padding:8px 12px 8px 8px}.hs-chip i{width:30px;height:30px}}
@media (prefers-reduced-motion:reduce){
  .hero.v2 h1 .hw,.hero.v2 .lead,.hero.v2 .choose,.hero.v2 .hero-stage>.desk,.hs-chip{animation:none;opacity:1;transform:none}
  .hero.v2 h1 .hw-mark::after{animation:none;transform:none}.hero.v2 .hero-bg{animation:none;transform:none}.hero.v2 .choice::after{animation:none}
}

/* ===================== Kaksi tapaa aloittaa: eteneminen kuvana ===================== */
.hflow{list-style:none;margin:8px 0 14px;padding:16px 10px 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;border-radius:18px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76)}
.hflow::before,.hflow::after{content:"";position:absolute;top:39px;left:16.666%;right:16.666%;height:3px;border-radius:99px}
.hflow::before{background:rgba(247,247,247,.14)}
.hflow::after{background:linear-gradient(90deg,#93FAC8,#9AE3F4);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s}
.hflow.go::after{transform:scaleX(1)}
.hflow li{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:3px;padding:0 4px;min-width:0}
.hf-ic{width:46px;height:46px;border-radius:14px;background:#93FAC8;color:#0A0A0A;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;
  box-shadow:0 0 0 6px #0f4756;transform:scale(.4);opacity:0;transition:transform .55s var(--ease),opacity .3s ease;transition-delay:calc(200ms + var(--i) * 480ms)}
.hf-ic svg{width:22px;height:22px}
.hflow.go .hf-ic{transform:none;opacity:1}
.hflow b{font-size:.95rem;line-height:1.25;color:#F7F7F7}
.hflow small{font-size:max(12px,.78rem);line-height:1.3;color:rgba(247,247,247,.72)}
.hflow b,.hflow small{opacity:0;transform:translateY(6px);transition:opacity .4s ease,transform .5s var(--ease);transition-delay:calc(380ms + var(--i) * 480ms)}
.hflow.go b,.hflow.go small{opacity:1;transform:none}
.hpath.p2 .hflow::after{background:linear-gradient(90deg,#93FAC8,#4AE59B)}
@supports (grid-template-rows:subgrid){@media (min-width:901px){
  .hpaths.vis .hpath{grid-row:span 6}
  .hpaths.vis .hpath-body{grid-row:2 / span 5}
}}
@media (max-width:420px){.hflow{padding:14px 4px 12px}.hflow b{font-size:.84rem}.hf-ic{width:40px;height:40px}.hflow::before,.hflow::after{top:33px}}
@media (prefers-reduced-motion:reduce){.hflow::after{transform:none;transition:none}.hf-ic,.hflow b,.hflow small{opacity:1;transform:none;transition:none}}
@media (max-width:900px){.hs-chip{display:none!important}}
@media (max-width:480px){
  .hflow{grid-template-columns:1fr;gap:14px;padding:16px 16px 16px 14px}
  .hflow li{grid-template-columns:auto 1fr;grid-template-rows:auto auto;justify-items:start;text-align:left;column-gap:14px;row-gap:0;align-items:center;padding:0}
  .hflow .hf-ic{grid-row:1/3;margin-bottom:0;width:44px;height:44px}
  .hflow b{align-self:end;font-size:.98rem}.hflow small{align-self:start}
  .hflow::before,.hflow::after{top:38px;bottom:38px;left:35px;right:auto;width:3px;height:auto}
  .hflow::after{transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,#93FAC8,#9AE3F4)}
  .hflow.go::after{transform:scaleY(1)}
  .hpath.p2 .hflow::after{background:linear-gradient(180deg,#93FAC8,#4AE59B)}
}

/* ===================== ETUSIVUN HERO v3: toimitusjohtaja ja kasvukaavio ===================== */
.hero.v3{--mx:0;--my:0;padding-bottom:0}
.hero.v3 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:end;gap:clamp(20px,3vw,48px)}
.hero.v3 .hero-grid>div:first-child{align-self:center;padding-bottom:clamp(48px,6vw,88px)}
.hero.v3 h1 .hw{display:inline-block;opacity:0;transform:translateY(.55em);animation:hwIn .7s var(--ease) forwards;animation-delay:calc(100ms + var(--i) * 90ms)}
.hero.v3 .lead{opacity:0;transform:translateY(14px);animation:hwIn .7s var(--ease) .6s forwards}
.hero.v3 .choose{opacity:0;transform:translateY(14px);animation:hwIn .7s var(--ease) .8s forwards}
.hero.v3 .choice{transition:transform .25s var(--ease),border-color .25s,background .25s}
.hero.v3 .choice:hover{transform:translateY(-4px);border-color:#93FAC8;background:rgba(20,84,102,.62)}
.hstage{position:relative;aspect-ratio:600/540;width:100%;max-width:640px;margin-left:auto}
.hg{position:absolute;inset:0;transform:translate3d(calc(var(--mx) * -8px),0,0);transition:transform .5s var(--ease)}
.hg-svg{display:block;width:100%;height:100%;overflow:visible}
.hg-grid line{stroke:rgba(247,247,247,.1);stroke-width:1}
.hg-base{stroke:rgba(247,247,247,.38);stroke-width:1.5}
.hg-bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform .9s var(--ease) var(--d)}
.hg-bar.b1{fill:#93FAC8}.hg-bar.b2{fill:#9AE3F4}.hg-bar.b3{fill:#F8F9E2}
.hg-line{fill:none;stroke:#F7F7F7;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease) 1.25s}
.hg-dot{fill:#0D3E4D;stroke:#F7F7F7;stroke-width:3;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .4s var(--ease) var(--d)}
.hg-end{fill:#93FAC8;stroke:#0D3E4D;stroke-width:4;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s var(--ease) 2.3s}
.hstage.go .hg-bar{transform:none}.hstage.go .hg-line{stroke-dashoffset:0}.hstage.go .hg-dot,.hstage.go .hg-end{transform:none}
.hg-person{position:absolute;right:-2%;bottom:0;height:98%;aspect-ratio:724/900;opacity:0;transform:translateY(22px);transition:opacity .7s ease .9s,transform .9s var(--ease) .9s;translate:calc(var(--mx) * 6px) 0}
.hg-person img{display:block;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 24px 30px rgba(4,22,28,.35))}
.hstage.go .hg-person{opacity:1;transform:none}
.hg-legend{position:absolute;left:0;top:0;margin:0;display:grid;gap:6px;font-size:.84rem;font-weight:600;color:rgba(247,247,247,.85);opacity:0;transition:opacity .5s ease .4s}
.hg-legend span{display:inline-flex;align-items:center;gap:8px}
.hg-legend i{width:12px;height:12px;border-radius:3px;background:#93FAC8}
.hg-legend i.l2{background:#9AE3F4}.hg-legend i.l3{background:#F8F9E2}
.hg-ceo,.hg-for{position:absolute;z-index:3;margin:0;background:rgba(20,84,102,.82);border:1px solid rgba(82,165,150,.76);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#F7F7F7;
  box-shadow:0 16px 36px rgba(4,22,28,.38);opacity:0;transform:translateY(10px) scale(.94);transition:opacity .4s ease,transform .5s var(--ease)}
.hg-ceo{right:1%;top:16%;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:.86rem;font-weight:700;transition-delay:2.5s}
.hg-ceo i{width:9px;height:9px;border-radius:50%;background:#93FAC8}
.hg-for{left:2%;bottom:25%;display:grid;gap:2px;padding:12px 16px;border-radius:16px;transition-delay:2.8s}
.hg-for b{font-size:1.45rem;font-weight:800;letter-spacing:.01em;line-height:1;color:#F7F7F7}
.hg-for em{font-style:normal;color:#93FAC8;margin-left:.28em}
.hg-for span{font-size:.82rem;font-weight:600;color:rgba(247,247,247,.85)}
.hstage.go .hg-legend{opacity:1}.hstage.go .hg-ceo,.hstage.go .hg-for{opacity:1;transform:none}
@media (max-width:900px){
  .hero.v3 .hero-grid{grid-template-columns:1fr}
  .hero.v3 .hero-grid>div:first-child{padding-bottom:8px}
  .hstage{max-width:520px;margin:0 auto}
}
@media (max-width:480px){.hg-for b{font-size:1.15rem}.hg-for{padding:10px 12px;bottom:22%}.hg-ceo{font-size:.8rem;padding:6px 11px}.hg-legend{font-size:12px;gap:4px}.hg-for span{font-size:12px}}
@media (prefers-reduced-motion:reduce){
  .hero.v3 h1 .hw,.hero.v3 .lead,.hero.v3 .choose{animation:none;opacity:1;transform:none}
  .hg-bar,.hg-dot,.hg-end,.hg-person,.hg-legend,.hg-ceo,.hg-for{transition:none;opacity:1;transform:none}.hg-line{transition:none;stroke-dashoffset:0}
  .hg,.hg-person{translate:none;transform:none}
}
.hero.v3 .hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.hg-ceo{right:auto;left:44%;top:0}
.hg-for{left:auto;right:0;bottom:8%}
@media (max-width:900px){.hero.v3 .hero-grid{grid-template-columns:1fr}}
@media (max-width:480px){.hg-for{bottom:7%}.hg-ceo{left:40%}}

/* ===================== HERO v3b: kiertorata toimitusjohtajan ympärillä ===================== */
.orbit{position:relative;aspect-ratio:600/560;width:100%;max-width:640px;margin-left:auto}
.or-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.or-back{z-index:1}.or-front{z-index:3}
.or-track{fill:none;stroke:rgba(247,247,247,.16);stroke-width:1.5}
.or-arc{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:var(--len) 1;stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.6s var(--ease) var(--d)}
.or-arc.a-johtaminen{stroke:#93FAC8}.or-arc.a-kasvu{stroke:#9AE3F4}.or-arc.a-kannattavuus{stroke:#F8F9E2}
.orbit.go .or-arc{stroke-dashoffset:0}
.or-back .or-arc,.or-back .or-track{opacity:.55}
.or-person{position:absolute;z-index:2;left:50%;bottom:0;height:90%;aspect-ratio:603/900;transform:translate(-50%,24px);opacity:0;transition:opacity .7s ease .3s,transform .9s var(--ease) .3s}
.or-person img{display:block;width:100%;height:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 22px 28px rgba(4,22,28,.4))}
.orbit.go .or-person{opacity:1;transform:translate(-50%,0)}
.or-chips{position:absolute;inset:0}
.or-chip{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;white-space:nowrap;text-decoration:none;
  background:rgba(13,62,77,.92);border:1px solid rgba(82,165,150,.76);color:#F7F7F7;font-weight:700;font-size:.86rem;line-height:1;box-shadow:0 10px 24px rgba(4,22,28,.35);
  opacity:0;will-change:transform;transition:opacity .5s ease,border-color .2s,background .2s}
.or-chip i{width:10px;height:10px;border-radius:50%;background:#93FAC8;flex:none}
.or-chip.c-kasvu i{background:#9AE3F4}.or-chip.c-kannattavuus i{background:#F8F9E2}
.orbit.live .or-chip{opacity:1}
.or-chip:hover,.or-chip:focus-visible{border-color:#93FAC8;background:#145466;outline:none}
.or-legend{position:absolute;z-index:4;left:0;top:0;margin:0;display:grid;gap:6px;font-size:.84rem;font-weight:600;color:rgba(247,247,247,.85)}
.or-legend span{display:inline-flex;align-items:center;gap:8px}
.or-legend i{width:12px;height:12px;border-radius:3px;background:#93FAC8}
.or-legend i.l-kasvu{background:#9AE3F4}.or-legend i.l-kannattavuus{background:#F8F9E2}
.orbit .hg-for{z-index:4;left:0;right:auto;bottom:4%;transition-delay:1.6s}
.orbit.go .hg-for{opacity:1;transform:none}
@media (max-width:900px){.orbit{max-width:520px;margin:6px auto 0}}
@media (max-width:480px){.or-chip{font-size:12px;padding:6px 10px 6px 8px;gap:6px}.or-chip i{width:8px;height:8px}.or-legend{font-size:12px;gap:4px}}
@media (prefers-reduced-motion:reduce){.or-arc{transition:none;stroke-dashoffset:0}.or-person{transition:none;opacity:1;transform:translate(-50%,0)}.or-chip{transition:none}}
.orbit .hg-for{left:auto;right:0;top:0;bottom:auto}
.or-person{height:94%}
.orbit .hg-for{left:0;right:auto;top:auto;bottom:3%}
@media (max-width:700px){.or-chip{pointer-events:none}}
/* kiertoradat pään ympärillä, isompi henkilökuva */
.orbit{margin-top:clamp(70px,7vw,110px)}
.or-person{height:114%}
.orbit .hg-for{left:0;bottom:4%}
@media (max-width:900px){.orbit{margin-top:96px}}
@media (max-width:480px){.orbit{margin-top:84px}}
.or-chip{font-size:.82rem;padding:7px 13px 7px 10px}
@media (max-width:480px){.or-chip{font-size:12px;padding:5px 9px 5px 7px}}
@media (max-width:560px){.orbit{width:80%;margin-left:auto;margin-right:auto}}
.orbit .hg-for{gap:6px}
.orbit .hg-for span{font-size:.95rem;font-weight:700;color:#F7F7F7}
.orbit .hg-for b{font-size:1.25rem}
@media (max-width:480px){.orbit .hg-for span{font-size:.84rem}.orbit .hg-for b{font-size:1.05rem}}
/* isompi toimitusjohtaja: heron vasen ja oikea puoli tasapainoon */
.hero.v3 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.orbit{max-width:none;margin-top:clamp(120px,11.5vw,170px)}
.or-person{height:128%}
@media (max-width:900px){.hero.v3 .hero-grid{grid-template-columns:1fr}.orbit{max-width:560px;margin-top:150px}}
@media (max-width:560px){.orbit{margin-top:108px}}
/* megavalikko: ei "Aloita tästä" -nappia; sarakkeet täyttyvät tasaisesti */
.hdr .mg .mg-feat.no-eb{grid-template-columns:1fr auto;padding:14px 20px!important}
.hdr .mg .mg-feat.no-eb>b{grid-column:1}
.hdr .mg .mg-feat.no-eb .mg-feat-p{grid-column:1}
.hdr .mg .mg-feat.no-eb .mg-go{grid-column:2;grid-row:1 / span 2}
@media (min-width:981px){
  .mg-col{display:flex;flex-direction:column}
  .mg-list{flex:1;display:flex;flex-direction:column;gap:0}
  .mg-list li{flex:1;display:flex}
  .hdr .mg .mg-list a{flex:1;align-content:center}
}

/* ===================== Markun sitaatti: "Kun kauppa käy…" ===================== */
.mkq{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"who bubble viz" "who cta viz";gap:18px clamp(20px,3vw,40px);
  align-items:center;padding:clamp(26px,4vw,48px);border-radius:32px;background:linear-gradient(130deg,#145466,#0D3E4D 70%);color:#F7F7F7;box-shadow:0 30px 60px rgba(13,62,77,.18)}
.mkq::after{content:"";position:absolute;right:0;bottom:0;width:55%;height:75%;background:var(--ptn-dark);background-size:480px 480px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.mkq>*{position:relative;z-index:1}
.mk-who{grid-area:who;display:grid;justify-items:center;text-align:center;gap:4px;align-self:center}
.mk-av{width:132px;height:132px;border-radius:50%;overflow:hidden;border:4px solid #93FAC8;background:#145466;margin-bottom:8px;transform-origin:50% 100%;animation:mkNod 4.5s ease-in-out infinite}
.mk-av img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes mkNod{0%,70%,100%{transform:rotate(0)}76%{transform:rotate(-5deg)}84%{transform:rotate(4deg)}92%{transform:rotate(-2deg)}}
.mk-who b{font-size:1.05rem;color:#9AE3F4}
.mk-who small{font-size:12px;color:rgba(247,247,247,.75);max-width:16ch}
.mk-bubble{grid-area:bubble;position:relative;margin:0;padding:clamp(20px,2.4vw,30px) clamp(22px,2.6vw,34px);border-radius:26px;background:#F7F7F7;color:#0A0A0A;
  transform:scale(.6) rotate(-4deg);opacity:0;transform-origin:0% 60%;transition:transform .6s cubic-bezier(.3,1.5,.5,1) .2s,opacity .3s ease .2s}
.mk-bubble::before{content:"";position:absolute;left:-14px;top:48%;width:30px;height:30px;background:#F7F7F7;border-radius:4px;transform:rotate(45deg)}
.mk-bubble blockquote{margin:0}
.mk-bubble p{margin:0;position:relative;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.3;font-weight:700;letter-spacing:-.01em;min-height:2.6em}
.mk-bubble p::before{content:"”";position:absolute;left:-.1em;top:-.55em;font-size:2.4em;line-height:1;color:#20A264;opacity:.35}
.mkq.go .mk-bubble{transform:none;opacity:1}
.mk-viz{grid-area:viz;display:grid;gap:12px;align-self:stretch;align-content:center}
.mk-bar{position:relative;height:58px;border-radius:16px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);overflow:hidden}
.mk-fill{position:absolute;inset:0;background:linear-gradient(90deg,#93FAC8,#4AE59B);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.2,.8,.2,1) .9s}
.mkq.go .mk-fill{transform:scaleX(1)}
.mk-lbl{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:0 16px;font-weight:800;font-size:1.05rem;color:#0A0A0A}
.mk-lbl em{font-style:normal;display:inline-block;transform:translateY(8px);opacity:0;transition:transform .4s cubic-bezier(.3,1.6,.5,1) 2.1s,opacity .3s ease 2.1s}
.mkq.go .mk-lbl em{transform:none;opacity:1}
.mk-lbl svg{width:22px;height:22px;margin-left:auto;opacity:0;transform:translate(-8px,8px);transition:opacity .3s ease 2.2s,transform .5s cubic-bezier(.3,1.6,.5,1) 2.2s}
.mkq.go .mk-lbl svg{opacity:1;transform:none}
.mk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mk-list li{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);font-weight:700;font-size:.92rem;
  opacity:.45;transition:opacity .3s ease;transition-delay:calc(2.5s + var(--i) * .45s)}
.mk-ck{flex:none;width:26px;height:26px;border-radius:8px;border:2px dashed rgba(247,247,247,.35);display:inline-flex;align-items:center;justify-content:center;color:#0A0A0A;
  transition:background .25s ease,border-color .25s ease,transform .35s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(2.5s + var(--i) * .45s)}
.mk-ck svg{width:15px;height:15px;opacity:0;transition:opacity .2s ease;transition-delay:calc(2.6s + var(--i) * .45s)}
.mkq.go .mk-list li{opacity:1}
.mkq.go .mk-ck{background:#93FAC8;border-color:#93FAC8;transform:scale(1.08)}
.mkq.go .mk-ck svg{opacity:1}
.mk-cta{grid-area:cta;justify-self:start;background:#93FAC8;color:#0A0A0A;border-color:#93FAC8}
.mk-bubble p.typing::after{content:"";display:inline-block;width:3px;height:.95em;margin-left:3px;vertical-align:-.1em;background:#20A264;animation:caret .7s steps(1) infinite}
@media (max-width:1000px){.mkq{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"who bubble" "viz viz" "cta cta"}}
@media (max-width:640px){
  .mkq{grid-template-columns:1fr;grid-template-areas:"who" "bubble" "viz" "cta";text-align:left}
  .mk-who{grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:14px;align-items:center}
  .mk-av{grid-row:1/3;width:84px;height:84px;margin:0;border-width:3px}
  .mk-bubble::before{left:34px;top:-12px}
  .mk-bubble{transform-origin:20% 0%}
  .mk-cta{justify-self:stretch;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.mk-av{animation:none}.mk-bubble,.mk-fill,.mk-lbl em,.mk-lbl svg,.mk-list li,.mk-ck,.mk-ck svg{transition:none;transform:none;opacity:1}}
@media (max-width:1100px){.mkq .mk-list li{font-size:.86rem;gap:8px;padding:10px}}

/* ===================== Johtajien terveiset: referenssit postikortteina ===================== */
.gcards{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,30px);padding:6px 4px}
.gc{position:relative;margin:0;display:grid;grid-template-columns:minmax(170px,34%) 1fr;border-radius:22px;overflow:hidden;color:#F7F7F7;
  box-shadow:0 22px 44px rgba(13,62,77,.22);transform:translateY(60px) rotate(calc(var(--rot) * 4));opacity:0;
  transition:transform .8s cubic-bezier(.2,.9,.3,1.15),opacity .45s ease,box-shadow .3s;transition-delay:calc(var(--i) * 140ms)}
.gcards.go .gc{transform:rotate(var(--rot));opacity:1}
.gcards.go .gc:hover{transform:rotate(0) translateY(-6px);box-shadow:0 30px 56px rgba(13,62,77,.3);transition-delay:0s;z-index:2}
.gc.q1{background:linear-gradient(150deg,#145466,#0D3E4D)}
.gc.q3{background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.gc::after{content:"";position:absolute;right:0;bottom:0;width:70%;height:60%;background:var(--ptn-dark) no-repeat 100% 100%/560px auto;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.gc.q3::after{background-image:var(--ptn-green)}
.gc>*{position:relative;z-index:1}
.gc-a{grid-column:1/8}.gc-b{grid-column:8/13}.gc-c{grid-column:1/6}.gc-d{grid-column:6/13}
.gc-photo{display:flex;align-items:center;padding:14px 0 14px 14px}
.gc-photo .rb-win{margin:0;width:100%;height:236px;border-radius:16px}
.gc.q3 .gc-photo .rb-win{background:linear-gradient(150deg,#145466,#0D3E4D)}
.gc.q3 .gc-photo .rb-lmp{background-image:var(--lmp-mint)}
.gc-msg{margin:0;padding:18px 22px 20px 20px;display:flex;flex-direction:column;gap:12px;border-left:2px dashed rgba(247,247,247,.22);margin-left:16px}
.gc.q3 .gc-msg{border-left-color:rgba(10,10,10,.22)}
.gc-top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:58px}
.gc-eb{margin:4px 0 0;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#93FAC8}
.gc-eb::before{content:"";width:.75em;height:1.05em;background:currentColor;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.gc.q3 .gc-eb{color:#0D3E4D}
/* postimerkki: yrityksen logo hammastetussa kehyksessä */
.gc-stamp{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:58px;padding:0 12px;background:#0D3E4D;transform:rotate(4deg);
  -webkit-mask:radial-gradient(circle 4px at 4px 4px,transparent 97%,#000 100%) -4px -4px/8px 8px;mask:radial-gradient(circle 4px at 4px 4px,transparent 97%,#000 100%) -4px -4px/8px 8px;
  outline:0}
.gc.q1 .gc-stamp{background:#F7F7F7}
.gc-stamp .q-logo{display:flex;align-items:center;background:none;border:0;padding:0}
.gc-stamp img{height:22px;width:auto;max-width:110px;object-fit:contain}
.gc.q1 .gc-stamp img{filter:brightness(0) saturate(100%) invert(18%) sepia(38%) saturate(1300%) hue-rotate(150deg) brightness(92%)}
.gc-mark{position:absolute;right:58px;top:2px;width:104px;height:60px;fill:none;stroke:#93FAC8;stroke-width:1.6;opacity:.5;transform:rotate(-8deg);pointer-events:none}
.gc.q3 .gc-mark{stroke:#0D3E4D;opacity:.4}
.gc-txt{margin:0;font-size:1.06rem;line-height:1.5;font-weight:600}
.gc.short .gc-txt{font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.4}
.gc.long .gc-txt{font-size:.98rem;font-weight:500;line-height:1.55}
.gc-sign{margin-top:auto;display:grid;gap:1px;padding-top:6px}
.gc-sign b{font-size:1.02rem}
.gc.q1 .gc-sign b{color:#9AE3F4}
.gc-sign span{font-size:.82rem;opacity:.8}
@media (max-width:1100px){.gc-a,.gc-b,.gc-c,.gc-d{grid-column:1/-1}}
@media (max-width:640px){
  .gcards{gap:16px;padding:0}
  .gc{grid-template-columns:1fr;--rot:0deg!important}
  .gc-photo{padding:14px 14px 0}
  .gc-msg{border-left:0;border-top:2px dashed rgba(247,247,247,.22);margin:14px 14px 0;padding:14px 4px 18px}
  .gc.q3 .gc-msg{border-top-color:rgba(10,10,10,.22)}
  .gc-txt,.gc.short .gc-txt{font-size:1.05rem}
}
@media (prefers-reduced-motion:reduce){.gc{transition:none;transform:rotate(var(--rot));opacity:1}}
/* postimerkki: hammastus pisteviivalla kortin värissä */
.gc-stamp{-webkit-mask:none;mask:none;min-width:96px;height:62px;padding:0 10px;background:#0D3E4D;background-clip:border-box;border:5px dotted #36C784;box-sizing:border-box;border-radius:3px}
.gc.q1 .gc-stamp{background:#F7F7F7;border-color:#12505F}
.gc-stamp img{height:20px;max-width:96px}
.gc-mark{right:70px;top:4px}
.gc-a .gc-txt{font-size:clamp(1.2rem,1.9vw,1.55rem);line-height:1.38}
@media (max-width:640px){.gc-a .gc-txt{font-size:1.05rem}}

/* ===================== MEISTÄ v2: FORCEOn tarina ===================== */
.ab-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:center}
.ab-hero h1 .hw{display:inline-block;opacity:0;transform:translateY(.55em);animation:hwIn .7s var(--ease) forwards;animation-delay:calc(100ms + var(--i) * 110ms)}
.ab-hero .lead{opacity:0;transform:translateY(14px);animation:hwIn .7s var(--ease) .6s forwards;max-width:46ch}
.ab-cue{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:12px 20px;min-height:44px;border-radius:999px;color:#F7F7F7;font-weight:700;text-decoration:none;
  background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);opacity:0;animation:hwIn .7s var(--ease) .85s forwards;transition:border-color .2s}
.ab-cue:hover{border-color:#93FAC8}
.ab-cue svg{width:18px;height:18px;animation:tkBob 1.8s var(--ease) infinite}
/* FOR + CEO liukuvat yhteen sanaksi FORCEO */
.ab-word{position:relative;display:flex;align-items:center;justify-content:center;min-height:230px;font-weight:800;font-size:clamp(3.2rem,7.4vw,6.4rem);letter-spacing:-.02em;line-height:1}
.ab-for,.ab-ceo{display:inline-block;transition:transform 1.1s cubic-bezier(.3,1.25,.4,1) .5s,opacity .5s ease .2s;opacity:0}
.ab-for{color:#F7F7F7;transform:translateX(-1.1em)}
.ab-ceo{color:#93FAC8;transform:translateX(1.1em)}
.ab-plus{position:absolute;left:50%;top:50%;width:.5em;height:.7em;transform:translate(-50%,-50%) scale(1);color:#93FAC8;transition:transform .6s var(--ease) 1.1s,opacity .4s ease 1.1s;opacity:0}
.ab-plus svg{width:100%;height:100%}
.ab-word.go .ab-for,.ab-word.go .ab-ceo{opacity:1;transform:none}
.ab-word.go .ab-plus{opacity:0;transform:translate(-50%,-50%) scale(.2)}
.ab-word:not(.go) .ab-plus{opacity:1}
.ab-face{position:absolute;right:6%;bottom:-6%;width:92px;height:92px;border-radius:50%;overflow:hidden;border:4px solid #93FAC8;background:#145466;
  transform:scale(0) rotate(-20deg);transition:transform .6s cubic-bezier(.3,1.5,.5,1) 1.7s;box-shadow:0 16px 34px rgba(4,22,28,.4)}
.ab-face img{width:100%;height:100%;object-fit:cover;display:block}
.ab-word.go .ab-face{transform:none}
@media (max-width:900px){.ab-hero-grid{grid-template-columns:1fr}.ab-word{min-height:150px;justify-content:flex-start}.ab-face{right:0;bottom:0;width:72px;height:72px}}

/* aikajana: viiva piirtyy vierityksen mukana */
.tls{position:relative;list-style:none;margin:0;padding:10px 0;display:grid;gap:clamp(22px,3vw,36px)}
.tls-line{position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;border-radius:99px;background:var(--line);overflow:hidden}
.tls-line i{position:absolute;inset:0;background:linear-gradient(180deg,#145466,#20A264 60%,#4AE59B);transform:scaleY(var(--p,0));transform-origin:top;transition:transform .15s linear}
.tls-item{position:relative;display:grid;grid-template-columns:1fr 72px 1fr;align-items:center}
.tls-node{grid-column:2;justify-self:center;z-index:1;width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:2px solid var(--line);color:var(--muted);
  transition:background .4s ease,border-color .4s ease,color .4s ease,transform .5s cubic-bezier(.3,1.5,.5,1)}
.tls-node svg{width:24px;height:24px}
.tls-card{grid-row:1;padding:22px 24px;border-radius:22px;color:#F7F7F7;background:linear-gradient(150deg,#145466,#0D3E4D);position:relative;overflow:hidden;
  opacity:0;transition:opacity .6s ease .1s,transform .8s var(--ease) .1s}
.tls-card::after{content:"";position:absolute;right:0;bottom:0;width:70%;height:80%;background:var(--ptn-dark) no-repeat 100% 100%/460px auto;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.tls-card>*{position:relative;z-index:1}
.tls-item.l .tls-card{grid-column:1;transform:translateX(-40px)}
.tls-item.r .tls-card{grid-column:3;transform:translateX(40px)}
.tls-item.in .tls-card{opacity:1;transform:none}
.tls-item.in .tls-node{background:#93FAC8;border-color:#93FAC8;color:#0A0A0A;transform:scale(1.08)}
.tls-eb{margin:0 0 4px;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#93FAC8}
.tls-card h3{margin:0 0 8px;font-size:clamp(1.25rem,2vw,1.6rem);color:#9AE3F4}
.tls-card p:last-child{margin:0;line-height:1.55;color:rgba(247,247,247,.9)}
.tls-item:last-child .tls-card{background:linear-gradient(150deg,#4AE59B,#20A264);color:#0A0A0A}
.tls-item:last-child .tls-card::after{background-image:var(--ptn-green)}
.tls-item:last-child .tls-eb{color:#0D3E4D}.tls-item:last-child h3{color:#0A0A0A}.tls-item:last-child .tls-card p:last-child{color:rgba(10,10,10,.88)}
@media (max-width:820px){
  .tls-line{left:28px}
  .tls-item{grid-template-columns:56px 1fr;column-gap:16px}
  .tls-node{grid-column:1}
  .tls-item.l .tls-card,.tls-item.r .tls-card{grid-column:2;transform:translateX(30px)}
  .tls-item.in .tls-card{transform:none}
}
/* tuotteiston sydän: kolme lähdettä virtaa yhteen */
.s-head.center{text-align:center;justify-items:center;display:grid}
.hrt{position:relative;max-width:860px;margin:0 auto}
.hrt-srcs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hrt-src{display:grid;gap:2px;text-align:center;padding:18px 14px;border-radius:18px;background:linear-gradient(150deg,#145466,#0D3E4D);color:#F7F7F7;
  opacity:0;transform:translateY(-16px);transition:opacity .5s ease,transform .6s var(--ease)}
.hrt-src.s2{transition-delay:.15s}.hrt-src.s3{transition-delay:.3s}
.hrt-src b{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:#93FAC8}
.hrt-src span{font-size:1.08rem;font-weight:700;color:#9AE3F4}
.hrt-svg{display:block;width:100%;height:150px;overflow:visible}
.hrt-path{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease) .6s;vector-effect:non-scaling-stroke}
.hrt-path.p1{stroke:#93FAC8}.hrt-path.p2{stroke:#9AE3F4;transition-delay:.75s}.hrt-path.p3{stroke:#20A264;transition-delay:.9s}
.hrt-core{display:flex;align-items:center;justify-content:center;gap:14px;width:max-content;max-width:100%;margin:0 auto;padding:18px 28px;border-radius:22px;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0A0A0A;
  font-size:clamp(1.2rem,2.2vw,1.6rem);box-shadow:0 22px 44px rgba(13,62,77,.22);transform:scale(.5);opacity:0;transition:transform .6s cubic-bezier(.3,1.5,.5,1) 1.8s,opacity .3s ease 1.8s}
.hrt-mark{width:28px;height:38px;color:#0D3E4D;display:inline-flex;animation:hrtBeat 1.6s ease-in-out 2.6s infinite}
.hrt-mark svg{width:100%;height:100%}
@keyframes hrtBeat{0%,100%{transform:scale(1)}18%{transform:scale(1.22)}36%{transform:scale(1)}54%{transform:scale(1.14)}72%{transform:scale(1)}}
.hrt.go .hrt-src{opacity:1;transform:none}.hrt.go .hrt-path{stroke-dashoffset:0}.hrt.go .hrt-core{transform:none;opacity:1}
@media (max-width:640px){.hrt-srcs{gap:8px}.hrt-src{padding:12px 6px}.hrt-src span{font-size:.86rem}.hrt-src b{font-size:12px;letter-spacing:.02em}.hrt-svg{height:110px}}
/* sitaatti */
.abq{position:relative;margin:0 auto;max-width:880px;display:grid;grid-template-columns:auto 1fr;gap:6px 26px;align-items:center;padding:clamp(24px,4vw,44px);border-radius:30px;
  background:linear-gradient(130deg,#145466,#0D3E4D 70%);color:#F7F7F7;overflow:hidden;box-shadow:0 30px 60px rgba(13,62,77,.18)}
.abq::after{content:"";position:absolute;right:0;bottom:0;width:60%;height:80%;background:var(--ptn-dark) no-repeat 100% 100%/480px auto;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.abq>*{position:relative;z-index:1}
.abq-av{grid-row:1/3;width:112px;height:112px;border-radius:50%;overflow:hidden;border:4px solid #93FAC8;animation:mkNod 4.5s ease-in-out infinite;transform-origin:50% 100%}
.abq-av img{width:100%;height:100%;object-fit:cover;display:block}
.abq blockquote{margin:0}
.abq p{margin:0;font-size:clamp(1.5rem,3.2vw,2.4rem);font-weight:700;line-height:1.2;letter-spacing:-.01em;color:#9AE3F4;opacity:0;transform:translateY(16px);transition:opacity .6s ease .2s,transform .8s var(--ease) .2s}
.abq figcaption{display:grid;gap:1px;opacity:0;transition:opacity .5s ease .7s}
.abq figcaption b{font-size:1rem}.abq figcaption span{font-size:.88rem;color:rgba(247,247,247,.78)}
.abq.go p{opacity:1;transform:none}.abq.go figcaption{opacity:1}
@media (max-width:560px){.abq{grid-template-columns:1fr;gap:14px}.abq-av{grid-row:auto;width:84px;height:84px}}
@media (prefers-reduced-motion:reduce){
  .ab-hero h1 .hw,.ab-hero .lead,.ab-cue{animation:none;opacity:1;transform:none}
  .ab-for,.ab-ceo,.ab-face,.tls-card,.tls-node,.hrt-src,.hrt-core,.abq p,.abq figcaption{transition:none;opacity:1;transform:none}
  .ab-plus{display:none}.hrt-path{transition:none;stroke-dashoffset:0}.tls-line i{transform:none}.hrt-mark,.abq-av{animation:none}
}
/* Meistä: Visorin ja Lumonin logot tarinassa */
.tls-logos{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.tls-logo{display:inline-flex;align-items:center;padding:9px 14px;border-radius:12px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76)}
.tls-logo img{display:block;height:24px;width:auto}
.tls-logo.l-visor img{height:20px}
.tls-arrow{display:inline-flex;color:#93FAC8}
.tls-arrow svg{width:20px;height:20px}
.tls-item.in .tls-arrow svg{animation:arrowNudge 1.6s var(--ease) .6s 2}
@keyframes arrowNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
.hrt-logo{display:flex;justify-content:center;margin-bottom:8px}
.hrt-logo img{display:block;height:24px;width:auto}
.hrt-logo.l-visor img{height:20px}
.hrt-src{align-content:end}
/* heron kasvokuva sanan alle, ei kirjainten päälle */
.ab-word{flex-wrap:wrap;align-content:center;gap:0 0}
.ab-face{position:static;flex-basis:100%;width:auto;height:auto;border:0;background:none;overflow:visible;box-shadow:none;display:flex;justify-content:center;margin-top:18px;transform:translateY(16px);opacity:0;transition:transform .6s var(--ease) 1.7s,opacity .5s ease 1.7s}
.ab-face img{width:84px;height:84px;border-radius:50%;border:4px solid #93FAC8;box-shadow:0 16px 34px rgba(4,22,28,.4)}
.ab-word.go .ab-face{transform:none;opacity:1}
@media (max-width:900px){.ab-face{justify-content:flex-start}.ab-face img{width:68px;height:68px}}
@media (max-width:640px){.tls-logo img{height:20px}.tls-logo.l-visor img{height:17px}.tls-logo{padding:7px 10px}.hrt-logo img{height:18px}.hrt-logo.l-visor img{height:15px}}
/* Meistä: kenen luku (kasvokuva) ja neljä lähdettä */
.tls-logos{min-height:42px}
.tls-face{margin-left:auto;width:42px;height:42px;border-radius:50%;overflow:hidden;border:2px solid #93FAC8;flex:none;background:#145466}
.tls-face img{display:block;width:100%;height:100%;object-fit:cover}
.hrt-srcs{grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.hrt-src.s4{transition-delay:.45s}
.hrt{max-width:980px}
.hrt-path{stroke:#93FAC8}
.ab-face{gap:10px}
.ab-face img+img{margin-left:-6px}
@media (max-width:640px){.hrt-srcs{grid-template-columns:repeat(2,minmax(0,1fr))}.hrt-svg{height:90px}}

/* ===== Meistä-hero: kaksi polkua yhdistyy FORCEOksi ===== */
.rt{position:relative;aspect-ratio:600/400;width:100%;max-width:640px;margin-left:auto}
.rt-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rt-path{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.rt-path.m{stroke:#93FAC8;transition:stroke-dashoffset 2.2s var(--ease) .3s}
.rt-path.h{stroke:#9AE3F4;transition:stroke-dashoffset 1.9s var(--ease) .6s}
.rt-path.e{stroke:#4AE59B;stroke-width:9;transition:stroke-dashoffset .6s var(--ease) 2.4s}
.rt.go .rt-path{stroke-dashoffset:0}
.rt-st{fill:#0D3E4D;stroke-width:5;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .45s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(.35s + var(--d,0s))}
.rt-st.m{stroke:#93FAC8}.rt-st.h{stroke:#9AE3F4}.rt-st.ai{stroke:#4AE59B;fill:#4AE59B}
.rt.go .rt-st{transform:none}
.rt-lab{position:absolute;transform:translate(-50%,-50%) translateY(8px);white-space:nowrap;padding:6px 12px;border-radius:999px;font-size:.84rem;font-weight:700;color:#F7F7F7;
  background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);opacity:0;transition:opacity .4s ease,transform .5s var(--ease);transition-delay:calc(.55s + var(--d,0s))}
.rt-lab.ai{background:#93FAC8;border-color:#93FAC8;color:#0A0A0A}
.rt.go .rt-lab{opacity:1;transform:translate(-50%,-50%)}
.rt-face{position:absolute;left:0;top:0;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;overflow:hidden;border:3px solid #93FAC8;background:#145466;box-shadow:0 10px 22px rgba(4,22,28,.4);opacity:0;will-change:transform}
.rt-face.h{border-color:#9AE3F4}
.rt-face img{display:block;width:100%;height:100%;object-fit:cover}
.rt.live .rt-face{opacity:1}
.rt-end{position:absolute;left:87%;top:50%;transform:translate(-50%,-50%) scale(.4);display:grid;justify-items:center;gap:6px;opacity:0;transition:transform .6s cubic-bezier(.3,1.5,.5,1) 2.9s,opacity .3s ease 2.9s}
.rt-end i{width:78px;height:78px;border-radius:22px;background:linear-gradient(135deg,#4AE59B,#20A264);display:flex;align-items:center;justify-content:center;color:#0D3E4D;box-shadow:0 18px 36px rgba(4,22,28,.4)}
.rt-end i svg{width:34px;height:46px}
.rt-end b{font-size:1.05rem;letter-spacing:.02em;color:#F7F7F7}
.rt.go .rt-end{opacity:1;transform:translate(-50%,-50%)}
@media (max-width:900px){.rt{margin:10px auto 0;max-width:520px}}
@media (max-width:480px){.rt-lab{font-size:12px;padding:4px 9px}.rt-face{width:44px;height:44px;margin:-22px 0 0 -22px}.rt-end i{width:56px;height:56px;border-radius:16px}.rt-end i svg{width:24px;height:33px}.rt-end b{font-size:.86rem}}
/* Tuotteiston sydämessä: yhtenäiset ikonit */
.hrt-ic{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto 10px;border-radius:14px;background:#93FAC8;color:#0A0A0A}
.hrt-ic svg{width:22px;height:22px}
/* Rehdillä eikä liian kireällä otteella: polaroidit */
.abq2{position:relative;margin:0 auto;max-width:960px;display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(26px,4vw,48px);border-radius:30px;
  background:linear-gradient(130deg,#145466,#0D3E4D 70%);color:#F7F7F7;overflow:hidden;box-shadow:0 30px 60px rgba(13,62,77,.18)}
.abq2::after{content:"";position:absolute;right:0;bottom:0;width:60%;height:80%;background:var(--ptn-dark) no-repeat 100% 100%/480px auto;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%);mask-image:radial-gradient(ellipse 100% 100% at 100% 100%,#000 0%,rgba(0,0,0,.5) 35%,transparent 75%)}
.abq2>*{position:relative;z-index:1}
.pols{position:relative;display:flex;padding:8px 12px 8px 4px}
.pol{display:grid;gap:8px;justify-items:center;padding:10px 10px 12px;background:#F7F7F7;border-radius:6px;box-shadow:0 18px 36px rgba(4,22,28,.45);color:#0A0A0A;
  opacity:0;transition:transform .7s cubic-bezier(.3,1.4,.5,1),opacity .4s ease}
.pol img,.pol-ph{display:block;width:clamp(120px,15vw,172px);height:clamp(120px,15vw,172px);object-fit:cover;border-radius:3px}
.pol small{font-size:.9rem;font-weight:700;letter-spacing:.02em}
.pol.p1{transform:translateY(40px) rotate(-14deg);z-index:2}
.pol.p2{transform:translateY(40px) rotate(14deg);margin-left:-26px;margin-top:22px;transition-delay:.18s}
.abq2.go .pol{opacity:1}.abq2.go .pol.p1{transform:rotate(-5deg)}.abq2.go .pol.p2{transform:rotate(6deg)}
.abq2.go .pol:hover{transform:rotate(0) scale(1.04);z-index:3}
.pol-ph{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:10px;box-sizing:border-box;background:#E6EBEC;border:2px dashed #9fb3b8;color:#3b5560;font-size:12px;font-weight:600}
.pol-ph i{width:22px;height:30px;background:#9fb3b8;-webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain}
.abq2 blockquote{margin:0}
.abq2 p{margin:0;font-size:clamp(1.7rem,3.6vw,2.7rem);font-weight:700;line-height:1.15;letter-spacing:-.015em;color:#9AE3F4;opacity:0;transform:translateY(16px);transition:opacity .6s ease .45s,transform .8s var(--ease) .45s}
.abq2 figcaption{margin-top:12px;font-size:1rem;color:rgba(247,247,247,.82);opacity:0;transition:opacity .5s ease .9s}
.abq2.go p{opacity:1;transform:none}.abq2.go figcaption{opacity:1}
@media (max-width:700px){.abq2{grid-template-columns:1fr}.pols{justify-content:center}}
@media (prefers-reduced-motion:reduce){.rt-path{transition:none;stroke-dashoffset:0}.rt-st,.rt-lab,.rt-end,.pol,.abq2 p,.abq2 figcaption{transition:none;opacity:1}.rt-st{transform:none}.rt-lab,.rt-end{transform:translate(-50%,-50%)}
  .pol.p1{transform:rotate(-5deg)}.pol.p2{transform:rotate(6deg)}.abq2 p{transform:none}.rt-face{opacity:1}}
.rt{max-width:none}
.rt-lab.l0{transform:translate(0,-50%) translateY(8px)}
.rt.go .rt-lab.l0{transform:translate(0,-50%)}
.rt-end{left:91%}
@media (max-width:900px){.rt{max-width:520px}}
@media (prefers-reduced-motion:reduce){.rt-lab.l0{transform:translate(0,-50%)}}
.rt-path{stroke-width:8}
.rt-face{width:64px;height:64px;margin:-32px 0 0 -32px}
.rt-end i{width:88px;height:88px}
@media (max-width:480px){.rt-face{width:46px;height:46px;margin:-23px 0 0 -23px}.rt-end i{width:58px;height:58px}}
.ab-hero h1 .hw.ceo{color:#93FAC8}
/* palvelusivun hero: lyhyt kuvaus */
.svc-hero .lead{font-weight:600;margin-bottom:8px}
.svh-desc{margin:0 0 18px;max-width:52ch;font-size:1.02rem;line-height:1.6;color:rgba(247,247,247,.86)}
@media (max-width:700px){.svh-desc{font-size:.98rem}}
.svc-hero .lead,.svh-desc{max-width:min(40ch,88%)}@media (max-width:900px){.svc-hero .lead,.svh-desc{max-width:none}}
/* palvelusivujen vaihekortit tiiviimmiksi */
[id^="eteneminen-"] .rm-how{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
[id^="eteneminen-"] .rm-how li{min-height:0;flex-direction:row;align-items:flex-start;gap:12px;padding:16px 18px;border-radius:18px}
[id^="eteneminen-"] .rm-how li:nth-child(2){background:linear-gradient(150deg,#0D3E4D,#145466);box-shadow:inset 0 0 0 1px rgba(82,165,150,.76)}
[id^="eteneminen-"] .rm-how .rm-n{flex:none;font-size:1.1rem;line-height:1;min-width:0;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(247,247,247,.12);color:#93FAC8;margin:0}
[id^="eteneminen-"] .rm-how li:nth-child(3) .rm-n{background:rgba(10,10,10,.12);color:#0A0A0A}
[id^="eteneminen-"] .rm-how b{font-size:.98rem;margin-bottom:2px}
[id^="eteneminen-"] .rm-how p{font-size:.86rem;line-height:1.45}
[id^="eteneminen-"] .rm-how li::after{width:70%;height:70%;background-size:300px 300px}
@media (max-width:700px){[id^="eteneminen-"] .rm-how{grid-template-columns:1fr;gap:10px}[id^="eteneminen-"] .rm-how li{padding:14px 16px}}
/* Johtoryhmän näkemykset: liike */
.vw-d.mv{left:var(--from);transition:left 1.5s cubic-bezier(.3,1.1,.4,1);transition-delay:calc(.5s + var(--i) * 90ms)}
.vw-span.mv{left:var(--l0);width:var(--w0);transition:left 1.5s cubic-bezier(.3,1.1,.4,1) .5s,width 1.5s cubic-bezier(.3,1.1,.4,1) .5s}
.chart-x.go .vw-d.mv{left:var(--to)}
.chart-x.go .vw-span.mv{left:var(--l1);width:var(--w1)}
/* ennen: näkemykset heiluvat hajallaan */
.chart-x.go .vw-d.jit{animation:vwJit calc(2.6s + var(--j) * .35s) ease-in-out infinite alternate;animation-delay:calc(var(--j) * -.7s)}
@keyframes vwJit{0%{transform:translateX(-5px)}100%{transform:translateX(5px)}}
/* jälkeen: yhteinen suunta sykkii kevyesti, kun pisteet ovat koolla */
.vw-d.ceo.mv::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #93FAC8;opacity:0}
.chart-x.go .vw-d.ceo.mv::after{animation:vwPulse 2.4s ease-out 2.3s infinite}
@keyframes vwPulse{0%{transform:scale(.8);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.vw-d.mv{left:var(--to);transition:none}.vw-span.mv{left:var(--l1);width:var(--w1);transition:none}.chart-x.go .vw-d.jit,.chart-x.go .vw-d.ceo.mv::after{animation:none}}
/* palvelusivujen yksi postikortti */
.gcards.one{grid-template-columns:minmax(0,1fr);max-width:980px;margin:0 auto}
.gc-one{grid-column:1/-1;grid-template-columns:minmax(220px,36%) 1fr}
.gc-one .gc-photo{padding:18px 0 18px 18px}
.gc-one .gc-photo .rb-win{height:272px}
.gc-one .gc-msg{padding:24px clamp(24px,3.4vw,44px) 26px 28px;justify-content:center;gap:16px}
.gc-one .gc-txt{font-size:clamp(1.4rem,2.6vw,2.05rem);line-height:1.3;font-weight:700;letter-spacing:-.01em;color:#9AE3F4}
.gc-one .gc-sign b{font-size:1.1rem;color:#F7F7F7}
@media (max-width:640px){.gc-one{grid-template-columns:1fr}.gc-one .gc-photo{padding:14px 14px 0}.gc-one .gc-txt{font-size:1.25rem}}
/* Myyntiputken virtaus (liikkuva) */
.pf{display:grid;gap:12px}
.pf-row{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr) 150px;gap:14px;align-items:center;padding:8px 10px;border-radius:14px}
.pf-row.bef{background:rgba(154,227,244,.10)}
.pf-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));font-size:.78rem;font-weight:700;color:#9AE3F4;text-align:center}
.pf-track{position:relative;height:44px;border-radius:12px;background:rgba(147,250,200,.07);overflow:hidden}
.pf-track::before{content:"";position:absolute;left:2%;right:2%;top:20px;height:4px;border-radius:2px;background:rgba(247,247,247,.12)}
.pf-sep{position:absolute;top:6px;bottom:6px;width:1px;background:rgba(247,247,247,.14)}
.pf-goal{position:absolute;right:6px;top:8px;width:28px;height:28px;border-radius:8px;border:2px solid rgba(147,250,200,.5)}
.pf-row.aft .pf-goal{background:rgba(147,250,200,.18);border-color:#93FAC8}
.pf-dot{position:absolute;left:0;top:14px;width:16px;height:16px;margin-left:-8px;border-radius:50%;opacity:0}
.pf-row.bef .pf-dot{background:#0D3E4D;border:3px solid #9AE3F4;box-sizing:border-box}
.pf-row.aft .pf-dot{background:#93FAC8;box-shadow:0 0 0 3px rgba(13,62,77,.85)}
.chart-x.go .pf-dot{animation:pfGo var(--dur) cubic-bezier(.45,.05,.55,.95) var(--del) infinite}
@keyframes pfGo{0%{left:3%;opacity:0}8%{opacity:1}70%{left:var(--end);opacity:1}88%{left:var(--end);opacity:1}100%{left:var(--end);opacity:0}}
.pf-tag{justify-self:start;font-size:.82rem;font-weight:700;padding:6px 11px;border-radius:999px;white-space:nowrap}
.pf-row.bef .pf-tag{color:#0D3E4D;background:#9AE3F4}
.pf-row.aft .pf-tag{color:#0A0A0A;background:#93FAC8}
@media (max-width:700px){.pf-row{grid-template-columns:1fr;gap:6px}.pf-head{display:none}.pf-row .fu-l{order:-1}}
@media (prefers-reduced-motion:reduce){.chart-x.go .pf-dot{animation:none;opacity:1;left:var(--end)}}
/* Vuoden rytmi: lohkot syttyvät kuukausi kerrallaan, kuukausikursori kulkee vuoden läpi */
.rh-track{position:relative}
.rh .rh-b{transform:scaleX(0);transform-origin:left center;transition:transform .5s var(--ease);transition-delay:calc(.2s + var(--c) * 110ms)}
.chart-x.go .rh .rh-b{transform:none}
.rh-cur{position:absolute;top:-4px;bottom:-4px;left:0;width:calc(100% / 12);border-radius:8px;border:2px solid #93FAC8;background:rgba(147,250,200,.08);pointer-events:none;opacity:0}
.chart-x.go .rh-cur{opacity:1;animation:rhSweep 12s steps(12,end) 1.8s infinite;transition:opacity .4s ease 1.6s}
@keyframes rhSweep{from{left:0}to{left:100%}}
.rh-head .rh-cur{display:none}
@media (prefers-reduced-motion:reduce){.rh .rh-b{transform:none;transition:none}.rh-cur{display:none}}
.rh-b.r1{background:linear-gradient(90deg,#4AE59B,#20A264)}
/* Wow-hetket asiakaspolulla */
.wow{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px}
.wow-y{grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.78rem;font-weight:700;color:#9AE3F4;text-align:center;align-self:center}
.wow-plot{position:relative;height:260px}
.wow-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wow-grid line{stroke:rgba(247,247,247,.1);stroke-width:1;vector-effect:non-scaling-stroke}
.wow-b{fill:none;stroke:#9AE3F4;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;opacity:.7;transition:stroke-dashoffset 1.2s var(--ease) .2s}
.wow-a{fill:none;stroke:#93FAC8;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;transition:stroke-dashoffset 1.6s var(--ease) .7s}
.chart-x.go .wow-b,.chart-x.go .wow-a{stroke-dashoffset:0}
.wb{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.8,.5,1) var(--d)}
.wb-star{fill:#93FAC8;stroke:#0D3E4D;stroke-width:2;vector-effect:non-scaling-stroke}
.wb-ring{fill:none;stroke:#93FAC8;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center}
.chart-x.go .wb{transform:none}
.chart-x.go .wb-star{animation:wbTwinkle 3.2s ease-in-out calc(var(--d) + .6s) infinite;transform-box:fill-box;transform-origin:center}
.chart-x.go .wb-ring{animation:wbRing 3.2s ease-out calc(var(--d) + .6s) infinite}
@keyframes wbTwinkle{0%,70%,100%{transform:scale(1) rotate(0)}80%{transform:scale(1.35) rotate(22deg)}90%{transform:scale(.95) rotate(-6deg)}}
@keyframes wbRing{0%,68%{opacity:0;transform:scale(.6)}75%{opacity:.9}100%{opacity:0;transform:scale(2.4)}}
.wow-lab{position:absolute;transform:translate(-50%,-100%) scale(.6);padding:5px 10px;border-radius:999px;background:#93FAC8;color:#0A0A0A;font-size:12px;font-weight:800;white-space:nowrap;
  opacity:0;transition:transform .45s cubic-bezier(.3,1.7,.5,1) var(--d),opacity .2s ease var(--d);box-shadow:0 8px 18px rgba(4,22,28,.35)}
.chart-x.go .wow-lab{opacity:1;transform:translate(-50%,-100%)}
.wow-dip{position:absolute;transform:translate(-50%,0);padding:4px 9px;border-radius:999px;background:rgba(154,227,244,.16);border:1px dashed #9AE3F4;color:#9AE3F4;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .4s ease 1.2s}
.chart-x.go .wow-dip{opacity:1}
.wow-st{grid-column:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px;font-size:.78rem;font-weight:700;color:#9AE3F4;text-align:center}
@media (max-width:700px){.wow-plot{height:220px}.wow-lab{font-size:11px;padding:4px 7px}.wow-st{font-size:12px}.wow-st span{overflow-wrap:anywhere}.wow-y{display:none}.wow{grid-template-columns:1fr}.wow-st{grid-column:1}}
@media (prefers-reduced-motion:reduce){.wow-b,.wow-a{stroke-dashoffset:0;transition:none}.wb,.wow-lab,.wow-dip{transition:none;transform:none;opacity:1}.wow-lab{transform:translate(-50%,-100%)}.chart-x.go .wb-star,.chart-x.go .wb-ring{animation:none}}
.wow-b,.wow-a{vector-effect:none}
.wow-a{stroke-width:4}.wow-b{stroke-width:2.5}
@media (max-width:700px){
  .wow-plot{height:250px}
  .chart-x.go .wow-lab.lo{transform:translate(-50%,62%)}
  .wow-lab.lo{transform:translate(-50%,62%) scale(.6)}
  .wow-st span{overflow-wrap:normal;hyphens:manual}
}
.wow-list{display:none}
@media (max-width:700px){
  .wow-lab,.wow-dip{display:none}
  .wow-plot{height:200px}
  .wow-list{grid-column:1;list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
  .wow-list li{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#93FAC8;color:#0A0A0A;font-size:12px;font-weight:800;
    opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .4s cubic-bezier(.3,1.7,.5,1)}
  .wow-list li:nth-child(1){transition-delay:1.6s}.wow-list li:nth-child(2){transition-delay:1.85s}.wow-list li:nth-child(3){transition-delay:2.1s}.wow-list li:nth-child(4){transition-delay:2.35s}.wow-list li:nth-child(5){transition-delay:2.6s}
  .wow-list small{font-weight:600;font-size:12px;opacity:.7}
  .chart-x.go .wow-list li{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.wow-list li{transition:none;opacity:1;transform:none}}
/* Ensimmäiset asiakkaat ulkomailla */
.it-svg{display:block;width:100%;height:auto;overflow:visible}
.it-home{fill:rgba(154,227,244,.10);stroke:#9AE3F4;stroke-width:2}
.it-hd{fill:#9AE3F4;opacity:0;transition:opacity .3s ease;transition-delay:calc(.2s + var(--i) * 50ms)}
.it-arc{fill:none;stroke:#93FAC8;stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;transition:stroke-dashoffset 1s var(--ease) var(--d)}
.it-tg{fill:rgba(147,250,200,.08);stroke:#93FAC8;stroke-width:2;stroke-dasharray:6 6;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) var(--d)}
.it-pin{fill:#93FAC8;stroke:#0D3E4D;stroke-width:2;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .45s cubic-bezier(.3,1.8,.5,1) var(--d)}
.it-plane{fill:#F7F7F7;offset-distance:0%;opacity:0}
.it-t{font:700 13px var(--font);fill:#9AE3F4}
.it-t.m{fill:#93FAC8}
.chart-x.go .it-hd{opacity:1}
.chart-x.go .it-arc{stroke-dashoffset:0}
.chart-x.go .it-tg,.chart-x.go .it-pin{transform:none}
.chart-x.go .it-plane{animation:itFly 2.6s ease-in-out var(--d) infinite}
.chart-x.go .it-pin{animation:itPulse 3s ease-in-out calc(var(--d) + .6s) infinite}
@keyframes itFly{0%{offset-distance:0%;opacity:0}10%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes itPulse{0%,100%{r:6}50%{r:8}}
@media (prefers-reduced-motion:reduce){.it-hd,.it-arc,.it-tg,.it-pin{transition:none;opacity:1;stroke-dashoffset:0;transform:none}.it-plane{display:none}.chart-x.go .it-pin{animation:none}}
.it-svg{max-width:760px;margin:0 auto}
@media (max-width:700px){.it-t{font-size:26px}.it-svg{overflow:visible;margin-bottom:6px}}
/* Kate-vesiputous: Ennen ↔ Projektin jälkeen */
.wf.fx{position:relative}
.wf .wv i{font-style:normal}.wf .wv .v2{display:none}
.wf.fx .wbar::before{transition:height .9s var(--ease) var(--d),top .9s var(--ease) var(--d),width .9s var(--ease) var(--d),left .9s var(--ease) var(--d),background .5s}
.wf.fx.fixed .wbar::before{top:calc(var(--t2) * 1%);height:calc(var(--h2) * 1%);transition-delay:calc(var(--d) * .5)}
.wf.fx.fixed .wv{top:calc((var(--t2) + var(--h2)) * 1% + 4px)}
.wf.fx.fixed .wv .v1{display:none}.wf.fx.fixed .wv .v2{display:inline}
.wf.fx .wv{transition:top .9s var(--ease),opacity .4s}
.wf.fx .wcol.k-e .wv{color:#20A264;font-size:.95rem}
.wf-state{position:absolute;right:0;top:0;margin:0;display:inline-flex;border-radius:999px;padding:3px;background:rgba(13,62,77,.08);border:1px solid var(--line)}
.wf-state span{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--muted);transition:background .4s,color .4s}
.wf.fx:not(.fixed) .wf-state .s1{background:#9AE3F4;color:#0D3E4D}
.wf.fx.fixed .wf-state .s2{background:#93FAC8;color:#0A0A0A}
@media (max-width:700px){
  .wf-state{position:static;margin:0 0 12px}
  .wf.fx.fixed .wbar::before{left:calc(var(--l2) * 1%);width:calc(var(--h2) * 1%);top:3px!important;height:auto!important}
}
@media (prefers-reduced-motion:reduce){.wf.fx .wbar::before{transition:none}}
@media (min-width:701px){
  .wf.fx .wcol.k-e .wv{top:calc(var(--t) * 1% + 10px);color:#0A0A0A;font-size:1.05rem}
  .wf.fx.fixed .wcol.k-e .wv{top:calc(var(--t2) * 1% + 10px)}
}
/* Tilaus kulkee tuotannon läpi */
.pl-stages{position:relative;height:18px;font-size:.78rem;font-weight:700;color:#9AE3F4}
.pl-stages span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.pl-st{position:absolute;top:8px;width:28px;height:28px;margin-left:-14px;border-radius:8px;background:rgba(247,247,247,.08);border:2px solid rgba(154,227,244,.45);z-index:0}
.pf-row.bef .pl-st.bn{border:2px dashed #9AE3F4;background:rgba(154,227,244,.16)}
.pf-row.aft .pl-st{border-color:rgba(147,250,200,.55)}
.pl-box{position:absolute;left:0;top:15px;width:14px;height:14px;margin-left:-7px;border-radius:4px;opacity:0;z-index:1}
.pl-box.b{background:#0D3E4D;border:3px solid #9AE3F4;box-sizing:border-box}
.pl-box.a{background:#93FAC8;box-shadow:0 0 0 3px rgba(13,62,77,.85)}
.chart-x.go .pl-box.b{animation:plQueue var(--dur) linear var(--del) infinite}
.chart-x.go .pl-box.a{animation:plFlow var(--dur) linear var(--del) infinite}
@keyframes plQueue{0%{left:3%;opacity:0}5%{opacity:1}18%{left:var(--q)}72%{left:var(--q)}82%{left:52%}94%{left:94%;opacity:1}100%{left:96%;opacity:0}}
@keyframes plFlow{0%{left:3%;opacity:0}6%{opacity:1}92%{left:94%;opacity:1}100%{left:96%;opacity:0}}
@media (max-width:700px){.pl-stages{display:none}}
@media (prefers-reduced-motion:reduce){.chart-x.go .pl-box{animation:none;opacity:1}.pl-box.b{left:var(--q)}.pl-box.a{left:50%}}
/* Rutiinit siirtyvät automaatiolle */
.au{display:grid;gap:18px;--lane:64px}
.au-lanes{position:relative;display:grid;gap:12px}
.au-lane{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr);gap:14px;align-items:center}
.au-lbl{font-size:.92rem;font-weight:700;color:#F7F7F7}
.au-lane.l1 .au-lbl{color:#93FAC8}
.au-track{height:52px;border-radius:14px;background:rgba(154,227,244,.08);border:1px dashed rgba(154,227,244,.3)}
.au-lane.l1 .au-track{background:rgba(147,250,200,.08);border-color:rgba(147,250,200,.45)}
.au-cards{position:absolute;left:calc(min(140px,30%) + 14px);right:0;top:0;height:52px}
.au-card{position:absolute;top:9px;left:calc(var(--x) * 25% + 1%);width:23%;height:34px;border-radius:10px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;box-sizing:border-box;
  font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#0D3E4D;border:2px solid #9AE3F4;color:#F7F7F7;
  opacity:0;transition:opacity .4s ease;transition-delay:calc(var(--i) * 120ms)}
.au-ic{flex:none;width:10px;height:10px;border-radius:3px;background:#9AE3F4}
.chart-x.go .au-card{opacity:1;animation:auMove 9s cubic-bezier(.5,0,.3,1) calc(1.2s + var(--i) * .7s) infinite}
@keyframes auMove{
  0%,14%{transform:translateY(0);background:#0D3E4D;border-color:#9AE3F4;color:#F7F7F7}
  24%,86%{transform:translateY(var(--lane));background:#93FAC8;border-color:#93FAC8;color:#0A0A0A}
  96%,100%{transform:translateY(0);background:#0D3E4D;border-color:#9AE3F4;color:#F7F7F7}}
.au-free{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr);gap:14px;align-items:center}
.au-flbl{font-size:.82rem;font-weight:700;color:#9AE3F4;line-height:1.25}
.au-bar{height:16px;border-radius:999px;background:rgba(247,247,247,.1);overflow:hidden}
.au-bar span{display:block;height:100%;width:20%;border-radius:999px;background:linear-gradient(90deg,#4AE59B,#93FAC8)}
.chart-x.go .au-bar span{animation:auFree 9s cubic-bezier(.5,0,.3,1) 1.2s infinite}
@keyframes auFree{0%,14%{width:20%}24%{width:32%}32%{width:46%}40%{width:62%}48%,86%{width:80%}96%,100%{width:20%}}
@media (max-width:700px){
  .au-lane,.au-free{grid-template-columns:1fr;gap:6px}
  .au-cards{left:0;top:26px}
  .au{--lane:84px}
  .au-card{font-size:12px;padding:0 6px;gap:4px}.au-ic{display:none}
}
@media (prefers-reduced-motion:reduce){.chart-x.go .au-card{animation:none;transform:translateY(var(--lane));background:#93FAC8;border-color:#93FAC8;color:#0A0A0A}.chart-x.go .au-bar span{animation:none;width:80%}}
@media (max-width:700px){
  .au{--lane:128px}
  .au-lbl{line-height:22px;height:22px}
  .au-track{height:88px}
  .au-cards{top:28px;height:88px}
  .au-card{width:48%;left:calc(var(--cx) * 50% + 1%);top:calc(7px + var(--cy) * 40px);font-size:12px;padding:0 8px}
}
/* Ratkaisuja syntyy jo koulutuksen aikana */
.ac{position:relative;--p:0}
.ac-svg{display:block;width:100%;height:auto;overflow:visible}
.ac-ph.p1{fill:rgba(154,227,244,.16);stroke:#9AE3F4;stroke-width:1.5}
.ac-ph.p2{fill:rgba(147,250,200,.12);stroke:#93FAC8;stroke-width:1.5}
.ac-pt{font:700 12px var(--font);fill:#9AE3F4}.ac-pt.m{fill:#93FAC8}
.ac-base{stroke:rgba(247,247,247,.35);stroke-width:1.5}
.ac-area{fill:url(#none);fill:rgba(74,229,155,.35);stroke:#4AE59B;stroke-width:2.5;stroke-linejoin:round;clip-path:inset(0 calc((1 - var(--p)) * 100%) 0 0)}
.ac-m circle{fill:#93FAC8;stroke:#0D3E4D;stroke-width:3}
.ac-m text{font:800 13px var(--font);fill:#0A0A0A}
.ac-m{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .45s cubic-bezier(.3,1.8,.5,1)}
.ac-m.on{transform:none}
.ac-tk{font:600 11px var(--font);fill:rgba(247,247,247,.6)}
.ac-cur{stroke:#F7F7F7;stroke-width:2;stroke-dasharray:4 4;opacity:.7;transform:translateX(calc(40px + var(--p) * 540px))}
.ac-mo{position:absolute;right:0;bottom:-2px;font-size:12px;font-weight:700;color:rgba(247,247,247,.6)}
@media (max-width:700px){.ac-tk{font-size:16px}.ac-pt{font-size:15px}.ac-m text{font-size:15px}}
@media (prefers-reduced-motion:reduce){.ac{--p:1}.ac-m{transform:none;transition:none}.ac-cur{display:none}}
.mm-leg i.sav{background:#4AE59B;border-radius:3px}
.ac-pt{font-size:11.5px}
@media (max-width:700px){
  .ac-tk{font-size:24px}.ac-tk.mn{display:none}
  .ac-pt{font-size:22px}
  .ac-m text{font-size:22px}.ac-m circle{r:19px}
  .ac-ph{height:34px}
  .ac-mo{position:static;display:block;text-align:right;margin-top:4px}
}
@media (max-width:700px){.ac{display:flex;flex-direction:column}.ac-mo{order:2}}
@media (max-width:380px){.au-card{padding:0 5px;letter-spacing:-.01em}.au-cards{left:-2px;right:-2px}}
/* heron otsikko: logomerkki omana sarakkeenaan koko otsikon korkuisena, rivit tasattu vasemmalle */
.phero h1.svc:has(.h1t),.hero h1:has(.h1t){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.32em;align-items:stretch}
.phero h1.svc:has(.h1t)::before,.hero h1:has(.h1t)::before{display:block;align-self:stretch;width:auto;height:auto;aspect-ratio:29.5/42;margin:.08em 0;vertical-align:baseline;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:left center;mask-position:left center}
.h1t{display:block;min-width:0}
@media (max-width:600px){.phero h1.svc:has(.h1t)::before,.hero h1:has(.h1t)::before{display:block;width:auto;height:auto}}
.h1t{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:normal}
.hero.v3 h1{font-size:clamp(2.3rem,3.9vw,3.7rem)}
@media (max-width:600px){
  .svc-hero h1.svc,.phero h1.svc{font-size:clamp(1.65rem,7.4vw,2.2rem)}
  .hero.v3 h1{font-size:clamp(1.9rem,8.6vw,2.6rem)}
}
.hero.v3 h1{font-size:clamp(2.2rem,3.45vw,3.3rem)}
/* kiinteä logomerkin leveys (ei kehämäistä mitoitusta); korkeus venyy otsikon mukaan, merkki skaalautuu sisään */
.phero h1.svc:has(.h1t)::before,.hero h1:has(.h1t)::before{aspect-ratio:auto;width:1.55em;height:auto;margin:.06em 0}
.hero.v3 h1{max-width:none}
@media (max-width:600px){.phero h1.svc:has(.h1t)::before,.hero h1:has(.h1t)::before{width:1.45em}}
.h1t{overflow-wrap:break-word}
@media (max-width:380px){.wow-st{font-size:12px;letter-spacing:-.03em}}
/* aktiivinen Palvelut: korostus koko kohdan (teksti + nuoli) ympärille, tasaiset reunat */
.navdd{border-radius:10px;transition:background .2s}
.navdd.on{background:rgba(147,250,200,.1)}
.navdd.on>.dd-top{background:none}
.navdd .dd-btn{margin-right:4px}
@media (max-width:1180px){.navdd.on{background:none}.navdd .dd-btn{margin-right:0}}
/* Myyjä kertoo, AI hoitaa loput */
.cl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(18px,3vw,40px);align-items:center}
.cl-who{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:.88rem;font-weight:700;color:#9AE3F4}
.cl-who.c{color:#93FAC8}
.cl-ic{flex:none;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(154,227,244,.16);color:#9AE3F4}
.cl-ic svg{width:18px;height:18px}
.cl-ic.c{background:#93FAC8;color:#0D3E4D}.cl-ic.c svg{width:15px;height:21px}
.cl-in{position:relative}
.cl-bubble{position:relative;min-height:118px;padding:16px 18px;border-radius:18px 18px 18px 6px;background:#F7F7F7;color:#0A0A0A}
.cl-msg{margin:0;font-size:1rem;line-height:1.5;font-weight:600}
.cl-dots{display:none;gap:5px;padding:8px 2px}
.cl-dots i{width:8px;height:8px;border-radius:50%;background:#0D3E4D;opacity:.35;animation:clDot 1s ease-in-out infinite}
.cl-dots i:nth-child(2){animation-delay:.15s}.cl-dots i:nth-child(3){animation-delay:.3s}
@keyframes clDot{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-4px);opacity:.9}}
.cl.typing .cl-dots{display:inline-flex}.cl.typing .cl-msg{display:none}
.cl-msg.caret::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.12em;background:#20A264;animation:caret .7s steps(1) infinite}
.cl-arrow{position:absolute;right:calc(-1 * clamp(18px,3vw,40px));top:50%;width:clamp(18px,3vw,40px);height:2px;background:linear-gradient(90deg,transparent,#93FAC8);opacity:0;transition:opacity .3s}
.cl.sent .cl-arrow{opacity:1}
.cl-outs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cl-out{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:16px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);
  opacity:0;transform:translateX(18px) scale(.97);transition:opacity .35s ease,transform .45s cubic-bezier(.3,1.5,.5,1)}
.cl-out .cl-ic{width:32px;height:32px;background:#93FAC8;color:#0A0A0A}
.cl-out b{display:block;font-size:.84rem;color:#93FAC8;letter-spacing:.02em}
.cl-out span{display:block;font-size:.92rem;line-height:1.4;color:#F7F7F7}
.cl-out.on{opacity:1;transform:none}
@media (max-width:760px){.cl{grid-template-columns:1fr}.cl-arrow{display:none}.cl-bubble{min-height:0}}
@media (prefers-reduced-motion:reduce){.cl-out{opacity:1;transform:none;transition:none}.cl-dots{display:none!important}}
.cl-out .cl-ic{display:inline-flex}
.cl-out span.cl-ic{display:inline-flex}
.cl-ic.c svg{width:19px;height:19px}

/* ===================== ETUSIVUN HERO v4: Tarkennus ===================== */
.hero.v4{position:relative;padding:0;min-height:clamp(620px,48vw,740px);overflow:hidden;background:radial-gradient(1000px 640px at 72% 58%,#166079 0%,#0D3E4D 60%,#0a3340 100%)}
.hero.v4 .wrap{position:relative;z-index:6;padding-top:clamp(56px,6vw,96px);padding-bottom:clamp(40px,5vw,72px)}
.fx-text{max-width:540px}
.hero.v4 h1{max-width:none;font-size:clamp(2.2rem,3.6vw,3.5rem);opacity:0;animation:hwIn .8s var(--ease) .1s forwards;transform:translateY(16px)}
.hero.v4 .lead{opacity:0;transform:translateY(14px);animation:hwIn .8s var(--ease) .3s forwards;max-width:36ch}
.fx-q{margin:30px 0 12px;font-weight:700;color:#F7F7F7;opacity:0;transform:translateY(14px);animation:hwIn .8s var(--ease) .5s forwards}
.fx-ctas{display:flex;flex-wrap:wrap;gap:12px;opacity:0;transform:translateY(14px);animation:hwIn .8s var(--ease) .6s forwards}
.fx-cta{display:inline-flex;flex-direction:column;justify-content:center;gap:2px;min-height:60px;padding:10px 22px;border-radius:16px;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s}
.fx-cta b{font-size:1.06rem}.fx-cta span{font-size:.88rem;font-weight:600}
.fx-cta.a{background:#9AE3F4;color:#0D3E4D}.fx-cta.b{background:#93FAC8;color:#0A0A0A}
.fx-cta:hover,.fx-cta:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(4,22,28,.35)}
.fx-stage{position:absolute;inset:0;z-index:1}
.fx-far{position:absolute;right:0;bottom:0;width:min(980px,70%);height:82%;display:flex;align-items:flex-end;gap:34px;padding:0 40px;box-sizing:border-box;filter:blur(13px);opacity:.42}
.fx-far i{flex:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#93FAC8,#145466);transform-origin:bottom;animation:fxBar 5s ease-in-out infinite alternate}
.fx-far i:nth-child(2n){animation-delay:-1.6s}.fx-far i:nth-child(3n){animation-delay:-3s}
@keyframes fxBar{from{transform:scaleY(.82)}to{transform:scaleY(1)}}
.fx-p{position:absolute;bottom:0;opacity:0;animation:fxRise 1.1s var(--ease) forwards}
.fx-p.a{right:clamp(220px,19.5vw,280px);height:min(580px,82%);animation-delay:.5s}
.fx-p.b{right:-10px;height:min(650px,92%);animation-delay:.8s}
.fx-p img{display:block;height:100%;width:auto;transform-origin:bottom center;transition:filter 1.1s ease,transform 1.1s var(--ease)}
@keyframes fxRise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
.hero.v4.f-a .fx-p.b img,.hero.v4.f-b .fx-p.a img{filter:blur(8px) brightness(.7) saturate(.8);transform:scale(.97)}
.hero.v4.f-a .fx-p.a img,.hero.v4.f-b .fx-p.b img{transform:scale(1.04)}
.fx-ret{position:absolute;width:230px;height:230px;margin:-115px 0 0 -115px;top:44%;left:calc(100% - 550px);transition:left 1.1s cubic-bezier(.3,1.1,.4,1),top 1.1s cubic-bezier(.3,1.1,.4,1);z-index:5;opacity:0;animation:hwIn .6s ease 1.6s forwards}
.hero.v4.f-b .fx-ret{left:calc(100% - 215px);top:42%}
.fx-ret i{position:absolute;width:34px;height:34px;border:3px solid #F7F7F7}
.fx-ret i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:10px 0 0 0}
.fx-ret i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 10px 0 0}
.fx-ret i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 10px}
.fx-ret i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 10px 0}
.fx-ret b{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-12px);white-space:nowrap;font-size:1rem;color:#F7F7F7;transition:opacity .4s}
.hero.v4.f-a .fx-ret .lb,.hero.v4.f-b .fx-ret .la{opacity:0}
.fx-bok{position:absolute;border-radius:50%;background:#93FAC8;filter:blur(18px);animation:fxFloat 9s ease-in-out infinite alternate}
.fx-bok.k1{right:560px;bottom:60px;width:150px;height:150px;opacity:.16}
.fx-bok.k2{right:60px;bottom:58%;width:110px;height:110px;opacity:.14;animation-delay:-4s;background:#9AE3F4}
.fx-bok.k3{right:330px;bottom:-30px;width:200px;height:200px;opacity:.12;animation-delay:-2s}
@keyframes fxFloat{from{transform:translate(0,0)}to{transform:translate(30px,-40px)}}
@media (max-width:1180px){.fx-p.a{right:200px;height:min(480px,72%)}.fx-p.b{height:min(560px,84%)}.fx-ret{left:calc(100% - 430px)}.fx-text{max-width:440px}}
@media (max-width:900px){
  .hero.v4{display:flex;flex-direction:column;min-height:0}
  .hero.v4 .wrap{order:1;padding-bottom:8px}
  .fx-text{max-width:none}
  .fx-stage{position:relative;order:2;height:400px;inset:auto}
  .fx-p.a{right:auto;left:-4%;height:300px}.fx-p.b{right:-4%;height:350px}
  .fx-far{width:100%;height:80%;gap:16px;padding:0 16px}
  .fx-ret{display:none}
  .fx-cta{flex:1 1 150px}
}
@media (prefers-reduced-motion:reduce){.hero.v4 h1,.hero.v4 .lead,.fx-q,.fx-ctas,.fx-p,.fx-ret{animation:none;opacity:1;transform:none}.fx-far i,.fx-bok{animation:none}.fx-p img,.fx-ret{transition:none}}
.fx-ret b{padding:5px 12px;border-radius:999px;background:rgba(13,62,77,.82);font-size:.92rem}
@media (max-width:1180px){.fx-p.a{right:170px;height:min(420px,64%)}.fx-p.b{height:min(520px,80%)}.fx-ret{left:calc(100% - 365px);width:190px;height:190px;margin:-95px 0 0 -95px;top:50%}.hero.v4.f-b .fx-ret{left:calc(100% - 175px);top:44%}}
/* v4: aiemmat valintakortit painikkeina, alkuperäinen otsikko ja johdanto */
.hero.v4 .choose{opacity:0;transform:translateY(14px);animation:hwIn .8s var(--ease) .55s forwards;margin-top:26px}
.hero.v4 .choice.fx-cta{display:block;min-height:0;padding:revert-layer;border-radius:revert-layer;background:revert-layer;color:revert-layer;box-shadow:none;transition:transform .25s var(--ease),border-color .25s,background .25s}
.hero.v4 .choice.fx-cta:hover,.hero.v4 .choice.fx-cta:focus-visible{transform:translateY(-4px);border-color:#93FAC8;background:rgba(20,84,102,.62);box-shadow:none}
.hero.v4 h1{font-size:clamp(2.2rem,3.45vw,3.3rem)}
.fx-text{max-width:560px}
@media (prefers-reduced-motion:reduce){.hero.v4 .choose{animation:none;opacity:1;transform:none}}
.hero.v4 .choice{transition:transform .25s var(--ease),border-color .25s,background .25s}
.hero.v4 .choice:hover,.hero.v4 .choice:focus-visible{transform:translateY(-4px);border-color:#93FAC8;background:rgba(20,84,102,.62)}
.fx-text{max-width:520px}
.hero.v4 .choices{max-width:470px}
.fx-p.a{right:clamp(200px,16vw,230px)}
.fx-ret{left:calc(100% - 500px)}
@media (max-width:1180px){.fx-text{max-width:420px}.hero.v4 .choices{max-width:420px}.fx-p.a{right:170px}.fx-ret{left:calc(100% - 365px)}}
@media (max-width:900px){.fx-text{max-width:none}.hero.v4 .choices{max-width:none}.fx-p.a{right:auto}}

/* v4: kuvat toisinpäin – toimitusjohtaja keskellä, johtoryhmä oikeassa reunassa (rajattu nainen pysyy reunassa) */
.fx-p.a{right:0;left:auto;height:min(540px,78%);z-index:1}
.fx-p.b{right:auto;left:calc((100vw - 1128px) / 2 + 505px);height:min(560px,80%);z-index:2}
.fx-ret{left:calc(100% - 252px);top:40%}
.hero.v4.f-b .fx-ret{left:calc((100vw - 1128px) / 2 + 505px + 190px);top:41%}
.fx-text{max-width:480px}.hero.v4 .choices{max-width:450px}
.fx-far{width:min(900px,64%)}
@media (max-width:1320px){
  .fx-p.a{height:min(480px,72%)}
  .fx-p.b{left:calc((100vw - 1128px) / 2 + 500px);height:min(500px,76%)}
  .fx-ret{left:calc(100% - 224px);width:200px;height:200px;margin:-100px 0 0 -100px}
  .hero.v4.f-b .fx-ret{left:calc((100vw - 1128px) / 2 + 500px + 170px)}
}
@media (max-width:1168px){
  .fx-p.b{left:calc(20px + 4vw + 430px)}
  .hero.v4.f-b .fx-ret{left:calc(20px + 4vw + 430px + 150px)}
  .fx-text{max-width:420px}.hero.v4 .choices{max-width:420px}
}
/* tabletti pystyssä ja puhelin: teksti ylhäällä, kuvat sen alla (läppärit, myös 125 % skaalauksella, pysyvät vierekkäin) */
@media (max-width:900px){
  .hero.v4{display:flex;flex-direction:column;min-height:0}
  .hero.v4 .wrap{order:1;padding-bottom:12px}
  .fx-text{max-width:640px}.hero.v4 .choices{max-width:560px}
  .fx-stage{position:relative;order:2;height:clamp(380px,52vw,500px);inset:auto}
  .fx-far{width:100%;height:78%;gap:20px;padding:0 20px}
  .fx-p.a{right:0;left:auto;height:88%}
  .fx-p.b{left:6%;right:auto;height:92%}
  .fx-ret{display:block;top:36%;left:calc(100% - 26vw);width:180px;height:180px;margin:-90px 0 0 -90px}
  .hero.v4.f-b .fx-ret{left:calc(6% + 17vw);top:36%}
}
@media (max-width:640px){
  .fx-stage{height:360px}
  .fx-p.a{height:270px}
  .fx-p.b{left:-3%;height:300px}
  .fx-ret{display:none}
  .hero.v4 .choices{max-width:none}
}
/* tähtäin näkyy myös puhelimessa */
@media (max-width:640px){
  .fx-ret{display:block;width:124px;height:124px;margin:-62px 0 0 -62px;left:calc(100% - 128px);top:41%}
  .hero.v4.f-b .fx-ret{left:88px;top:36%}
  .fx-ret i{width:24px;height:24px;border-width:2.5px}
  .fx-ret b{font-size:12px;padding:4px 9px;transform:translate(-50%,-8px)}
}

/* v4-otsikko: logomerkki otsikon takana, otsikko samassa linjassa muiden tekstien kanssa, painavampi fontti */
.hero.v4 h1:has(.h1t){display:block;position:relative;isolation:isolate;font-weight:600;letter-spacing:-.022em}
.hero.v4 h1:has(.h1t)::before{content:"";position:absolute;z-index:-1;left:-.5em;top:50%;height:178%;width:auto;aspect-ratio:29.5/42;margin:0;
  background:linear-gradient(155deg,rgba(147,250,200,.34) 0%,rgba(147,250,200,.14) 55%,rgba(147,250,200,.04) 100%);
  -webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain;
  transform:translateY(-50%);transform-origin:30% 50%;opacity:0;animation:lmBack 1.2s var(--ease) .15s forwards,lmFloat 9s ease-in-out 1.4s infinite alternate}
@keyframes lmBack{from{opacity:0;transform:translateY(-50%) scale(.82) rotate(-6deg)}to{opacity:1;transform:translateY(-50%) scale(1) rotate(0)}}
@keyframes lmFloat{from{transform:translateY(-50%)}to{transform:translateY(-54%)}}
.hero.v4 h1 .h1t{position:relative}
@media (max-width:600px){.hero.v4 h1:has(.h1t)::before{display:block;left:-.3em;height:160%;width:auto}}
@media (prefers-reduced-motion:reduce){.hero.v4 h1:has(.h1t)::before{animation:none;opacity:1}}
.hero.v4 h1:has(.h1t)::before{background:linear-gradient(155deg,rgba(147,250,200,.28) 0%,rgba(147,250,200,.11) 55%,rgba(147,250,200,.03) 100%);left:-.56em;height:186%}

/* logomerkki otsikon takana myös muissa heroissa (palvelusivut, Tilannekuva, Apua tarpeeseen) */
.phero h1.svc:has(.h1t){display:block;position:relative;isolation:isolate}
.phero h1.svc:has(.h1t)::before{content:"";position:absolute;z-index:-1;left:-.56em;top:50%;height:186%;width:auto;aspect-ratio:29.5/42;margin:0;display:block;
  background:linear-gradient(155deg,rgba(147,250,200,.28) 0%,rgba(147,250,200,.11) 55%,rgba(147,250,200,.03) 100%);
  -webkit-mask:var(--lm) no-repeat center/contain;mask:var(--lm) no-repeat center/contain;
  transform:translateY(-50%);transform-origin:30% 50%;opacity:0;animation:lmBack 1.2s var(--ease) .15s forwards,lmFloat 9s ease-in-out 1.4s infinite alternate}
.phero h1.svc .h1t{position:relative}
@media (max-width:600px){.phero h1.svc:has(.h1t)::before{display:block;left:-.3em;height:160%;width:auto}}
@media (prefers-reduced-motion:reduce){.phero h1.svc:has(.h1t)::before{animation:none;opacity:1}}

/* Johtajien terveiset: ei postimerkkiä, yrityksen logo kortin taustalla */
.gc::after{display:none}
.gc-wm{position:absolute;z-index:0;right:clamp(14px,2vw,26px);bottom:clamp(12px,1.8vw,22px);width:min(46%,300px);opacity:.16;pointer-events:none;display:flex;justify-content:flex-end;align-items:flex-end}
.gc.q3 .gc-wm{opacity:.3}
.gc-wm .q-logo{display:block;background:none;border:0;padding:0;width:100%}
.gc-wm img{display:block;width:100%;height:auto;max-height:130px;object-fit:contain;object-position:right bottom;filter:none}
.gc-msg{position:relative;z-index:1;justify-content:center}
.gc-sign{margin-top:14px}
.gc-one .gc-wm{width:min(40%,340px);opacity:.14}
@media (max-width:640px){.gc-wm{width:44%;right:14px;bottom:12px}}
.gc-wm{top:clamp(14px,1.8vw,22px);bottom:auto;right:clamp(16px,2vw,26px);width:min(34%,220px);align-items:flex-start;opacity:.14}
.gc.q3 .gc-wm{opacity:.26}
.gc-wm img{max-height:84px;object-position:right top}
.gc-one .gc-wm{width:min(30%,260px);opacity:.14}
.gc-msg{padding-top:clamp(26px,3vw,40px)}
@media (max-width:640px){.gc-wm{top:auto;bottom:14px;right:14px;width:38%}.gc-wm img{max-height:56px;object-position:right bottom}.gc-msg{padding-top:14px}}
/* referenssilogot selvästi suurempina korttien taustalla */
.gc-wm{width:min(62%,430px);opacity:.13}
.gc.q3 .gc-wm{opacity:.24}
.gc-wm img{max-height:150px}
.gc-one .gc-wm{width:min(48%,480px);opacity:.13}
.gc-one .gc-wm img{max-height:170px}
@media (max-width:640px){.gc-wm{width:64%}.gc-wm img{max-height:96px}}
.gc-wm .q-logo{display:flex!important;justify-content:flex-end;width:100%;height:auto!important;min-height:0!important}
.gc-wm img{width:auto!important;height:auto!important;max-width:100%!important;min-width:0;max-height:150px!important;flex:0 1 auto}
.gc-wm img{width:100%!important;object-fit:contain}
.gc-one .gc-wm img{max-height:170px!important}
@media (max-width:640px){.gc-wm img{max-height:96px!important}}

/* ===================== Kerroksellinen hero palvelusivuille ===================== */
.svc-hero{background:radial-gradient(1000px 640px at 74% 60%,#166079 0%,#0D3E4D 60%,#0a3340 100%)}
.svh.dh{--ac:#93FAC8;--mx:0;position:relative;justify-self:end;width:min(100%,600px);height:clamp(420px,38vw,540px);overflow:visible}
.svh.dh.c-kasvu{--ac:#9AE3F4}.svh.dh.c-kannattavuus{--ac:#F8F9E2}
.dh-far{position:absolute;left:-6%;right:-14%;bottom:0;height:92%;display:flex;align-items:flex-end;gap:26px;filter:blur(12px);opacity:.38;transform:translateX(calc(var(--mx) * -10px));transition:transform .6s var(--ease)}
.dh-far i{flex:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,var(--ac),#145466);transform-origin:bottom;animation:fxBar 5s ease-in-out infinite alternate}
.dh-far i:nth-child(2n){animation-delay:-1.6s}.dh-far i:nth-child(3n){animation-delay:-3s}
.dh-ghost{position:absolute;right:-22%;bottom:-22%;height:150%;opacity:0;animation:dhGhost 1.6s ease .3s forwards;transform:translateX(calc(var(--mx) * -18px));transition:transform .6s var(--ease)}
.dh-ghost img{display:block;height:100%;width:auto;mix-blend-mode:luminosity;filter:blur(2px)}
@keyframes dhGhost{to{opacity:.2}}
.dh-p{position:absolute;right:2%;bottom:0;height:100%;opacity:0;animation:fxRise 1.1s var(--ease) .5s forwards;transform:translateX(calc(var(--mx) * 8px));transition:transform .6s var(--ease)}
.dh-p img{display:block;height:100%;width:auto;filter:drop-shadow(0 30px 40px rgba(4,22,28,.45))}
.dh-front{position:absolute;left:-10%;bottom:0;width:112%;height:auto;overflow:visible;pointer-events:none;transform:translateX(calc(var(--mx) * 20px));transition:transform .6s var(--ease)}
.dh-line{fill:none;stroke:var(--ac);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:dhDraw 2.2s cubic-bezier(.45,.05,.3,1) 1.2s forwards}
@keyframes dhDraw{to{stroke-dashoffset:0}}
.dh-pt{opacity:0;animation:hwIn .5s ease var(--d) forwards}
.dh-dot{fill:#0D3E4D;stroke:var(--ac);stroke-width:4}
.dh-ping{fill:none;stroke:var(--ac);stroke-width:2;opacity:0;animation:dhPing 2.8s ease-out calc(var(--d) + .4s) infinite}
@keyframes dhPing{0%{r:8;opacity:.9}100%{r:28;opacity:0}}
.dh-front text{font:700 16px var(--font);fill:#F7F7F7;paint-order:stroke;stroke:#0D3E4D;stroke-width:5px;stroke-linejoin:round}
.svh-when{display:flex;gap:10px;align-items:flex-start;margin:22px 0 0;max-width:44ch;font-size:.95rem;line-height:1.5;color:rgba(247,247,247,.86)}
.svh-when svg{flex:none;width:20px;height:20px;color:#93FAC8;margin-top:2px}
.svh-when b{color:#F7F7F7}
.svc-hero .phero-grid>div:first-child{padding-bottom:clamp(8px,2vw,28px)}
@media (max-width:900px){
  .svh.dh{justify-self:center;width:100%;height:360px;margin-top:8px}
  .dh-front text{display:none}
  .dh-far{left:0;right:0;gap:14px}
  .dh-ghost{right:-30%}
}
@media (prefers-reduced-motion:reduce){.dh-far i,.dh-ping{animation:none}.dh-ghost{animation:none;opacity:.2}.dh-p,.dh-pt{animation:none;opacity:1}.dh-line{animation:none;stroke-dashoffset:0}}

/* ===================== Tunnelmatausta muille heroille ===================== */
.ph-depth{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.ph-bars{position:absolute;right:-2%;bottom:0;width:min(760px,58%);height:86%;display:flex;align-items:flex-end;gap:28px;filter:blur(13px);opacity:.3}
.ph-bars i{flex:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#93FAC8,#145466);transform-origin:bottom;animation:fxBar 5s ease-in-out infinite alternate}
.ph-bars i:nth-child(2n){animation-delay:-1.6s}.ph-bars i:nth-child(3n){animation-delay:-3s}
.ph-bok{position:absolute;border-radius:50%;background:#93FAC8;filter:blur(18px);animation:fxFloat 9s ease-in-out infinite alternate}
.ph-bok.k1{right:38%;bottom:8%;width:150px;height:150px;opacity:.14}
.ph-bok.k2{right:6%;top:14%;width:110px;height:110px;opacity:.12;animation-delay:-4s;background:#9AE3F4}
.ph-bok.k3{right:22%;bottom:-40px;width:200px;height:200px;opacity:.1;animation-delay:-2s}
@media (max-width:700px){.ph-bars{width:100%;right:0;opacity:.2;gap:14px}}
@media (prefers-reduced-motion:reduce){.ph-bars i,.ph-bok{animation:none}}
@media (max-width:900px){.svh.dh{max-width:520px;margin-left:auto;margin-right:auto}}
/* ei käyrää; kuva luonnollisissa mittasuhteissa, alaosa rajautuu heron alareunaan */
.dh-front{display:none}
.dh-p{top:4%;bottom:auto;height:128%}
.dh-p img{height:100%;width:auto;max-width:none;object-fit:contain}
.dh-ghost img{max-width:none}
@media (max-width:900px){.dh-p{top:6%;height:125%}}
.svc-hero .phero-grid>div:first-child{position:relative;z-index:3}
.dh-p{right:0;max-width:none}
@media (max-width:1180px) and (min-width:901px){.dh-p{height:108%;top:14%}}
/* kuva mahtuu aina omaan alueeseensa: mittasuhteet säilyvät (contain), ankkuri oikeaan yläkulmaan */
.dh-p{left:0;right:0;width:auto}
.dh-p img{width:100%;height:100%;object-fit:contain;object-position:right top}

/* ===================== Liukuva logorivi ===================== */
.logos.lgm{padding:30px 0;overflow:hidden}
.logos.lgm .lgm-wrap{display:flex;flex-direction:row;align-items:center;gap:clamp(18px,3vw,40px);flex-wrap:nowrap}
.lgm-label{flex:none;display:flex;align-items:center;gap:9px;margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:var(--paper);white-space:nowrap}
.lgm-view{position:relative;flex:1 1 auto;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.lgm-track{display:flex;width:max-content;animation:lgmScroll 34s linear infinite}
.lgm-view:hover .lgm-track,.lgm-view:focus-within .lgm-track{animation-play-state:paused}
.lgm-set{display:flex;align-items:center;gap:clamp(40px,5vw,72px);padding-right:clamp(40px,5vw,72px)}
@keyframes lgmScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logos.lgm .lgm-item{flex:none;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;opacity:.85;transition:opacity .2s}
.logos.lgm .lgm-item:hover{opacity:1}
.logos.lgm .lgm-item:focus-visible{outline:2px solid #93FAC8;outline-offset:4px}
.logos.lgm .lgm-item img{display:block;height:30px!important;width:auto!important;max-width:none!important;opacity:1}
.logos.lgm .lgm-item.sq img{height:46px!important}
@media (max-width:760px){
  .logos.lgm{padding:28px 0 24px}
  .logos.lgm .lgm-wrap{flex-direction:column;align-items:stretch;gap:14px;padding-left:0;padding-right:0}
  .lgm-label{justify-content:center;font-size:1.05rem}
  .lgm-track{animation-duration:26s}
  .logos.lgm .lgm-item img{height:26px!important}.logos.lgm .lgm-item.sq img{height:40px!important}
  .lgm-set{gap:44px;padding-right:44px}
}
@media (prefers-reduced-motion:reduce){
  .lgm-track{animation:none}
  .lgm-view{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .lgm-set[aria-hidden="true"]{display:none}
}
/* kuvat, joissa mintunvihreä esine on alaosassa: koko kuva näkyviin */
.svh.dh.fit .dh-p{top:auto;bottom:0;height:100%}
.svh.dh.fit .dh-p img{object-position:right bottom}

/* Hiskin suodatin: "jotain ihanaa" vs "tuloksia" */
.hq .mk-av{width:140px;height:140px}
.hq-viz{gap:12px}
.hq-row{position:relative;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);
  font-size:1.15rem;transition:opacity .5s ease,background .5s ease,border-color .5s ease,transform .5s cubic-bezier(.3,1.5,.5,1)}
.hq-row b{font-weight:700}
.hq-ic{flex:none;width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:rgba(247,247,247,.12);color:#F7F7F7}
.hq-ic svg{width:21px;height:21px}
.hq-x{position:absolute;left:66px;right:22px;top:50%;height:3px;border-radius:3px;background:#F7F7F7;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.6,.05,.3,1)}
.hq-ok{margin-left:auto;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#0A0A0A;color:#93FAC8;transform:scale(0);transition:transform .45s cubic-bezier(.3,1.8,.5,1)}
.hq-ok svg{width:18px;height:18px}
.mkq.hq.go .hq-row.nope{opacity:.45;transition-delay:2.9s}
.mkq.hq.go .hq-row.nope .hq-x{transform:scaleX(1);transition-delay:2.6s}
.mkq.hq.go .hq-row.yes{background:linear-gradient(135deg,#4AE59B,#20A264);border-color:#4AE59B;color:#0A0A0A;transform:scale(1.03);transition-delay:3.3s}
.mkq.hq.go .hq-row.yes .hq-ic{background:#0D3E4D;color:#93FAC8;transition:background .5s 3.3s,color .5s 3.3s}
.mkq.hq.go .hq-ok{transform:none;transition-delay:3.6s}
.mk-cta svg{width:18px;height:18px;margin-right:8px}
.mk-cta{display:inline-flex;align-items:center}
@media (max-width:640px){.hq .mk-av{width:88px;height:88px}.hq-row{font-size:1rem;padding:12px 14px}}
@media (prefers-reduced-motion:reduce){.mkq.hq .hq-row,.mkq.hq .hq-x,.mkq.hq .hq-ok{transition:none}}
/* Markkinointieurot takaisin kertoimen kanssa */
.roi{display:grid;gap:14px}
.roi-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,3vw,40px);height:300px;padding:0 6px;border-bottom:1.5px solid rgba(247,247,247,.3)}
.roi-c{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;min-width:0}
.roi-bars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:10px}
.roi-in,.roi-out{width:min(46px,38%);height:var(--h);border-radius:10px 10px 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.9,.3,1.05) var(--d)}
.roi-in{background:#9AE3F4}
.roi-out{background:linear-gradient(180deg,#93FAC8,#20A264)}
.chart-x.go .roi-in,.chart-x.go .roi-out{transform:none}
.roi-l{font-size:.82rem;font-weight:700;color:#9AE3F4;text-align:center;transform:translateY(26px)}
.roi-lvl{position:absolute;left:0;right:0;bottom:calc(52% * .32);border-top:2px dashed rgba(154,227,244,.55);opacity:0;transition:opacity .5s 1.2s}
.chart-x.go .roi-lvl{opacity:1}
.roi-tag{margin:30px 0 0;display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:600;color:#F7F7F7;opacity:0;transform:translateY(8px);transition:opacity .5s 1.9s,transform .5s 1.9s}
.roi-x{flex:none;width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:#93FAC8;color:#0A0A0A;font-weight:800}
.chart-x.go .roi-tag{opacity:1;transform:none}
.chart-x.go .roi-out{animation:roiPulse 3.2s ease-in-out 2.2s infinite}
@keyframes roiPulse{0%,100%{filter:none}50%{filter:brightness(1.08)}}
@media (max-width:640px){.roi-grid{height:220px;gap:12px}.roi-l{font-size:12px}}
@media (prefers-reduced-motion:reduce){.roi-in,.roi-out{transition:none;transform:none}.roi-lvl,.roi-tag{transition:none;opacity:1;transform:none}.chart-x.go .roi-out{animation:none}}
.roi-lvl{bottom:calc(27px + (100% - 27px) * .22)}
.roi-l{transform:none;min-height:17px}
.roi-tag{margin-top:6px}
.roi-l .sq{display:none}
@media (max-width:640px){.roi-l .lq{display:none}.roi-l .sq{display:inline}}

/* megavalikko: polut ylhäällä allekkain, selkeä "kenelle" -rivi */
.mg-paths{display:grid;gap:10px;margin-bottom:12px}
.hdr .mg .mg-path{position:relative;display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;padding:14px 20px!important;border-radius:16px!important;text-decoration:none}
.hdr .mg .mg-path .mg-who{grid-column:1;font-size:12px;font-weight:700;letter-spacing:.01em;opacity:.85}
.hdr .mg .mg-path b{grid-column:1;font-size:1.08rem}
.hdr .mg .mg-path .mg-feat-p,.hdr .mg .mg-path .mg-help-p{grid-column:1;font-size:.86rem}
.hdr .mg .mg-path .mg-go{grid-column:2;grid-row:1 / span 3}
.hdr .mg .mg-feat.mg-path .mg-who{color:#0D3E4D}
.hdr .mg .mg-help.mg-path{background:rgba(20,84,102,.62);border:1px solid rgba(82,165,150,.76);color:#F7F7F7}
.hdr .mg .mg-help.mg-path .mg-who{color:#93FAC8}
.hdr .mg .mg-help.mg-path b{color:#F7F7F7}
.hdr .mg .mg-help.mg-path .mg-help-p{color:rgba(247,247,247,.75)}
.hdr .mg .mg-help.mg-path:hover,.hdr .mg .mg-help.mg-path:focus-visible{border-color:#93FAC8;background:rgba(20,84,102,.85)}
.hdr .mg .mg-help.mg-path .mg-go{color:#93FAC8}
.mg-foot{justify-content:flex-end}
.hman-areas span:empty{display:none}
/* aikajana: yksikkö (kk / mo / mån) piiloon kapeilla näytöillä, otsikko kertoo yksikön */
.tl-u{font-style:normal}
@media (max-width:900px){.tl-ticks .tl-u{display:none}}
@media (max-width:480px){.tl-bar .tl-u{display:none}}
/* automaation kortit: pidemmät englannin- ja ruotsinkieliset nimet mahtuvat */
.au-card{min-width:0;overflow:hidden}
.au-card span:not(.au-ic){overflow:hidden;text-overflow:clip;white-space:nowrap}
@media (max-width:1100px){.au-card{font-size:12px;padding:0 7px;gap:4px;letter-spacing:-.01em}.au-card .au-ic{display:none}}
/* kieliversiot: pidemmät sanat mahtuvat */
.rm-how b,.rm-how p{overflow-wrap:break-word;hyphens:auto}
@media (min-width:641px) and (max-width:1100px){.rm-how.auto{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rm-how li{min-height:0}}
@media (min-width:701px) and (max-width:1180px){.sp-s{font-size:12px;padding:0 10px}}
@media (min-width:701px) and (max-width:1100px){.mm-h .nm{font-size:12px;letter-spacing:-.015em;overflow-wrap:anywhere;hyphens:auto}}


/* ===================== Kelluva WhatsApp (etusivu) ===================== */
.wa-fab{position:fixed;z-index:60;right:max(20px,env(safe-area-inset-right,0px) + 16px);bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;
  padding:6px 8px 6px 6px;border-radius:999px;background:rgba(13,62,77,.94);border:1px solid rgba(147,250,200,.45);color:#F7F7F7;text-decoration:none;
  box-shadow:0 10px 28px rgba(4,22,28,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.2,1),border-color .2s}
.wa-fab.show{opacity:1;transform:none;pointer-events:auto}
.wa-fab:hover,.wa-fab:focus-visible{border-color:#93FAC8}
.wa-fab:focus-visible{outline:2px solid #93FAC8;outline-offset:3px}
.wa-av{flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:linear-gradient(150deg,#4AE59B,#20A264)}
.wa-av img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.wa-t{display:flex;flex-direction:column;line-height:1.15;padding-right:2px}
.wa-t b{font-size:14px;font-weight:700}
.wa-t small{font-size:12px;color:rgba(247,247,247,.75)}
.wa-ic{flex:none;width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#93FAC8;color:#0D3E4D}
.wa-ic svg{width:22px;height:22px}
@media (max-width:640px){
  .wa-fab{padding:0;gap:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .wa-av,.wa-t{display:none}
  .wa-ic{width:52px;height:52px;box-shadow:0 8px 22px rgba(4,22,28,.35)}
  .wa-ic svg{width:26px;height:26px}
}
.wa-fab.away{opacity:0;transform:translateY(16px);pointer-events:none}
@media (prefers-reduced-motion:reduce){.wa-fab{transition:opacity .2s}}
.wa-fab{padding:6px 6px 6px 18px}.wa-t b{font-size:15px}
/* Meistä: kolme lähdettä polkuina, kuvakemerkit kulkevat niitä pitkin */
.rt-path.t{stroke:#4AE59B;transition:stroke-dashoffset 2s var(--ease) .45s}
.rt-face.tok{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin:-27px 0 0 -27px;background:#0D3E4D;color:#93FAC8;border-width:3px}
.rt-face.tok.t{border-color:#4AE59B;color:#4AE59B}.rt-face.tok.h{color:#9AE3F4}
.rt-face.tok svg{width:24px;height:24px}
.rt-lab{z-index:2}

.ab-hero .rt-lab.ai{top:64%!important}

/* kapea läppäri (901–1100 px, esim. 1366×768 näyttö 125 % skaalauksella): teksti vasemmalla, kuvat oikealla */
@media (min-width:901px) and (max-width:1100px){
  .fx-text{max-width:380px}.hero.v4 .choices{max-width:380px}
  .hero.v4 h1{font-size:clamp(2.1rem,3.6vw,2.6rem)}
  .fx-p.a{right:-3%;left:auto;height:min(430px,70%)}
  .fx-p.b{left:calc(20px + 4vw + 385px);right:auto;height:min(470px,78%)}
  .fx-far{width:58%}
  .fx-ret{left:calc(100% - 150px);top:40%;width:150px;height:150px;margin:-75px 0 0 -75px}
  .hero.v4.f-b .fx-ret{left:calc(20px + 4vw + 385px + 120px);top:38%}
}
@media (min-width:901px) and (max-width:1100px){.hero.v4 .choices{max-width:400px}.hero.v4 .choice .c-k{font-size:1.15rem;line-height:1.2}.hero.v4 .choice{padding:14px 16px}}
/* Kaksi tapaa aloittaa: tyytyväisyystakuu Tilannekuvan kortin kuvan päällä */
.hpath-media{position:relative}
.hp-badge{position:absolute;z-index:2;left:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:999px;
  background:rgba(13,62,77,.9);border:1px solid rgba(147,250,200,.55);color:#F7F7F7;font-size:14px;font-weight:700;letter-spacing:-.005em;line-height:1.2;
  box-shadow:0 8px 20px rgba(4,22,28,.28);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hp-badge i{flex:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D}
.hp-badge i svg{width:16px;height:16px}
@media (max-width:640px){.hp-badge{left:12px;top:12px;font-size:13px;padding:6px 12px 6px 6px}.hp-badge i{width:24px;height:24px}}
.hp-badge{word-spacing:.06em}.hp-bt b{font-weight:800}
@media (max-width:640px){.hp-badge{top:auto;bottom:12px;border-radius:16px;padding:7px 12px 7px 7px}.hp-bt{display:flex;flex-direction:column;line-height:1.15}.hp-bt b{font-size:16px}.hp-bt span{font-size:12px;font-weight:600}}

/* ===================== Tilannekuvan hero: löydös tarkentuu ===================== */
.tkh-hero{background:radial-gradient(900px 600px at 76% 62%,#166079 0%,#0D3E4D 62%,#0a3340 100%)}
.tkh{position:relative;justify-self:end;width:min(100%,600px);height:clamp(440px,40vw,560px)}
.tkh-far{position:absolute;left:4%;right:-10%;bottom:0;height:86%;display:flex;align-items:flex-end;gap:24px;filter:blur(12px);opacity:.3}
.tkh-far i{flex:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#93FAC8,#145466);transform-origin:bottom;animation:fxBar 5s ease-in-out infinite alternate}
.tkh-far i:nth-child(2n){animation-delay:-1.6s}.tkh-far i:nth-child(3n){animation-delay:-3s}
.tkh-p{position:absolute;left:50%;bottom:-6%;height:112%;transform:translateX(-46%);opacity:0;animation:fxRise 1.1s var(--ease) .3s forwards;z-index:1}
.tkh-p img{display:block;height:100%;width:auto;filter:drop-shadow(0 26px 36px rgba(4,22,28,.45))}
.tkh-cards{list-style:none;margin:0;padding:0;position:absolute;inset:0;z-index:2}
.tkh-c{position:absolute;left:var(--x);top:var(--y);width:200px;padding:12px 14px;border-radius:14px;background:rgba(20,84,102,.78);border:1px solid rgba(82,165,150,.7);
  color:#F7F7F7;box-shadow:0 12px 26px rgba(4,22,28,.3);filter:blur(4px);opacity:.62;transform:scale(.94);
  transition:filter .6s ease,opacity .6s ease,transform .6s cubic-bezier(.3,1.4,.5,1),background .6s,border-color .6s,left .9s var(--ease),top .9s var(--ease)}
.tkh-c b{display:block;font-size:14px;line-height:1.3;font-weight:700}
.tkh-eb{display:block;margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.02em}
.tkh-eb i{font-style:normal}.tkh-eb .o{color:#9AE3F4}.tkh-eb .f{display:none;color:#0D3E4D}
.tkh-c.on{filter:none;opacity:1;transform:scale(1.04);background:linear-gradient(135deg,#93FAC8,#4AE59B);border-color:#93FAC8;color:#0A0A0A;z-index:3}
.tkh-c.on .o{display:none}.tkh-c.on .f{display:inline}
.tkh-c.done{filter:none;opacity:.9}
.tkh-ret{position:absolute;z-index:4;left:0;top:0;width:224px;height:84px;margin:-10px 0 0 -12px;pointer-events:none;opacity:0;transition:transform .8s cubic-bezier(.3,1.1,.4,1),opacity .4s}
.tkh.go .tkh-ret{opacity:1}
.tkh-ret i{position:absolute;width:20px;height:20px;border:3px solid #F7F7F7}
.tkh-ret i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.tkh-ret i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.tkh-ret i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 8px}
.tkh-ret i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 8px 0}
.tkh-sum{position:absolute;z-index:5;left:50%;top:50%;display:flex;align-items:center;gap:12px;padding:14px 18px 14px 14px;border-radius:18px;background:#0D3E4D;border:1px solid #93FAC8;color:#F7F7F7;
  box-shadow:0 20px 44px rgba(4,22,28,.5);transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;transition:opacity .5s ease,transform .6s cubic-bezier(.3,1.5,.5,1)}
.tkh-sum-mk{flex:none;width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D}
.tkh-sum-mk svg{width:22px;height:30px}
.tkh-sum small{display:block;font-size:12px;font-weight:700;color:#93FAC8}
.tkh-sum b{display:block;font-size:1.15rem;white-space:nowrap}
.tkh-sum em{display:block;font-style:normal;font-size:12px;color:rgba(247,247,247,.75)}
.tkh.sum .tkh-sum{opacity:1;transform:translate(-50%,-50%)}
.tkh.sum .tkh-c{left:calc(50% - 100px)!important;top:calc(50% - 30px)!important;opacity:0;transform:scale(.6)}
.tkh.sum .tkh-ret{opacity:0}
.tkh-egl{position:absolute;z-index:3;right:0;top:-8px;font-size:12px;font-weight:700;color:#9AE3F4;padding:4px 10px;border-radius:999px;border:1px solid rgba(154,227,244,.4)}
.tkh-guar{position:absolute;z-index:6;left:4%;bottom:6%;display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:999px;background:rgba(13,62,77,.92);border:1px solid rgba(147,250,200,.55);
  color:#F7F7F7;font-size:13px;font-weight:600;box-shadow:0 8px 20px rgba(4,22,28,.3)}
.tkh-guar svg{width:28px;height:28px;padding:6px;border-radius:50%;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D;box-sizing:border-box}
.tkh-guar b{font-weight:800}
@media (max-width:1180px){.tkh-c{width:180px}.tkh-ret{width:204px}}
@media (max-width:900px){
  .tkh{justify-self:center;width:100%;max-width:560px;height:480px;margin-top:10px}
}
@media (max-width:560px){
  .tkh{height:430px}
  .tkh-c{width:150px;padding:10px 12px}.tkh-c b{font-size:13px}.tkh-ret{width:174px;height:78px}
  .tkh-c.c5{display:none}
  .tkh-sum b{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.tkh-p{animation:none;opacity:1}.tkh-far i{animation:none}.tkh-c,.tkh-ret,.tkh-sum{transition:none}}
/* paikat: kortit kasvojen sivuilla, henkilö koko näyttämön korkuisena */
.tkh{height:clamp(440px,38vw,520px)}
.tkh-p{left:52%;bottom:0;height:100%;transform:translateX(-50%)}
.tkh-c{left:auto;right:auto;top:var(--y)}
.tkh-c.l{left:0}.tkh-c.r{right:0}
.tkh.sum .tkh-c{left:calc(50% - 100px)!important;right:auto!important}
.tkh-egl{right:auto;left:0;top:-14px}
.tkh-guar{left:auto;right:0;bottom:4%}
.tkh-ret{margin:0}
@media (min-width:901px){.tkh-hero .phero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}
.tkh{width:100%;max-width:640px}
@media (max-width:1180px) and (min-width:901px){.tkh-c{width:170px}.tkh-c b{font-size:13px}}
.tkh-sum b{white-space:normal;max-width:240px;line-height:1.25}
.tkh-sum>span:last-child{flex:1 1 auto;min-width:220px}.tkh-sum b{max-width:250px}@media (max-width:560px){.tkh-sum>span:last-child{min-width:190px}}
/* kokovartalokuva: koko henkilö näkyy päästä kenkiin */
.tkh{height:clamp(500px,42vw,590px)}
.tkh-p{bottom:2%;height:96%;left:54%}
@media (max-width:900px){.tkh{height:560px}}
@media (max-width:560px){.tkh{height:520px}}
.tkh-guar{right:auto;left:0;bottom:2%}
/* sivupolku piiloon heroista (rakenteistettu murupolku säilyy hakukoneille) */
.phero .crumbs,.hero .crumbs{display:none}
/* Tilannekuvan hero: henkilö selvästi suurempi, edelleen kokonaisena */
@media (min-width:901px){
  .tkh{height:clamp(560px,46vw,660px)}
  .tkh-p{bottom:0;height:100%;left:55%}
}
@media (max-width:900px){.tkh{height:640px}.tkh-p{bottom:0;height:100%}}
@media (max-width:560px){.tkh{height:600px}}
@media (min-width:901px){.tkh{height:clamp(620px,51vw,750px)}.tkh-c{width:210px}}
@media (min-width:901px) and (max-width:1180px){.tkh-c{width:180px}}
@media (max-width:900px){.tkh{height:680px}}
@media (max-width:560px){.tkh{height:640px}}

/* ===================== Palvelut-sivun hero: heikoin osa-alue tarkentuu ===================== */
.svs-hero{background:radial-gradient(900px 600px at 76% 62%,#166079 0%,#0D3E4D 62%,#0a3340 100%)}
@media (min-width:901px){.svs-hero .sv-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}
.svs{position:relative;justify-self:end;width:100%;max-width:640px;height:clamp(600px,50vw,740px)}
.svs-far{position:absolute;left:0;right:-8%;bottom:0;height:80%;display:flex;align-items:flex-end;gap:24px;filter:blur(12px);opacity:.22}
.svs-far i{flex:1;border-radius:14px 14px 0 0;background:linear-gradient(180deg,#93FAC8,#145466);transform-origin:bottom;animation:fxBar 5s ease-in-out infinite alternate}
.svs-far i:nth-child(2n){animation-delay:-1.6s}.svs-far i:nth-child(3n){animation-delay:-3s}
.svs-pils{position:absolute;left:0;bottom:0;width:66%;height:62%;display:flex;align-items:flex-end;gap:14px;z-index:1}
.svp{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;text-decoration:none;color:#F7F7F7;border-radius:16px 16px 0 0}
.svp-bar{position:absolute;left:0;right:0;bottom:0;height:var(--h);border-radius:16px 16px 0 0;background:linear-gradient(180deg,var(--pc) 0%,rgba(20,84,102,.55) 100%);
  border:1px solid rgba(247,247,247,.18);border-bottom:0;filter:blur(5px);opacity:.55;transform-origin:bottom;transform:scaleY(0);
  transition:filter .6s ease,opacity .6s ease,transform 1s cubic-bezier(.2,.9,.3,1.05),box-shadow .6s}
.svs.go .svp-bar{transform:none}
.svp.c1{--pc:#9AE3F4}.svp.c2{--pc:#93FAC8}.svp.c3{--pc:#F8F9E2}
.svp.c1 .svp-bar{transition-delay:0s,0s,.2s,0s}.svp.c2 .svp-bar{transition-delay:0s,0s,.35s,0s}.svp.c3 .svp-bar{transition-delay:0s,0s,.5s,0s}
.svp-name{position:relative;z-index:1;width:100%;padding:0 0 12px;text-align:center;font-size:13px;font-weight:700;color:#0D3E4D;opacity:0;transition:opacity .4s}
.svp.on .svp-bar,.svp:hover .svp-bar,.svp:focus-visible .svp-bar{filter:none;opacity:1;box-shadow:0 0 0 2px rgba(247,247,247,.35)}
.svp.on .svp-name,.svp:hover .svp-name,.svp:focus-visible .svp-name{opacity:1}
.svp:focus-visible{outline:2px solid #93FAC8;outline-offset:4px}
.svs-ceil{position:absolute;left:-4%;right:-6%;bottom:var(--h);border-top:2px dashed rgba(147,250,200,.85);opacity:0;transition:opacity .5s;pointer-events:none}
.svs-ceil b{position:absolute;right:0;top:-30px;font-size:12px;font-weight:700;color:#93FAC8;white-space:nowrap}
.svs.sum .svs-ceil{opacity:1}
.svs-p{position:absolute;right:0;bottom:0;height:100%;z-index:2;opacity:0;animation:fxRise 1.1s var(--ease) .3s forwards;pointer-events:none}
.svs-p img{display:block;height:100%;width:auto;filter:drop-shadow(0 26px 36px rgba(4,22,28,.45))}
.svs-cards{position:absolute;inset:0;z-index:3;pointer-events:none}
.svp-card{position:absolute;left:0;top:0;width:220px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#93FAC8,#4AE59B);color:#0A0A0A;box-shadow:0 14px 30px rgba(4,22,28,.35);
  opacity:0;transform:translateY(8px) scale(.96);transition:opacity .45s ease,transform .5s cubic-bezier(.3,1.4,.5,1)}
.svp-card.on{opacity:1;transform:none}
.svp-card small{display:block;font-size:12px;font-weight:700;color:#0D3E4D}
.svp-card b{display:block;font-size:14px;line-height:1.3;margin:2px 0 4px}
.svp-card em{display:block;font-style:normal;font-size:12px;font-weight:600;color:#145466}
.svs-ret{position:absolute;z-index:4;left:0;top:0;width:100px;height:100px;pointer-events:none;opacity:0;transition:transform .8s cubic-bezier(.3,1.1,.4,1),width .8s cubic-bezier(.3,1.1,.4,1),height .8s cubic-bezier(.3,1.1,.4,1),opacity .4s}
.svs.go .svs-ret{opacity:1}
.svs-ret i{position:absolute;width:20px;height:20px;border:3px solid #F7F7F7}
.svs-ret i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-radius:8px 0 0 0}
.svs-ret i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-radius:0 8px 0 0}
.svs-ret i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-radius:0 0 0 8px}
.svs-ret i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-radius:0 0 8px 0}
.svs-sum{position:absolute;z-index:5;left:0;top:6%;display:flex;align-items:center;gap:12px;padding:14px 18px 14px 14px;border-radius:18px;background:#0D3E4D;border:1px solid #93FAC8;color:#F7F7F7;
  box-shadow:0 20px 44px rgba(4,22,28,.5);opacity:0;transform:translateY(10px) scale(.95);transition:opacity .5s,transform .6s cubic-bezier(.3,1.5,.5,1);pointer-events:none}
.svs.sum .svs-sum{opacity:1;transform:none}
.svs-sum-mk{flex:none;width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D}
.svs-sum-mk svg{width:22px;height:30px}
.svs-sum small{display:block;font-size:12px;font-weight:700;color:#93FAC8}
.svs-sum b{display:block;font-size:1.1rem;line-height:1.25;max-width:230px}
@media (max-width:1180px) and (min-width:901px){.svp-card{width:190px}.svs-pils{width:64%}}
@media (max-width:900px){.svs{justify-self:center;max-width:560px;height:620px;margin-top:10px}}
@media (max-width:560px){.svs{height:560px}.svs-pils{width:70%;gap:8px;height:58%}.svp-card{width:170px}.svp-card b{font-size:13px}.svp-name{font-size:12px}.svs-sum b{font-size:1rem;max-width:190px}}
@media (prefers-reduced-motion:reduce){.svs-p{animation:none;opacity:1}.svs-far i{animation:none}.svp-bar{transition:none;transform:none}.svp-card,.svs-ret,.svs-sum{transition:none}}
.svs-pils{width:56%;gap:16px}
.svs-p{right:-2%}
.svs-ceil b{font-size:13px}
@media (max-width:1180px) and (min-width:901px){.svs-pils{width:56%}}
@media (max-width:560px){.svs-pils{width:60%;gap:8px}.svs-p{right:-8%;height:94%}.svp-card{width:160px}}
/* pylväät näkyvät selkeämmin; tarkennettu korostuu, yhteenvedossa kaikki vertailtavissa */
.svp-bar{filter:blur(2px);opacity:.72}
.svp-name{opacity:.8}
.svs.sum .svp-bar{filter:none;opacity:.8}
.svs.sum .svp.on .svp-bar{opacity:1;box-shadow:0 0 0 2px #93FAC8}
.svp-card{transition:opacity .25s ease,transform .5s cubic-bezier(.3,1.4,.5,1)}
.svs-ceil b{top:-15px;right:-2px;padding:3px 10px;border-radius:999px;background:#0D3E4D;border:1px solid rgba(147,250,200,.6);line-height:1.3}
/* Palvelut-sivun hero: vain henkilö */
.svs.svs-plain{height:clamp(540px,44vw,660px);max-width:520px}
.svs-plain .svs-p{left:50%;right:auto;transform:translateX(-50%);height:100%}
@media (max-width:900px){.svs.svs-plain{height:520px;max-width:420px}}
@media (max-width:560px){.svs.svs-plain{height:460px}}
.svs-hero .ph-depth{display:none}
/* Palvelut-sivun hero: sumeat vihreät palkit taustalla kuten etusivulla */
.svs-hero .svs-bg{z-index:0;pointer-events:none}
.svs-hero .wrap.over{position:relative;z-index:1}

/* ===================== Ota yhteyttä -hero ===================== */
.coh-hero{background:radial-gradient(900px 600px at 76% 62%,#166079 0%,#0D3E4D 62%,#0a3340 100%)}
.coh-hero .svs-bg{z-index:0;pointer-events:none}
.coh-hero .wrap.over{position:relative;z-index:1}
@media (min-width:901px){.coh-hero .phero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:clamp(440px,36vw,520px)}}
.coh-hero .btns .btn svg{width:18px;height:18px;margin-right:8px}
.coh-hero .btns .btn.ghost{display:inline-flex;align-items:center}
.coh-cards{position:relative;display:grid;gap:18px;justify-items:end}
.coh-card{display:flex;align-items:center;gap:18px;width:min(100%,420px);padding:18px 22px 18px 18px;border-radius:22px;color:#F7F7F7;
  background:rgba(20,84,102,.72);border:1px solid rgba(82,165,150,.76);box-shadow:0 18px 40px rgba(4,22,28,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;animation:fxRise .9s var(--ease) forwards}
.coh-card.c1{transform:rotate(-1.5deg);margin-right:48px;animation-delay:.25s}
.coh-card.c2{background:linear-gradient(140deg,#4AE59B,#20A264);border-color:#4AE59B;color:#0A0A0A;animation-delay:.45s}
.coh-av{flex:none;width:92px;height:92px;border-radius:50%;overflow:hidden;background:#145466;border:3px solid #93FAC8}
.coh-card.c2 .coh-av{border-color:#0D3E4D;background:#0D3E4D}
.coh-av img{display:block;width:100%;height:100%;object-fit:cover}
.coh-card b{display:block;font-size:1.15rem}
.coh-card small{display:block;font-size:13px;margin:2px 0 8px;opacity:.85}
.coh-card a{display:flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:700;font-size:14px;line-height:1.7}
.coh-card a:hover{text-decoration:underline}
.coh-card a svg{width:15px;height:15px}
@media (max-width:900px){.coh-cards{justify-items:stretch;margin-top:8px}.coh-card{width:auto}.coh-card.c1{margin-right:0}}
@media (max-width:480px){.coh-av{width:72px;height:72px}.coh-card{gap:14px;padding:14px 16px 14px 14px}.coh-card a{font-size:13px}}
@media (prefers-reduced-motion:reduce){.coh-card{animation:none;opacity:1}}

/* ===================== Ota yhteyttä: lomake ja seuraavat vaiheet ===================== */
.cof{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(18px,2.4vw,28px);align-items:stretch}
.cof-main{padding:clamp(24px,3vw,40px);border-radius:var(--r-l);background:linear-gradient(150deg,#145466,#0D3E4D);color:#F7F7F7}
.cof-main .cta-eb{color:#93FAC8}
.cof-main h2{margin:.2em 0 18px;color:#9AE3F4}
.cof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.cof-f{display:grid;gap:6px;font-size:14px;font-weight:600}
.cof-f.wide{margin-top:14px}
.cof-f small{font-weight:500;opacity:.7}
.cof-f input,.cof-f textarea{font:inherit;font-size:16px;font-weight:500;padding:12px 14px;border-radius:12px;border:1px solid rgba(147,250,200,.35);background:rgba(247,247,247,.08);color:#F7F7F7;width:100%;box-sizing:border-box}
.cof-f textarea{resize:vertical;min-height:120px}
.cof-f input:focus,.cof-f textarea:focus{outline:2px solid #93FAC8;outline-offset:1px;border-color:#93FAC8}
.cof-f input:user-invalid,.cof-f textarea:user-invalid{border-color:#F8F9E2}
.cof-act{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:18px}
.cof-promise{margin:0;font-size:14px;color:rgba(247,247,247,.8)}
.cof-sent{display:none;margin:14px 0 0;padding:10px 14px;border-radius:12px;background:rgba(147,250,200,.14);color:#93FAC8;font-size:14px;font-weight:600}
.cof-form.sent .cof-sent{display:block}
.cof-next{padding:clamp(24px,3vw,36px);border-radius:var(--r-l);background:var(--surface,#fff);border:1px solid var(--line,rgba(13,62,77,.12))}
.cof-next h3{margin:0 0 18px;font-size:1.2rem}
.cof-next ol{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.cof-next li{display:flex;gap:14px;align-items:flex-start}
.cof-n{flex:none;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D;font-weight:800}
.cof-next b{display:block;margin-bottom:2px}
.cof-next p{margin:0;font-size:.92rem;color:var(--muted)}
@media (max-width:900px){.cof{grid-template-columns:1fr}}
@media (max-width:560px){.cof-grid{grid-template-columns:1fr}}
@media (max-width:900px){.coh-card a{min-height:44px;line-height:1.2}}
.cof-main .btn{background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}.cof-main .btn:hover{background:#4AE59B;border-color:#4AE59B}

/* ===================== Evästebanneri ===================== */
.cc{position:fixed;z-index:200;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;pointer-events:none}
.cc-in{pointer-events:auto;width:min(100%,640px);padding:22px 24px;border-radius:20px;background:#0D3E4D;color:#F7F7F7;border:1px solid rgba(147,250,200,.45);box-shadow:0 20px 50px rgba(4,22,28,.45)}
.cc h2{margin:0 0 6px;font-size:1.15rem;color:#9AE3F4}
.cc p{margin:0;font-size:14px;line-height:1.5;color:rgba(247,247,247,.88)}
.cc-rows{display:grid;gap:10px;margin-top:14px}
.cc-rows[hidden]{display:none}
.cc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;background:rgba(247,247,247,.06);border:1px solid rgba(247,247,247,.12);cursor:pointer}
.cc-row b{display:block;font-size:14px}.cc-row small{display:block;font-size:13px;line-height:1.4;color:rgba(247,247,247,.75);margin-top:2px}
.cc-row em{flex:none;font-style:normal;font-size:12px;font-weight:700;color:#93FAC8}
.cc-row input{position:absolute;opacity:0;width:1px;height:1px}
.cc-row i{flex:none;position:relative;width:46px;height:26px;border-radius:999px;background:rgba(247,247,247,.25);transition:background .2s}
.cc-row i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#F7F7F7;transition:transform .2s}
.cc-row input:checked+i{background:#4AE59B}.cc-row input:checked+i::after{transform:translateX(20px)}
.cc-row input:focus-visible+i{outline:2px solid #93FAC8;outline-offset:2px}
.cc-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.cc-b{flex:1 1 140px;min-height:44px;font:inherit;font-size:14px;font-weight:700;border-radius:999px;cursor:pointer;border:1px solid #93FAC8;background:#93FAC8;color:#0D3E4D;padding:0 18px}
.cc-b.ghost{background:transparent;color:#F7F7F7;border-color:rgba(247,247,247,.5)}
.cc-b:focus-visible{outline:2px solid #F7F7F7;outline-offset:2px}
body.cc-open .wa-fab{opacity:0!important;pointer-events:none!important}
.ftr-cc{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.cc{left:10px;right:10px}.cc-in{padding:18px}.cc-b{flex:1 1 100%}}

/* lomakkeen lisäkentät ja kiitossivu */
.cof-f select{font:inherit;font-size:16px;font-weight:500;padding:12px 14px;border-radius:12px;border:1px solid rgba(147,250,200,.35);background:#145466;color:#F7F7F7;width:100%}
.cof-f select:focus{outline:2px solid #93FAC8;outline-offset:1px}
.cof-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cof-form{position:relative}
form.send-error::after{content:"Lähetys ei onnistunut. Yritä uudelleen tai soita meille.";display:block;margin-top:12px;color:#F8F9E2;font-size:14px;font-weight:600}
html[lang="en"] form.send-error::after{content:"Sending failed. Please try again or call us."}
html[lang="sv"] form.send-error::after{content:"Det gick inte att skicka. Försök igen eller ring oss."}
.thx-hero .svs-bg{z-index:0;pointer-events:none}
.thx-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;min-height:clamp(420px,34vw,520px)}
.thx-mk{display:inline-flex;width:64px;height:64px;border-radius:18px;align-items:center;justify-content:center;background:linear-gradient(135deg,#4AE59B,#20A264);color:#0D3E4D;margin-bottom:20px}
.thx-mk svg{width:28px;height:40px}
.thx-hero h1{color:#9AE3F4}
.thx-next{color:#0D3E4D}
.thx-next h2{margin:0 0 18px;font-size:1.2rem}
@media (max-width:900px){.thx-grid{grid-template-columns:1fr;min-height:0}}
.thx-next{background:#F8F9E2!important;border:0!important;color:#0D3E4D}.thx-next b,.thx-next h2{color:#0D3E4D}.thx-next p{color:#3d5a63!important}

/* esitteen tilaus */
.bro{position:fixed;inset:0;z-index:210;background:rgba(4,22,28,.62);display:flex;align-items:center;justify-content:center;padding:16px}
.bro-in{position:relative;width:min(100%,560px);max-height:calc(100vh - 32px);overflow:auto;padding:28px;border-radius:22px;background:#0D3E4D;color:#F7F7F7;border:1px solid rgba(147,250,200,.45);box-shadow:0 24px 60px rgba(4,22,28,.5)}
.bro h2{margin:0 0 6px;color:#9AE3F4;font-size:1.4rem;padding-right:40px}
.bro p{margin:0 0 16px;color:rgba(247,247,247,.85);font-size:15px}
.bro-f{display:grid;gap:14px}
.bro-g{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bro-c{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:rgba(247,247,247,.85);cursor:pointer}
.bro-c input{width:20px;height:20px;margin:1px 0 0;accent-color:#4AE59B;flex:none}
.bro-f .btn{justify-self:start;background:#93FAC8;color:#0D3E4D;border-color:#93FAC8}
.bro-msg{margin:0!important;color:#93FAC8!important;font-weight:600;font-size:14px}
.bro-x{position:absolute;right:14px;top:12px;width:40px;height:40px;border:0;border-radius:12px;background:rgba(247,247,247,.08);color:#F7F7F7;font-size:24px;cursor:pointer}
button[data-brochure]{font:inherit;cursor:pointer}
body.bro-open .wa-fab{opacity:0!important;pointer-events:none!important}
@media (max-width:520px){.bro-g{grid-template-columns:1fr}.bro-in{padding:22px}}

/* Markun vakiorakenne: taulukot, kuvitteellinen esimerkki, kirjoittajalinkki */
.art-body .tbl-wrap{overflow-x:auto;margin:20px 0;border-radius:14px;border:1px solid rgba(13,62,77,.14)}
.art-body table{width:100%;border-collapse:collapse;font-size:.95rem;line-height:1.45;min-width:520px}
.art-body th,.art-body td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid rgba(13,62,77,.1)}
.art-body th{background:#0D3E4D;color:#F7F7F7;font-weight:600}
.art-body tr:nth-child(even) td{background:rgba(147,250,200,.08)}
.art-body tr:last-child td{border-bottom:0}
.art-body .ex-note{padding:14px 18px;border-radius:14px;background:#F8F9E2;border-left:4px solid #20A264}
.ameta .au-link{color:inherit;text-decoration:underline;text-underline-offset:3px}
.art-body{min-width:0;max-width:100%}.layout>*{min-width:0}.art-body .tbl-wrap{max-width:100%}

/* Apua tunnistettuun tarpeeseen: kokovartalokuva ja kortit kuvan päällä */
.ahs-hero .svs-bg{z-index:0;pointer-events:none}
.ahs-hero .wrap.over{position:relative;z-index:1}
@media (min-width:901px){.ahs-hero .phero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}}
.ahs{position:relative;justify-self:end;width:100%;max-width:520px;height:clamp(560px,46vw,680px)}
.ahs>img{position:absolute;right:6%;bottom:0;height:100%!important;width:auto!important;max-height:none!important;margin:0!important;
  filter:drop-shadow(0 26px 36px rgba(4,22,28,.45));opacity:0;animation:fxRise 1.1s var(--ease) .2s forwards}
.ahs .fcard.f1{left:0;right:auto;bottom:24%;top:auto}
.ahs .fcard.f2{right:0;left:auto;top:16%;bottom:auto}
@media (max-width:900px){.ahs{justify-self:center;max-width:420px;height:540px;margin-top:8px}.ahs>img{right:50%;transform:translateX(50%)}}
@media (max-width:560px){.ahs{height:480px}.ahs .fcard{max-width:190px}.ahs .fcard.f1{bottom:18%}.ahs .fcard.f2{top:10%}}
@media (prefers-reduced-motion:reduce){.ahs>img{animation:none;opacity:1}}
/* viimeiset ylivuotokorjaukset */
.acard-top{flex-wrap:wrap;row-gap:4px;min-width:0}
.au-card,.au-card *{min-width:0;overflow-wrap:anywhere}
.tls-item{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.sp-s{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.au-card{hyphens:auto;-webkit-hyphens:auto}.au-card b,.au-card strong{font-size:.92em}
.cta-form .cta-ok{margin:10px 0 0;color:#93FAC8;font-weight:600;font-size:14px;flex-basis:100%}
