/* Riitan Koti – tyylit. Fontit: SIL Open Font License, ks. fonts/LICENSE-*.txt */
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/unbounded-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/unbounded-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/figtree-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/figtree-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Figtree';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/figtree-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/figtree-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/caveat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/caveat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:#F4FBF9}
html{scroll-behavior:smooth}
a{color:#0B6B5D}a:hover{color:#08493F}
input,select,textarea{font:inherit}
.disp{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.04em}
.hand{font-family:'Caveat','Comic Sans MS',cursive;font-weight:700}
.tag{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#DDF5F0;color:#0B6B5D;border-radius:999px;padding:7px 14px;font-weight:800;font-size:12px;letter-spacing:0.1em;text-transform:uppercase}
.tag-lemon{background:#A3CCEE;color:#0D2B27}
details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font-size:28px;line-height:1;color:#0B6B5D;transition:transform .3s ease}
details[open] summary::after{transform:rotate(45deg)}
details[open] p{animation:rk-up .4s ease both}
@keyframes rk-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes rk-draw{to{stroke-dashoffset:0}}
@keyframes rk-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes rk-spin{to{transform:rotate(360deg)}}
@keyframes rk-twinkle{0%,100%{opacity:.25;transform:scale(.55) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes rk-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-16px) rotate(2deg)}}
@keyframes rk-drip{0%{opacity:0;transform:translateY(0) scaleY(1)}12%{opacity:1}100%{opacity:0;transform:translateY(170px) scaleY(1.5)}}
@keyframes mistA{from{transform:translate(-30px,18px) scale(.2);opacity:0}25%{opacity:1}to{transform:none;opacity:0}}
@keyframes mistB{from{transform:translate(-30px,18px) scale(.2);opacity:0}25%{opacity:1}to{transform:none;opacity:0}}
@keyframes rk-sq{0%{left:0;opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes rk-marquee{to{transform:translateX(-50%)}}
@keyframes rk-shimmer{from{background-position:160% 0,0 0}to{background-position:-60% 0,0 0}}
@keyframes rk-stamp{from{transform:scale(2.4) rotate(-16deg);opacity:0}to{transform:scale(1) rotate(-8deg);opacity:1}}
@keyframes rk-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}50%{transform:rotate(7deg)}75%{transform:rotate(-3deg)}}
@keyframes rk-jelly{0%{transform:scale(1,1)}30%{transform:scale(1.12,.86)}42%{transform:scale(.9,1.1)}55%{transform:scale(1.05,.95)}68%{transform:scale(.98,1.02)}80%{transform:scale(1.01,.99)}100%{transform:scale(1,1)}}
@keyframes rk-drawer{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes rk-fade{from{opacity:0}to{opacity:1}}
.hero-in>*{animation:rk-up .9s cubic-bezier(.2,.7,.2,1) both}
.hero-in>*:nth-child(2){animation-delay:.08s}.hero-in>*:nth-child(3){animation-delay:.16s}.hero-in>*:nth-child(4){animation-delay:.24s}.hero-in>*:nth-child(5){animation-delay:.32s}
.twinkle{transform-box:fill-box;transform-origin:50% 50%;animation:rk-twinkle 2.4s ease-in-out infinite}
.float3d{animation:rk-float 6s ease-in-out infinite}
.drip{position:absolute;width:7px;height:16px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(127,217,200,.9));opacity:0;z-index:4;pointer-events:none}
.swept .drip{animation:rk-drip 1.8s ease-in forwards}
.mist{position:absolute;pointer-events:none;width:0;height:0}
.mist i{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFFFFF,rgba(223,247,242,.9) 60%,rgba(127,217,200,.5));box-shadow:0 0 0 1px rgba(127,217,200,.5)}
.mA i{animation:mistA .95s ease-out both}
.mB i{animation:mistB .95s ease-out both}
.glass{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cta{position:relative;overflow:hidden;isolation:isolate;transition:color .35s ease}
.cta::before{content:"";position:absolute;left:var(--rx,50%);top:var(--ry,50%);width:0;height:0;border-radius:50%;background:var(--fill,#A3CCEE);transform:translate(-50%,-50%);transition:width .55s cubic-bezier(.2,.8,.2,1),height .55s cubic-bezier(.2,.8,.2,1);z-index:-1;pointer-events:none}
.cta:hover::before,.cta:focus-visible::before{width:var(--d,480px);height:var(--d,480px)}
.cta:hover,.cta:focus-visible{color:var(--fg,#0D2B27) !important}
.cta-lemon{--fill:#A3CCEE;--fg:#0D2B27}
.cta-teal{--fill:#0B6B5D;--fg:#FFFFFF}
.cta-white{--fill:#FFFFFF;--fg:#0D2B27}
.swap{display:inline-flex;flex-direction:column;height:1.3em;line-height:1.3em;overflow:hidden;vertical-align:middle}
.swap>span{display:block;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.cta:hover .swap>span,.cta:focus-visible .swap>span{transform:translateY(-100%)}
.arrow-dot{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cta:hover .arrow-dot{transform:rotate(-45deg)}
.jelly:hover{animation:rk-jelly .75s ease both}
.lift{transition:transform .3s ease,box-shadow .3s ease}
.lift:hover{transform:translateY(-6px);box-shadow:0 24px 50px -30px rgba(13,43,39,.55)}
.badge-rot{animation:rk-spin 16s linear infinite}
.badge:hover .badge-rot{animation-duration:3s}
.bottle-btn{background:none;border:0;padding:0 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font:inherit;color:#0D2B27;position:relative;transition:filter .4s ease,opacity .4s ease}
.bottle-btn:focus-visible{outline:3px solid #0B6B5D;outline-offset:6px;border-radius:16px}
.bottle-svg{display:block;width:100%;max-width:150px;height:auto;transform-origin:50% 96%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.bottle-btn:hover .bottle-svg{transform:translateY(-14px) rotate(-5deg)}
.shelf-cell{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:24px 6px 0;border-bottom:16px solid #FFFFFF;box-shadow:0 22px 24px -20px rgba(13,43,39,.4)}
.lbl-sec{border-top:1.5px dashed #CFE3DE;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.lbl-h{font-size:11px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#4E6A65}
input[type=range].meter{-webkit-appearance:none;appearance:none;width:100%;height:16px;border-radius:999px;background:linear-gradient(90deg,#7FD9C8,#C9D3CF 50%,#B98A5E);outline:none;margin:0}
input[type=range].meter::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:38px;height:38px;border-radius:50%;background:#FFFFFF;border:5px solid #0B6B5D;box-shadow:0 8px 18px rgba(13,43,39,.3);cursor:grab}
input[type=range].meter::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:#FFFFFF;border:5px solid #0B6B5D;box-shadow:0 8px 18px rgba(13,43,39,.3);cursor:grab}
input[type=range].meter:focus-visible{outline:3px solid #0B6B5D;outline-offset:6px}
.chk .tick{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .5s ease .1s}
.chk.done .tick{stroke-dashoffset:0}
.chk .box{transition:background .3s ease,border-color .3s ease}
.chk.done .box{background:#0B6B5D !important;border-color:#0B6B5D !important}
.chk .spark{opacity:0;transform:scale(.4);transition:opacity .4s ease .2s,transform .5s cubic-bezier(.2,1.6,.4,1) .2s}
.chk.done .spark{opacity:1;transform:scale(1)}
.chk-final{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}
.all-done .chk-final{opacity:1;transform:none}
.note{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.note:hover{transform:rotate(0deg) translateY(-8px) scale(1.03) !important;box-shadow:0 30px 50px -28px rgba(13,43,39,.55) !important}
.stamp{animation:rk-stamp .55s cubic-bezier(.2,1.6,.4,1) both}
.wet{transform-origin:50% 100%;cursor:pointer}
.wet:hover{animation:rk-wobble .8s ease}
.shine-word{background-image:linear-gradient(100deg,rgba(255,255,255,0) 38%,rgba(255,255,255,.9) 50%,rgba(255,255,255,0) 62%),linear-gradient(180deg,#7FD9C8 0%,#1C8B79 100%);background-size:260% 100%,100% 100%;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:rk-shimmer 6s linear infinite}
.marquee-track{display:flex;width:max-content;animation:rk-marquee 38s linear infinite}
.dusty{position:relative;overflow:hidden}
.dust{position:absolute;left:0;top:0;right:0;bottom:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse 22% 16% at 20% 30%,rgba(120,104,82,.22),rgba(120,104,82,0) 70%),radial-gradient(ellipse 18% 12% at 72% 64%,rgba(120,104,82,.2),rgba(120,104,82,0) 70%),radial-gradient(ellipse 30% 10% at 45% 85%,rgba(120,104,82,.16),rgba(120,104,82,0) 70%),radial-gradient(circle at 1px 1px,rgba(96,84,66,.32) 1px,rgba(96,84,66,0) 1.8px) 0 0/15px 15px,rgba(206,196,178,.42);backdrop-filter:grayscale(.75) blur(1.6px);-webkit-backdrop-filter:grayscale(.75) blur(1.6px);clip-path:inset(0 0 0 0);transition:clip-path 1.25s cubic-bezier(.65,0,.35,1),visibility 0s linear 1.3s}
.clean .dust{clip-path:inset(0 0 0 100%);visibility:hidden}
.squeegee{position:absolute;top:0;bottom:0;left:0;width:30px;margin-left:-15px;z-index:7;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.95) 42%,#0D2B27 42%,#0D2B27 62%,#7FD9C8 62%,#7FD9C8 100%)}
.clean .squeegee{animation:rk-sq 1.25s cubic-bezier(.65,0,.35,1) both}
.squeegee-hero{position:absolute;top:-6%;height:112%;width:58px;z-index:4;pointer-events:none;left:-12%;opacity:0}
.burger>span{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.drawer-item{animation:rk-drawer .6s cubic-bezier(.2,.8,.2,1) both}
.menu-link{transition:color .25s ease,transform .25s ease}
.menu-link:hover{color:#A3CCEE !important;transform:translateX(10px)}
.check-path{stroke-dasharray:40;stroke-dashoffset:40;animation:rk-draw .6s .25s ease forwards}
.pop{animation:rk-pop .5s ease both}
.fade-in{animation:rk-fade .3s ease both}
.show-sm{display:none !important}
@supports (animation-timeline: view()){.reveal{animation:rk-up linear both;animation-timeline:view();animation-range:entry 0% entry 35%}}
@media (max-width: 760px){.hide-sm{display:none !important}.show-sm{display:inline-flex !important}.night-sec{height:auto !important}.night-stage{position:relative !important;height:auto !important}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}.dust,.squeegee,.squeegee-hero{display:none !important}}

/* --- Static site states (replace the design canvas runtime) --- */
[hidden]{display:none !important}
.skip{position:absolute;left:-9999px;top:12px;z-index:300;background:#0D2B27;color:#FFFFFF;padding:12px 18px;border-radius:999px;font-weight:800;text-decoration:none}
.skip:focus{left:16px;color:#FFFFFF}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #0B6B5D;outline-offset:3px}
html:not(.js) .dust,html:not(.js) .squeegee,html:not(.js) .squeegee-hero{display:none}
#valikko{display:none}
.menu-open #valikko{display:block}
html.menu-open{overflow:hidden}
.menu-open .burger>span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-open .burger>span:nth-child(2){opacity:0}
.menu-open .burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.toast{display:none}
.toast.show{display:block}
.mist i{opacity:0}
.bottle-btn{opacity:.78;filter:saturate(.7)}
.bottle-btn.is-active{opacity:1;filter:none}
.bottle-lift{display:block;width:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.bottle-btn.is-active .bottle-lift{transform:translateY(-10px) scale(1.06)}
.lbl-panel{grid-area:1 / 1;opacity:0;transform:translateY(14px);pointer-events:none;visibility:hidden;transition:opacity .45s ease,transform .45s ease,visibility 0s linear .45s}
.lbl-panel.is-active{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .45s ease,transform .45s ease,visibility 0s}
.chip{border:1.5px solid #CFE3DE;background:#FFFFFF;color:#0D2B27;border-radius:999px;padding:10px 16px;min-height:44px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.chip.is-on{background:#0D2B27;color:#FFFFFF;border-color:#0D2B27}
.chip-radio{position:relative;display:inline-flex}
.chip-radio input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip-radio span{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;padding:10px 16px;border:1.5px solid #CFE3DE;border-radius:999px;background:#F4FBF9;color:#0D2B27;font-weight:800;font-size:14px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.chip-radio input:checked+span{background:#0B6B5D;color:#FFFFFF;border-color:#0B6B5D}
.chip-radio input:focus-visible+span{outline:3px solid #0B6B5D;outline-offset:3px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.is-sending{opacity:.6;pointer-events:none}
/* --- Text pages (privacy notice, thank-you page) --- */
.page{max-width:760px;margin:0 auto;padding:140px 24px 96px}
.page h1{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.04em;font-size:clamp(2rem,5vw,3rem);line-height:1.05;margin:0 0 12px}
.page h2{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:1.25rem;line-height:1.2;margin:40px 0 10px}
.page p,.page li{color:#2F4F49}
.page ul{padding-left:1.2em;margin:8px 0}
.page li{margin:4px 0}
.page .meta{color:#4E6A65;font-size:15px}
.simple-header{position:absolute;top:0;left:0;right:0;padding:20px 24px}
.simple-header a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#0D2B27}

/* ======================================================================
   Lisäykset 10/2026: näkymän asetukset, chat, pikapalkki, vaiheittainen
   tarjouslomake, aluekartta, vuodenajat, tahrajahti, palvelusivujen
   siivoushetket, lahjakortti, muistilista ja pienet lomakkeet.
   ====================================================================== */

/* --- Tekstin koko ja liikkeet (Aa-valikko) --- */
html.teksti-1 body{zoom:1.15}
html.teksti-2 body{zoom:1.3}
html.liike-pois{scroll-behavior:auto}
html.liike-pois *,html.liike-pois *::before,html.liike-pois *::after{animation:none !important;transition:none !important}
html.liike-pois .dust,html.liike-pois .squeegee,html.liike-pois .squeegee-hero,html.liike-pois .drip{display:none !important}
html.nav-kapea .hide-sm{display:none !important}
html.nav-kapea .show-sm{display:inline-flex !important}
.aa-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:1.5px solid #CFE3DE;background:#FFFFFF;color:#0D2B27;font:inherit;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;font-size:15px;letter-spacing:-0.02em;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.aa-btn:hover,.aa-btn[aria-expanded="true"]{background:#A3CCEE;border-color:#A3CCEE}
.simple-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nakyma{position:fixed;z-index:140;top:74px;right:16px;width:min(330px,calc(100vw - 32px));box-sizing:border-box;background:#FFFFFF;border-radius:22px;padding:18px;box-shadow:0 30px 60px -24px rgba(13,43,39,.5),0 0 0 1px rgba(13,43,39,.06);font-family:'Figtree','Segoe UI',system-ui,sans-serif;color:#0D2B27}
.nakyma-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.nakyma-top strong{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:18px}
.nakyma-x{width:44px;height:44px;border-radius:50%;border:0;background:#F4FBF9;font:inherit;font-weight:800;cursor:pointer;color:#0D2B27}
.nakyma-h{margin:12px 0 8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#4E6A65}
.nakyma-rivi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.nakyma-rivi button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:72px;border:1.5px solid #CFE3DE;border-radius:14px;background:#F4FBF9;font:inherit;font-weight:800;font-size:13px;color:#0D2B27;cursor:pointer;padding:8px 4px}
.nakyma-rivi button span{font-family:'Unbounded','Segoe UI',sans-serif;line-height:1}
.nakyma-rivi button[aria-pressed="true"],.nakyma-liike[aria-pressed="true"]{background:#0B6B5D;border-color:#0B6B5D;color:#FFFFFF}
.nakyma-liike{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;border:1.5px solid #CFE3DE;border-radius:14px;background:#F4FBF9;font:inherit;font-weight:800;font-size:15px;color:#0D2B27;cursor:pointer;padding:10px 14px}
.nakyma-note{margin:12px 0 0;font-size:13px;color:#4E6A65}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer;text-align:left}

/* --- Puhelimen aukiolo --- */
.auki{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.auki-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#9DB8B2}
.auki.is-open .auki-dot{background:#2EAD5B;box-shadow:0 0 0 0 rgba(46,173,91,.6);animation:rk-ping 2s ease-out infinite}
@keyframes rk-ping{0%{box-shadow:0 0 0 0 rgba(46,173,91,.55)}80%,100%{box-shadow:0 0 0 9px rgba(46,173,91,0)}}

/* --- Chat ja pikapalkki --- */
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:110;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 18px;border:0;border-radius:999px;background:#0D2B27;color:#FFFFFF;font:inherit;font-family:'Figtree','Segoe UI',system-ui,sans-serif;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 18px 36px -16px rgba(13,43,39,.7);transition:transform .25s ease,background .25s ease}
.chat-fab:hover{transform:translateY(-3px);background:#0B6B5D}
.chat-fab svg{color:#A3CCEE}
.chat-badge{display:none;position:absolute;top:6px;right:8px;width:12px;height:12px;border-radius:50%;background:#E0584F;border:2px solid #FFFFFF}
.chat-uusi .chat-badge{display:block}
html.tawk-on .chat-fab{display:none}
.chat-panel{position:fixed;right:20px;bottom:88px;z-index:125;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 120px);overflow:auto;box-sizing:border-box;background:#FFFFFF;border-radius:26px;padding:18px;box-shadow:0 40px 80px -30px rgba(13,43,39,.6),0 0 0 1px rgba(13,43,39,.06);font-family:'Figtree','Segoe UI',system-ui,sans-serif;color:#0D2B27;animation:rk-up .35s cubic-bezier(.2,.8,.2,1) both}
.chat-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.chat-top strong{font-size:20px}
.chat-x{width:44px;height:44px;border-radius:50%;border:0;background:#F4FBF9;font:inherit;font-weight:800;cursor:pointer;color:#0D2B27}
.chat-status{margin:4px 0 12px;font-size:15px;color:#2F4F49}
.chat-list{display:flex;flex-direction:column;gap:8px}
.chat-btn{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;min-height:62px;padding:10px 14px;border:1.5px solid #CFE3DE;border-radius:16px;background:#F4FBF9;color:#0D2B27;text-decoration:none;font:inherit;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.chat-btn:hover{background:#E2F7F3;border-color:#7FD9C8;color:#0D2B27}
.chat-btn svg{flex:0 0 auto;color:#0B6B5D}
.chat-btn span{display:flex;flex-direction:column;line-height:1.25}
.chat-btn strong{font-size:16px}
.chat-btn small{font-size:13px;color:#4E6A65;font-weight:600}
.chat-live{background:#0B6B5D;border-color:#0B6B5D;color:#FFFFFF}
.chat-live:hover{background:#08493F;color:#FFFFFF}
.chat-live svg{color:#A3CCEE}
.chat-live small{color:#D3EFE9}
.chat-live.is-loading{opacity:.75;cursor:progress}
.chat-quote{background:#A3CCEE;border-color:#A3CCEE}
.chat-quote:hover{background:#7FB6E6;border-color:#7FB6E6}
.chat-note{margin:-2px 2px 4px;font-size:12.5px;color:#4E6A65}
.pikapalkki{display:none}
@media (max-width:760px){
  .chat-fab{display:none}
  .chat-panel{right:12px;left:12px;width:auto;bottom:84px;max-height:calc(100vh - 110px)}
  .pikapalkki{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:115;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -10px 30px -18px rgba(13,43,39,.5);font-family:'Figtree','Segoe UI',system-ui,sans-serif}
  .pikapalkki a,.pikapalkki button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:50px;border-radius:14px;border:1.5px solid #CFE3DE;background:#FFFFFF;color:#0D2B27;font:inherit;font-weight:800;font-size:15px;text-decoration:none;cursor:pointer}
  .pikapalkki svg{color:#0B6B5D}
  .pikapalkki .pk-tarjous{background:#A3CCEE;border-color:#A3CCEE}
  html.on-pikapalkki body{padding-bottom:72px}
  html.menu-open .pikapalkki,html.kirjoittaa .pikapalkki{display:none}
}
.alue-vihje{display:block;min-height:0;font-size:13.5px;font-weight:700;line-height:1.35}
.alue-vihje:empty{display:none}
.alue-vihje.is-kylla{color:#0B6B5D}
.alue-vihje.is-ei{color:#8A5A0C}
.alue-vihje.is-virhe{color:#9B1C1C}
.rk-toast{position:fixed;left:50%;bottom:24px;z-index:150;transform:translate(-50%,30px);opacity:0;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;background:#0D2B27;color:#FFFFFF;border-radius:20px;padding:14px 20px;font-family:'Figtree','Segoe UI',system-ui,sans-serif;font-size:16px;line-height:1.4;box-shadow:0 20px 40px -18px rgba(13,43,39,.7);transition:opacity .3s ease,transform .35s cubic-bezier(.2,.8,.2,1)}
.rk-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.rk-toast a{color:#A3CCEE;font-weight:800}
@media (max-width:760px){.rk-toast{bottom:84px}}

/* --- Yhteiset lomakekentät --- */
.fld{padding:13px 14px;border:1.5px solid #CFE3DE;border-radius:12px;background:#F4FBF9;min-height:48px;box-sizing:border-box;width:100%;color:#0D2B27}
textarea.fld{min-height:90px;resize:vertical}
.lbl{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:15px;min-width:0}
.opt{font-weight:500;color:#4E6A65}
.chip-radio input[type=checkbox]+span::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border-radius:4px;border:2px solid #9DB8B2;background:#FFFFFF;box-sizing:border-box;flex:0 0 auto}
.chip-radio input[type=checkbox]:checked+span::before{border-color:#A3CCEE;background:#A3CCEE url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2 5 8.6 9.6 3.4' fill='none' stroke='%230D2B27' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat}
input:focus-visible.fld,textarea:focus-visible.fld,select:focus-visible{outline:3px solid #0B6B5D;outline-offset:2px}

/* --- Vaiheittainen tarjouslomake --- */
.wiz-head{display:flex;align-items:center;gap:14px}
.wiz-head .wiz-title{font-size:26px;line-height:1.1;flex:1}
.wiz-bottle{width:42px;height:auto;flex:0 0 42px;display:block}
.wiz-liquid{transform-box:fill-box;transform-origin:50% 100%;transform:translateY(100%);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.wiz-count{margin:-4px 0 0;font-size:14px;font-weight:800;color:#0B6B5D}
.wiz-dots{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.wiz-dots li{flex:1;height:6px;border-radius:3px;background:#E2EEEA;transition:background .3s ease}
.wiz-dots li.is-done{background:#7FD9C8}
.wiz-dots li.is-now{background:#0B6B5D}
.wiz-step{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.wiz-step:focus{outline:none}
.wiz-legend{font-weight:800;font-size:20px;padding:0;margin-bottom:4px;font-family:'Unbounded','Segoe UI',sans-serif;letter-spacing:-0.03em;line-height:1.2}
.wiz-sub{font-size:14px;font-weight:800;color:#4E6A65;margin-top:4px}
.wiz-choices{display:flex;flex-wrap:wrap;gap:8px}
.wiz-row{display:flex;flex-wrap:wrap;gap:12px}
.wiz-row>.lbl{flex:1 1 160px}
.wiz-note{margin:0;padding:10px 14px;border-radius:12px;background:#EAF4FC;font-size:14px;font-weight:700}
.wiz-nav{display:flex;gap:10px;justify-content:space-between;align-items:center}
.wiz-nav button{min-height:52px;border-radius:999px;font:inherit;font-weight:800;font-size:16px;cursor:pointer;padding:12px 22px}
.wiz-back{background:transparent;border:2px solid #CFE3DE;color:#0D2B27}
.wiz-next{margin-left:auto;background:#0B6B5D;border:0;color:#FFFFFF}
.wiz-next:hover{background:#08493F}
.wiz-privacy{margin:0;font-size:13px;color:#4E6A65}
html:not(.js) .wiz-nav,html:not(.js) .wiz-dots,html:not(.js) .wiz-count,html:not(.js) .wiz-bottle{display:none}
.wiz-on .wiz-step{display:none}
.wiz-on .wiz-step.is-current{display:flex;animation:rk-up .45s cubic-bezier(.2,.8,.2,1) both}
.wiz-on .wiz-step:not([data-step="5"]) .wiz-submit{display:none}

/* --- Siivoammeko teillä? --- */
.alue-wrap{max-width:1240px;margin:0 auto;background:#FFFFFF;border-radius:40px;padding:40px;box-shadow:0 40px 80px -60px rgba(13,43,39,.55);display:flex;flex-wrap:wrap;gap:32px 48px;align-items:center;position:relative}
.alue-text{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:16px}
.alue-label{font-weight:800;font-size:15px}
.alue-row{display:flex;gap:10px;flex-wrap:wrap}
.alue-row input{flex:1 1 160px;font-size:22px;font-weight:800;letter-spacing:.08em;padding:12px 16px;min-height:56px;border:2px solid #CFE3DE;border-radius:16px;background:#F4FBF9;box-sizing:border-box;color:#0D2B27}
.alue-row button{min-height:56px;border:0;border-radius:999px;padding:0 26px;background:#A3CCEE;color:#0D2B27;font:inherit;font-weight:800;font-size:17px;cursor:pointer}
.alue-tulos{border-radius:18px;font-size:17px}
.alue-tulos:empty{display:none}
.alue-tulos.is-kylla{background:#E2F7F3;padding:16px 18px}
.alue-tulos.is-ei{background:#EAF4FC;padding:16px 18px}
.alue-tulos.is-virhe{background:#FDECEC;padding:16px 18px;color:#9B1C1C}
.alue-tulos a{font-weight:800;white-space:nowrap}
.alue-lista{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;color:#4E6A65;font-size:15px}
.alue-lista strong{color:#0D2B27}
.alue-kartta{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:12px}
.alue-svg{border-radius:28px;overflow:hidden;background:#E2F7F3}
.alue-svg svg{display:block;width:100%;height:auto}
.alue-svg [data-kunta] path{transition:fill .35s ease,opacity .35s ease}
.alue-svg [data-kunta].is-on path{fill:#A3CCEE}
.alue-svg [data-kunta].is-dim{opacity:.45}
.alue-gmap{border-radius:28px;overflow:hidden;background:#E2F7F3;aspect-ratio:4/3}
.alue-gmap iframe{display:block;width:100%;height:100%;border:0}
.alue-ala{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.alue-gbtn{min-height:48px;border:2px solid #0B6B5D;border-radius:999px;background:#FFFFFF;color:#0B6B5D;font:inherit;font-weight:800;padding:0 20px;cursor:pointer}
.alue-gbtn:hover{background:#0B6B5D;color:#FFFFFF}
.alue-note{font-size:13px;color:#4E6A65;flex:1 1 220px}

/* --- Vuodenaika --- */
.kausi-wrap{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:32px 56px;align-items:center}
.kausi-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:18px}
.kausi-text p{margin:0;color:#2F4F49;font-size:18px;max-width:520px}
.kausi-cta{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.kausi-cta a:not(.cta){font-weight:800}
.kausi-extra{margin:0;padding:12px 16px;border-radius:14px;background:#EAF4FC;font-weight:700;align-self:flex-start}
.kausi-scene{flex:1.3 1 460px;min-width:0;position:relative;border-radius:32px;overflow:hidden;aspect-ratio:640/420;box-shadow:0 40px 80px -50px rgba(13,43,39,.6);touch-action:pan-y;cursor:crosshair;background:#F4F4F1}
.kausi-art,.kausi-art svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.kausi-dirt{position:absolute;inset:0;width:100%;height:100%;display:block}
.kausi-hint{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(13,43,39,.85);color:#FFFFFF;border-radius:999px;padding:8px 16px;font-weight:800;font-size:14px;white-space:nowrap;pointer-events:none;transition:opacity .4s ease}
.kausi-hint.is-hidden,.is-clean .kausi-hint{opacity:0}
.kausi-ok{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:#A3CCEE;color:#0D2B27;border-radius:999px;padding:10px 18px;font-weight:800;white-space:nowrap;pointer-events:none}
.kausi-ok:empty{display:none}
.is-clean .kausi-ok{animation:rk-pop .5s ease both}
.kausi-auto{position:absolute;right:14px;bottom:14px;min-height:44px;border:0;border-radius:999px;background:#FFFFFF;color:#0D2B27;font:inherit;font-weight:800;font-size:14px;padding:0 16px;cursor:pointer;box-shadow:0 10px 20px -12px rgba(13,43,39,.6)}
.kausi-lasta,.scene-lasta{position:absolute;top:0;bottom:0;width:18px;margin-left:-9px;opacity:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.95) 40%,#0D2B27 40%,#0D2B27 62%,#7FD9C8 62%)}
.kausi-chip{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;background:#0D2B27;color:#FFFFFF;border-radius:999px;padding:9px 16px 9px 12px;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 12px 24px -14px rgba(13,43,39,.6)}
.kausi-chip:hover{color:#A3CCEE}
.kausi-chip svg{color:#A3CCEE}
.kausi-pulse{animation:rk-jelly .9s ease both}
html:not(.js) #kausi{display:none}

/* --- Tahrajahti --- */
.tahra{position:absolute;z-index:8;width:52px;height:52px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%;transition:transform .2s ease}
.tahra svg{display:block;width:100%;height:100%}
.tahra:hover{transform:scale(1.12) rotate(-6deg)}
.tahra:focus-visible{outline:3px solid #0B6B5D;outline-offset:2px}
.tahra.pois{animation:rk-tahra .8s ease forwards;pointer-events:none}
.tahra.pois::after{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,#FFFFFF 0,rgba(255,255,255,.9) 40%,rgba(127,217,200,0) 70%);animation:rk-pop .5s ease both}
@keyframes rk-tahra{0%{transform:none;opacity:1}40%{transform:rotate(-20deg) scale(1.1);opacity:.8}100%{transform:rotate(30deg) scale(.2);opacity:0}}

/* --- Palvelusivujen siivoushetket --- */
.svc-art.svc-scene{flex:1 1 380px;max-width:500px;min-width:0;display:flex;flex-direction:column;gap:12px;margin:0 auto}
.scene-box{position:relative;border-radius:28px;overflow:hidden;background:#FFFFFF;box-shadow:0 30px 60px -36px rgba(13,43,39,.55);touch-action:pan-y}
.scene-art{display:block;width:100%;height:auto}
.scene-dirt{position:absolute;inset:0;width:100%;height:100%;display:block}
.scene-hint{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:rgba(13,43,39,.85);color:#FFFFFF;border-radius:999px;padding:7px 14px;font-weight:800;font-size:13px;white-space:nowrap;pointer-events:none;transition:opacity .4s ease;z-index:6}
.scene-hint.is-hidden,.is-clean .scene-hint{opacity:0}
.scene-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.scene-btn{min-height:48px;border:0;border-radius:999px;background:#0B6B5D;color:#FFFFFF;font:inherit;font-weight:800;font-size:15px;padding:0 20px;cursor:pointer}
.scene-btn:hover{background:#08493F}
.scene-btn[disabled]{opacity:.6;cursor:default}
.scene-status{font-weight:800;color:#0B6B5D;font-size:15px;line-height:1.35}
.scene-status:empty{display:none}
.scene-count{font-weight:800;font-size:14px;color:#4E6A65}
.scene-info{margin:0;background:#FFFFFF;border-radius:16px;padding:12px 16px;font-size:15px;color:#2F4F49;box-shadow:0 10px 30px -24px rgba(13,43,39,.6)}
.scene-info a{font-weight:800}
.svc-scene.is-clean .scene-box{box-shadow:0 0 0 4px #A3CCEE,0 30px 60px -36px rgba(13,43,39,.55)}
.ikkuna-kiilto{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .8s ease .3s}
.is-clean .ikkuna-kiilto{opacity:1}
.ikkuna-kiilto i{position:absolute;width:26px;height:26px;background:#FFFFFF;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);animation:rk-twinkle 2.4s ease-in-out infinite}
/* Kotisiivous: pohjapiirros */
.room-btn{position:absolute;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:transparent;cursor:pointer;border-radius:6px;transition:background .25s ease}
.room-btn:hover{background:rgba(163,204,238,.18)}
.room-btn:focus-visible{outline:3px solid #0B6B5D;outline-offset:-3px}
.room-btn span{background:rgba(13,43,39,.86);color:#FFFFFF;border-radius:999px;padding:5px 11px;font-weight:800;font-size:13px;white-space:nowrap}
.room-btn.is-done span{background:#A3CCEE;color:#0D2B27}
.room-btn.is-done span::before{content:"✓ "}
.pohja-dust{transition:opacity .6s ease,transform .6s ease;transform-box:fill-box;transform-origin:50% 50%}
.pohja-dust.pois{opacity:0;transform:scale(.6)}
/* Suursiivous: sohva */
.scene-finds{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.scene-finds .find{transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.scene-finds.poimittu .find{opacity:0}
.scene-sofa{position:absolute;height:auto;z-index:4;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.scene-sofa:active{cursor:grabbing}
.scene-sofa svg{display:block;width:100%;height:auto}
.sofa-grip{position:absolute;left:50%;top:-6px;transform:translate(-50%,-100%);background:#A3CCEE;color:#0D2B27;border-radius:999px;padding:4px 12px;font-weight:800;font-size:16px;box-shadow:0 8px 16px -10px rgba(13,43,39,.6)}
.is-open .sofa-grip{display:none}
/* Muuttosiivous: tarkastuskierros */
.spot-btn{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:3px solid #FFFFFF;background:#8E7FE0;color:#FFFFFF;font:inherit;font-weight:800;font-size:16px;cursor:pointer;z-index:5;box-shadow:0 0 0 0 rgba(142,127,224,.6);animation:rk-ping2 2s ease-out infinite}
.spot-btn.is-done{background:#0B6B5D;animation:none;font-size:0}
.spot-btn.is-done::after{content:"✓";font-size:18px}
@keyframes rk-ping2{0%{box-shadow:0 0 0 0 rgba(142,127,224,.55)}80%,100%{box-shadow:0 0 0 12px rgba(142,127,224,0)}}
.grime{transition:opacity .6s ease}
.grime.pois{opacity:0}
.tark-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 12px}
.tark-lista li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:#4E6A65}
.tark-lista li span{flex:0 0 26px;height:26px;border-radius:50%;background:#ECE8FF;color:#5B4BC4;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.tark-lista li.is-done{color:#0D2B27}
.tark-lista li.is-done span{background:#0B6B5D;color:#FFFFFF;font-size:0}
.tark-lista li.is-done span::after{content:"✓";font-size:14px}
/* Kotiapu */
.apu-btn{position:absolute;display:flex;align-items:flex-start;justify-content:center;border:0;padding:0;background:transparent;cursor:pointer;border-radius:14px}
.apu-btn:hover{background:rgba(163,204,238,.16)}
.apu-btn:focus-visible{outline:3px solid #0B6B5D;outline-offset:-3px}
.apu-btn span{margin-top:-14px;background:rgba(13,43,39,.86);color:#FFFFFF;border-radius:999px;padding:5px 11px;font-weight:800;font-size:13px;white-space:nowrap}
.apu-btn.is-done span{background:#A3CCEE;color:#0D2B27}
.apu-btn.is-done span::before{content:"✓ "}
.svc-scene .kukka-pirtea,.svc-scene .pyykki-pino,.svc-scene .kannu{opacity:0}
.svc-scene .kukka-nuupahtanut,.svc-scene .kukka-pirtea,.svc-scene .pyykki-sotku,.svc-scene .pyykki-pino{transition:opacity .6s ease .9s}
.svc-scene .ostokset{opacity:0;transform:translateY(34px);transition:opacity .4s ease,transform .7s cubic-bezier(.2,1.5,.4,1)}
.tehty-kukka .kukka-nuupahtanut{opacity:0}
.tehty-kukka .kukka-pirtea{opacity:1}
.tehty-kukka .kannu{animation:rk-kannu 1.6s ease both}
.kannu .vesi circle{animation:rk-vesi .45s linear infinite}
.kannu .vesi circle:nth-child(2){animation-delay:.15s}
.kannu .vesi circle:nth-child(3){animation-delay:.3s}
@keyframes rk-kannu{0%{opacity:0;transform:translateY(-12px)}15%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes rk-vesi{from{transform:translate(0,0);opacity:1}to{transform:translate(-6px,26px);opacity:0}}
.tehty-pyykki .pyykki-sotku{opacity:0;transition-delay:0s}
.tehty-pyykki .pyykki-pino{opacity:1;transition-delay:.4s}
.tehty-kauppa .ostokset{opacity:1;transform:none}
/* Yrityssiivous: kello */
.scene-clock{position:absolute;right:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:8px;background:rgba(13,43,39,.9);color:#FFFFFF;border-radius:14px;padding:8px 12px;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.toimisto-kello{flex:1 1 220px;display:flex;flex-direction:column;gap:8px;font-weight:800;font-size:14px;color:#A3CCEE}
.svc-scene-dark .scene-status{color:#A3CCEE}
.svc-scene-dark .scene-btn{background:#A3CCEE;color:#0D2B27}
.svc-scene-dark .scene-btn:hover{background:#7FB6E6}
@media (max-width:760px){
  .svc-art.svc-scene{flex-basis:100%;max-width:100%}
  .room-btn span,.apu-btn span{font-size:11.5px;padding:4px 8px}
  .spot-btn{width:34px;height:34px;margin:-17px 0 0 -17px;font-size:14px}
}

/* --- Muuttajan muistilista --- */
.ml-wrap{max-width:1240px;margin:0 auto;background:#FFFFFF;border-radius:36px;padding:40px;box-shadow:0 40px 80px -60px rgba(13,43,39,.55)}
.ml-head{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.ml-head p{margin:0;color:#4E6A65}
.ml-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.ml-actions button{min-height:48px;border:0;border-radius:999px;background:#0B6B5D;color:#FFFFFF;font:inherit;font-weight:800;padding:0 22px;cursor:pointer}
.ml-count{font-weight:800;color:#0B6B5D}
.ml-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.ml-col h3{margin:0 0 10px;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:17px;color:#5B4BC4}
.ml-col label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1.5px dashed #E4DFFF;cursor:pointer}
.ml-col input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:#0B6B5D}
.ml-col input:checked+span{text-decoration:line-through;color:#4E6A65}
@media print{
  html.tulostaa-muistilista body>[data-ref="root"]>*:not(main),html.tulostaa-muistilista main>*:not(#muistilista){display:none !important}
  html.tulostaa-muistilista #muistilista{padding:0 !important}
  html.tulostaa-muistilista .ml-actions{display:none}
  html.tulostaa-muistilista .ml-wrap{box-shadow:none;padding:0;border-radius:0}
  .pikapalkki,.chat-fab,.chat-panel,.nakyma,.rk-toast,.tahra{display:none !important}
  html.teksti-1 body,html.teksti-2 body{zoom:1}
  html.on-pikapalkki body{padding-bottom:0 !important}
}

/* --- Lahjakortti (etusivun nosto) --- */
.lahja-card{max-width:1240px;margin:0 auto;background:#0A3D36;color:#FFFFFF;border-radius:36px;padding:40px;display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;overflow:hidden;position:relative}
.lahja-art{flex:0 1 300px;min-width:200px;margin:0 auto}
.lahja-art svg{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 30px rgba(0,0,0,.35))}
.lahja-text{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px}
.lahja-text p{margin:0;color:#BFE3DB;font-size:18px;max-width:560px}

/* --- Työhakemus --- */
.toihin-card{max-width:1240px;margin:0 auto;background:#A3CCEE;border-radius:36px;padding:44px;display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-start;position:relative}
.toihin-intro{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.toihin-intro p{margin:0;color:#3A3416}
.toihin-form{flex:1.4 1 440px;min-width:0;background:#FFFFFF;border-radius:28px;padding:26px;box-shadow:0 30px 60px -44px rgba(13,43,39,.6)}
.toihin-fields{display:flex;flex-direction:column;gap:16px}
.toihin-fields fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}
.toihin-fields legend{font-weight:800;font-size:16px;padding:0;margin-bottom:8px}

/* --- Lahjakorttisivu --- */
.gc-sec{padding:40px 24px 90px}
.gc-form{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.gc-grid{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:flex-start}
.gc-controls{flex:1 1 400px;min-width:0;background:#FFFFFF;border-radius:30px;padding:30px;display:flex;flex-direction:column;gap:22px;box-shadow:0 40px 80px -60px rgba(13,43,39,.55)}
.gc-controls fieldset,.gc-order fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:10px}
.gc-controls legend,.gc-order legend{font-weight:800;font-size:17px;padding:0;margin-bottom:8px}
.gc-malli{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gc-malli label{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:800;font-size:13px;cursor:pointer}
.gc-malli input{position:absolute;opacity:0;width:1px;height:1px}
.gc-malli i{display:block;width:100%;aspect-ratio:1.414;border-radius:12px;border:3px solid transparent;box-sizing:border-box;box-shadow:0 8px 16px -10px rgba(13,43,39,.5)}
.gc-malli input:checked+i{border-color:#0D2B27}
.gc-malli input:focus-visible+i{outline:3px solid #0B6B5D;outline-offset:3px}
.gc-stepper{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gc-stepper button{width:52px;height:52px;border-radius:50%;border:2px solid #CFE3DE;background:#F4FBF9;font:inherit;font-size:24px;font-weight:800;cursor:pointer;color:#0D2B27}
.gc-stepper input{width:84px;text-align:center;font-size:22px;font-weight:800}
.gc-stepper span{font-weight:800;font-size:17px}
.gc-count{font-size:13px;color:#4E6A65;font-weight:600;align-self:flex-end}
.gc-preview{flex:1 1 420px;min-width:0;position:sticky;top:96px;display:flex;flex-direction:column;gap:12px;align-items:center}
.gc-pre-h{margin:0;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#4E6A65}
.gc-flipwrap{width:100%;max-width:520px;perspective:1600px;container-type:inline-size}
.gc-printview [data-gc="p-front"],.gc-printview [data-gc="p-back"]{container-type:inline-size;width:100%;max-width:640px}
.gc-flipper{position:relative;width:100%;aspect-ratio:1.414;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.gc-flipper.is-flipped{transform:rotateY(180deg)}
.gc-card{position:absolute;inset:0;border-radius:22px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 30px 60px -30px rgba(13,43,39,.6);font-family:'Figtree','Segoe UI',system-ui,sans-serif}
.gc-back{transform:rotateY(180deg);background:#FFFFFF;color:#0D2B27;padding:7cqw 8cqw;box-sizing:border-box;display:flex;flex-direction:column;gap:2.4cqw;font-size:3.2cqw;line-height:1.4}
.gc-back strong{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:4.6cqw}
.gc-back ol{margin:0;padding-left:1.2em}
.gc-back p{margin:0;color:#4E6A65;font-size:2.8cqw}
.gc-front{display:flex;flex-direction:column;padding:6cqw 7cqw;box-sizing:border-box;gap:1.6cqw;font-size:3.2cqw}
.gc-deco{position:absolute;inset:0;pointer-events:none}
.gc-deco svg{width:100%;height:100%;display:block}
.gc-top{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2cqw}
.gc-logo{display:inline-flex;align-items:center;gap:1.6cqw;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:3.6cqw}
.gc-logo svg{width:6.4cqw;height:6.4cqw}
.gc-label{font-weight:800;letter-spacing:.2em;font-size:2.6cqw;border:.4cqw solid currentColor;border-radius:999px;padding:.8cqw 2.2cqw}
.gc-what{position:relative;margin-top:3cqw;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.04em;line-height:1;font-size:8.4cqw}
.gc-amount{position:relative;font-weight:800;font-size:4.6cqw}
.gc-msg{position:relative;font-family:'Caveat','Comic Sans MS',cursive;font-weight:700;font-size:5.6cqw;line-height:1.05;margin-top:1.4cqw;min-height:1em}
.gc-names{position:relative;display:flex;flex-wrap:wrap;gap:.6cqw 4cqw;font-size:3.1cqw}
.gc-names b{font-weight:800}
.gc-bottom{position:relative;margin-top:auto;display:flex;justify-content:space-between;gap:3cqw;font-size:2.6cqw;font-weight:700;opacity:.9}
.gc-bottom i{font-style:normal;border-bottom:.3cqw dotted currentColor;padding:0 4cqw}
.gc-ribbon{position:absolute;right:-12cqw;top:6cqw;transform:rotate(35deg);background:#E0584F;color:#FFFFFF;font-weight:800;letter-spacing:.2em;font-size:2.4cqw;padding:1cqw 14cqw}
.is-sample{opacity:.55}
.malli-kiilto{background:linear-gradient(135deg,#0B6B5D,#14A08A);color:#FFFFFF}
.malli-joulu{background:linear-gradient(135deg,#0A3D36,#0B6B5D);color:#FFFFFF}
.malli-kukka{background:linear-gradient(135deg,#FFD9C4,#FFF4EC);color:#0D2B27}
.malli-sitruuna{background:linear-gradient(135deg,#A3CCEE,#D6E9F9);color:#0D2B27}
.gc-malli .malli-kiilto,.gc-malli .malli-joulu,.gc-malli .malli-kukka,.gc-malli .malli-sitruuna{display:block}
.gc-flip{min-height:44px;border:2px solid #0B6B5D;border-radius:999px;background:#FFFFFF;color:#0B6B5D;font:inherit;font-weight:800;padding:0 18px;cursor:pointer}
.gc-order{background:#FFFFFF;border-radius:30px;padding:30px;display:flex;flex-direction:column;gap:16px;box-shadow:0 40px 80px -60px rgba(13,43,39,.55)}
.gc-order>p{margin:0;color:#4E6A65}
.gc-how{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;padding:0;list-style:none;counter-reset:gc}
.gc-how li{background:#FFFFFF;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px;counter-increment:gc;box-shadow:0 30px 60px -50px rgba(13,43,39,.5)}
.gc-how li::before{content:counter(gc);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#A3CCEE;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800}
.gc-how strong{font-size:18px}
.gc-how span{color:#4E6A65}
.gc-printview{max-width:820px;margin:0 auto;padding:120px 24px 80px;display:flex;flex-direction:column;gap:20px}
.gc-printview .gc-card{position:relative;inset:auto;width:100%;aspect-ratio:1.414;backface-visibility:visible;transform:none}
.gc-print-fields{display:flex;flex-wrap:wrap;gap:12px}
.gc-print-fields .lbl{flex:1 1 200px}
html.gc-tulostus #sisalto>*:not(.gc-printview){display:none !important}
@media print{
  html.gc-tulostus body>[data-ref="root"]>*:not(main){display:none !important}
  html.gc-tulostus .gc-printview{padding:0;gap:8mm}
  html.gc-tulostus .gc-printview [data-gc="p-front"],html.gc-tulostus .gc-printview [data-gc="p-back"]{width:148mm;max-width:none}
  html.gc-tulostus .gc-printview .gc-card{width:100%;box-shadow:none;border-radius:4mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html.gc-tulostus .gc-noprint{display:none !important}
}

/* --- Siirrä tai peru käynti --- */
.sp-sec{padding:40px 24px 100px}
.sp-wrap{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:28px 40px;align-items:flex-start}
.sp-form{flex:1.5 1 460px;min-width:0;background:#FFFFFF;border-radius:30px;padding:30px;box-shadow:0 40px 80px -60px rgba(13,43,39,.55)}
.sp-fields{display:flex;flex-direction:column;gap:16px}
.sp-fields fieldset{border:0;margin:0;padding:0;min-width:0}
.sp-fields legend{font-weight:800;font-size:16px;padding:0;margin-bottom:10px}
.sp-check{border-radius:16px;padding:14px 16px;font-weight:700}
.sp-check:empty{display:none}
.sp-check.is-ok{background:#E2F7F3;color:#0B6B5D}
.sp-check.is-late{background:#EAF4FC;color:#3A3416}
.sp-check.is-bad{background:#FDECEC;color:#9B1C1C}
.sp-check a{font-weight:800}
.sp-side{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.sp-card{background:#0B6B5D;color:#FFFFFF;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:10px}
.sp-card a{color:#A3CCEE;font-weight:800;font-size:22px}
.sp-card .auki{color:#FFFFFF}
.sp-card2{background:#FFFFFF;border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:8px;box-shadow:0 30px 60px -50px rgba(13,43,39,.5)}
.sp-card2 p{margin:0;color:#4E6A65}
.scene-more{align-self:flex-start;font-weight:800}
.gc-deco g[class^="d-"]{display:none}
.gc-card.malli-kiilto .gc-deco g.d-kiilto,.gc-card.malli-joulu .gc-deco g.d-joulu,.gc-card.malli-kukka .gc-deco g.d-kukka,.gc-card.malli-sitruuna .gc-deco g.d-sitruuna{display:inline}
@media (max-width:760px){
  .alue-wrap,.ml-wrap,.lahja-card{padding:24px;border-radius:30px}
  .toihin-card{padding:24px;border-radius:30px}
  .toihin-form,.gc-controls,.gc-order,.sp-form{padding:20px;border-radius:24px}
  .alue-row input{flex:1 1 110px;min-width:0}
}
@media (max-width:420px){
  header .glass>a .disp{font-size:16px !important;white-space:nowrap}
  header .glass>a{gap:8px !important}
  header .glass .aa-btn{width:40px;height:40px;font-size:14px}
  header .glass [data-action="menu-toggle"]{padding:10px 14px !important}
  header .glass{gap:8px !important;padding-left:12px !important}
}

.has-scene h1.disp{font-size:clamp(2.1rem,4.4vw,4.3rem) !important}
.apu-btn.apu-ala{align-items:flex-end}
.apu-btn.apu-ala span{margin:0 0 -18px}
@media (max-width:560px){
  html.teksti-1 header .glass [data-action="menu-toggle"],html.teksti-2 header .glass [data-action="menu-toggle"]{font-size:0 !important;gap:0 !important;padding:12px !important;min-width:44px;justify-content:center}
  html.teksti-2 header .glass>a .disp{font-size:15px !important}
}
@media (max-width:560px){html.teksti-1 .disp,html.teksti-2 .disp{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}}
@media (max-width:760px){.gc-preview{order:-1;position:relative;top:auto}}

/* === TARINA START === */
/* Yrityksen koko nimi, Tarinamme-sivu ja vanhat kuvat (10/2026) */
.logo-nimi{display:flex;flex-direction:column;font-size:16px;line-height:1.04;letter-spacing:-0.03em}
.logo-nimi>span{white-space:nowrap}
header .glass>a .logo-nimi{font-size:16px !important}
.valikko-nimi{font-size:18px}
.footer-nimi{font-size:20px;line-height:1.12;color:#FFFFFF}
.footer-nimi>span{display:block}
.hero-pilli{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;max-width:100%;box-sizing:border-box;background:rgba(255,255,255,.75);border-radius:20px;padding:8px 16px;font-size:14px;font-weight:700;line-height:1.35;color:#0B6B5D}
.hero-pilli strong{font-weight:800}
.hero-pilli-piste{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#0B6B5D}
.hero-pilli-alue{white-space:nowrap}
.hero-pilli-alue::before{content:"· "}
.shine-nimi{text-align:center;font-size:min(8.4vw,8.6rem);line-height:1;margin-bottom:0;padding:.06em 0 .16em;user-select:none}
.shine-nimi>span{display:block;white-space:nowrap}
html.teksti-1 .shine-nimi{font-size:min(7.3vw,7.5rem)}
html.teksti-2 .shine-nimi{font-size:min(6.4vw,6.6rem)}
@media (max-width:560px){
  .hero-pilli{align-items:flex-start}
  .hero-pilli-piste{margin-top:6px}
  .hero-pilli-alue{display:block;font-weight:600}
  .hero-pilli-alue::before{content:none}
}
/* Headerin nimi mahtuu puhelimeen: koko seuraa näytön leveyttä */
@media (max-width:480px){
  header .glass{gap:8px !important;padding-left:12px !important}
  header .glass>a{gap:8px !important}
  header .glass .aa-btn{width:40px;height:40px;font-size:14px}
  header .glass [data-action="menu-toggle"]{padding:10px 14px !important}
  header .glass>a svg{width:32px;height:32px}
  header .glass>a .logo-nimi{font-size:clamp(11px,calc((100vw - 262px) / 10.6),14px) !important}
}
@media (max-width:380px){
  header .glass [data-action="menu-toggle"]{font-size:0 !important;gap:0 !important;padding:12px !important;min-width:44px;justify-content:center}
  header .glass>a .logo-nimi{font-size:clamp(11px,calc((100vw - 194px) / 10.6),14px) !important}
}
@media (max-width:760px){
  html.teksti-2 header .glass>a .logo-nimi{font-size:15px !important}
}
@media (max-width:560px){
  html.teksti-1 header .glass>a .logo-nimi{font-size:clamp(10px,calc((86.96vw - 194px) / 10.6),14px) !important}
  html.teksti-2 header .glass>a .logo-nimi{font-size:clamp(8px,calc((76.92vw - 154px) / 10.6),14px) !important}
  html.teksti-2 header .glass>a svg{display:none}
}
@media (max-width:340px){
  html.teksti-1 header .glass>a .logo-nimi{font-size:clamp(10px,calc((86.96vw - 154px) / 10.6),14px) !important}
  html.teksti-1 header .glass>a svg{display:none}
}

/* Yksinkertaisten sivujen (tietosuoja, kiitos) yläreuna */
.simple-header .logo-nimi{font-size:clamp(11px,calc((100vw - 150px) / 10.6),16px)}
html.teksti-1 .simple-header .logo-nimi{font-size:clamp(10px,calc((86.96vw - 150px) / 10.6),16px)}
html.teksti-2 .simple-header .logo-nimi{font-size:clamp(9px,calc((76.92vw - 150px) / 10.6),16px)}
@media (max-width:340px){html.teksti-2 .simple-header a svg{display:none}html.teksti-2 .simple-header .logo-nimi{font-size:13px}}

/* Tuoteselosteiden merkki ja lahjakortin logo koko nimellä */
.tuote-merkki{display:flex;flex-direction:column;gap:2px;font-weight:800;font-size:12px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.gc-logo-nimi{display:flex;flex-direction:column;font-size:2.6cqw;line-height:1.08}

/* Valokuvat kuin albumissa: valkoinen reunus, teippi ja käsin kirjoitettu teksti */
.print{margin:0;position:relative;background:#FFFFFF;padding:9px 9px 0;box-sizing:border-box;box-shadow:0 1px 2px rgba(13,43,39,.1),0 20px 34px -18px rgba(13,43,39,.5);transform:rotate(var(--r,0deg));transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.print img{display:block;width:100%;height:auto;aspect-ratio:var(--ar,3/4);object-fit:cover;background:#E7EDEB}
.print figcaption{font-family:'Caveat','Comic Sans MS',cursive;font-weight:700;font-size:21px;line-height:1.05;color:#0D2B27;text-align:center;padding:9px 4px 11px}
.print::before{content:"";position:absolute;left:50%;top:-11px;width:64px;height:22px;transform:translateX(-50%) rotate(-4deg);background:rgba(163,204,238,.82);box-shadow:0 1px 2px rgba(13,43,39,.15);z-index:2}
.print:hover{transform:rotate(0deg) translateY(-6px);box-shadow:0 1px 2px rgba(13,43,39,.1),0 30px 44px -18px rgba(13,43,39,.55)}

/* Etusivu: Meistä-osion albumi vanhalla rappausseinällä */
.albumi{flex:1 1 100%;position:relative;isolation:isolate;overflow:hidden;border-radius:36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr);gap:28px 48px;align-items:center;padding:clamp(22px,4vw,48px);box-shadow:inset 0 0 0 1px rgba(13,43,39,.06);background:#EEF0EE}
.albumi-seina{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.albumi-teksti{background:rgba(255,255,255,.9);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 40px -30px rgba(13,43,39,.5)}
.albumi-kasi{font-size:28px;line-height:1;color:#0B6B5D}
.albumi-h{margin:0;font-size:clamp(1.3rem,2.2vw,1.75rem);line-height:1.1}
.albumi-teksti p{margin:0;color:#2F4F49;font-size:17px}
.albumi-linkki{color:#0B6B5D;font-weight:800;text-decoration:none}
.albumi-linkki:hover{text-decoration:underline}
.albumi-kuvat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:center;padding:16px 4px;text-decoration:none;color:inherit}
.albumi-kuvat .print:nth-child(odd){margin-top:26px}
@media (max-width:900px){.albumi{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){
  .albumi-kuvat{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
  .albumi-kuvat .print:nth-child(odd){margin-top:0}
  .albumi-kuvat .print figcaption{font-size:19px}
}

/* Tarinamme-sivu */
.pyyhi{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:18px}
.pyyhi .print{width:min(100%,340px)}
.pyyhi-kuva{position:relative}
.pyyhi-kuva img{aspect-ratio:576/800}
.pyyhi-kuva canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:crosshair;transition:opacity .8s ease}
.pyyhi.valmis .pyyhi-kuva canvas{opacity:0;pointer-events:none}
.pyyhi-vihje{display:none;position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(13,43,39,.85);color:#FFFFFF;border-radius:999px;padding:8px 16px;font-weight:800;font-size:14px;white-space:nowrap;pointer-events:none;transition:opacity .4s ease}
.js .pyyhi-vihje{display:block}
.pyyhi.koskettu .pyyhi-vihje,.pyyhi.valmis .pyyhi-vihje{opacity:0}
.pyyhi-ala{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;min-height:48px}
.pyyhi-nappi{display:none;align-items:center;min-height:44px;border:2px solid #0B6B5D;border-radius:999px;background:rgba(255,255,255,.75);color:#0B6B5D;font:inherit;font-weight:800;font-size:15px;padding:0 18px;cursor:pointer}
.js .pyyhi-nappi{display:inline-flex}
.pyyhi-nappi:hover{background:#A3CCEE;border-color:#A3CCEE;color:#0D2B27}
.pyyhi.valmis .pyyhi-nappi{display:none}
.pyyhi-ok{font-family:'Caveat','Comic Sans MS',cursive;font-weight:700;font-size:30px;line-height:1;color:#0B6B5D}
.pyyhi-ok:empty{display:none}
.pyyhi.valmis .pyyhi-ok{animation:rk-pop .5s ease both}
.tr-sec{padding:100px 24px}
.tr-sec-tiivis{padding-top:20px}
.tr-sec-loppu{padding:10px 24px 110px}
.tr-wrap{max-width:1240px;margin:0 auto;display:flex;flex-direction:column;gap:28px}
.tr-head{display:flex;flex-direction:column;gap:14px;max-width:760px}
.tr-head p{margin:0;color:#4E6A65;font-size:18px}
.tr-h2{margin:0;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.05}
.tl{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:80px}
.tl>li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:28px 64px;align-items:start}
.tl-teksti{display:flex;flex-direction:column;gap:12px}
.tl-vuosi{font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.05em;font-size:clamp(3.4rem,8vw,7rem);line-height:.86;color:#0B6B5D}
.tl-teksti h3{margin:0;font-family:'Unbounded','Segoe UI',sans-serif;font-weight:800;letter-spacing:-0.03em;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.12}
.tl-teksti p{margin:0;color:#2F4F49;font-size:18px;max-width:46ch}
.tl-kuvat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px;align-items:start;padding-top:16px}
.tl-kuvat .print:nth-child(2){margin-top:40px}
.vanha-seina{position:relative;isolation:isolate;overflow:hidden;border-radius:36px;padding:clamp(22px,5vw,64px) clamp(12px,4vw,56px);background:#EEF0EE;box-shadow:inset 0 0 0 1px rgba(13,43,39,.06)}
.vanha-seina>.seina{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.vanha-arkki{max-width:726px;margin:0 auto;box-sizing:border-box;background:#FFFFFF;padding:8px clamp(16px,4vw,44px) 30px;box-shadow:0 30px 60px -36px rgba(13,43,39,.55);color:#333333;font-family:Georgia,'Times New Roman',Times,serif}
.vanha-logo{display:block;width:100%;max-width:720px;height:auto;margin:0 auto}
.vanha-lahde{margin:24px 0 10px;display:flex;align-items:center;gap:12px;font-family:'Figtree','Segoe UI',system-ui,sans-serif;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#4E6A65}
.vanha-lahde::after{content:"";flex:1;height:1px;background:#E3ECE9}
.vanha-arkki blockquote{margin:0}
.vanha-arkki blockquote p{margin:0 0 14px;font-size:clamp(16px,1.7vw,18px);line-height:1.62}
.anfangi{font-size:2.6em;line-height:.7}
.vanha-iskulause{display:block;margin:26px auto 0;width:272px;max-width:100%;height:auto}
.vanha-jalki{margin:0;color:#2F4F49;font-size:18px;max-width:60ch}
.tr-loppu{background:#0B6B5D;color:#D3EFE9;border-radius:40px;padding:clamp(28px,5vw,60px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px 56px;align-items:center}
.tr-loppu .tl-vuosi{color:#A3CCEE}
.tr-loppu-teksti{display:flex;flex-direction:column;gap:16px}
.tr-loppu-teksti p{margin:0;font-size:18px;max-width:56ch}
.tr-loppu-linkki{color:#FFFFFF;font-weight:800}
@media (max-width:860px){
  .tl>li{grid-template-columns:minmax(0,1fr)}
  .tr-loppu{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .tr-sec{padding:80px 20px}
  .tr-sec-tiivis{padding-top:10px}
  .tr-sec-loppu{padding:0 16px 90px}
  .tl{gap:64px}
  .tl-kuvat{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
  .tl-kuvat .print:first-child{grid-column:1/-1;width:min(100%,300px);justify-self:center}
  .tl-kuvat .print:nth-child(2){margin-top:0}
  .tl-kuvat .print figcaption{font-size:19px}
  .vanha-seina{border-radius:28px}
}
html.liike-pois .print,html.liike-pois .pyyhi-kuva canvas{transition:none}
/* Korjaukset: lahjakortin vaiheet ja kiitos-leima eivät levitä sivua puhelimessa */
.gc-how{width:100%;box-sizing:border-box}
.page{width:100%;max-width:808px;box-sizing:border-box}
@media (max-width:420px){.page .stamp{font-size:20px !important;padding:8px 14px !important}}
/* === TARINA END === */
/* === PERINNE START === */
/* Vanha ilme uuteen sivuun (10/2026): Georgian kaltainen serif, rappausseinä, valkoinen arkki */
@font-face{font-family:'Gelasio';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/gelasio-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Gelasio';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/gelasio-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/gelasio-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/gelasio-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Gelasio';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/gelasio-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Gelasio';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/gelasio-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--serif:'Gelasio',Georgia,'Times New Roman',Times,serif}
.iskulause,.perinne-iskulause,.footer-iskulause{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;font-family:var(--serif);font-style:italic;font-weight:400;line-height:1.2}
.iskulause{justify-content:flex-start;font-size:clamp(20px,2.4vw,26px);color:#0B6B5D}
.iskulause::before,.perinne-iskulause::before,.perinne-iskulause::after,.footer-iskulause::before,.footer-iskulause::after{content:"";flex:0 1 44px;height:1px;background:currentColor;opacity:.55}
.perinne-iskulause{font-size:clamp(20px,2.6vw,28px);color:#0B6B5D;margin-top:30px}
.footer-iskulause{font-size:clamp(20px,2.4vw,28px);color:#BFE3DB;margin:36px 24px 6px;text-align:center}
.footer-iskulause::before,.footer-iskulause::after{flex:0 1 64px}
@media (max-width:480px){.perinne-iskulause::before,.perinne-iskulause::after{display:none}}
@media (max-width:560px){.iskulause{flex-wrap:wrap;gap:8px 12px}.iskulause::before{display:none}}

/* Meistä: valkoinen arkki vanhalla rappausseinällä */
.perinne{position:relative;isolation:isolate;padding:96px 24px 110px;overflow:hidden}
.perinne-seina{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 110px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 110px,#000 calc(100% - 110px),transparent 100%)}
.perinne-wrap{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;gap:56px}
.perinne-arkki{background:#FFFFFF;box-sizing:border-box;padding:clamp(22px,4.5vw,52px) clamp(18px,5vw,64px) clamp(26px,4vw,44px);box-shadow:0 1px 2px rgba(13,43,39,.1),0 40px 70px -40px rgba(13,43,39,.6);color:#333333;font-family:var(--serif)}
.perinne-nimi{margin:0 auto;text-align:center;font-family:'Figtree','Segoe UI',system-ui,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.01em;line-height:1.08;color:#7A7A7A;font-size:clamp(20px,4.4vw,40px);text-wrap:balance;max-width:20ch}
.perinne-valikko{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;margin:14px 0 0;font-size:15px;color:#000000}
.perinne-valikko a{color:#000000;text-decoration:none;padding:6px 0;display:inline-block}
.perinne-valikko a:hover{text-decoration:underline}
.perinne-runko{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-start;margin-top:30px;padding-top:30px;border-top:1px solid #E6E3DC}
.perinne-teksti{flex:1 1 380px;min-width:0}
.perinne-kasi{display:block;margin-bottom:10px;font-family:var(--serif);font-style:italic;font-size:18px;color:#0B6B5D}
.perinne-h{margin:0 0 18px;font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;letter-spacing:-.01em;color:#0D2B27}
.perinne-teksti p{margin:0 0 14px;font-size:clamp(17px,1.7vw,19px);line-height:1.62;color:#333333}
.perinne-alku::first-letter{float:left;font-family:var(--serif);font-weight:700;font-size:3.5em;line-height:.82;padding:6px 10px 0 0;color:#0B6B5D}
.perinne-kuva{flex:0 1 330px;width:330px;max-width:100%;margin:10px auto 0}
.perinne-merkit{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}
.perinne-merkki{flex:1 1 200px;display:flex;align-items:center;gap:16px;border:3px double #0B6B5D;border-radius:14px;padding:12px 18px;color:#0B6B5D;transform:rotate(-1.2deg)}
.perinne-merkki:nth-child(2){transform:rotate(1deg)}
.perinne-merkki b{font-family:var(--serif);font-weight:700;font-size:40px;line-height:1}
.perinne-merkki span{font-style:italic;font-size:17px;line-height:1.25}
.perinne-aika{list-style:none;margin:34px 0 0;padding:22px 0 0;border-top:1px solid #E6E3DC;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px}
.perinne-aika li{position:relative;display:flex;flex-direction:column;gap:2px;font-size:16px;line-height:1.4;color:#4A4A4A}
.perinne-aika b{font-weight:700;color:#0D2B27;font-size:17px}
.perinne-aika li::before{content:"";width:9px;height:9px;border-radius:50%;background:#0B6B5D;margin-bottom:6px}
.albumi-sisa{grid-template-columns:minmax(0,1.15fr) minmax(0,1.85fr);background:transparent;box-shadow:none;overflow:visible;padding:0;border-radius:0;isolation:auto}
.albumi-sisa .albumi-teksti{box-shadow:0 1px 2px rgba(13,43,39,.1),0 24px 44px -30px rgba(13,43,39,.6);background:#FFFFFF;border-radius:0;font-family:var(--serif)}
.albumi-sisa .albumi-h{font-family:var(--serif);font-weight:700;letter-spacing:-.01em}
.albumi-sisa .albumi-teksti p{font-size:17px;line-height:1.55}
.albumi-sisa .albumi-linkki{font-family:'Figtree','Segoe UI',system-ui,sans-serif}
@media (max-width:900px){.albumi-sisa{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .perinne{padding:72px 14px 80px}
  .perinne-aika{grid-template-columns:minmax(0,1fr);gap:14px}
  .perinne-aika li{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding-left:20px}
  .perinne-aika li::before{position:absolute;left:0;top:.55em;margin:0}
  .perinne-valikko{font-size:14px}
}

/* Lappu rappausseinällä palvelusivujen alaosassa */
.kaista{position:relative;isolation:isolate;padding:80px 24px;overflow:hidden}
.kaista-wrap{max-width:760px;margin:0 auto}
.kaista-lappu{margin:0;background:#FFFFFF;padding:clamp(24px,4vw,44px) clamp(20px,5vw,56px) clamp(22px,3vw,34px);box-shadow:0 1px 2px rgba(13,43,39,.1),0 34px 60px -38px rgba(13,43,39,.6);font-family:var(--serif);transform:rotate(-.6deg)}
.kaista-lappu blockquote{margin:0}
.kaista-lappu blockquote p{margin:0;font-size:clamp(20px,2.6vw,27px);line-height:1.4;color:#222222;font-style:italic}
.kaista-lappu figcaption{margin-top:16px;font-size:15px;color:#555555}
.kaista-lappu figcaption a{color:#0B6B5D;font-weight:700}
.kaista .perinne-iskulause{margin-top:22px}
html.liike-pois .perinne-merkki{transform:none}
/* Aikakone: ensimmäisellä käynnillä vanha etusivu pyyhitään puhtaaksi (aikakone.js) */
html.aikakone:not(.aikakone-valmis) body::before{content:"";position:fixed;inset:0;z-index:2147482999;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,rgba(13,43,39,0) 45%,rgba(13,43,39,.26) 100%),#C9D6D3 url(vanhat/seina-minttu-pieni.jpg) center/cover;animation:ak-turva .4s 9s forwards}
@keyframes ak-turva{to{opacity:0;visibility:hidden}}
.ak{position:fixed;inset:0;z-index:2147483000;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;overflow:hidden;font-family:'Figtree','Segoe UI',system-ui,sans-serif}
.ak.valmis{opacity:0;transition:opacity .5s ease;pointer-events:none}
.ak-vanha,.ak-vesi{position:absolute;left:0;top:0;width:100%;height:100%;display:block}
.ak-vanha{transition:opacity .45s ease}
.ak-vanha.haipyy{opacity:0}
.ak-vesi{pointer-events:none}
.ak-lasta{position:absolute;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .25s ease;will-change:transform;filter:drop-shadow(0 12px 14px rgba(13,43,39,.35))}
.ak-lasta.nakyy{opacity:1}
.ak-lasta svg{display:block}
.ak-kortti{position:absolute;left:50%;bottom:max(20px,env(safe-area-inset-bottom));width:min(520px,calc(100% - 32px));box-sizing:border-box;background:rgba(13,43,39,.95);color:#FFFFFF;border-radius:28px;padding:22px 24px 18px;box-shadow:0 30px 60px -20px rgba(13,43,39,.65);text-align:center;cursor:default;opacity:0;transform:translate(-50%,24px)}
.ak.auki .ak-kortti{opacity:1;transform:translate(-50%,0);transition:opacity .6s .3s ease,transform .6s .3s cubic-bezier(.2,.8,.2,1)}
.ak.auki .ak-kortti.pois{opacity:0;transform:translate(-50%,20px);transition-delay:0s;transition-duration:.3s;pointer-events:none}
.ak-pieni{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7FD9C8}
.ak-iso{margin:0 0 16px;font-family:var(--serif);font-style:italic;font-size:clamp(21px,3vw,28px);line-height:1.22}
.ak-pyyhi{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:#7FD9C8;color:#0D2B27;font:inherit;font-weight:800;font-size:17px;cursor:pointer;box-shadow:0 10px 24px -10px rgba(127,217,200,.8);transition:background .2s ease,transform .2s ease}
.ak-pyyhi:hover{background:#A6E8DB;transform:translateY(-1px)}
.ak-pyyhi:focus-visible,.ak-ohita:focus-visible{outline:3px solid #FFFFFF;outline-offset:3px}
.ak-vihje{margin:10px 0 0;font-size:14px;color:#BFE3DB}
.ak-ohita{position:absolute;right:12px;top:calc(env(safe-area-inset-top) + 48px);min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(13,43,39,.25);background:rgba(255,255,255,.9);color:#0D2B27;font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.ak-kiilto-viiva{position:absolute;top:-20%;bottom:-20%;left:-60%;right:-60%;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.8) 50%,transparent 58%);transform:translateX(-70%);opacity:0}
.ak.kiilto .ak-kiilto-viiva{animation:ak-kiilto 1s .1s ease-in-out forwards}
@keyframes ak-kiilto{0%{opacity:1;transform:translateX(-70%)}100%{opacity:1;transform:translateX(70%)}}
.ak.kiilto .ak-ohita{opacity:0;pointer-events:none;transition:opacity .2s ease}
[data-ref="toast"].pop{animation-name:rk-pop-k}
@keyframes rk-pop-k{0%{transform:translateX(-50%) scale(.6);opacity:0}70%{transform:translateX(-50%) scale(1.08);opacity:1}100%{transform:translateX(-50%) scale(1)}}
.perinne-aikakone{display:inline-flex;align-items:center;gap:10px;margin:26px auto 0;padding:10px 18px;min-height:44px;border:1.5px solid #0B6B5D;border-radius:999px;background:#FFFFFF;color:#0B6B5D;font-family:var(--serif);font-style:italic;font-size:17px;cursor:pointer;transition:background .2s ease,color .2s ease}
.perinne-aikakone:hover{background:#0B6B5D;color:#FFFFFF}
.perinne-arkki .perinne-aikakone{display:flex;width:fit-content;max-width:100%;text-align:left}
/* Yrityksille: ilta/aamu-merkki kellon tilalla (etusivu ja Yrityssiivous-sivun kohtaus) */
.vuoro{display:inline-flex;align-items:center;background:rgba(13,43,39,.9);color:#FFFFFF;border-radius:16px;padding:10px 16px;box-shadow:0 12px 24px -14px rgba(0,0,0,.6);font-family:'Figtree','Segoe UI',system-ui,sans-serif;font-weight:800;font-size:17px;line-height:1.2;letter-spacing:0;font-variant-numeric:normal;transition:background .4s ease,color .4s ease}
.vuoro>span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.vuoro .vuoro-aamu{display:none}
.vuoro.aamu{background:#FFFFFF;color:#0D2B27}
.vuoro.aamu .vuoro-ilta{display:none}
.vuoro.aamu .vuoro-aamu{display:inline-flex}
.scene-clock.vuoro{padding:8px 12px;border-radius:14px;font-size:15px}
@media (max-width:420px){.vuoro{padding:8px 12px;font-size:15px}.vuoro svg{width:18px;height:18px}}
/* Ei sinistä laatikkoa napautettaessa puhelimella (Androidin/iOS:n oma korostus).
   Pulloilla ja painikkeilla on omat liikkeensä, ja näppäimistön kohdistus näkyy edelleen. */
html{-webkit-tap-highlight-color:transparent}
a,button,label,summary,input,select,textarea,[role="button"],[tabindex]{-webkit-tap-highlight-color:transparent}
/* === PERINNE END === */
