:root{--paper:#faf7f1;--white:#fffdfa;--ink:#171b28;--blue:#2150f5;--lime:#d4ed51;--muted:#777975;--line:#e6e3dc;--gutter:4.4vw;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip-link{position:fixed;z-index:30;top:-80px;left:24px;padding:12px;background:white}.skip-link:focus{top:12px}
.site-header{padding:23px var(--gutter);display:flex;justify-content:space-between;align-items:center;height:96px;position:relative;z-index:3}.brand{font-size:clamp(27px,2.75vw,43px);font-weight:900;letter-spacing:-1.8px;color:var(--blue);line-height:1}.site-header nav{display:flex;align-items:center;gap:clamp(25px,4vw,65px);font-size:14px;font-weight:500}.site-header nav a{padding:12px 0;position:relative}.site-header nav a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after{transform:scaleX(1)}.site-header nav a span{margin-left:7px;color:var(--blue)}
.hero{position:relative;min-height:720px;height:calc(min(100vw * .56, 1060px) - 96px);max-height:964px;isolation:isolate}.hero-copy{position:absolute;left:var(--gutter);top:15%;z-index:2;width:46%;pointer-events:none}.hero-copy a{pointer-events:auto}h1{margin:0;font-size:clamp(51px,5.9vw,94px);line-height:1.25;letter-spacing:-.065em;font-weight:850;-webkit-text-stroke:.5px;white-space:nowrap}h1 span{color:var(--blue)}.hero-description{font-size:clamp(17px,1.77vw,28px);line-height:1.8;letter-spacing:-.6px;margin:25px 0 36px;color:#626571}.primary-button{display:inline-flex;gap:35px;align-items:center;justify-content:center;padding:18px 30px;background:var(--blue);border-radius:100px;color:#fff;font-size:18px;font-weight:550;min-height:62px;box-shadow:0 7px 22px #2150f511;transition:box-shadow .25s,background .25s;will-change:transform}.primary-button:hover{background:#1642db;box-shadow:0 10px 30px #2150f535}.primary-button span{font-size:26px;line-height:1;transition:transform .25s}.primary-button:hover span{transform:translateX(5px)}.little-invite{display:flex;align-items:center;gap:9px;color:#878881;font-size:12px;margin-top:26px;letter-spacing:.3px}.live-dot{display:inline-block;height:6px;width:6px;background:#9daf2a;border-radius:50%;box-shadow:0 0 0 4px #cde85b24;flex:none}
.scene-wrap{position:absolute;inset:-65px 0 100px 39%;min-height:480px;z-index:1}.scene-wrap canvas{width:100%;height:calc(100% - 42px);display:block;touch-action:pan-y;cursor:grab;opacity:0;transition:opacity .7s;outline-offset:-8px}.scene-wrap.ready canvas{opacity:1}.scene-wrap.dragging canvas{cursor:grabbing}.scene-wrap.hit canvas{cursor:pointer}.scene-fallback{display:none;position:absolute;inset:20%;color:var(--blue);padding:30px;text-align:center}.scene-fallback strong{font-size:clamp(35px,4vw,60px)}.scene-fallback p{color:var(--muted);line-height:1.7}.scene-wrap.failed .scene-fallback{display:block}.scene-wrap.failed canvas,.scene-wrap.failed .scene-tools,.scene-wrap.failed .expression-picker,.scene-wrap.failed .scene-hint{display:none}.scene-tools{position:absolute;left:3%;top:70px;display:flex;gap:7px;opacity:0;transition:opacity .3s}.scene-wrap.ready .scene-tools{opacity:1}.scene-tools button{background:#fffaf2c9;border:1px solid #e5e2dc;padding:8px 12px;font-size:11px;min-height:36px;border-radius:100px;transition:background .2s,transform .2s}.scene-tools button:hover{background:#fff;transform:translateY(-2px)}.scene-tools button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}.scene-tools span{color:var(--blue);margin-left:5px}.speech-bubble{position:absolute;left:45%;top:15%;background:#fffdf9ef;color:#394353;border:1px solid #eae5db;box-shadow:0 10px 40px #1827400b;border-radius:18px 18px 18px 3px;padding:12px 18px;font-size:14px;pointer-events:none;opacity:0;transform:translateY(8px) rotate(-3deg);transition:opacity .25s,transform .25s;white-space:nowrap}.speech-bubble.show{opacity:1;transform:translateY(0) rotate(-3deg)}.scene-hint{position:absolute;bottom:58px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:1px;color:#97968c;pointer-events:none;opacity:0;transition:opacity .4s}.ready .scene-hint{opacity:1}.expression-picker{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:3px;align-items:center;white-space:nowrap;padding:5px;background:#fffdf8c7;border:1px solid #e7e3d8;border-radius:100px}.picker-label{font-size:10px;color:#929182;padding:0 10px}.expression-picker button{background:transparent;min-height:36px;padding:7px 13px;border-radius:100px;font-size:11px;transition:color .2s,background .2s,transform .2s}.expression-picker button:hover{transform:translateY(-2px);background:#efeee4}.expression-picker button[aria-pressed=true]{background:var(--blue);color:white}
.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.small-caption{font-size:11px;letter-spacing:1px;color:#a4a399}.scene-tabs{display:flex;gap:27px;align-items:center;color:#999991}.scene-tabs button{position:relative;background:transparent;color:#84847f;font-size:17px;min-height:45px;padding:10px 7px;transition:color .3s}.scene-tabs button:after{content:"";height:3px;width:20px;border-radius:5px;background:var(--blue);position:absolute;left:50%;bottom:0;transform:translateX(-50%) scaleX(0);transition:transform .3s}.scene-tabs button[aria-selected=true]{color:var(--blue);font-weight:650}.scene-tabs button[aria-selected=true]:after{transform:translateX(-50%) scaleX(1)}.project-status{justify-self:end;color:#95948c;font-size:12px}
.possibilities{position:relative;border-radius:70px 70px 0 0;background:var(--white);padding:85px var(--gutter) 80px;overflow:hidden}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.eyebrow{font-size:11px;font-weight:500;letter-spacing:2px;margin:0 0 20px;color:#92948a}h2{font-size:clamp(30px,3.1vw,46px);line-height:1.4;font-weight:650;letter-spacing:-1.8px;margin:0}.section-head>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}.scene-panel{display:grid;grid-template-columns:1fr 1fr;gap:9%;position:relative;background:#f1f4ff;border-radius:30px;padding:45px 55px 48px;transition:background .4s;overflow:hidden}.scene-panel[data-scene=work]{background:#f2f4e4}.scene-panel[data-scene=life]{background:#fff0e6}.panel-index{font-size:120px;line-height:1;color:#dce4ff;font-weight:800;letter-spacing:-10px;position:absolute;right:44px;top:28px;user-select:none;opacity:.6}.scene-panel .eyebrow{color:var(--blue);margin-bottom:17px}.scene-panel h3{position:relative;font-size:clamp(32px,3.2vw,47px);letter-spacing:-2px;line-height:1.35;margin:0;font-weight:650}.panel-right{position:relative;padding-top:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.panel-right>p{font-size:15px;line-height:1.9;margin:0 0 22px;max-width:450px;color:#606578}.panel-right blockquote{margin:0 0 22px;border-left:2px solid #aabafa;padding:0 0 0 17px;line-height:1.9;font-size:14px;color:#4b5674;max-width:450px}.planning-label{font-size:10px;border:1px solid #cdd5e8;padding:4px 10px;border-radius:30px;color:#7d8398}.direction-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:35px}.direction{background:transparent;position:relative;border-top:1px solid var(--line);padding:25px 35px 10px 0;text-align:left;transition:border-color .2s}.direction>span:first-child{display:block;font-size:11px;color:#999b91;margin-bottom:13px}.direction strong{display:block;font-size:18px;letter-spacing:-.5px;font-weight:550}.direction .direction-arrow{position:absolute;right:5px;bottom:10px;font-size:22px;color:#979a8c;transition:transform .25s}.direction:hover .direction-arrow{transform:translate(4px,-4px)}.direction.active{border-color:var(--blue)}.direction.active strong,.direction.active .direction-arrow{color:var(--blue)}.section-container{padding-left:var(--gutter);padding-right:var(--gutter)}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:100px;padding-bottom:100px}.about-copy{font-size:15px;line-height:1.95;color:#73766f;max-width:550px}.about-copy p{margin:0 0 20px}.growing-note{display:flex;align-items:center;gap:12px;font-size:11px;margin-top:30px}.contact{background:#e9eddb;padding-top:75px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.contact p:not(.eyebrow){font-size:13px;line-height:1.9;color:#797d70;margin-top:24px}.email-link{display:flex;flex-direction:column;position:relative;border-bottom:1px solid #b7c1a1;padding:25px 45px 25px 0;gap:17px}.email-link>span:first-child{font-size:12px;color:#7e896c}.email-link strong{font-size:clamp(17px,2.3vw,35px);font-weight:550;letter-spacing:-1px;overflow-wrap:anywhere}.email-arrow{position:absolute;right:5px;bottom:22px;font-size:35px;color:#61733e;transition:transform .3s}.email-link:hover .email-arrow{transform:translate(5px,-5px)}footer{padding:27px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:10px;color:#92968a}footer a:hover{color:var(--blue)}
@media(min-width:1700px){:root{--gutter:max(5vw,calc((100vw - 1550px)/2))}.hero-copy{width:750px}.scene-wrap{right:calc((100vw - 1700px)/2);left:calc(50% - 190px)}}
@media(max-width:1100px){.hero{min-height:650px;height:74vw}.hero-copy{top:18%;width:47%}h1{font-size:5.9vw}.hero-description{font-size:18px}.hero-description span{display:block}.scene-wrap{left:39%;inset-block-start:-25px}.primary-button{font-size:15px;padding:14px 22px;min-height:52px;gap:24px}.expression-picker .picker-label{display:none}.expression-picker button{padding:7px 11px}.scene-hint{letter-spacing:0;font-size:9px}.scene-tools{left:3%;right:auto;top:30px}.hero-bottom{gap:12px;grid-template-columns:1fr 1fr}.small-caption{display:none}.scene-tabs{justify-self:start;gap:22px}.section-head>p{max-width:260px}.panel-index{font-size:90px}.scene-panel{padding:35px;gap:6%}}
@media(max-width:680px){:root{--gutter:24px}.site-header{height:78px;padding-top:22px;padding-bottom:18px}.brand{font-size:28px;letter-spacing:-1px}.site-header nav{font-size:11px;gap:20px}.about-nav{display:none}.site-header nav a span{display:none}.hero{height:auto;max-height:none;min-height:0;padding-top:27px}.hero-copy{position:relative;top:auto;left:auto;width:auto;margin:0 var(--gutter);pointer-events:auto}h1{font-size:clamp(33px,8.5vw,57px);letter-spacing:-.065em;line-height:1.3}.hero-description{font-size:14px;margin:17px 0 20px;letter-spacing:-.2px}.hero-description span{display:inline}.primary-button{font-size:13px;min-height:48px;padding:12px 20px;gap:25px}.primary-button span{font-size:21px}.little-invite{margin-top:17px;font-size:10px;gap:8px}.scene-wrap{position:relative;inset:auto;height:440px;min-height:0;width:100%;margin-top:-8px}.scene-tools{top:18px;right:22px;left:auto;gap:6px}.scene-tools button{font-size:10px;min-height:36px;padding:7px 10px}.scene-wrap canvas{height:calc(100% - 42px);width:100%}.scene-hint{bottom:57px;font-size:9px}.expression-picker{bottom:2px;padding:4px;gap:1px}.expression-picker button{font-size:11px;min-height:40px;padding:8px 17px}.speech-bubble{top:17%;left:43%;font-size:11px;padding:9px 12px}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;display:flex;flex-direction:column;gap:10px;padding:20px 24px 25px}.scene-tabs{gap:30px}.scene-tabs button{font-size:16px;min-height:44px;padding:8px 9px}.project-status{font-size:10px}.possibilities{border-radius:32px 32px 0 0;padding-top:45px;padding-bottom:40px}.section-head{display:block;margin-bottom:28px}.eyebrow{font-size:10px;margin-bottom:14px;letter-spacing:1.5px}h2{font-size:28px;letter-spacing:-1px}.section-head>p{max-width:none;font-size:12px;margin-top:14px;line-height:1.8}.scene-panel{grid-template-columns:1fr;gap:21px;padding:28px 24px;border-radius:23px}.scene-panel h3{font-size:35px;letter-spacing:-1.5px}.panel-index{top:20px;right:30px;font-size:105px}.panel-right{padding-top:0}.panel-right>p{font-size:13px;margin-bottom:18px}.panel-right blockquote{font-size:12px;margin-bottom:18px}.direction-list{grid-template-columns:1fr;gap:10px;margin-top:24px}.direction{padding:16px 30px 18px 0}.direction>span:first-child{font-size:10px;margin-bottom:8px}.direction strong{font-size:17px}.direction .direction-arrow{bottom:17px}.about{grid-template-columns:1fr;gap:26px;padding-top:46px;padding-bottom:49px}.about-copy{font-size:13px}.about-copy p{margin-bottom:17px}.growing-note{margin-top:24px}.contact{grid-template-columns:1fr;gap:19px;padding-top:46px;padding-bottom:47px}.contact p:not(.eyebrow){font-size:12px;margin-top:18px}.email-link{gap:12px;padding:18px 30px 19px 0}.email-link strong{font-size:22px;letter-spacing:-.5px}.email-arrow{font-size:27px;bottom:15px}footer{padding-top:24px;padding-bottom:24px;gap:11px;font-size:9px}footer>span:nth-child(2){display:none}}
@media(max-width:375px){.scene-wrap{height:400px}.hero-description span{display:block}.little-invite{font-size:9px}.site-header nav{gap:15px}.expression-picker button{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.no-script{position:absolute;inset:30% 10%;text-align:center;color:var(--blue);font-size:24px;line-height:1.8}

.scene-poster{position:absolute;inset:0 0 42px;width:100%;height:calc(100% - 42px);object-fit:contain;pointer-events:none;transition:opacity .4s}.scene-wrap.ready .scene-poster{opacity:0}.scene-wrap.failed .scene-poster{opacity:1}.scene-wrap.failed .scene-fallback{inset:auto 10% 5%;padding:6px;font-size:11px}.scene-wrap.failed .scene-fallback strong,.scene-wrap.failed .scene-fallback p{display:none}.scene-wrap.failed .scene-fallback a{background:#fffdf8e6;border:1px solid #e5e2da;padding:8px 13px;border-radius:24px}.scene-wrap button:disabled{opacity:.5;cursor:wait}
