:root{
  --u-blush-100:#160c0f;
  --u-blush-200:#191012;
  --u-blush-300:#250f1c;
  --u-blush-deep:#34151f;
  --u-wisteria:#140b13;
  --u-wisteria-strong:#1b131e;

  --u-card:#191215;
  --u-card-tint:#21121f;
  --u-card-strong:#281b26;

  --u-primary:#f63379;
  --u-primary-deep:#ff2b6d;
  --u-red:#ff4d5f;
  --u-red-strong:#ff3850;
  --u-sun:#ff7a3e;
  --u-sun-strong:#fe6b26;
  --u-crimson:#fe3a4c;
  --u-periwinkle:#999fe1;

  --u-foreground:#f3f0f3;
  --u-foreground-tint:#b4a9b3;
  --u-subtle:#897b84;
  --u-edge:#3c2733;

  --u-flip:#fffdfe;
  --u-pure:#fffdfe;
  --u-valid:#37c774;
  --u-edge-tint:rgba(255,253,254,.04);
  --u-card-wash:rgba(16,10,15,.8);
  --u-veil:rgba(0,0,1,.6);
  --u-footer-wash:#0f080a;
  --u-footer:#c7bac4;
  --u-footer-strong:#f3f0f3;
  --u-footer-tint:#8c7f88;
  --u-footer-bd:rgba(255,253,254,.09);

  --u-ro-sm:14px;
  --u-ro-md:20px;
  --u-ro-lg:28px;
  --u-ro-xl:36px;
  --u-ro-pill:999px;

  --u-shadow-sm:0 6px 16px -8px rgba(0,0,1,.57);
  --u-shadow-md:0 18px 38px -18px rgba(0,0,1,.58);
  --u-shadow-lg:0 30px 60px -24px rgba(0,0,1,.67);

  --u-font-display:"Trebuchet MS","Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
  --u-font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;

  --u-wrap:1200px;
  --u-inset:24px;
  --u-section-y:clamp(56px,7vw,104px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--u-font);line-height:1.6;-webkit-font-smoothing:antialiased;margin:0;
  background:
    radial-gradient(1200px 700px at 85% -8%, var(--u-blush-300) 0%, transparent 55%),
    radial-gradient(900px 600px at -10% 8%, var(--u-wisteria) 0%, transparent 55%),
    linear-gradient(180deg, var(--u-blush-100) 0%, var(--u-card-tint) 40%, var(--u-blush-100) 100%);
  background-attachment:fixed;color:var(--u-foreground);
}
img{max-width:100%;display:block}

.holder{text-align:center;padding-block:clamp(60px,10vw,140px)}
.holder-rank{font-family:var(--u-font-display);font-weight:800;line-height:.9;font-size:clamp(6rem,20vw,13rem)}
.holder-group{gap:14px;margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center}
.intro-head{text-align:center;margin:0 auto 44px;max-width:640px}

.main-head{z-index:60;background:var(--u-card);border-bottom:1px solid var(--u-edge);position:sticky;top:0}
.main-head-body{min-height:74px;gap:20px;padding-block:12px;display:flex;justify-content:space-between;align-items:center}
.vid-window{display:block;object-fit:cover;background:#000001;pointer-events:none;width:100%;height:100%}
.vid-round{box-shadow:var(--u-shadow-sm);position:absolute;font-size:.64rem;height:28px;color:#fffdfe;border-radius:50%;place-items:center;top:50%;padding-left:2px;width:28px;left:50%;transform:translate(-50%,-50%);display:grid;line-height:1;pointer-events:none;background:rgba(0,0,1,.57)}
.vid-merkitsin{box-shadow:var(--u-shadow-sm);background:rgba(0,0,1,.6);color:#fffdfe;letter-spacing:.02em;position:absolute;gap:4px;font-weight:700;z-index:2;align-items:center;border-radius:var(--u-ro-pill);font-size:.7rem;padding:5px 9px;bottom:12px;left:12px;display:inline-flex}
.reitti{flex-wrap:wrap;display:flex;gap:6px;justify-content:flex-start;font-size:.86rem;margin-bottom:14px;color:var(--u-subtle)}
.drawer-mob{width:80%;padding:84px 22px 22px;background:var(--u-card);top:0;height:100vh;box-shadow:-6px 0 30px rgba(42,35,47,.19);overflow-y:auto;right:-100%;z-index:1100;transition:right .3s ease;position:fixed;max-width:320px;height:100dvh}
.drawer-mob.current{right:0}
.drawer-mob nav{display:flex;flex-direction:column}
.drawer-mob a:not(.ctl){color:var(--u-foreground);font-weight:600;border-bottom:1px solid var(--u-edge);padding:14px 2px;font-size:15px}
.drawer-mob a:not(.ctl):hover{color:var(--u-primary-deep)}
.drawer-mob a.ctl{margin-top:22px}
.valikko-a{font-weight:600;font-size:.96rem;color:var(--u-foreground);padding:9px 14px;transition:background .18s,color .18s;border-radius:var(--u-ro-pill)}
.valikko-a:hover{background:var(--u-card-strong);color:var(--u-primary-deep)}
.valikko-hohto{border:none;align-items:center;transition:background .18s ease,color .18s ease;color:var(--u-foreground);padding:9px 12px;display:inline-flex;font-weight:600;position:relative;text-decoration:none;font-size:.96rem;gap:7px;border-radius:var(--u-ro-pill);background:none;cursor:pointer}
.valikko-hohto:hover{background:var(--u-card-strong);color:var(--u-primary-deep)}
.valikko-hohto svg{color:var(--u-primary);width:20px;height:20px}
.valikko-hohto:hover svg{color:var(--u-primary-deep)}
.valikko-hohto-rivi{white-space:nowrap}
.valikko-hohto .juttelu-merkitsin{top:auto;right:auto;position:static}
.valikko-hohto-mob{background:none;font-weight:600;gap:9px;text-align:left;border:none;width:100%;display:flex;color:var(--u-foreground);padding:14px 2px;align-items:center;font-size:15px;text-decoration:none;cursor:pointer;border-bottom:1px solid var(--u-edge)}
.valikko-hohto-mob:hover{color:var(--u-primary-deep)}
.valikko-hohto-mob svg{width:18px;color:var(--u-primary);height:18px}

.kupla-diili{border-radius:var(--u-ro-lg);z-index:80;width:300px;position:fixed;right:22px;bottom:22px;max-width:calc(100vw - 44px);padding:20px;background:var(--u-card);box-shadow:var(--u-shadow-lg);border:1px solid var(--u-edge-tint)}
.kupla-close{line-height:1;color:var(--u-foreground-tint);position:absolute;border-radius:50%;border:none;font-size:1.1rem;width:28px;display:grid;top:12px;height:28px;padding:0;cursor:pointer;place-items:center;right:12px;background:var(--u-card-strong)}
.kupla-close:hover{background:var(--u-primary);color:var(--u-flip)}
.kupla-nimi{font-family:var(--u-font-display);font-weight:800;padding-right:26px;font-size:1.04rem}
.kupla-rivi{margin-top:4px;margin-bottom:14px;color:var(--u-foreground-tint);font-size:.86rem}
.kupla-launcher{border-radius:50%;right:22px;justify-content:center;display:none;border:none;width:60px;bottom:22px;z-index:80;align-items:center;cursor:pointer;box-shadow:var(--u-shadow-lg);background:linear-gradient(135deg,var(--u-primary),var(--u-red));color:var(--u-flip);height:60px;position:fixed}
.kupla-launcher svg{width:26px;height:26px;stroke:none;fill:currentColor}
.brandi{font-family:var(--u-font-display);font-weight:800;gap:11px;font-size:1.28rem;align-items:center;display:flex;letter-spacing:-.02em;color:var(--u-foreground)}
.brandi:hover{color:var(--u-foreground)}
.brandi-mark{color:var(--u-flip);align-items:center;border-radius:14px;justify-content:center;display:inline-flex;background:linear-gradient(135deg,var(--u-primary),var(--u-red) 55%,var(--u-sun));width:42px;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(237,77,149,.82);height:42px}
.brandi-mark svg{width:22px;height:22px}

.opas-lohko h1{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.opas-lohko h2{font-size:1.35rem;color:var(--u-primary-deep);margin-top:34px;font-weight:800}
.opas-lohko p{font-size:1.04rem;margin-top:14px;color:var(--u-foreground-tint)}
.opas-lohko p a{font-weight:600}
.opas-lohko ul{gap:10px;margin-top:14px;display:grid}
.opas-lohko li{padding-left:24px;color:var(--u-foreground-tint);position:relative}
.opas-lohko li::before{content:"";width:10px;height:10px;position:absolute;left:0;border-radius:50%;top:.5em;background:var(--u-red)}
.opas-tuki>.kuori>h2{text-align:center;margin-bottom:28px}
.round{color:var(--u-valid);line-height:1;font-size:.6rem}
h1,h2,h3,h4{font-family:var(--u-font-display);line-height:1.12;color:var(--u-foreground);letter-spacing:-.01em;margin:0}
.hours{display:grid;gap:4px;margin-top:10px}
:focus-visible{outline:3px solid var(--u-primary);border-radius:6px;outline-offset:2px}
.reitti li:not(:last-child)::after{content:"\00203a";color:var(--u-subtle);margin-left:6px}
.reitti a{color:var(--u-foreground-tint)}
.syotti{color:var(--u-foreground-tint);margin-top:14px;font-size:1.06rem}
.valikko-screen{visibility:hidden;inset:0;transition:opacity .3s ease;position:fixed;opacity:0;z-index:1090;background:var(--u-veil)}
.valikko-screen.current{opacity:1;visibility:visible}
.council-nimi{font-family:var(--u-font-display);font-weight:800;margin-bottom:14px}
.council-line{font-size:.94rem;margin-top:10px;gap:10px;align-items:flex-start;display:flex;color:var(--u-foreground-tint)}
.council-line .marker{color:var(--u-primary);flex:none}
.council-line .marker svg{height:16px;width:16px}
p{margin:0}
.alarivi-layout{display:grid;gap:40px;grid-template-columns:1.6fr 1fr 1fr}
.alarivi-brandi{font-family:var(--u-font-display);display:flex;font-weight:800;align-items:center;color:var(--u-footer-strong);margin-bottom:12px;gap:10px;font-size:1.2rem}
.alarivi-part>p:not(.alarivi-nimi){color:var(--u-footer-tint);max-width:34ch;font-size:.94rem}
.alarivi-nimi{font-size:1rem;margin-bottom:14px;color:var(--u-footer-strong);font-weight:800}
.alarivi-nav{font-size:.94rem;gap:10px;display:grid}

.luvut{grid-template-columns:1.2fr 1fr;display:grid;gap:clamp(28px,4vw,48px);align-items:start}
.luvut-infos{gap:16px;grid-template-columns:1fr 1fr;display:grid}
.credits{font-size:.86rem;border-top:1px solid var(--u-footer-bd);padding-top:22px;color:var(--u-footer-tint);margin-top:34px}
::selection{background:rgba(237,77,149,.24)}
.core-valikko{display:flex;align-items:center;gap:8px;margin-left:auto}

.main-alarivi{color:var(--u-footer);background:var(--u-footer-wash)}
.main-alarivi .kuori{padding-block:56px 22px}
.main-alarivi a{color:var(--u-footer)}
.main-alarivi a:hover{color:var(--u-footer-strong)}
.topline{text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin-bottom:10px;color:var(--u-primary);font-size:.8rem}
.tili-hohto{transition:transform .16s,background .16s,color .16s;z-index:2;color:var(--u-red);top:12px;border-radius:50%;box-shadow:var(--u-shadow-sm);cursor:pointer;border:none;background:var(--u-card-wash);place-items:center;width:36px;display:grid;position:absolute;height:36px;right:12px}
.tili-hohto svg{height:18px;width:18px}
.tili-hohto:hover{transform:scale(1.08)}
.tili-hohto.done{color:var(--u-flip);background:var(--u-red)}
.tili-hohto.done svg{fill:currentColor}
.tili-window-hohto{width:46px;top:14px;right:14px;height:46px}
.tili-window-hohto svg{height:21px;width:21px}
.tili-body{padding:16px 18px}
.tili-nimi{font-family:var(--u-font-display);font-weight:800;font-size:1.12rem}
.tili-nimi a{color:inherit;outline-offset:3px;text-decoration:none}
.tili-nimi a::after{inset:0;z-index:1;position:absolute;content:""}
.tili-nimi span{font-weight:600;color:var(--u-subtle)}
.tili-loc{display:flex;font-size:.88rem;margin-top:4px;gap:6px;align-items:center;color:var(--u-foreground-tint)}
.tili-loc .marker svg{width:14px;height:14px;color:var(--u-primary)}
.tili-juttelu{gap:7px;justify-content:center;font-weight:700;padding:9px 14px;box-shadow:var(--u-shadow-sm);font-size:.9rem;border-radius:var(--u-ro-pill);display:inline-flex;width:100%;position:relative;z-index:2;background:linear-gradient(135deg,var(--u-primary),var(--u-red));color:var(--u-flip);transition:transform .16s ease,box-shadow .16s ease;align-items:center;margin-top:12px}
.tili-juttelu svg{height:16px;width:16px}
.tili-juttelu:hover{box-shadow:var(--u-shadow-md);transform:translateY(-1px)}
.tili-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;margin-top:22px;align-items:start;gap:clamp(24px,4vw,52px)}
.tili-part{min-width:0}
.tili-window{box-shadow:var(--u-shadow-md);position:relative;border-radius:var(--u-ro-lg);overflow:hidden;background:linear-gradient(160deg,var(--u-blush-200),var(--u-wisteria-strong));margin:0}
.tili-window img{display:block;object-fit:cover;height:auto;aspect-ratio:4/5;width:100%}
.tili-pager{place-items:center;z-index:2;transform:translateY(-50%);transition:transform .15s ease,background .15s ease;top:50%;display:grid;box-shadow:var(--u-shadow-md);border-radius:50%;border:none;background:var(--u-card-wash);width:44px;cursor:pointer;height:44px;position:absolute;color:var(--u-primary-deep)}
.tili-pager:hover{background:var(--u-card-wash);transform:translateY(-50%) scale(1.07)}
.tili-pager svg{width:22px;height:22px}
.tili-left{left:12px}
.tili-fwd{right:12px}
.tili-track{margin-top:12px;gap:10px;flex-wrap:wrap;display:flex}
.tili-unit{padding:0;transition:transform .15s ease,border-color .15s ease;overflow:hidden;background:var(--u-card-strong);flex:0 0 auto;border:2px solid transparent;aspect-ratio:3/4;width:72px;border-radius:var(--u-ro-sm);cursor:pointer;box-shadow:var(--u-shadow-sm)}
.tili-unit img{width:100%;display:block;object-fit:cover;height:100%}
.tili-unit:hover{transform:translateY(-2px)}
.tili-unit.done{border-color:var(--u-primary)}
.tili-part [hidden]{display:none!important}
.tili-vid{display:block;object-fit:contain;max-height:70vh;width:100%;background:#000001;height:auto}
.tili-unit-vid{position:relative}

.kuori{max-width:var(--u-wrap);padding-inline:var(--u-inset);margin-inline:auto}
button{font-family:inherit}
.luvut-council{box-shadow:var(--u-shadow-md);border-radius:var(--u-ro-lg);background:var(--u-card);padding:24px;border:1px solid var(--u-edge-tint)}
.opas-lohko .reitti{display:flex}.opas-lohko .reitti li{padding-left:0}.opas-lohko .reitti li::before{display:none}
.argumentit-set{gap:10px;margin-top:14px;display:grid}
.argumentit-set li{color:var(--u-foreground);position:relative;padding-left:24px}
.argumentit-set li::before{left:0;background:var(--u-red);top:.5em;content:"";height:10px;position:absolute;border-radius:50%;width:10px}

.yhteys-frame{max-width:640px}
.yhteys-holder{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
.tuki-unit{box-shadow:var(--u-shadow-sm);border-radius:var(--u-ro-md);border:1px solid var(--u-edge);margin-bottom:14px;overflow:hidden;background:var(--u-card)}
.tuki-unit summary{align-items:center;padding:20px 22px;color:var(--u-foreground);justify-content:space-between;font-family:var(--u-font-display);font-weight:800;display:flex;font-size:1.05rem;cursor:pointer;list-style:none;gap:16px}
.tuki-unit summary::-webkit-details-marker{display:none}
.tuki-unit summary::after{content:"+";border-radius:50%;transition:transform .25s ease;display:grid;color:var(--u-primary);font-size:1.2rem;place-items:center;width:30px;background:var(--u-card-strong);flex:none;height:30px}
.tuki-unit[open] summary::after{transform:rotate(45deg);background:var(--u-primary);color:var(--u-flip)}
.tuki-reply{padding:0 22px 20px;color:var(--u-foreground-tint)}
.brandi,.valikko-a,.drawer-mob a,.ctl,.reitti a,.main-alarivi a,.paikallinen-nav a,.tili-juttelu{text-decoration:none}
ul{padding:0;list-style:none;margin:0}
.time{font-size:.9rem;gap:12px;justify-content:space-between;display:flex;color:var(--u-foreground-tint)}
.kartta-card{aspect-ratio:4/3;box-shadow:var(--u-shadow-md);border-radius:var(--u-ro-lg);border:1px solid var(--u-edge-tint);overflow:hidden;background:var(--u-wisteria);position:relative}
.kartta-card.kartta-defer{cursor:pointer}
.kartta-holder{display:grid;position:absolute;text-align:center;padding:20px;gap:10px;inset:0;background:linear-gradient(160deg,var(--u-wisteria-strong),var(--u-card-strong));place-items:center}
.kartta-holder p{font-weight:700;color:var(--u-foreground)}
.kartta-marker{color:var(--u-red);filter:drop-shadow(0 10px 12px rgba(250,76,97,.48))}
.kartta-marker svg{stroke:none;height:40px;fill:currentColor;width:40px}
.kartta-card iframe{height:100%;width:100%;inset:0;position:absolute;border:0}
.kartta-card.is-live .kartta-holder{display:none}
.yhteys-viesti{font-weight:700}
.yhteys-viesti-done{color:var(--u-valid)}
.yhteys-viesti-off{color:var(--u-primary-deep)}

.toggle{cursor:pointer;border:none;display:none;flex-direction:column;gap:5px;padding:6px;z-index:1105;background:none}
.toggle span{transition:transform .3s ease,opacity .3s ease;width:26px;display:block;height:3px;background:var(--u-foreground);border-radius:2px}
.toggle.current span:nth-child(1){transform:rotate(45deg) translate(7px,7px)}
.toggle.current span:nth-child(2){opacity:0}
.toggle.current span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}

.merkitsin-tag{border:1px solid var(--u-edge);gap:8px;font-weight:700;border-radius:var(--u-ro-pill);display:inline-flex;letter-spacing:.06em;padding:8px 16px;color:var(--u-primary);background:var(--u-card);align-items:center;font-size:.82rem;box-shadow:var(--u-shadow-sm)}
.merkitsin-tag svg{width:16px;height:16px;color:var(--u-red)}

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

.opas{display:grid;align-items:center;gap:clamp(28px,4vw,56px);grid-template-columns:1fr 1fr}
.opas-rivi>p:not(.topline){font-size:1.04rem;color:var(--u-foreground-tint);margin-top:16px}
.opas-alaotsikko{font-family:var(--u-font-display);margin-top:22px;color:var(--u-primary-deep);font-size:1.1rem;font-weight:800}
.accent{background:linear-gradient(92deg,var(--u-primary),var(--u-red) 60%,var(--u-sun));color:transparent;-webkit-background-clip:text;background-clip:text}

.paikallinen{gap:32px;display:flex;flex-direction:column}
.paikallinen-group h2{margin-bottom:16px;color:var(--u-foreground);font-size:1.15rem;font-weight:800}
.paikallinen-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.paikallinen-nav a{transition:transform .14s,box-shadow .14s,color .14s;font-size:.92rem;padding:13px 16px;display:flex;box-shadow:var(--u-shadow-sm);border:1px solid var(--u-edge);justify-content:space-between;border-radius:var(--u-ro-md);gap:10px;font-weight:600;color:var(--u-foreground);background:var(--u-card);align-items:center}
.paikallinen-nav a:hover{transform:translateY(-3px);color:var(--u-primary-deep);box-shadow:var(--u-shadow-md)}
.paikallinen-nav a .marker{display:grid;color:var(--u-primary);flex:none;place-items:center}
.paikallinen-nav a .marker svg{width:16px;height:16px}
svg{display:block}

.diili-zone{flex-wrap:wrap;display:flex;position:relative;box-shadow:var(--u-shadow-lg);justify-content:space-between;gap:30px;align-items:center;background:linear-gradient(100deg,var(--u-primary-deep),var(--u-red) 60%,var(--u-sun));border-radius:var(--u-ro-xl);overflow:hidden;color:var(--u-flip);padding:clamp(38px,5vw,64px)}
.diili-blob{border-radius:50%;background:rgba(255,253,254,.1);height:320px;position:absolute;right:-90px;width:320px;top:-120px}
.diili-rivi{z-index:2;position:relative}
.diili-rivi h2{color:var(--u-flip);max-width:16ch}
.diili-rivi p{max-width:46ch;color:rgba(255,253,254,.93);margin-top:10px}
.diili-zone .ctl{z-index:2;position:relative}
figure{margin:0}

.juttelu-merkitsin{padding:0 6px;border-radius:var(--u-ro-pill);display:grid;color:var(--u-flip);font-size:.72rem;line-height:1;top:-3px;min-width:22px;box-shadow:var(--u-shadow-sm);place-items:center;background:var(--u-crimson);height:22px;border:2px solid var(--u-card);right:-3px;font-weight:800;position:absolute}
.juttelu-merkitsin[hidden]{display:none}
.reitti a:hover{color:var(--u-primary-deep)}

.ctl{
  padding:14px 26px;gap:9px;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
  white-space:nowrap;display:inline-flex;border:1.5px solid transparent;font-weight:700;
  text-align:center;align-items:center;cursor:pointer;font-size:1rem;
  border-radius:var(--u-ro-pill);
}
.ctl svg{height:18px;width:18px}
.ctl-sm{font-size:.9rem;padding:10px 18px}
.ctl-big{padding:17px 32px;font-size:1.06rem}
.ctl-stretch{width:100%}
.ctl-main{background:linear-gradient(95deg,var(--u-sun),var(--u-red) 55%,var(--u-primary));box-shadow:0 14px 26px -12px rgba(250,76,97,.73);color:var(--u-flip)}
.ctl-main:hover{color:var(--u-flip);box-shadow:0 20px 34px -12px rgba(250,76,97,.85);transform:translateY(-2px)}
.ctl-ghost{color:var(--u-primary);border-color:var(--u-edge);background:var(--u-card)}
.ctl-ghost:hover{background:var(--u-card-strong);transform:translateY(-2px);color:var(--u-primary-deep)}
.ctl-clear{color:var(--u-primary-deep);background:var(--u-pure)}
.ctl-clear:hover{box-shadow:var(--u-shadow-md);color:var(--u-primary-deep);transform:translateY(-2px)}
.opas-rivi .ctl{margin-top:26px}
.tili-vid-start{z-index:3;border-radius:50%;place-items:center;border:none;cursor:pointer;height:78px;background:rgba(0,0,1,.48);color:#fffdfe;font-size:1.9rem;top:50%;display:grid;transform:translate(-50%,-50%);transition:transform .15s ease,background .15s ease;padding-left:6px;position:absolute;line-height:1;width:78px;box-shadow:var(--u-shadow-md);left:50%}
.tili-vid-start:hover{transform:translate(-50%,-50%) scale(1.07);background:rgba(0,0,1,.69)}
.tili-drawer{position:sticky;top:96px}
.tili-header{flex-wrap:wrap;display:flex;gap:12px;align-items:center;margin-top:14px}
.tili-header .merkitsin-tag{flex:none}
.tili-syotti{line-height:1.1;font-family:var(--u-font-display);font-weight:800;font-size:clamp(1.7rem,3.2vw,2.3rem)}
.tili-syotti span{color:var(--u-subtle);font-weight:600;font-size:.62em}
.tili-viesti{align-items:center;color:var(--u-foreground-tint);margin-top:10px;gap:7px;display:flex;font-size:1.02rem}
.tili-viesti .marker svg{height:18px;color:var(--u-primary);width:18px}
.tili-viesti a{font-weight:600;text-decoration:none;transition:border-color .15s ease;color:var(--u-primary-deep);border-bottom:1px solid transparent}
.tili-viesti a:hover{border-bottom-color:currentColor}
.tili-infos{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.tili-drawer .syotti{margin-top:18px}
.tili-set{flex-wrap:wrap;margin-top:24px;display:flex;gap:12px}
.info{align-items:center;border-radius:var(--u-ro-md);box-shadow:var(--u-shadow-sm);background:var(--u-card);border:1px solid var(--u-edge-tint);padding:14px 16px;gap:12px;display:flex}
.info-pic{color:var(--u-primary);background:var(--u-card-strong);flex:none;border-radius:12px;height:40px;width:40px;display:grid;place-items:center}
.info-pic svg{height:18px;width:18px}
.info-rivi dt{letter-spacing:.05em;font-size:.78rem;text-transform:uppercase;color:var(--u-subtle)}
.info-rivi dd{font-family:var(--u-font-display);margin:2px 0 0;font-weight:800;font-size:.98rem}

.yhteys{box-shadow:var(--u-shadow-md);background:var(--u-card);padding:clamp(24px,3vw,40px);border-radius:var(--u-ro-lg);border:1px solid var(--u-edge-tint)}
.yhteys-unit{display:grid;gap:7px;margin-bottom:18px}
.yhteys-unit label{font-weight:700;font-size:.92rem}
.pic-done svg{fill:currentColor;stroke:none}
.title-2{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:800}
.tili-card{transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--u-ro-lg);background:var(--u-card);box-shadow:var(--u-shadow-md);position:relative;overflow:hidden;border:1px solid var(--u-edge-tint)}
.tili-card:hover{box-shadow:var(--u-shadow-lg);transform:translateY(-6px)}
.tili-kasvot{position:relative;overflow:hidden;aspect-ratio:1/1;background:linear-gradient(160deg,var(--u-blush-200),var(--u-wisteria-strong))}
.tili-kasvot img{height:100%;width:100%;display:block;object-fit:cover}
.tili-merkitsin{background:var(--u-card-wash);top:12px;align-items:center;font-weight:700;color:var(--u-valid);gap:6px;font-size:.72rem;display:inline-flex;border-radius:var(--u-ro-pill);box-shadow:var(--u-shadow-sm);padding:5px 10px;left:12px;z-index:2;position:absolute}
.lohko{padding-block:var(--u-section-y)}
.lohko-second{background:var(--u-card-strong)}

.kysely-yhteys{box-shadow:var(--u-shadow-md);padding:12px;background:var(--u-card);border-radius:var(--u-ro-pill);margin:0 auto;border:1px solid var(--u-edge-tint);display:flex;gap:12px}
.kysely-yhteys .textbox{box-shadow:none;font-size:1.06rem;background:transparent;border:none}
.kysely-yhteys .textbox:focus{box-shadow:none}
.kysely-yhteys+.paikallinen{margin-top:40px}

.view-avaus{padding-block:clamp(40px,6vw,80px) 20px}
.view-avaus h1{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800}
.view-avaus p{margin:16px auto 0;color:var(--u-foreground-tint);font-size:1.08rem}
.textbox-line{gap:18px;display:grid;grid-template-columns:1fr 1fr}
.textbox{border-radius:var(--u-ro-sm);font-family:inherit;color:var(--u-foreground);padding:13px 16px;transition:border-color .16s,box-shadow .16s;width:100%;background:var(--u-card-tint);font-size:1rem;border:1.5px solid var(--u-edge)}
.textbox:focus{border-color:var(--u-primary);outline:none;box-shadow:0 0 0 3px rgba(237,77,149,.14)}
textarea.textbox{min-height:140px;resize:vertical}

@media (max-width:980px){
  .tilit-layout{grid-template-columns:repeat(3,1fr)}
  .tili-layout{grid-template-columns:1fr}
  .tili-window{width:100%;max-width:380px;justify-self:start}
  .tili-drawer{position:static}
  .opas,.luvut{grid-template-columns:1fr}
  .alarivi-layout{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .core-valikko{display:none}
  .toggle{display:flex;position:fixed;top:22px;right:18px}
}
@media (min-width:861px){
  .drawer-mob,.valikko-screen{display:none}
}
@media (max-width:600px){
  :root{--u-section-y:clamp(30px,7vw,48px)}
  .alarivi-layout,.textbox-line{grid-template-columns:1fr}
  .tilit-layout{grid-template-columns:repeat(2,1fr);gap:12px}
  .tili-body{padding:16px 10px}
  .diili-zone{flex-direction:column;align-items:stretch;padding:32px 24px}
  .diili-zone .ctl{width:100%;white-space:normal}
  .kysely-yhteys{flex-direction:column;border-radius:var(--u-ro-lg)}
  .kysely-yhteys .ctl{width:100%}
  .lohko-tili{padding-top:0}
  .tili-window img{aspect-ratio:1/1;max-height:46vh}
  .tili-layout{margin-top:0}
  .tili-drawer{display:flex;flex-direction:column;margin-top:14px}
  .tili-header{order:1;margin-top:0}
  .tili-viesti{order:2}
  .tili-set{order:3;margin-top:16px;gap:10px}
  .tili-set .ctl{flex:1 1 auto}
  .tili-track{display:none}
  .tili-infos{order:4}
  .tili-drawer .syotti{order:5}
  .luvut-infos{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .info{padding:11px 12px;gap:8px;flex-direction:column;align-items:flex-start}
  .info-pic{width:34px;height:34px}
  .info-rivi{min-width:0}
  .info-rivi dd{font-size:.92rem;overflow-wrap:anywhere}
}
