@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-cyrillic-ext-wght-normal.07ewmub69jyjv.woff2?dpl=dpl_CdfVmV58ZS8i3XVkhrDkjfVCsKPz)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-vietnamese-wght-normal.3rx-smsylr51a.woff2?dpl=dpl_CdfVmV58ZS8i3XVkhrDkjfVCsKPz)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-latin-ext-wght-normal.23qn2_caajicl.woff2?dpl=dpl_CdfVmV58ZS8i3XVkhrDkjfVCsKPz)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/hanken-grotesk-latin-wght-normal.3241148m1u9do.woff2?dpl=dpl_CdfVmV58ZS8i3XVkhrDkjfVCsKPz)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#fcfbf8;--ink:#26241f;--white:#f6f4ef;--grey:#716c62;--brown:#6b563f;--clay:#b9653f;--tint:#f4f1e8;--logo-green:#075e38;--line:#26241f21;--line-w:#f6f4ef29;--f:"Hanken Grotesk Variable",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--f);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;letter-spacing:.005em;font-weight:400;line-height:1.8}.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(22px,4vw,60px)}a{color:inherit;text-decoration:none}h1,h2,h3{letter-spacing:-.02em;font-weight:500;line-height:1.12}.lc{text-transform:lowercase}.nav-t{letter-spacing:.17em;text-transform:uppercase;font-size:11.5px;font-weight:600}.btn{border:1.5px solid var(--ink);letter-spacing:.17em;text-transform:uppercase;padding:14px 26px;font-size:11px;font-weight:600;transition:background .25s,color .25s,border-color .25s;display:inline-block}.btn:hover,.btn.solid{background:var(--ink);color:var(--white)}.btn.solid:hover{background:var(--clay);border-color:var(--clay)}.btn-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.arrow{font-size:22px;line-height:1;transition:transform .35s cubic-bezier(.19,1,.22,1);display:inline-block}.topbar{z-index:60;border-bottom:1px solid #0000;align-items:center;gap:clamp(20px,4vw,48px);padding:20px clamp(22px,4vw,60px);transition:background .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}.topbar.scrolled{-webkit-backdrop-filter:blur(20px)saturate(1.15);background:#faf9f56b;border-bottom-color:#26241f0f}.wordmark{letter-spacing:.26em;align-items:center;gap:9px;padding-left:.26em;font-size:20px;font-weight:600;display:flex}.wordmark .dot{background:var(--logo-green);border-radius:1px;width:7px;height:7px;display:inline-block}.brand{align-items:center;display:inline-flex}.brand-logo{width:auto;height:24px;display:block}.topnav{align-items:center;gap:clamp(16px,2.4vw,34px);display:flex}.topnav a{color:#26241fd9;transition:color .2s}.topnav a:hover{color:var(--ink)}.topnav .disabled{color:#26241f47;cursor:default}.topnav-toggle{cursor:pointer;font-family:var(--f);color:var(--ink);background:0 0;border:none;margin-left:auto;padding:12px 4px;display:none}.topnav-drop{top:var(--topbar-h,76px);z-index:59;-webkit-backdrop-filter:blur(20px)saturate(1.15);border-bottom:1px solid var(--line);background:#faf9f5f7;flex-direction:column;padding:4px clamp(22px,4vw,60px) 14px;display:flex;position:fixed;left:0;right:0}.topnav-drop a,.topnav-drop .disabled{color:#26241fd9;border-top:1px solid var(--line);padding:14px 0}.topnav-drop a:hover{color:var(--ink)}.topnav-drop .disabled{color:#26241f47;cursor:default}.sticky-cta{z-index:55;background:var(--ink);color:var(--white);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:12px;padding:15px 26px 15px 22px;font-size:11px;font-weight:600;transition:background .3s,padding-right .3s;display:flex;position:fixed;bottom:26px;left:0}.sticky-cta:hover{background:var(--clay);padding-right:34px}.sticky-cta svg{flex:none;width:15px;height:15px}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#26241f47,#0000);height:110px;position:absolute;top:0;left:0;right:0}.hero-img{background-image:url(/hero-keittio.jpg);background-position:50% 58%;background-size:cover;animation:2.4s cubic-bezier(.19,1,.22,1) forwards zoom;position:absolute;inset:0;transform:scale(1.04)}@media (max-width:900px){.hero-img{background-image:url(/hero-keittio-mobile.jpg)}}@keyframes zoom{to{transform:scale(1)}}.hero-scrim{pointer-events:none;background:linear-gradient(#faf9f500 46%,#faf9f566 76%,#faf9f5f0 100%);position:absolute;inset:0}.hero-inner{z-index:2;width:100%;padding-bottom:clamp(50px,6vw,80px);position:relative}.hero h1{opacity:0;max-width:21ch;font-size:clamp(32px,4.6vw,58px);animation:1s .25s forwards fade}.hero .sub{color:var(--ink);opacity:0;max-width:42ch;margin-top:22px;font-size:clamp(16px,1.5vw,20px);font-weight:400;line-height:1.65;animation:1s .5s forwards fade}@keyframes fade{to{opacity:1}}.hero .btn-row{opacity:0;margin-top:clamp(28px,3.2vw,40px);animation:1s .75s forwards fade}.hero .hero-eyebrow{color:var(--ink);opacity:0;margin-bottom:clamp(14px,1.6vw,20px);animation:1s .1s forwards fade}.intro{padding:clamp(110px,14vw,200px) 0}.intro h2{max-width:20ch;margin-bottom:34px;font-size:clamp(34px,4.6vw,64px)}.intro h2 em{color:var(--clay);font-style:normal}.intro p{color:var(--grey);max-width:58ch;font-size:17px;line-height:1.9}.intro p+p{margin-top:16px}#mallisto{padding-bottom:clamp(40px,6vw,90px)}.band{grid-template-columns:1fr 1fr;min-height:min(68vh,620px);margin-bottom:clamp(64px,9vw,130px);display:grid}.band:last-child{margin-bottom:0}.band .pic{position:relative;overflow:hidden}.band .pic .fill{transition:transform .9s cubic-bezier(.19,1,.22,1);position:absolute;inset:0}.band:hover .pic .fill{transform:scale(1.03)}.band .pic .soon{letter-spacing:.2em;text-transform:uppercase;color:#f6f4ef99;font-size:10px;font-weight:600;position:absolute;bottom:16px;left:18px}.band .txt{flex-direction:column;justify-content:center;padding:clamp(36px,5.5vw,96px) clamp(28px,6vw,110px);display:flex}.band.flip .pic{order:2}.band .no{letter-spacing:.22em;text-transform:uppercase;color:var(--brown);margin-bottom:14px;font-size:11px;font-weight:600}.band h3{text-transform:lowercase;margin-bottom:14px;font-size:clamp(38px,4.6vw,68px)}.band .character{color:var(--clay);letter-spacing:.01em;margin-bottom:24px;font-size:15px;font-weight:500}.band p{color:var(--grey);max-width:42ch;font-size:15.5px;line-height:1.9}.band .chips{flex-wrap:wrap;gap:10px;margin:34px 0 10px;display:flex}.band .chips i{border:1px solid #26241f1a;border-radius:50%;width:34px;height:34px;transition:transform .25s;display:block}.band .chips i:hover{transform:scale(1.18)}.band .chips-note{letter-spacing:.16em;text-transform:uppercase;color:var(--grey);margin-bottom:30px;font-size:10.5px;font-weight:600}.band .go{letter-spacing:.18em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);align-self:flex-start;padding-bottom:4px;font-size:11px;font-weight:600;transition:color .25s,border-color .25s}.band .go:hover{color:var(--clay);border-color:var(--clay)}.duo{background:var(--tint);color:var(--ink);text-align:center;padding:clamp(100px,13vw,190px) 0}.duo h2{max-width:18ch;margin:0 auto 26px;font-size:clamp(34px,5vw,72px)}.duo p{max-width:50ch;color:var(--grey);margin:0 auto;font-size:16.5px;line-height:1.9}.duo .pairs{flex-wrap:wrap;justify-content:center;gap:clamp(24px,4vw,56px);margin:clamp(48px,6vw,72px) 0;display:flex}.duo .pair{flex-direction:column;align-items:center;gap:12px;display:flex}.duo .pair .disc{border:1px solid #26241f1f;border-radius:50%;width:clamp(72px,8vw,104px);height:clamp(72px,8vw,104px);display:flex;overflow:hidden;transform:rotate(-45deg)}.duo .pair .disc i{flex:1}.duo .pair span{letter-spacing:.16em;text-transform:uppercase;color:var(--grey);font-size:10.5px;font-weight:600}section.plain{padding:clamp(100px,13vw,190px) 0}.sec-h{margin-bottom:26px;font-size:clamp(32px,4.2vw,58px)}.sec-p{color:var(--grey);max-width:54ch;margin-bottom:clamp(48px,6vw,76px);font-size:16px;line-height:1.9}.cols{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.cols .cell{border-right:1px solid var(--line);padding:44px 34px 44px 0}.cols .cell:last-child{border-right:none;padding-right:0}.cols h4{letter-spacing:-.02em;text-transform:lowercase;margin-bottom:14px;font-size:20px;font-weight:500}.cols p{color:var(--grey);max-width:28ch;font-size:14.5px;line-height:1.8}.cols .arrow{color:var(--ink);margin-top:16px}.cols .cell:hover .arrow{color:var(--clay);transform:translate(9px)}.pro .cols{grid-template-columns:repeat(3,1fr)}.visit{padding:clamp(60px,8vw,110px) 0}.visit .wrap{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,7vw,110px);display:grid}.visit .pic{aspect-ratio:4/3;background:linear-gradient(165deg,#8a6f52,#5a4738);position:relative}.visit .pic span{letter-spacing:.2em;text-transform:uppercase;color:#f6f4ef99;font-size:10px;font-weight:600;position:absolute;bottom:16px;left:18px}.visit h2{margin-bottom:18px;font-size:clamp(32px,4.2vw,58px)}.visit p{color:var(--grey);max-width:44ch;font-size:16.5px;line-height:1.75}.visit .addr{color:var(--ink);margin:26px 0 30px;font-size:14px;line-height:1.9}footer{background:var(--ink);color:var(--white);margin-top:clamp(80px,10vw,140px);padding:clamp(56px,7vw,90px) 0 40px}.foot-top{flex-wrap:wrap;justify-content:space-between;gap:44px;padding-bottom:46px;display:flex}.foot-cols{flex-wrap:wrap;gap:clamp(30px,5vw,76px);display:flex}.foot-cols h5{letter-spacing:.2em;text-transform:uppercase;color:var(--tint);margin-bottom:18px;font-size:10.5px;font-weight:600}.foot-cols a,.foot-cols p{color:#f6f4efd9;margin-bottom:10px;font-size:14.5px;display:block}.foot-cols a{align-items:center;min-height:44px;margin-bottom:0;display:flex}.foot-cols a:hover{color:var(--white)}.foot-bot{border-top:1px solid var(--line-w);color:#f6f4ef8c;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:26px;font-size:12px;display:flex}footer .wordmark{color:var(--white)}footer .wordmark .dot{background:var(--clay)}@media (max-width:760px){.topnav{display:none}.topnav-toggle{display:inline-block}}@media (max-width:900px){.hero{min-height:92svh}.sticky-cta{justify-content:center;bottom:0;left:0;right:0}footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.band{grid-template-columns:1fr;min-height:0}.band .pic{aspect-ratio:4/3;order:0!important}.cols,.pro .cols{grid-template-columns:1fr}.cols .cell{border-right:none;border-bottom:1px solid var(--line);padding-right:0}.cols .cell:last-child{border-bottom:none}.visit .wrap{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.subpage{padding:calc(80px + clamp(46px,7vw,96px)) 0 clamp(90px,12vw,150px)}.subpage h1{letter-spacing:-.02em;text-transform:lowercase;margin-bottom:20px;font-size:clamp(38px,5.4vw,76px);font-weight:500}.subpage .lead{color:var(--grey);max-width:56ch;font-size:17px;line-height:1.9}.back{letter-spacing:.18em;text-transform:uppercase;color:var(--grey);margin-bottom:38px;font-size:11px;font-weight:600;display:inline-block}.back:hover{color:var(--clay)}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--brown);font-size:11px;font-weight:600}.spec-list{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;margin:clamp(44px,5vw,68px) 0;display:grid}.spec-list>div{background:var(--paper);padding:26px 24px}.spec-list dt{letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin-bottom:9px;font-size:10.5px;font-weight:600}.spec-list dd{margin:0;font-size:15px;line-height:1.6}.door-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:clamp(20px,2.4vw,32px);margin-top:30px;display:grid}.door-grid figure{margin:0}.door-grid figcaption{margin-top:12px;font-size:13px;line-height:1.5}.door-grid figcaption small{color:var(--grey);font-size:11px;display:block}.note{color:var(--grey);border-left:2px solid var(--clay);max-width:52ch;margin-top:36px;padding:6px 0 6px 18px;font-size:14px;line-height:1.8}.pankki-sec{border-top:1px solid var(--line);margin-top:clamp(56px,7vw,90px);padding-top:clamp(56px,7vw,90px)}.pankki-sec h2{letter-spacing:-.02em;text-transform:lowercase;margin-bottom:10px;font-size:clamp(26px,3.2vw,42px);font-weight:500}.pankki-sec .sub{color:var(--grey);max-width:54ch;margin-bottom:30px;font-size:15.5px;line-height:1.85}.card-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;display:grid}.card{background:var(--paper);padding:28px}.card h3{letter-spacing:-.01em;text-transform:lowercase;margin-bottom:6px;font-size:19px;font-weight:500}.card .mdl{letter-spacing:.16em;text-transform:uppercase;color:var(--brown);margin-bottom:14px;font-size:10.5px;font-weight:600}.card p{color:var(--grey);font-size:14px;line-height:1.75}.card small{color:var(--grey);margin-top:4px;font-size:11px;line-height:1.5;display:block}.card .spec{color:var(--grey);border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:11.5px;line-height:1.8}.mat-grid{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}@media (max-width:900px){.mat-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:560px){.mat-grid{grid-template-columns:repeat(2,1fr)}}.mat-grid .card.swatch{border:1px solid var(--line)}.card.swatch{flex-direction:column;padding:0;display:flex}.card.swatch .sw{background-position:50%;background-size:cover;width:100%}.card.swatch .sw.a1{aspect-ratio:1}.card.swatch .sw.a43{aspect-ratio:4/3}.card.swatch .sw.obj{background-color:#fff;background-repeat:no-repeat;background-size:contain}.card.swatch .cap{padding:12px 15px 15px}.card.swatch .cap h3{letter-spacing:-.01em;text-transform:lowercase;margin:0;font-size:14.5px;font-weight:500}.card.swatch .cap small{color:var(--grey);margin-top:3px;font-size:11px;line-height:1.5;display:block}.pankki-nav{top:var(--topbar-h,76px);z-index:40;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px)saturate(1.15);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;background:#faf9f5b8;flex-wrap:nowrap;gap:clamp(16px,3vw,38px);margin-top:4px;display:flex;position:sticky;overflow-x:auto}.pankki-nav::-webkit-scrollbar{display:none}.pankki-nav a{color:var(--grey);white-space:nowrap;padding:15px 0;transition:color .2s}.pankki-nav a:hover{color:var(--ink)}.pankki-nav a.on{color:var(--clay)}.pankki-sec{scroll-margin-top:calc(var(--topbar-h,76px) + var(--subnav-h,48px) + 10px)}.form{flex-direction:column;gap:22px;max-width:560px;margin-top:clamp(36px,4.5vw,56px);display:flex}.form label{letter-spacing:.18em;text-transform:uppercase;color:var(--brown);flex-direction:column;gap:8px;font-size:10.5px;font-weight:600;display:flex}.form input,.form select,.form textarea{color:var(--ink);border:1px solid var(--line);letter-spacing:normal;text-transform:none;background:0 0;padding:14px 15px;font-family:inherit;font-size:15px;font-weight:400}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ink);outline:none}.form button{background:var(--ink);color:var(--white);cursor:pointer;letter-spacing:.17em;text-transform:uppercase;border:none;align-self:flex-start;padding:16px 30px;font-family:inherit;font-size:11px;font-weight:600;transition:background .25s}.form button:hover{background:var(--clay)}.form button:disabled{opacity:.5;cursor:default}.form .status{font-size:14.5px}.form .status.err{color:#8a3324}a:focus-visible,button:focus-visible{outline:2px solid var(--clay);outline-offset:3px}.mallisto-soon{padding:clamp(60px,9vw,120px) 0}.mallisto-soon .soon-block{border:1px solid var(--line);background:var(--tint);text-align:center;color:#26241f73;padding:clamp(56px,9vw,110px) clamp(28px,5vw,64px)}.mallisto-soon .no{letter-spacing:.22em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:600}.mallisto-soon p{letter-spacing:-.02em;text-transform:lowercase;max-width:24ch;margin:0 auto;font-size:clamp(20px,2.6vw,32px);font-weight:500;line-height:1.3}.company{padding:0 0 clamp(90px,11vw,150px)}.company p{color:var(--grey);max-width:62ch;font-size:16.5px;line-height:1.9}.company a{color:var(--clay);border-bottom:1px solid;padding-bottom:1px;transition:color .2s}.company a:hover{color:var(--ink)}.contacts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin:clamp(38px,4.8vw,58px) 0 22px;display:grid}@media (max-width:760px){.contacts{grid-template-columns:1fr}}.contact-card{background:var(--paper);flex-direction:column;gap:5px;padding:28px 24px;display:flex}.contact-card h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:500}.contact-card .role{letter-spacing:.18em;text-transform:uppercase;color:var(--brown);margin-bottom:10px;font-size:10.5px;font-weight:600}.contact-card a{color:var(--grey);align-items:center;min-height:44px;font-size:14.5px;transition:color .2s;display:inline-flex}.contact-card a:hover{color:var(--clay)}.contact-addr{color:var(--ink);margin-bottom:6px;font-size:14px;line-height:1.9}.docs-grid{grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);margin:clamp(42px,5vw,66px) 0;display:grid}@media (max-width:900px){.docs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.docs-grid{grid-template-columns:1fr}}.doc-card{color:var(--ink);flex-direction:column;display:flex}.doc-thumb{aspect-ratio:1;background:var(--tint);border:1px solid var(--line);background-position:50%;background-size:cover;width:78%;transition:transform .5s cubic-bezier(.19,1,.22,1)}.doc-card:hover .doc-thumb{transform:translateY(-4px)}.doc-cap{padding:16px 2px 0}.doc-cap h3{letter-spacing:-.01em;text-transform:lowercase;margin-bottom:6px;font-size:18px;font-weight:500;transition:color .2s}.doc-card:hover .doc-cap h3{color:var(--clay)}.docs-empty{border:1px solid var(--line);background:var(--tint);color:#26241f80;text-align:center;letter-spacing:-.01em;text-transform:lowercase;margin:clamp(42px,5vw,66px) 0;padding:clamp(48px,7vw,90px) clamp(28px,5vw,60px);font-size:clamp(18px,2.2vw,26px);font-weight:500}.policy{max-width:64ch;margin-top:clamp(30px,4vw,46px)}.policy .intro{color:var(--ink);white-space:pre-line;font-size:16px;line-height:1.9}.policy section{margin-top:clamp(38px,5vw,56px)}.policy h2{letter-spacing:.005em;color:var(--brown);margin-bottom:12px;font-size:15px;font-weight:600}.policy p{color:var(--grey);white-space:pre-line;font-size:15px;line-height:1.9}.form-consent{color:var(--grey);margin-top:20px;font-size:13px;line-height:1.7}.form-consent a{color:var(--ink);border-bottom:1px solid var(--line);transition:color .2s,border-color .2s}.form-consent a:hover{color:var(--clay);border-color:var(--clay)}
