:root{--paper:#efe7dc;--paper-deep:#e6dccd;--chip:#f7f2ea;--line:#d9cdbd;--ink:#4a3f35;--ink-soft:#6e5f51;--mark:#7a5a2c;--wood-pale:#e9d6b5;--wood-dark:#7a4f35;--wood-amber:#c27f52;--wood-sage:#9aa88a;--wood-slate:#8696a8;--wood-honey:#d9a86c;--bg:var(--paper);--fg:var(--ink);--fg-dim:var(--ink-soft);--accent:var(--wood-dark);--accent-hover:#5e3b27;--on-dark:#f7f2ea;--on-dark-muted:#cdbfae;--shadow-phone:0 1px 0 #fff9 inset, 0 18px 40px -18px #3c302473, 0 2px 6px #3c30241f;--max:1040px;--space-section:clamp(4rem, 3rem + 5vw, 7.5rem);--text-hero:clamp(2.6rem, 1.6rem + 4.2vw, 4.4rem);--text-h2:clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--serif:"Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Noto Serif JP", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}body{background:radial-gradient(120% 60% at 85% -10%, #fffaf0b3, transparent 60%), radial-gradient(90% 50% at -10% 30%, #d9a86c1a, transparent 60%), var(--paper);color:var(--ink);font-family:var(--serif);letter-spacing:.04em;-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.85;overflow-x:clip}a{color:var(--accent);text-underline-offset:.2em;transition:color .2s var(--ease-out), text-decoration-color .2s var(--ease-out);text-decoration:underline #7a4f3559}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--mark);outline-offset:3px;border-radius:4px}h1,h2,h3{letter-spacing:.08em;text-wrap:balance;word-break:auto-phrase;margin:0;font-weight:500;line-height:1.35}code{font-family:var(--mono);background:var(--chip);border:1px solid var(--line);border-radius:5px;padding:.05rem .35rem;font-size:.88em}.section-inner,.nav-inner,.footer-inner{max-width:var(--max);margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}.skip-link{z-index:100;background:var(--ink);color:var(--chip);padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.nav{z-index:20;-webkit-backdrop-filter:blur(10px);background:#efe7dce0;border-bottom:1px solid #d9cdbdb3;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:52px;display:flex}.brand{color:var(--ink);letter-spacing:.12em;align-items:center;gap:.55rem;font-size:1.1rem;text-decoration:none;display:inline-flex}.brand-icon{border-radius:6px}.nav-right{align-items:center;gap:1rem;display:flex}.nav nav{gap:1.1rem;display:flex}.nav nav a,.lang-switch a{color:var(--ink-soft);font-size:.88rem;text-decoration:none}.nav nav a:hover,.nav nav a[aria-current=page]{color:var(--ink)}.lang-switch{border:1px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.lang-switch a{letter-spacing:.1em;padding:.1rem .6rem;font-size:.75rem}.lang-switch a[aria-current=page]{background:var(--ink);color:var(--chip)}@media (width<=560px){.nav nav a:not(:last-child){display:none}}.eyebrow{letter-spacing:.32em;color:var(--mark);margin:0 0 .9rem;font-size:.78rem}.section{padding-block:var(--space-section)}.section-head{max-width:34rem;margin-bottom:clamp(2rem,4vw,3.25rem)}.section-head h2{font-size:var(--text-h2)}.section-head p:not(.eyebrow){color:var(--fg-dim);margin:1rem 0 0}.phone{box-shadow:var(--shadow-phone);background:linear-gradient(160deg,#f7f2ea,#e2d6c4);border-radius:34px;margin:0;padding:7px}.phone img{border-radius:28px;width:100%;height:auto;display:block}.phone figcaption,.shot-caption{letter-spacing:.12em;color:var(--fg-dim);text-align:center;margin-top:.85rem;font-size:.85rem}.dev-note{color:var(--fg-dim);letter-spacing:.06em;font-size:.78rem}.hero{padding-block:clamp(3rem,8vh,6rem) clamp(3rem,8vh,5rem);overflow-x:clip}.hero .section-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.hero h1{font-size:var(--text-hero);letter-spacing:.14em;line-height:1.3}.hero-name{letter-spacing:.1em;flex-wrap:wrap;align-items:baseline;gap:.2rem .9rem;margin:1.6rem 0 0;font-size:1.05rem;display:flex}.hero-name b{letter-spacing:.08em;font-size:1.6rem;font-weight:500}.hero-name small{color:var(--fg-dim);font-size:.85rem}.hero .lede{max-width:30rem;margin:1.4rem 0 0;font-size:1.05rem}.cta{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero-visual{justify-self:center;width:min(300px,78vw);position:relative}.hero-visual:before{content:"";aspect-ratio:1;z-index:-1;background:radial-gradient(circle,#d9a86c52,#d9a86c00 68%);border-radius:50%;position:absolute;inset:12% -22% auto}@media (width<=760px){.hero .section-inner{grid-template-columns:1fr}.hero-visual{width:min(260px,70vw)}}.btn{min-height:46px;font:inherit;letter-spacing:.1em;border:1px solid var(--line);background:var(--chip);color:var(--ink);transition:transform .2s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.4rem;font-size:.95rem;text-decoration:none;display:inline-flex}.btn:hover{color:var(--ink);border-color:var(--ink-soft);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-strong{background:var(--ink);border-color:var(--ink);color:var(--chip)}.btn-strong:hover{color:var(--chip);background:#3a3129}.btn-disabled{opacity:.6;pointer-events:none;cursor:default}.soon{letter-spacing:.08em;opacity:.85;font-size:.8em}.flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2.5rem);margin:0;padding:0;list-style:none;display:grid}.flow li:nth-child(2){margin-top:clamp(1.5rem,5vw,3.5rem)}.flow li:nth-child(3){margin-top:clamp(3rem,10vw,7rem)}.flow h3{margin-top:1.1rem;font-size:1.05rem}.flow p{color:var(--fg-dim);margin:.4rem 0 0;font-size:.92rem}@media (width<=760px){.flow{scroll-snap-type:x mandatory;padding-bottom:1rem;grid-template-columns:none;grid-auto-columns:min(68vw,240px);grid-auto-flow:column;margin-inline:calc(-1*clamp(1rem,4vw,2.5rem));padding-inline:clamp(1rem,4vw,2.5rem);overflow-x:auto}.flow li{scroll-snap-align:center;margin-top:0!important}}.calm{background:linear-gradient(180deg, #e6dccd00 0, var(--paper-deep) 12%, var(--paper-deep) 88%, #e6dccd00 100%)}.calm-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.calm-quote{letter-spacing:.12em;margin:0;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.2rem);line-height:1.7}.calm-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.calm-list li{border-bottom:1px solid var(--line);grid-template-columns:1.2rem 1fr;gap:.9rem;padding:1.1rem 0;display:grid}.calm-list li:before{content:"";background:var(--dot,var(--wood-amber));border-radius:2px;width:.7rem;height:.7rem;margin-top:.55rem;transform:rotate(12deg)}.calm-list li:nth-child(2){--dot:var(--wood-sage)}.calm-list li:nth-child(3){--dot:var(--wood-slate)}.calm-list li:nth-child(4){--dot:var(--wood-honey)}.calm-list li:nth-child(5){--dot:var(--wood-dark)}.calm-list b{letter-spacing:.08em;font-weight:500;display:block}.calm-list span{color:var(--fg-dim);font-size:.93rem}@media (width<=760px){.calm-grid{grid-template-columns:1fr}}.gestures{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid}.gestures div{border-bottom:1px solid var(--line);padding:1.4rem 1.2rem 1.4rem 0}.gestures div:nth-child(odd){border-right:1px solid var(--line)}.gestures div:nth-child(2n){padding-left:1.4rem}.gestures dt{letter-spacing:.2em;color:var(--mark);font-size:.82rem}.gestures dd{margin:.35rem 0 0;font-size:1.05rem}.play-tools{color:var(--fg-dim);margin-top:2rem;font-size:.95rem}@media (width<=560px){.gestures{grid-template-columns:1fr}.gestures div:nth-child(odd){border-right:none}.gestures div:nth-child(2n){padding-left:0}}.puzzles-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}.count{align-items:baseline;gap:.6rem;margin:0 0 1.25rem;display:flex}.count b{letter-spacing:.02em;font-size:clamp(3.5rem,2.5rem + 4vw,5.5rem);font-weight:400;line-height:1}.pieces{flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.pieces li{border:1px solid var(--line);background:var(--chip);text-align:center;border-radius:999px;min-width:4.2rem;padding:.35rem .8rem;font-size:.9rem}.puzzles-shot{justify-self:center;width:min(260px,70vw)}@media (width<=760px){.puzzles-grid{grid-template-columns:1fr}}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;letter-spacing:.06em;padding:1.1rem 2rem 1.1rem 0;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);width:.55rem;height:.55rem;transition:transform .2s var(--ease-out);position:absolute;top:50%;right:.4rem;transform:translateY(-70%)rotate(45deg)}.faq details[open] summary:after{transform:translateY(-30%)rotate(-135deg)}.faq details p{color:var(--fg-dim);margin:0 0 1.2rem}.download{color:var(--on-dark);text-align:center;background:linear-gradient(160deg,#4a3f35,#3a3129)}.download h2{font-size:var(--text-h2);color:var(--on-dark)}.download .eyebrow{color:var(--wood-honey)}.download p{color:var(--on-dark-muted)}.download .cta{justify-content:center}.download .btn{color:var(--on-dark);background:0 0;border-color:#f7f2ea66}.download a{color:var(--wood-pale)}.page-narrow{max-width:44rem;padding:clamp(3rem, 8vh, 5rem) clamp(1rem, 4vw, 2.5rem) var(--space-section);margin:0 auto}.page-narrow h1{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.4rem)}.page-narrow h2{margin:2.5rem 0 .75rem;font-size:1.2rem}.lede{color:var(--fg-dim)}.notice{border:1px solid var(--line);border-left:4px solid var(--wood-amber);background:var(--chip);border-radius:10px;margin:1.75rem 0;padding:1rem 1.25rem}.notice p{margin:0}.placeholder{color:#b42318;letter-spacing:.02em;background:#fef3f2;border:1px solid #fecdca;border-radius:6px;padding:.05rem .4rem;font-weight:600}.footer{border-top:1px solid var(--line);color:var(--fg-dim);padding:2.5rem 0 3rem;font-size:.85rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.footer p{margin:0}.footer strong{color:var(--ink);font-weight:500}.footer nav{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.footer nav a{color:var(--fg-dim)}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .9s var(--ease-out) both;animation-delay:calc(var(--d,0) * .11s)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}}
