@font-face{font-family:Hand;src:url("assets/handwriting.woff2") format("woff2");font-display:swap}
:root{--desk:#f4f0e6;--paper:#fffdf6;--ink:#342f28;--muted:#706b60;--orange:#cb5033;--line:#d9d3c5;--grid:rgba(91,76,43,.045);--shadow:rgba(73,49,18,.16);color-scheme:light}
:root[data-theme=dark]{--desk:#282620;--paper:#34312a;--ink:#eee8d9;--muted:#b7af9f;--orange:#f09371;--line:#534f43;--grid:rgba(255,234,190,.035);--shadow:rgba(0,0,0,.35);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background-color:var(--desk);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:28px 28px;font:15px/1.85 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}
a{color:inherit}button,input{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
button{cursor:pointer}button[hidden],[hidden]{display:none!important}.wrap{max-width:1232px;padding:0 42px;margin:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Hand,"KaiTi","STKaiti",serif;font-weight:400;line-height:1.35}a{text-decoration:none}.header{height:99px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:.015em;font-weight:600;font-size:17px}.brand-z{display:inline-block;font-family:Hand,sans-serif;font-size:33px;line-height:1;position:relative;font-weight:800;transform:rotate(-7deg)}.brand-z span{position:absolute;right:-2px;bottom:1px;width:8px;height:8px;background:var(--orange);clip-path:polygon(0 0,100% 100%,0 100%)}nav{margin-left:auto;display:flex;gap:32px;align-items:center}nav a{color:var(--muted);font-size:14px}nav a:hover{color:var(--ink)}nav a:first-child{position:relative}nav a:first-child:after{content:"";position:absolute;left:1px;right:1px;bottom:-4px;height:2px;background:var(--orange);transform:rotate(-5deg)}.theme-toggle{border:1px solid var(--line);background:transparent;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.theme-toggle svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;min-height:500px;align-items:center;position:relative;padding:44px 0 78px}.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.19em;font-weight:500;color:var(--muted)}.hero .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:18px}.hero .eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--orange)}h1{font-size:clamp(50px,5.3vw,76px);letter-spacing:.02em;line-height:1.25;white-space:nowrap}.marked{position:relative;display:inline-block}.marked svg{position:absolute;left:-2px;bottom:-11px;width:100%;height:19px;fill:none;stroke:var(--orange);stroke-width:3;stroke-linecap:round;opacity:.8}.dot{display:inline-block;width:11px;height:11px;margin-left:13px;vertical-align:12px;background:var(--orange);border-radius:50%;transform:rotate(-12deg)}.lead{font-size:16px;margin-top:29px;line-height:1.9}.sub{font-size:13px;color:var(--muted);margin-top:3px}.hero-link{margin-top:24px}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:3px}.text-link:hover{color:var(--orange);border-color:var(--orange)}.mobile-br{display:none}
.mascot-scene{position:relative;justify-self:center;width:320px;margin-top:-16px}.hero-mascot{position:relative;z-index:8;width:288px;margin:auto}.zbody{background:none;border:0;padding:0;display:block;width:100%;position:relative;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .24s ease-out}.zimg{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 12px var(--shadow))}.hd{position:absolute;left:0;top:0;width:45.28%;height:25.31%;transform-origin:99.2% 50%;pointer-events:none}.himg{display:block;width:100%;height:100%;filter:drop-shadow(0 8px 6px var(--shadow))}.eye{position:absolute;background:#242424;border-radius:50%;transform:translate(calc(-50% + var(--ex,0px)),calc(-50% + var(--ey,0px))) rotate(var(--r)) scaleY(var(--sy,1));pointer-events:none;transition:transform .12s ease-out}.blink .eye{--sy:.09}.sleep .eye{--sy:.13}.sleep .zzz{opacity:1}.zzz{position:absolute;top:-28px;left:22%;font:25px Hand;opacity:0;transition:opacity .5s;color:var(--muted)}.say{position:absolute;left:25%;top:-47px;max-width:220px;white-space:nowrap;background:var(--paper);border:1px solid var(--line);border-radius:12px 12px 12px 0;padding:7px 14px;font:17px Hand;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none}.say.on{opacity:1;transform:none}.mascot-note{position:absolute;left:35px;bottom:-43px;transform:rotate(-5deg);font:16px Hand;color:var(--muted)}.mascot-note svg{position:absolute;width:69px;height:60px;left:180px;top:-36px;fill:none;stroke:var(--muted);stroke-width:1.4;stroke-linecap:round}.neck{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 7px 5px var(--shadow))}.neck .paper{fill:url(#neck-paper);stroke:#c6b89e;stroke-width:.6;stroke-opacity:.5}.neck .crease{fill:none;stroke:#b3a58c;stroke-width:.7;stroke-opacity:.35}.ext .zbody{transform:none}.stretching .card.target .peek{opacity:0;transform:translateY(22px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:6px}h2{font-size:34px}.orange{color:var(--orange)}.filters{display:flex;gap:19px;padding-bottom:5px}.filters button{border:0;padding:0 0 5px;background:none;position:relative;color:var(--muted);font-size:12px;white-space:nowrap}.filters .active{color:var(--ink)}.filters .active:after{content:"";position:absolute;bottom:0;left:0;right:0;background:var(--orange);height:2px;transform:rotate(-3deg)}.filters small{font-size:9px;margin-left:3px;color:var(--orange)}
.works{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:25px;row-gap:42px;align-items:start}.card{grid-column:span 2;position:relative;text-align:left;background:var(--paper);border:1px solid rgba(150,130,94,.1);padding:17px 17px 18px;border-radius:2px;box-shadow:0 16px 22px -17px var(--shadow);transform:rotate(var(--tilt,-.65deg));transition:transform .22s,box-shadow .22s;min-width:0;width:100%}.story-card{grid-column:span 3}.baby-card{--tilt:.8deg;margin-top:11px}.knit-card{--tilt:1deg;margin-top:7px}.team-card{--tilt:-.45deg;margin-top:0}.card:hover,.card:focus-visible{transform:translateY(-5px) rotate(0);box-shadow:0 20px 30px -17px var(--shadow)}.card:after{content:"";position:absolute;right:0;bottom:0;width:0;height:0;clip-path:polygon(0 0,100% 100%,0 100%);background:var(--orange);transition:width .2s,height .2s}.card:hover:after,.card:focus-visible:after{width:22px;height:22px}.card-index{display:block;font-size:9px;line-height:1;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.thumb{aspect-ratio:4/3;overflow:hidden;position:relative;background:#eae3d2}.story-card .thumb{aspect-ratio:16/9}.thumb>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.card:hover .thumb>img{transform:scale(1.025)}.torn{clip-path:polygon(0 1%,5% 0,12% 1%,23% 0,36% 1%,49% 0,62% 1%,76% 0,90% 1%,100% 0,99.5% 25%,100% 50%,99.5% 74%,100% 100%,85% 99%,72% 100%,58% 99%,39% 100%,20% 99%,0 100%,.5% 70%,0 44%)}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:25px 16px 13px;font:19px Hand;color:#fffaf0;background:linear-gradient(transparent,rgba(20,28,28,.55));text-shadow:0 1px 2px #333}.baby-card .image-caption{font-size:22px}.tape{position:absolute;top:-12px;left:50%;width:88px;height:24px;transform:translateX(-50%) rotate(-6deg);background:rgba(220,188,130,.48);z-index:2;clip-path:polygon(2% 0,100% 5%,97% 100%,0 95%);border-left:1px dashed #b9a678;border-right:1px dashed #b9a678}.card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.card h3{font-size:28px}.card-arrow{font:20px Hand;color:var(--muted)}.card p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:6px;min-height:45px}.card-bottom{margin-top:15px;padding-top:11px;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.card-bottom span:last-child{color:var(--ink)}.peek{position:absolute;top:-35px;right:24px;width:70px;height:47px;z-index:3;pointer-events:none;opacity:0;transform:translateY(22px) rotate(9deg);transition:opacity .2s .15s,transform .3s .15s}.peek-head{position:relative;width:100%;height:100%;display:block}.peek img{width:100%;height:100%;filter:drop-shadow(0 3px 3px var(--shadow))}.card:hover .peek,.card:focus-visible .peek{opacity:1;transform:translateY(0) rotate(9deg)}.work-footnote{font:17px Hand;color:var(--muted);margin-top:34px;text-align:center}.work-footnote span{color:var(--orange);font-size:24px;margin-right:8px;vertical-align:-1px}
.about{border-top:1px solid var(--line);margin-top:80px;padding:57px 0 58px;display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.about .eyebrow{margin-bottom:11px}.about h2{font-size:36px}.scribble{display:block;font:25px/1.5 Hand;color:var(--orange);transform:rotate(-7deg);margin:34px 0 0 36px}.about-copy p{font-size:14px;line-height:2;color:var(--muted);margin-bottom:14px}.about-copy .text-link{margin-top:9px}.contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 45px;background:var(--paper);position:relative;border:1px solid var(--line);box-shadow:0 13px 22px -19px var(--shadow);transform:rotate(-.4deg)}.contact:before{content:"";position:absolute;top:-11px;left:45%;width:110px;height:23px;transform:rotate(5deg);background:rgba(220,188,130,.42)}.contact h2{margin-top:10px;font-size:37px}.mail-note{position:relative;display:flex;flex-direction:column;padding-right:60px;gap:5px}.mail-note>span:first-child{font:25px Hand}.mail-address{font-size:12px;color:var(--muted)}.mail-note svg{position:absolute;right:0;top:6px;width:37px;fill:none;stroke:var(--orange);stroke-width:1.3;transform:rotate(8deg);transition:transform .2s}.mail-note:hover svg{transform:translateY(-4px) rotate(0)}footer{display:flex;align-items:center;gap:25px;margin:48px 0 38px;color:var(--muted);font-size:11px}.footer-note{margin-right:auto;font:16px Hand}footer a:hover{color:var(--orange)}
.mini-z{position:fixed;bottom:23px;right:24px;width:57px;z-index:12;border:0;background:none;padding:0;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .25s,transform .25s,visibility .25s}.mini-z.show{opacity:1;visibility:visible;transform:none}.mini-image{position:relative;display:block;width:100%}.mini-image>img{width:100%;display:block;filter:drop-shadow(0 6px 5px var(--shadow))}.mini-caption{position:absolute;right:0;bottom:105%;font:15px Hand;white-space:nowrap;background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:3px 7px;opacity:0;transition:opacity .2s}.mini-z:hover .mini-caption,.mini-z:focus-visible .mini-caption{opacity:1}
dialog{border:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);max-width:860px;width:calc(100% - 48px);max-height:90dvh;overflow:auto;box-shadow:0 25px 70px #0003;border-radius:4px}dialog::backdrop{background:rgba(35,30,24,.57);backdrop-filter:blur(4px)}.dialog-close{position:absolute;z-index:3;right:12px;top:12px;width:38px;height:38px;border-radius:50%;border:1px solid #e6decc;background:#fffdf6;color:#302b23;font:28px/1 system-ui}.dialog-art{aspect-ratio:16/9;overflow:hidden;position:relative;background:#eee7d7}.dialog-art>img{display:block;width:100%;height:100%;object-fit:cover}.dialog-copy{padding:29px 39px 36px}.dialog-copy h2{font-size:40px;margin:8px 0 12px}.dialog-intro{font:22px/1.7 Hand;margin-bottom:15px}.dialog-copy>p:not(.dialog-intro):not(.eyebrow){color:var(--muted);font-size:13px}.dialog-copy ul{padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:8px;list-style:none}.dialog-copy li{border:1px solid var(--line);padding:3px 10px;font-size:11px;color:var(--muted)}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.dialog-actions a{display:inline-flex;align-items:center;gap:28px;padding:9px 18px;border:1px solid var(--ink);font-size:13px}.dialog-actions a:first-child{background:var(--ink);color:var(--paper)}.dialog-actions a:hover{border-color:var(--orange);color:var(--orange)}.dialog-note{margin-top:13px;font-size:11px!important}#comparison{position:absolute;inset:0;--split:50%}#comparison>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 calc(100% - var(--split)) 0 0)}#comparison input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:ew-resize}#comparison:focus-within{outline:3px solid var(--orange);outline-offset:-3px}.comparison-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#fff;pointer-events:none}.comparison-line:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#fffdf6;color:#3b3427;border:1px solid #b8a78c}.comparison-label{position:absolute;left:16px;bottom:14px;border:1px solid #e6decc;background:#fffdf6;color:#3b3427;padding:3px 10px;font-size:11px;pointer-events:none}
.skip{position:fixed;top:-100px;left:20px;background:var(--paper);z-index:50;padding:10px}.skip:focus{top:10px}.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.hop{animation:hop .65s}@keyframes hop{25%{transform:translateY(-12px) rotate(-4deg)}50%{transform:rotate(3deg)}75%{transform:rotate(-2deg)}}
@media(min-width:1500px){.hero{min-height:540px;padding-bottom:90px}.mascot-scene{width:355px}.hero-mascot{width:315px}}
@media(max-width:1000px){.wrap{padding:0 30px}.hero{gap:15px;min-height:470px}.hero-mascot{width:250px}.mascot-scene{width:270px}h1{font-size:59px}.lead{font-size:14px}.works{gap:32px 18px}.card{padding:13px}.card h3{font-size:25px}.card-bottom{font-size:9px}.about{gap:40px}.contact{padding:35px}.contact h2{font-size:32px}}
@media(max-width:760px){.wrap{padding:0 23px}.header{height:78px;gap:15px}.brand{font-size:14px;gap:7px}nav{gap:18px}nav a{font-size:12px}.theme-toggle{width:30px;height:30px}.hero{grid-template-columns:1fr .65fr;min-height:400px;padding:45px 0 75px;gap:5px}.hero .eyebrow{font-size:8px;letter-spacing:.1em}h1{font-size:49px}.lead{font-size:12px;max-width:27em}.sub{font-size:11px;max-width:24em}.hero-mascot{width:175px}.mascot-scene{width:180px}.mascot-note{font-size:12px;left:10px;bottom:-30px}.mascot-note svg{width:38px;left:126px;top:-23px}.dot{width:8px;height:8px;margin-left:7px;vertical-align:8px}.hero-link{margin-top:17px}.section-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:25px}h2{font-size:31px}.filters{gap:24px}.works{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.story-card{grid-column:span 2}.tool-card{grid-column:span 1}.team-card{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.team-card .card-index{grid-column:span 2}.team-card .thumb{grid-row:span 3;aspect-ratio:4/3}.team-card .card-title{margin:0}.team-card .card-bottom{margin-top:7px;flex-wrap:wrap;gap:3px}.team-card p{min-height:0}.card{padding:15px}.baby-card{margin-top:0}.story-card .card p{min-height:0}.card p{font-size:12px}.card-bottom{font-size:10px}.about{margin-top:60px;grid-template-columns:1fr;gap:22px;padding:42px 0}.about-label{position:relative}.about h2{font-size:32px}.scribble{position:absolute;right:10px;top:0;margin:0;font-size:18px}.about-copy p{font-size:13px}.contact{padding:30px;gap:25px;align-items:start;flex-direction:column}.contact h2{font-size:34px}.mail-note{width:100%;padding-right:45px}footer{gap:18px;flex-wrap:wrap;margin-bottom:28px}.footer-note{width:calc(100% - 170px);text-align:right;margin:0}.mini-z{width:43px;right:11px;bottom:13px}.dialog-copy{padding:24px}.dialog-copy h2{font-size:35px}.dialog-intro{font-size:20px}}
@media(max-width:520px){.wrap{padding:0 20px}.brand-z{font-size:27px}.header{gap:13px}nav{gap:15px}.header nav a:last-child{display:none}.hero{display:flex;flex-direction:column;align-items:start;padding:30px 0 47px;min-height:0}.hero-copy{z-index:1}.hero h1{font-size:clamp(44px,13.7vw,54px)}.hero .eyebrow{font-size:9px}.lead{font-size:13px;margin-top:26px;max-width:22em}.sub{font-size:12px;max-width:22em}.mascot-scene{position:absolute;right:-6px;bottom:46px;width:100px}.hero-mascot{width:100px}.mascot-note{display:none}.say{font-size:14px;left:auto;right:0;top:-45px}.hero-copy .sub{padding-right:52px}.hero-link{margin-top:27px}.mobile-br{display:inline}.hero-link{font-size:12px}.works{grid-template-columns:1fr;gap:30px}.story-card,.tool-card{grid-column:span 1;margin:0}.team-card{display:block}.team-card .card-title{margin-top:16px}.team-card .card-bottom{margin-top:15px;gap:12px}.team-card .thumb{aspect-ratio:4/3}.card{padding:15px;transform:rotate(var(--tilt,-.65deg))}.card h3{font-size:30px}.card p{min-height:0}.work-footnote{font-size:14px;margin-top:27px;text-align:left}.about{margin-top:40px}.scribble{font-size:17px;right:0;top:60px}.about-label{padding-bottom:48px}.contact{padding:28px}.contact h2{font-size:32px}.mail-address{font-size:11px}dialog{width:calc(100% - 24px);max-height:92dvh}.dialog-copy{padding:22px}.dialog-copy h2{font-size:32px}.dialog-art{aspect-ratio:4/3}.dialog-actions{gap:8px}.dialog-actions a{padding:9px 13px;font-size:12px;gap:14px}.mini-z{background:var(--desk);border-radius:12px;padding:3px;width:42px}.about-copy{max-width:34em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.zbody{transform:none}.peek{display:none}.neck{display:none}}
footer{flex-wrap:wrap}.footer-icp{flex:0 0 100%;text-align:center;font-size:12px;line-height:1.8}.footer-icp a{display:inline-block;padding:4px 0}

