*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;color:#0d0d0d;background-color:#fffef9;background-image:url(/background.svg);background-repeat:no-repeat;background-position:50%;background-size:cover;background-attachment:fixed;font-family:var(--font-mplus),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:841px){body,html{background-repeat:repeat;background-position:0 0;background-size:auto}}a{color:inherit;text-decoration:none}h1,p{margin:0}.page-container{height:100vh;height:100dvh;overflow:hidden}.main,.page-container{position:relative;display:flex;flex-direction:column}.main{flex:1 1 auto;min-height:0;width:100%}.hero-layout{height:100%;padding:clamp(1.5em,4dvh,3em) 0 clamp(1em,2.5dvh,2em)}.hero-layout,.title-container{display:flex;flex-direction:column;align-items:center;width:100%}.title-container{text-align:center;flex-shrink:0;max-width:100%;padding:0 1rem;box-sizing:border-box}.pieces-logo{width:auto;height:clamp(5em,14dvh,10em);display:block;object-fit:contain}.hero-title{font-family:var(--font-mplus),sans-serif;font-weight:700;font-size:clamp(2rem,5dvh,3.2rem);margin-top:.4em;line-height:1.1;letter-spacing:-.01em}.hero-title span{display:block;overflow-wrap:break-word;word-break:normal}.hero-phone{flex:1 1 auto;min-height:0;width:100%;padding:clamp(1em,3dvh,2em) 0}.hero-phone,.phone-mockup{display:flex;justify-content:center;align-items:center}.phone-frame,.phone-mockup{position:relative;height:100%}.phone-frame{max-height:min(75dvh,780px);aspect-ratio:453/912}.phone-screen-image{position:absolute;top:3.62%;left:6.84%;width:86.31%;height:92.98%;display:block;object-fit:cover;object-position:top center;background:#fff;z-index:1}.phone-frame-image{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.download-buttons{display:flex;flex-direction:row;gap:14px;justify-content:center;flex-shrink:0}.store-badge-link{display:inline-flex;align-items:center;transition:transform .2s ease;position:relative}.store-badge-link:hover{cursor:pointer;transform:scale(1.04)}.store-badge-image{display:block;width:auto}.app-store-badge{height:50px}.play-store-badge{height:74px;margin:-12px -8px}.footer{width:100%;flex-shrink:0;padding:14px 0 18px}.footer-container{flex-direction:column;justify-content:center;gap:.9em;padding:0 2em}.footer-container,.footer-nav-left{display:flex;align-items:center;line-height:1}.footer-nav-left,.terms-and-privacy{gap:clamp(1.2em,3vw,2.5em)}.terms-and-privacy{display:inline-flex;align-items:center;line-height:1}.footer-lang{display:flex;justify-content:center;margin-top:.2em}.footer-copyright,.footer-nav-left .text-link,.terms-and-privacy .text-link{font-size:.95rem;color:rgba(13,13,13,.5);font-weight:600;line-height:1;margin:0;padding:0;transition:opacity .3s ease}.footer-nav-left .text-link:hover,.terms-and-privacy .text-link:hover{cursor:pointer;opacity:.7}.lang-picker{position:relative;display:inline-flex;line-height:1;font-size:.95rem;font-weight:700;color:#0d0d0d}.lang-picker-trigger{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(13,13,13,.2);border-radius:6px;padding:6px 10px;font:inherit;color:inherit;cursor:pointer;transition:border-color .2s ease}.lang-picker-trigger:hover{border-color:rgba(13,13,13,.5)}.lang-picker-trigger:focus-visible{outline:2px solid rgba(13,13,13,.6);outline-offset:2px}.lang-picker-flag{font-size:1.1em;line-height:1}.lang-picker-code{letter-spacing:.03em}.lang-picker-caret{font-size:.7em;color:rgba(13,13,13,.55)}.lang-picker-panel{position:absolute;bottom:calc(100% + 8px);right:0;display:grid;grid-template-columns:repeat(2,max-content);grid-gap:2px 4px;gap:2px 4px;max-width:95vw;max-height:min(60vh,420px);overflow-y:auto;padding:8px;background:#fff;border:1px solid rgba(13,13,13,.08);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);z-index:20}.lang-picker-item{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#0d0d0d;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .15s ease}.lang-picker-item:focus-visible,.lang-picker-item:hover{background:rgba(13,13,13,.06);outline:none}.lang-picker-item--active{background:rgba(13,13,13,.05);font-weight:700}.lang-picker-item-flag{font-size:1.15em;line-height:1;flex-shrink:0}.lang-picker-item-label{flex:1 1}.lang-picker-item-check{color:#0d0d0d;font-weight:700;flex-shrink:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:840px){.hero-layout{padding:clamp(1em,3dvh,2em) 0 clamp(.6em,2dvh,1.5em)}.pieces-logo{height:clamp(4em,12dvh,7em)}.hero-title{font-size:clamp(1.9rem,8.5vw,3rem);margin-top:.4em;line-height:1.15}.hero-phone{padding:clamp(.6em,2.5dvh,1.6em) 0}.phone-frame{max-height:min(48dvh,480px)}.app-store-badge{height:44px}.play-store-badge{height:66px;margin:-11px -7px}.footer{padding:10px 0 14px}.footer-container{gap:.7em;padding:0 1.2em}.footer-nav-left{gap:1.5em}.footer-copyright,.footer-nav-left .text-link,.terms-and-privacy .text-link{font-size:.75rem;color:rgba(13,13,13,.45)}.lang-picker{font-size:.75rem}}@media (max-width:480px){.footer-container{gap:.6em;padding:0 .9em}.footer-nav-left{gap:1em}.footer-copyright,.footer-nav-left .text-link,.lang-picker,.terms-and-privacy .text-link{font-size:.7rem}.lang-picker-panel{grid-template-columns:max-content}.app-store-badge{height:42px}.play-store-badge{height:62px;margin:-10px -7px}}@media (max-height:700px){.phone-frame{max-height:min(55dvh,460px)}}.legal-page{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.legal-header{width:100%;padding:1.5em 0;border-bottom:1px solid rgba(13,13,13,.08)}.legal-header-inner{display:flex;align-items:center;justify-content:center;max-width:760px;margin:0 auto;padding:0 2em}.legal-logo-link{display:inline-flex;align-items:center;transition:opacity .3s ease}.legal-logo-link:hover{cursor:pointer;opacity:.7}.legal-logo{height:4em;width:auto;display:block;object-fit:contain}.legal-main{flex:1 1 auto;width:100%;padding:clamp(2.5em,6vh,5em) 2em clamp(3em,8vh,6em)}.legal-content{max-width:720px;margin:0 auto}.legal-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(13,13,13,.45);margin-bottom:.6em}.legal-eyebrow,.legal-title{font-family:var(--font-mplus),sans-serif}.legal-title{font-weight:700;font-size:clamp(2.2rem,5vw,3rem);line-height:1.1;letter-spacing:-.01em;margin:0 0 .4em}.legal-meta{font-size:.9rem;color:rgba(13,13,13,.5);font-weight:500;margin-bottom:2.5em}.legal-section{margin-bottom:2.2em}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-weight:700;font-size:1.45rem;line-height:1.2;letter-spacing:-.005em;margin:0 0 .7em}.legal-section h2,.legal-section h3{font-family:var(--font-mplus),sans-serif;color:#0d0d0d}.legal-section h3{font-weight:600;font-size:1.02rem;line-height:1.3;margin:1.4em 0 .5em}.legal-section p{font-size:1rem;line-height:1.75;color:rgba(13,13,13,.82);margin:0 0 .9em}.legal-section p:last-child{margin-bottom:0}.legal-lead{font-size:1.05rem!important;line-height:1.7!important;color:rgba(13,13,13,.78)!important}.legal-section ul{margin:.4em 0 .9em;padding-left:1.3em;color:rgba(13,13,13,.82)}.legal-section ul li{font-size:1rem;line-height:1.75;margin-bottom:.45em}.legal-section ul li::marker{color:rgba(13,13,13,.4)}.legal-section strong{font-weight:600;color:#0d0d0d}.legal-inline-link{color:#0d0d0d;text-decoration:underline;-webkit-text-decoration-color:rgba(13,13,13,.3);text-decoration-color:rgba(13,13,13,.3);text-underline-offset:3px;transition:-webkit-text-decoration-color .2s ease;transition:text-decoration-color .2s ease;transition:text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.legal-inline-link:hover{-webkit-text-decoration-color:rgba(13,13,13,.8);text-decoration-color:rgba(13,13,13,.8)}.legal-page .footer{border-top:1px solid rgba(13,13,13,.08)}.legal-content>h1{font-size:clamp(2.2rem,5vw,3rem);line-height:1.1;letter-spacing:-.01em;margin:0 0 1.2em}.legal-content>h1,.legal-content>h2{font-family:var(--font-mplus),sans-serif;font-weight:700}.legal-content>h2{font-size:1.45rem;line-height:1.2;letter-spacing:-.005em;margin:2.2em 0 .7em;color:#0d0d0d}.legal-content>h3{font-family:var(--font-mplus),sans-serif;font-weight:600;font-size:1.02rem;line-height:1.3;margin:1.4em 0 .5em;color:#0d0d0d}.legal-content>p{font-size:1rem;line-height:1.75;color:rgba(13,13,13,.82);margin:0 0 .9em}.legal-content>ol,.legal-content>ul{margin:.4em 0 .9em;padding-left:1.3em;color:rgba(13,13,13,.82)}.legal-content>ol li,.legal-content>ul li{font-size:1rem;line-height:1.75;margin-bottom:.45em}.legal-content>ol li::marker,.legal-content>ul li::marker{color:rgba(13,13,13,.4)}.legal-content strong{font-weight:600;color:#0d0d0d}.legal-content a{color:#0d0d0d;text-decoration:underline;-webkit-text-decoration-color:rgba(13,13,13,.3);text-decoration-color:rgba(13,13,13,.3);text-underline-offset:3px;transition:-webkit-text-decoration-color .2s ease;transition:text-decoration-color .2s ease;transition:text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.legal-content a:hover{-webkit-text-decoration-color:rgba(13,13,13,.8);text-decoration-color:rgba(13,13,13,.8)}.legal-content hr{border:0;border-top:1px solid rgba(13,13,13,.1);margin:2em 0}@media (max-width:840px){.legal-content>h1{font-size:clamp(1.9rem,7vw,2.4rem)}.legal-content>h2{font-size:1.3rem}.legal-content>ol li,.legal-content>p,.legal-content>ul li{font-size:.95rem;line-height:1.7}.legal-header{padding:1.1em 0}.legal-header-inner{padding:0 1.2em}.legal-logo{height:3.2em}.legal-main{padding:clamp(1.8em,5vh,3em) 1.2em clamp(2em,6vh,4em)}.legal-title{font-size:clamp(1.9rem,7vw,2.4rem)}.legal-meta{margin-bottom:2em}.legal-section h2{font-size:1.3rem}.legal-section p,.legal-section ul li{font-size:.95rem;line-height:1.7}.legal-lead{font-size:1rem!important}}@media (max-width:480px){.legal-main{padding:1.6em 1em 2em}.legal-eyebrow{font-size:.72rem}.legal-section h2{font-size:1.2rem}}