:root{
  --kit-bg-pink-100:#fbeff5;
  --kit-bg-pink-200:#fbdce7;
  --kit-bg-pink-300:#f8c5dd;
  --kit-bg-pink-deep:#f3a8c8;
  --kit-lilac:#e8e4f8;
  --kit-lilac-2:#dadef4;

  --kit-sheet:#feffff;
  --kit-sheet-pale:#fdf6f7;
  --kit-sheet-2:#fde8f2;

  --kit-pink:#ec4d94;
  --kit-pink-active:#df317d;
  --kit-flush:#f95e76;
  --kit-flush-2:#f94b61;
  --kit-tangerine:#fd793d;
  --kit-tangerine-2:#f46a23;
  --kit-crimson:#ff4d5c;
  --kit-cornflower:#c8caf1;

  --kit-fg:#292430;
  --kit-fg-pale:#6a6673;
  --kit-subtle:#9893a1;
  --kit-line:#f0d9e6;

  --kit-ondark:#feffff;
  --kit-light:#feffff;
  --kit-go:#2daf67;
  --kit-line-pale:rgba(254,255,255,.89);
  --kit-sheet-fill:rgba(254,255,255,.91);
  --kit-shroud:rgba(41,36,48,.52);
  --kit-ft-fill:#292430;
  --kit-ft:#d7d1dd;
  --kit-ft-2:#feffff;
  --kit-ft-pale:#a8a1b0;
  --kit-ft-edge:rgba(254,255,255,.12);

  --kit-rad-sm:14px;
  --kit-rad-md:20px;
  --kit-rad-lg:28px;
  --kit-rad-xl:36px;
  --kit-rad-pill:999px;

  --kit-shade-sm:0 6px 16px -8px rgba(236,77,148,.36);
  --kit-shade-md:0 18px 38px -18px rgba(236,77,148,.41);
  --kit-shade-lg:0 30px 60px -24px rgba(223,49,125,.4);

  --kit-headline:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --kit-face:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --kit-frame:1200px;
  --kit-inset:24px;
  --kit-vgap:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 700px at 85% -8%, var(--kit-bg-pink-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--kit-lilac) 0%, transparent 55%),
    linear-gradient(180deg, var(--kit-bg-pink-100) 0%, var(--kit-sheet-pale) 40%, var(--kit-bg-pink-100) 100%);margin:0;background-attachment:fixed;color:var(--kit-fg);
  font-family:var(--kit-face);
  -webkit-font-smoothing:antialiased;line-height:1.6;
}
img{display:block;max-width:100%}
.kokoelma-block{overflow:hidden;border-radius:var(--kit-rad-md);margin-bottom:14px;background:var(--kit-sheet);box-shadow:var(--kit-shade-sm);border:1px solid var(--kit-line)}
.kokoelma-block summary{color:var(--kit-fg);font-family:var(--kit-headline);font-weight:800;align-items:center;justify-content:space-between;display:flex;padding:20px 22px;gap:16px;font-size:1.05rem;cursor:pointer;list-style:none}
.kokoelma-block summary::-webkit-details-marker{display:none}
.kokoelma-block summary::after{color:var(--kit-pink);transition:transform .25s ease;place-items:center;background:var(--kit-sheet-2);display:grid;content:"+";border-radius:50%;font-size:1.2rem;width:30px;flex:none;height:30px}
.kokoelma-block[open] summary::after{background:var(--kit-pink);color:var(--kit-ondark);transform:rotate(45deg)}
.kokoelma-a{color:var(--kit-fg-pale);padding:0 22px 20px}

.site-ylapalkki{top:0;z-index:60;position:sticky;border-bottom:1px solid var(--kit-line);background:var(--kit-sheet)}
.site-ylapalkki-core{gap:20px;padding-block:12px;min-height:74px;justify-content:space-between;display:flex;align-items:center}
.town-hall-title{font-family:var(--kit-headline);margin-bottom:14px;font-weight:800}
.town-hall-entry{align-items:flex-start;font-size:.94rem;gap:10px;margin-top:10px;color:var(--kit-fg-pale);display:flex}
.town-hall-entry .pin{color:var(--kit-pink);flex:none}
.town-hall-entry .pin svg{height:16px;width:16px}
.title-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}

.suodatin-yhteys{box-shadow:var(--kit-shade-md);border-radius:var(--kit-rad-pill);gap:12px;display:flex;padding:12px;background:var(--kit-sheet);border:1px solid var(--kit-line-pale);margin:0 auto}
.suodatin-yhteys .textbox{box-shadow:none;border:none;font-size:1.06rem;background:transparent}
.suodatin-yhteys .textbox:focus{box-shadow:none}
.suodatin-yhteys+.laheisyys{margin-top:40px}
ul{list-style:none;margin:0;padding:0}
.materiaali-shot{background:#000200;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.materiaali-led{top:50%;height:28px;display:grid;width:28px;box-shadow:var(--kit-shade-sm);border-radius:50%;color:#feffff;position:absolute;background:rgba(0,2,0,.54);place-items:center;line-height:1;padding-left:2px;font-size:.64rem;left:50%;pointer-events:none;transform:translate(-50%,-50%)}
.materiaali-lippu{bottom:12px;gap:4px;box-shadow:var(--kit-shade-sm);left:12px;font-weight:700;color:#feffff;border-radius:var(--kit-rad-pill);z-index:2;background:rgba(0,2,0,.61);padding:5px 9px;align-items:center;font-size:.7rem;position:absolute;letter-spacing:.02em;display:inline-flex}
.times{margin-top:10px;gap:4px;display:grid}
.accent{background:linear-gradient(92deg,var(--kit-pink),var(--kit-flush) 60%,var(--kit-tangerine));-webkit-background-clip:text;color:transparent;background-clip:text}
.intro{font-size:1.06rem;color:var(--kit-fg-pale);margin-top:14px}
.lue-kappale .paina{margin-top:26px}
.rivi-entry{color:var(--kit-fg);border-radius:var(--kit-rad-pill);font-weight:600;font-size:.96rem;transition:background .18s,color .18s;padding:9px 14px}
.rivi-entry:hover{color:var(--kit-pink-active);background:var(--kit-sheet-2)}
.rivi-hohto{border:none;text-decoration:none;font-weight:600;align-items:center;cursor:pointer;transition:background .18s ease,color .18s ease;position:relative;color:var(--kit-fg);font-size:.96rem;display:inline-flex;background:none;padding:9px 12px;border-radius:var(--kit-rad-pill);gap:7px}
.rivi-hohto:hover{color:var(--kit-pink-active);background:var(--kit-sheet-2)}
.rivi-hohto svg{color:var(--kit-pink);height:20px;width:20px}
.rivi-hohto:hover svg{color:var(--kit-pink-active)}
.rivi-hohto-kappale{white-space:nowrap}
.rivi-hohto .postilaatikko-lippu{top:auto;position:static;right:auto}
.rivi-hohto-small{width:100%;background:none;padding:14px 2px;border:none;color:var(--kit-fg);gap:9px;align-items:center;font-weight:600;cursor:pointer;border-bottom:1px solid var(--kit-line);text-align:left;display:flex;font-size:15px;text-decoration:none}
.rivi-hohto-small:hover{color:var(--kit-pink-active)}
.rivi-hohto-small svg{height:18px;color:var(--kit-pink);width:18px}
.copyright{color:var(--kit-ft-pale);margin-top:34px;font-size:.86rem;border-top:1px solid var(--kit-ft-edge);padding-top:22px}
.led{font-size:.6rem;color:var(--kit-go);line-height:1}

.tarjous-panel{overflow:hidden;background:linear-gradient(100deg,var(--kit-pink-active),var(--kit-flush) 60%,var(--kit-tangerine));color:var(--kit-ondark);border-radius:var(--kit-rad-xl);display:flex;flex-wrap:wrap;padding:clamp(38px,5vw,64px);justify-content:space-between;box-shadow:var(--kit-shade-lg);gap:30px;position:relative;align-items:center}
.tarjous-glob{right:-90px;position:absolute;background:rgba(254,255,255,.14);width:320px;border-radius:50%;height:320px;top:-120px}
.tarjous-kappale{position:relative;z-index:2}
.tarjous-kappale h2{color:var(--kit-ondark);max-width:16ch}
.tarjous-kappale p{max-width:46ch;color:rgba(254,255,255,.91);margin-top:10px}
.tarjous-panel .paina{z-index:2;position:relative}
.polku{display:flex;font-size:.86rem;gap:6px;color:var(--kit-subtle);margin-bottom:14px;justify-content:flex-start;flex-wrap:wrap}
.moment{font-size:.9rem;display:flex;color:var(--kit-fg-pale);gap:12px;justify-content:space-between}

.site-paatos{color:var(--kit-ft);background:var(--kit-ft-fill)}
.site-paatos .container{padding-block:56px 22px}
.site-paatos a{color:var(--kit-ft)}
.site-paatos a:hover{color:var(--kit-ft-2)}

.yhteys-frame{max-width:640px}
.yhteys-empty{width:1px;height:1px;position:absolute;overflow:hidden;left:-9999px}
.polku li:not(:last-child)::after{content:"\00203a";color:var(--kit-subtle);margin-left:6px}
.polku a{color:var(--kit-fg-pale)}
.nimi{color:var(--kit-fg);align-items:center;font-family:var(--kit-headline);letter-spacing:-.02em;gap:11px;display:flex;font-weight:800;font-size:1.28rem}
.nimi:hover{color:var(--kit-fg)}
.nimi-pic{align-items:center;display:inline-flex;color:var(--kit-ondark);justify-content:center;height:42px;box-shadow:0 8px 18px -8px rgba(236,77,148,.81);flex-shrink:0;border-radius:14px;width:42px;background:linear-gradient(135deg,var(--kit-pink),var(--kit-flush) 55%,var(--kit-tangerine))}
.nimi-pic svg{width:22px;height:22px}
.fact{display:flex;box-shadow:var(--kit-shade-sm);gap:12px;border-radius:var(--kit-rad-md);border:1px solid var(--kit-line-pale);padding:14px 16px;background:var(--kit-sheet);align-items:center}
.fact-ic{place-items:center;flex:none;height:40px;display:grid;color:var(--kit-pink);width:40px;border-radius:12px;background:var(--kit-sheet-2)}
.fact-ic svg{width:18px;height:18px}
.fact-kappale dt{letter-spacing:.05em;font-size:.78rem;color:var(--kit-subtle);text-transform:uppercase}
.fact-kappale dd{font-family:var(--kit-headline);font-weight:800;margin:2px 0 0;font-size:.98rem}
svg{display:block}
.rivi-verho{opacity:0;visibility:hidden;position:fixed;transition:opacity .3s ease;z-index:1090;inset:0;background:var(--kit-shroud)}
.rivi-verho.open{visibility:visible;opacity:1}
.polku a:hover{color:var(--kit-pink-active)}
h1,h2,h3,h4{letter-spacing:-.01em;margin:0;color:var(--kit-fg);font-family:var(--kit-headline);line-height:1.12}

.container{max-width:var(--kit-frame);padding-inline:var(--kit-inset);margin-inline:auto}
.kumppani-hohto{background:var(--kit-sheet-fill);height:36px;place-items:center;box-shadow:var(--kit-shade-sm);cursor:pointer;display:grid;position:absolute;border-radius:50%;width:36px;z-index:2;top:12px;right:12px;border:none;transition:transform .16s,background .16s,color .16s;color:var(--kit-flush)}
.kumppani-hohto svg{width:18px;height:18px}
.kumppani-hohto:hover{transform:scale(1.08)}
.kumppani-hohto.ticked{background:var(--kit-flush);color:var(--kit-ondark)}
.kumppani-hohto.ticked svg{fill:currentColor}
.kumppani-shot-hohto{height:46px;top:14px;width:46px;right:14px}
.kumppani-shot-hohto svg{width:21px;height:21px}
.kumppani-core{padding:16px 18px}
.kumppani-title{font-family:var(--kit-headline);font-weight:800;font-size:1.12rem}
.kumppani-title a{text-decoration:none;color:inherit;outline-offset:3px}
.kumppani-title a::after{position:absolute;z-index:1;inset:0;content:""}
.kumppani-title span{font-weight:600;color:var(--kit-subtle)}
.kumppani-addr{margin-top:4px;color:var(--kit-fg-pale);display:flex;align-items:center;gap:6px;font-size:.88rem}
.kumppani-addr .pin svg{height:14px;width:14px;color:var(--kit-pink)}
.kumppani-postilaatikko{gap:7px;display:inline-flex;font-weight:700;width:100%;z-index:2;transition:transform .16s ease,box-shadow .16s ease;margin-top:12px;color:var(--kit-ondark);align-items:center;justify-content:center;padding:9px 14px;border-radius:var(--kit-rad-pill);background:linear-gradient(135deg,var(--kit-pink),var(--kit-flush));box-shadow:var(--kit-shade-sm);position:relative;font-size:.9rem}
.kumppani-postilaatikko svg{height:16px;width:16px}
.kumppani-postilaatikko:hover{transform:translateY(-1px);box-shadow:var(--kit-shade-md)}
.kumppani-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;margin-top:22px;display:grid;gap:clamp(24px,4vw,52px)}
.kumppani-side{min-width:0}
.kumppani-shot{margin:0;border-radius:var(--kit-rad-lg);overflow:hidden;position:relative;box-shadow:var(--kit-shade-md);background:linear-gradient(160deg,var(--kit-bg-pink-200),var(--kit-lilac-2))}
.kumppani-shot img{width:100%;aspect-ratio:4/5;display:block;height:auto;object-fit:cover}
.kumppani-ctrl{border-radius:50%;position:absolute;border:none;place-items:center;transform:translateY(-50%);width:44px;height:44px;color:var(--kit-pink-active);cursor:pointer;top:50%;transition:transform .15s ease,background .15s ease;display:grid;background:var(--kit-sheet-fill);box-shadow:var(--kit-shade-md);z-index:2}
.kumppani-ctrl:hover{transform:translateY(-50%) scale(1.07);background:var(--kit-sheet-fill)}
.kumppani-ctrl svg{height:22px;width:22px}
.kumppani-left{left:12px}
.kumppani-next{right:12px}
.kumppani-band{flex-wrap:wrap;gap:10px;display:flex;margin-top:12px}
.kumppani-block{overflow:hidden;box-shadow:var(--kit-shade-sm);cursor:pointer;border:2px solid transparent;background:var(--kit-sheet-2);padding:0;transition:transform .15s ease,border-color .15s ease;flex:0 0 auto;aspect-ratio:3/4;width:72px;border-radius:var(--kit-rad-sm)}
.kumppani-block img{width:100%;display:block;object-fit:cover;height:100%}
.kumppani-block:hover{transform:translateY(-2px)}
.kumppani-block.ticked{border-color:var(--kit-pink)}
.kumppani-side [hidden]{display:none!important}
.kumppani-materiaali{max-height:70vh;object-fit:contain;display:block;height:auto;width:100%;background:#000200}
.kumppani-block-materiaali{position:relative}
.kumppani-materiaali-start{height:78px;top:50%;padding-left:6px;width:78px;cursor:pointer;left:50%;position:absolute;line-height:1;border-radius:50%;color:#feffff;box-shadow:var(--kit-shade-md);background:rgba(0,2,0,.52);transform:translate(-50%,-50%);border:none;place-items:center;transition:transform .15s ease,background .15s ease;z-index:3;font-size:1.9rem;display:grid}
.kumppani-materiaali-start:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(0,2,0,.7)}
.kumppani-sidebar{top:96px;position:sticky}
.kumppani-header{display:flex;flex-wrap:wrap;margin-top:14px;gap:12px;align-items:center}
.kumppani-header .lippu-chip{flex:none}
.kumppani-intro{font-family:var(--kit-headline);font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.1}
.kumppani-intro span{font-weight:600;color:var(--kit-subtle);font-size:.62em}
.kumppani-muistio{gap:7px;align-items:center;margin-top:10px;color:var(--kit-fg-pale);font-size:1.02rem;display:flex}
.kumppani-muistio .pin svg{width:18px;height:18px;color:var(--kit-pink)}
.kumppani-muistio a{color:var(--kit-pink-active);text-decoration:none;transition:border-color .15s ease;border-bottom:1px solid transparent;font-weight:600}
.kumppani-muistio a:hover{border-bottom-color:currentColor}
.kumppani-facts{gap:8px;flex-wrap:wrap;display:flex;margin-top:16px}
.kumppani-sidebar .intro{margin-top:18px}
.kumppani-list{display:flex;margin-top:24px;gap:12px;flex-wrap:wrap}
figure{margin:0}

.faktat{grid-template-columns:1.2fr 1fr;gap:clamp(28px,4vw,48px);display:grid;align-items:start}
.faktat-facts{grid-template-columns:1fr 1fr;display:grid;gap:16px}
:focus-visible{border-radius:6px;outline:3px solid var(--kit-pink);outline-offset:2px}

.hampurilainen{z-index:1105;gap:5px;display:none;padding:6px;border:none;background:none;cursor:pointer;flex-direction:column}
.hampurilainen span{height:3px;transition:transform .3s ease,opacity .3s ease;background:var(--kit-fg);width:26px;display:block;border-radius:2px}
.hampurilainen.open span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.hampurilainen.open span:nth-child(2){opacity:0}
.hampurilainen.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}
::selection{background:rgba(236,77,148,.21)}
.yhteys-muistio{font-weight:700}
.yhteys-muistio-ticked{color:var(--kit-go)}
.yhteys-muistio-hidden{color:var(--kit-pink-active)}

.lippu-chip{gap:8px;font-weight:700;border:1px solid var(--kit-line);padding:8px 16px;border-radius:var(--kit-rad-pill);align-items:center;box-shadow:var(--kit-shade-sm);font-size:.82rem;background:var(--kit-sheet);letter-spacing:.06em;color:var(--kit-pink);display:inline-flex}
.lippu-chip svg{height:16px;width:16px;color:var(--kit-flush)}
.section{padding-block:var(--kit-vgap)}
.section-second{background:var(--kit-sheet-2)}
.section-head{text-align:center;margin:0 auto 44px;max-width:640px}

.vilkaisu-tarjous{border-radius:var(--kit-rad-lg);right:22px;box-shadow:var(--kit-shade-lg);width:300px;bottom:22px;position:fixed;max-width:calc(100vw - 44px);background:var(--kit-sheet);z-index:80;border:1px solid var(--kit-line-pale);padding:20px}
.vilkaisu-x{border-radius:50%;width:28px;font-size:1.1rem;padding:0;color:var(--kit-fg-pale);position:absolute;top:12px;line-height:1;background:var(--kit-sheet-2);right:12px;border:none;place-items:center;cursor:pointer;display:grid;height:28px}
.vilkaisu-x:hover{background:var(--kit-pink);color:var(--kit-ondark)}
.vilkaisu-title{font-family:var(--kit-headline);padding-right:26px;font-weight:800;font-size:1.04rem}
.vilkaisu-kappale{color:var(--kit-fg-pale);margin-top:4px;font-size:.86rem;margin-bottom:14px}
.vilkaisu-launcher{justify-content:center;width:60px;border-radius:50%;right:22px;display:none;position:fixed;border:none;bottom:22px;z-index:80;color:var(--kit-ondark);align-items:center;cursor:pointer;height:60px;box-shadow:var(--kit-shade-lg);background:linear-gradient(135deg,var(--kit-pink),var(--kit-flush))}
.vilkaisu-launcher svg{height:26px;width:26px;fill:currentColor;stroke:none}

.lue-section h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.lue-section h2{color:var(--kit-pink-active);margin-top:34px;font-size:1.35rem;font-weight:800}
.lue-section p{color:var(--kit-fg-pale);font-size:1.04rem;margin-top:14px}
.lue-section p a{font-weight:600}
.lue-section ul{margin-top:14px;display:grid;gap:10px}
.lue-section li{padding-left:24px;position:relative;color:var(--kit-fg-pale)}
.lue-section li::before{height:10px;width:10px;background:var(--kit-flush);left:0;border-radius:50%;top:.5em;position:absolute;content:""}
.lue-kokoelma>.container>h2{text-align:center;margin-bottom:28px}
.paatos-layout{gap:40px;grid-template-columns:1.6fr 1fr 1fr;display:grid}
.paatos-nimi{font-family:var(--kit-headline);margin-bottom:12px;color:var(--kit-ft-2);gap:10px;align-items:center;display:flex;font-weight:800;font-size:1.2rem}
.paatos-side>p:not(.paatos-title){color:var(--kit-ft-pale);font-size:.94rem;max-width:34ch}
.paatos-title{font-size:1rem;font-weight:800;margin-bottom:14px;color:var(--kit-ft-2)}
.paatos-valikko{gap:10px;display:grid;font-size:.94rem}
.vyohyke-tile{position:relative;box-shadow:var(--kit-shade-md);border-radius:var(--kit-rad-lg);background:var(--kit-lilac);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--kit-line-pale)}
.vyohyke-tile.vyohyke-later{cursor:pointer}
.vyohyke-empty{inset:0;background:linear-gradient(160deg,var(--kit-lilac-2),var(--kit-sheet-2));text-align:center;gap:10px;display:grid;place-items:center;position:absolute;padding:20px}
.vyohyke-empty p{font-weight:700;color:var(--kit-fg)}
.vyohyke-pin{color:var(--kit-flush);filter:drop-shadow(0 10px 12px rgba(249,75,97,.52))}
.vyohyke-pin svg{width:40px;height:40px;stroke:none;fill:currentColor}
.vyohyke-tile iframe{width:100%;border:0;position:absolute;height:100%;inset:0}
.vyohyke-tile.ready .vyohyke-empty{display:none}

.laheisyys{display:flex;gap:32px;flex-direction:column}
.laheisyys-block h2{font-size:1.15rem;font-weight:800;color:var(--kit-fg);margin-bottom:16px}
.laheisyys-valikko{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}
.laheisyys-valikko a{border:1px solid var(--kit-line);font-size:.92rem;font-weight:600;transition:transform .14s,box-shadow .14s,color .14s;color:var(--kit-fg);display:flex;padding:13px 16px;border-radius:var(--kit-rad-md);justify-content:space-between;background:var(--kit-sheet);box-shadow:var(--kit-shade-sm);align-items:center;gap:10px}
.laheisyys-valikko a:hover{box-shadow:var(--kit-shade-md);color:var(--kit-pink-active);transform:translateY(-3px)}
.laheisyys-valikko a .pin{display:grid;color:var(--kit-pink);flex:none;place-items:center}
.laheisyys-valikko a .pin svg{height:16px;width:16px}
.main-rivi{align-items:center;gap:8px;display:flex;margin-left:auto}
p{margin:0}
.kumppani-tile{background:var(--kit-sheet);position:relative;box-shadow:var(--kit-shade-md);border-radius:var(--kit-rad-lg);border:1px solid var(--kit-line-pale);transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.kumppani-tile:hover{transform:translateY(-6px);box-shadow:var(--kit-shade-lg)}
.kumppani-kasvot{position:relative;overflow:hidden;aspect-ratio:1/1;background:linear-gradient(160deg,var(--kit-bg-pink-200),var(--kit-lilac-2))}
.kumppani-kasvot img{width:100%;display:block;object-fit:cover;height:100%}
.kumppani-lippu{font-weight:700;box-shadow:var(--kit-shade-sm);color:var(--kit-go);top:12px;border-radius:var(--kit-rad-pill);position:absolute;left:12px;z-index:2;gap:6px;padding:5px 10px;background:var(--kit-sheet-fill);align-items:center;display:inline-flex;font-size:.72rem}

.empty{text-align:center;padding-block:clamp(60px,10vw,140px)}
.empty-idx{font-family:var(--kit-headline);font-weight:800;line-height:.9;font-size:clamp(6rem,20vw,13rem)}
.empty-block{margin-top:30px;justify-content:center;gap:14px;display:flex;flex-wrap:wrap}
.faktat-town-hall{background:var(--kit-sheet);box-shadow:var(--kit-shade-md);border-radius:var(--kit-rad-lg);padding:24px;border:1px solid var(--kit-line-pale)}

.paina{
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;border:1.5px solid transparent;display:inline-flex;padding:14px 26px;
  cursor:pointer;font-weight:700;gap:9px;align-items:center;
  border-radius:var(--kit-rad-pill);justify-content:center;text-align:center;white-space:nowrap;
  font-size:1rem;
}
.paina svg{width:18px;height:18px}
.paina-xs{font-size:.9rem;padding:10px 18px}
.paina-lg{padding:17px 32px;font-size:1.06rem}
.paina-block{width:100%}
.paina-cta{box-shadow:0 14px 26px -12px rgba(249,75,97,.77);color:var(--kit-ondark);background:linear-gradient(95deg,var(--kit-tangerine),var(--kit-flush) 55%,var(--kit-pink))}
.paina-cta:hover{box-shadow:0 20px 34px -12px rgba(249,75,97,.86);color:var(--kit-ondark);transform:translateY(-2px)}
.paina-light{background:var(--kit-sheet);color:var(--kit-pink);border-color:var(--kit-line)}
.paina-light:hover{transform:translateY(-2px);color:var(--kit-pink-active);background:var(--kit-sheet-2)}
.paina-white{color:var(--kit-pink-active);background:var(--kit-light)}
.paina-white:hover{box-shadow:var(--kit-shade-md);color:var(--kit-pink-active);transform:translateY(-2px)}
.nimi,.rivi-entry,.sidebar-small a,.paina,.polku a,.site-paatos a,.laheisyys-valikko a,.kumppani-postilaatikko{text-decoration:none}
.kicker{color:var(--kit-pink);font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:.8rem}

.lue{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr;align-items:center}
.lue-kappale>p:not(.kicker){color:var(--kit-fg-pale);margin-top:16px;font-size:1.04rem}
.lue-alaotsikko{margin-top:22px;font-family:var(--kit-headline);font-size:1.1rem;font-weight:800;color:var(--kit-pink-active)}
.textbox-entry{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.textbox{border-radius:var(--kit-rad-sm);font-family:inherit;padding:13px 16px;width:100%;color:var(--kit-fg);transition:border-color .16s,box-shadow .16s;font-size:1rem;border:1.5px solid var(--kit-line);background:var(--kit-sheet-pale)}
.textbox:focus{outline:none;box-shadow:0 0 0 3px rgba(236,77,148,.14);border-color:var(--kit-pink)}
textarea.textbox{resize:vertical;min-height:140px}

.kumppanit-layout{grid-template-columns:repeat(4,1fr);display:grid;gap:22px}

.postilaatikko-lippu{line-height:1;border-radius:var(--kit-rad-pill);top:-3px;border:2px solid var(--kit-sheet);color:var(--kit-ondark);background:var(--kit-crimson);right:-3px;height:22px;box-shadow:var(--kit-shade-sm);font-size:.72rem;display:grid;padding:0 6px;position:absolute;font-weight:800;min-width:22px;place-items:center}
.postilaatikko-lippu[hidden]{display:none}

.page-ylaosa{padding-block:clamp(40px,6vw,80px) 20px}
.page-ylaosa h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.page-ylaosa p{font-size:1.08rem;margin:16px auto 0;color:var(--kit-fg-pale)}

.yhteys{padding:clamp(24px,3vw,40px);background:var(--kit-sheet);border-radius:var(--kit-rad-lg);border:1px solid var(--kit-line-pale);box-shadow:var(--kit-shade-md)}
.yhteys-block{gap:7px;margin-bottom:18px;display:grid}
.yhteys-block label{font-weight:700;font-size:.92rem}
.lue-section .polku{display:flex}.lue-section .polku li{padding-left:0}.lue-section .polku li::before{display:none}
.sidebar-small{max-width:320px;box-shadow:-6px 0 30px rgba(41,36,48,.21);position:fixed;background:var(--kit-sheet);height:100vh;padding:84px 22px 22px;overflow-y:auto;top:0;width:80%;transition:right .3s ease;right:-100%;z-index:1100;height:100dvh}
.sidebar-small.open{right:0}
.sidebar-small nav{display:flex;flex-direction:column}
.sidebar-small a:not(.paina){padding:14px 2px;border-bottom:1px solid var(--kit-line);font-weight:600;color:var(--kit-fg);font-size:15px}
.sidebar-small a:not(.paina):hover{color:var(--kit-pink-active)}
.sidebar-small a.paina{margin-top:22px}
.ic-ticked svg{stroke:none;fill:currentColor}
.pluspisteet-list{gap:10px;display:grid;margin-top:14px}
.pluspisteet-list li{color:var(--kit-fg);padding-left:24px;position:relative}
.pluspisteet-list li::before{left:0;background:var(--kit-flush);height:10px;border-radius:50%;width:10px;position:absolute;content:"";top:.5em}
button{font-family:inherit}

@media (max-width:980px){
  .kumppanit-layout{grid-template-columns:repeat(3,1fr)}
  .kumppani-layout{grid-template-columns:1fr}
  .kumppani-shot{width:100%;max-width:380px;justify-self:start}
  .kumppani-sidebar{position:static}
  .lue,.faktat{grid-template-columns:1fr}
  .paatos-layout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .main-rivi{display:none}
  .hampurilainen{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .sidebar-small,.rivi-verho{display:none}
}
@media (max-width:600px){
  :root{--kit-vgap:clamp(30px,7vw,48px)}
  .paatos-layout,.textbox-entry{grid-template-columns:1fr}
  .kumppanit-layout{grid-template-columns:repeat(2,1fr);gap:12px}
  .kumppani-core{padding:16px 10px}
  .tarjous-panel{flex-direction:column;align-items:stretch;padding:32px 24px}
  .tarjous-panel .paina{width:100%;white-space:normal}
  .suodatin-yhteys{flex-direction:column;border-radius:var(--kit-rad-lg)}
  .suodatin-yhteys .paina{width:100%}
  .section-kumppani{padding-top:0}
  .kumppani-shot img{aspect-ratio:1/1;max-height:46vh}
  .kumppani-layout{margin-top:0}
  .kumppani-sidebar{display:flex;flex-direction:column;margin-top:14px}
  .kumppani-header{order:1;margin-top:0}
  .kumppani-muistio{order:2}
  .kumppani-list{order:3;margin-top:16px;gap:10px}
  .kumppani-list .paina{flex:1 1 auto}
  .kumppani-band{display:none}
  .kumppani-facts{order:4}
  .kumppani-sidebar .intro{order:5}
  .faktat-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .fact{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .fact-ic{width:34px;height:34px}
  .fact-kappale{min-width:0}
  .fact-kappale dd{font-size:.92rem;overflow-wrap:anywhere}
}
