
:root{--paper:#f8f8f3;--ink:#182122;--muted:#737b7e;--line:#d7dcd8;--blue:#4358e8;--lime:#d6ef88}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","Noto Sans CJK SC",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.wrap{max-width:1184px;margin:0 auto;padding:0 24px}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:800;display:flex;gap:13px;align-items:center}.signature{font-size:32px;font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-6px;color:var(--blue);padding-right:7px}.navlinks{display:flex;align-items:center;gap:40px;font-size:15px}.navlinks .active{position:relative;font-weight:700}.active:after{content:"";height:3px;background:var(--blue);position:absolute;left:0;right:0;bottom:-12px}.contact{border:1px solid var(--ink);border-radius:30px;padding:9px 25px}.hero{display:grid;grid-template-columns:.86fr 1.14fr;gap:44px;align-items:center;padding:66px 0 62px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:600}.hero h1{font-size:66px;line-height:1.22;letter-spacing:-3px;margin:30px 0 25px}.under{position:relative;display:inline-block;isolation:isolate}.under:after{content:"";position:absolute;bottom:-8px;left:0;width:72%;height:6px;border-radius:80% 40%;background:var(--blue);transform:rotate(-4deg);z-index:-1}.hero p{font-size:18px;line-height:1.95;margin:32px 0;color:#555e61}.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.hero-tags span{font-size:12px;letter-spacing:1px;border:1px solid #dce2d9;border-radius:20px;padding:7px 13px;background:#ffffff80}.travel{height:446px;border-radius:22px;position:relative;isolation:isolate}.travel:before{content:"";position:absolute;width:110%;height:73%;border:1.5px solid var(--lime);border-radius:50%;transform:rotate(-20deg);left:-4%;top:15%;z-index:-1}.travel img{object-position:center 54%;border-radius:22px}.phototag{position:absolute;right:19px;bottom:19px;background:var(--lime);padding:9px 18px;border-radius:24px;font-size:14px;font-weight:700}.weight{background:linear-gradient(125deg,#eef5d7,#f3f6e9);border-radius:25px;padding:42px 46px;display:grid;grid-template-columns:1fr 390px;gap:50px;align-items:center;margin-bottom:76px}.smallhead{font-size:16px;font-weight:700;margin:0 0 19px}.weight h2{font-size:41px;line-height:1.25;margin:0}.metric{font-size:96px;font-weight:800;line-height:1.12;letter-spacing:-4px;margin:9px 0 23px}.metric span{font-size:45px;letter-spacing:0;margin-left:8px}.pill{display:inline-block;background:#dfefaa;padding:7px 14px;font-size:13px;border-radius:24px;font-weight:600}.weight h3{font-size:23px;margin:17px 0 11px}.weight p{font-size:15px;line-height:1.8;color:#67716c;margin:0 0 22px}.textlink{font-size:16px;font-weight:600;color:var(--blue)}.before{height:416px;border-radius:18px;overflow:hidden;position:relative}.before img{object-position:center 8%}.section{padding-bottom:66px;margin-bottom:57px;border-bottom:1px solid var(--line)}.sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:27px}.sectionhead h2{font-size:34px;letter-spacing:-1px;margin:0;position:relative}.sectionhead h2:after{content:"";position:absolute;left:1px;bottom:-9px;width:62px;height:4px;background:var(--lime);transform:rotate(-7deg)}.sectionhead .label{font-size:11px;letter-spacing:2px;color:var(--muted)}.card{background:#fff;border:1px solid #e2e4df;border-radius:16px;overflow:hidden}.card .caption{display:flex;align-items:center;justify-content:space-between;padding:19px 21px}.card h3{font-size:18px;font-weight:700;margin:0}.arrow{font-size:22px}.media-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:24px}.media-image{height:336px;overflow:hidden;background:#eaece7}.program img{object-fit:cover;object-position:center 46%}.ai img{object-fit:contain;background:#e6eddd}.caption small{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:7px}.anime{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.anime .image{aspect-ratio:1.3;overflow:hidden}.anime img{object-position:center 43%}.anime .caption{background:#f2f1e9}.games{display:grid;grid-template-columns:1fr 1fr;gap:25px}.games .image{aspect-ratio:16/8.8;overflow:hidden}.games img{transform:scale(1.065)}.games .caption{background:#f2f2ed}.more-game{margin-top:24px;display:flex;align-items:center;gap:13px;font-size:14px;color:#687170}.more-game span{background:#e9edff;color:#3448c7;border:1px solid #d9dffc;padding:9px 21px;border-radius:24px;font-weight:600}.notes{font-size:14px;line-height:1.8;color:var(--muted);padding:0 0 36px;margin-top:-20px}.footer{display:flex;justify-content:space-between;align-items:center;padding:11px 0 40px}.footer .hello{font-size:33px;color:var(--blue);font-weight:800;letter-spacing:-1px}.footer .domain{text-align:right;font-size:15px;letter-spacing:2px}.domain small{display:block;font-size:10px;color:var(--muted);margin-top:10px;letter-spacing:3px}
@media(max-width:780px){.wrap{padding:0 22px}.nav{height:76px}.brand{font-size:20px}.navlinks{gap:18px;font-size:12px}.navlinks a:nth-child(1),.navlinks a:nth-child(2){display:none}.contact{padding:7px 14px}.hero{grid-template-columns:1fr;padding:40px 0;gap:28px}.hero h1{font-size:48px}.hero p{font-size:16px}.travel{height:340px}.weight{grid-template-columns:1fr;padding:28px;gap:26px;margin-bottom:50px}.weight h2{font-size:32px}.metric{font-size:80px}.before{height:365px}.section{margin-bottom:42px;padding-bottom:42px}.sectionhead h2{font-size:28px}.sectionhead .label{font-size:9px}.media-grid{grid-template-columns:1fr}.media-image{height:300px}.anime{gap:12px;grid-template-columns:1fr}.anime .image{aspect-ratio:1.65}.games{gap:18px;grid-template-columns:1fr}.card h3{font-size:16px}.card .caption{padding:16px}.footer .hello{font-size:25px}.footer .domain{font-size:12px}}
.program img{object-fit:contain;object-position:center;background:#14245e}

/* Latest interactive design */
.deck[data-count="7"]{--rail:82px;--overlap:16px}
.deck-content{z-index:6}
.deck-open{pointer-events:auto;z-index:6;padding:4px;border-radius:4px}
.deck-card:not(.is-active) .deck-open{visibility:hidden;pointer-events:none}
.deck-subtitle{font-size:13px;letter-spacing:1px;color:#ffffffb3;margin:9px 0 0}
.deck-card.is-typography{background:linear-gradient(145deg,#162c42,#425e6a 50%,#c7b681)}
.is-typography .deck-backdrop{background:none}
.deck-typography{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;color:#eadfb9}
.deck-typography:before,.deck-typography:after{content:"";position:absolute;width:65%;height:75%;border:1px solid #e9d4a544;border-radius:50%;transform:rotate(-30deg)}
.deck-typography:after{transform:rotate(25deg);width:40%;height:90%}
.deck-typography span{font-size:clamp(30px,5vw,80px);letter-spacing:.25em;white-space:nowrap;opacity:.5}
.deck-card:not(.is-active) .deck-typography span{opacity:0}
.creation-gallery{display:flex;align-items:center;gap:16px;height:430px}
.creation-frame{position:relative;flex:1 1 0;min-width:0;height:318px;display:flex;flex-direction:column;box-shadow:0 4px 14px #1d242708;transition:flex-grow .78s cubic-bezier(.22,.8,.2,1),height .65s cubic-bezier(.22,.8,.2,1),box-shadow .6s;isolation:isolate}
.creation-frame.is-active{flex-grow:4;height:416px;box-shadow:0 12px 30px #1d242712}
.frame-media{flex:1;min-height:0;overflow:hidden;background:#eceee3;position:relative}
.frame-media img{object-position:center;transition:transform .8s}
.creation-frame.is-active .frame-media img{transform:scale(1.015)}
.creation-frame .caption{height:78px;padding:14px 15px;flex:none;background:#fff;gap:7px}
.creation-frame .caption small{font-size:8px;letter-spacing:1.2px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.creation-frame .caption h3{font-size:15px;white-space:nowrap;transition:font-size .4s}
.creation-frame.is-active .caption h3{font-size:22px}
.creation-frame .caption .arrow{font-size:19px;flex:none}
.frame-select{position:absolute;inset:0;z-index:5;border:0;border-radius:15px;background:transparent;cursor:pointer;padding:0}
.frame-select:focus-visible{outline:3px solid #4358e8;outline-offset:-4px}
.social-art{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;background:linear-gradient(135deg,#e9e6f4,#f5efdc);overflow:hidden;color:#252d4a;text-align:center}
.social-small{font-size:8px;letter-spacing:1px;white-space:nowrap}
.social-art strong{font-size:clamp(20px,3vw,36px);line-height:1.5;margin:20px 0;font-weight:700;white-space:nowrap;letter-spacing:1px}
.social-channels{font-size:11px;letter-spacing:1px;white-space:nowrap}
.sectionhead .genres{font-size:14px;letter-spacing:1px;color:#68716e}
.deck{--rail:94px;--overlap:18px;--duration:4500ms}
.deck-stack{display:flex;isolation:isolate;height:430px;overflow:visible;border-radius:24px}
.deck-card{position:relative;flex:0 0 var(--rail);min-width:0;margin-inline-start:calc(-1 * var(--overlap));overflow:hidden;border-radius:24px;background:#17232b;box-shadow:-8px 0 25px #0d152c28,inset 0 0 0 1px #ffffff45;z-index:var(--order);transition:flex-basis .78s cubic-bezier(.22,.8,.2,1),flex-grow .78s cubic-bezier(.22,.8,.2,1);transform:translateZ(0)}
.deck-card:first-child{margin-inline-start:0}
.deck-card.is-active{flex:1 1 0}
.deck-backdrop{position:absolute;inset:-16px;background-image:var(--art);background-position:center;background-size:cover;filter:blur(8px) brightness(.5) saturate(.75);transition:filter .75s;transform:scale(1.06)}
.deck-card.is-active .deck-backdrop{filter:blur(16px) brightness(.72)}
.deck-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(7px) brightness(.5) saturate(.65);transform:scale(1.12);transition:filter .8s,transform 1s,opacity .8s;opacity:.6}
.deck-card.is-active .deck-art{filter:blur(0) brightness(1) saturate(1);transform:scale(1);opacity:1}
.deck-card[data-fit=contain].is-active .deck-art{object-fit:contain}
.deck-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101724d9 0%,#10172425 42%,transparent 70%);opacity:.7;transition:opacity .7s}
.deck-card.is-active .deck-shade{opacity:1}
.deck-tab{position:absolute;inset:0;z-index:5;border:0;padding:0;background:transparent;color:white;cursor:pointer;border-radius:24px}
.deck-tab:focus-visible{outline:3px solid #d6ef88;outline-offset:-5px}
.rail-title{position:absolute;left:calc((var(--rail) - var(--overlap)) / 2);top:50%;writing-mode:vertical-rl;text-orientation:upright;transform:translate(-50%,-50%);font-size:19px;font-weight:600;letter-spacing:5px;white-space:nowrap;text-shadow:0 2px 18px #0009;transition:opacity .28s,transform .5s}
.deck-card:last-child .rail-title{left:calc(var(--rail) / 2)}
.deck-card.is-active .rail-title{opacity:0;transform:translate(-50%,-42%)}
.deck-content{position:absolute;left:35px;bottom:41px;right:35px;color:white;opacity:0;transform:translateY(12px);transition:opacity .4s .06s,transform .65s;pointer-events:none;white-space:nowrap}
.deck-card.is-active .deck-content{opacity:1;transform:translateY(0)}
.deck-kicker{font-size:10px;font-weight:500;letter-spacing:3px;display:block;margin-bottom:12px;color:#ffffffb3}
.deck-content h3{font-size:35px;line-height:1.3;letter-spacing:0;margin:0;font-weight:700}
.deck-corner{position:absolute;right:0;bottom:2px;font-size:31px;color:#d6ef88}
.deck-progress{position:absolute;height:2px;left:35px;right:35px;bottom:23px;background:#ffffff25;opacity:0;pointer-events:none}
.deck-card.is-active .deck-progress{opacity:1}
.deck-progress i{display:block;width:100%;height:100%;background:#d6ef88;transform:scaleX(0);transform-origin:left}
.deck.is-playing .is-active .deck-progress i{animation:deck-progress var(--duration) linear forwards}
@keyframes deck-progress{to{transform:scaleX(1)}}
.deck-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:23px}
.deck-pips{display:flex;align-items:center;gap:7px}
.deck-pips i{width:6px;height:6px;background:#d6dcd5;border-radius:10px;transition:width .5s,background .5s}
.deck-pips i.is-active{width:28px;background:#4358e8}
.deck-controls{display:flex;align-items:center;gap:9px}
.deck-controls button{border:1px solid #d8ddd6;background:transparent;border-radius:50%;width:32px;height:32px;cursor:pointer;display:grid;place-items:center;color:#35423d;font-size:13px;transition:background .2s,border-color .2s}
.deck-controls button:hover,.deck-controls button:focus-visible{background:#e7eddd;border-color:#9ba98e}
.deck-count{font-size:11px;letter-spacing:1.5px;color:#78827c;margin-right:12px;font-variant-numeric:tabular-nums}
.home-hero h1{font-size:73px}.home-actions{display:flex;align-items:center;gap:28px;margin:35px 0}.primary{padding:16px 25px;border-radius:18px;background:#182122;color:white;font-size:16px}.location{font-size:13px;color:#707a75}.home-portrait{height:475px;position:relative;isolation:isolate;display:flex;justify-content:center}.home-portrait img{object-fit:cover;object-position:center 32%;width:90%;border-radius:25px}.portrait-accent{position:absolute;inset:35px -8px 10px 32px;background:#4358e8;border-radius:42px;transform:rotate(-9deg);z-index:-1}.home-projects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-image{height:275px;overflow:hidden}.project p{font-size:14px;color:#69716b;margin:8px 0 0}.home-minis{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.mini{padding:26px 28px;border-radius:18px;position:relative}.mini small{font-size:10px;letter-spacing:2px}.mini h3{font-size:23px;margin:16px 0 7px}.mini p{font-size:14px;margin:0}.mini span{position:absolute;right:27px;bottom:23px;font-size:26px}.notes-mini{background:#efebf4}.tibo-mini{background:#1c2640;color:white}.home-about{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding:0 0 48px;margin-top:-10px;border-bottom:1px solid #d7dcd8;margin-bottom:30px}.home-about h2{font-size:35px;line-height:1.5;margin:0}.home-about p{font-size:17px;line-height:1.9;margin:0}.home-about .hero-tags{margin:18px 0 25px}
@media(max-width:780px){.deck{--rail:40px;--overlap:9px}.deck-stack{height:355px}.deck-card{border-radius:16px}.deck-tab{border-radius:16px}.rail-title{font-size:12px;letter-spacing:2px}.deck-content{left:18px;right:18px;bottom:36px}.deck-content h3{font-size:23px;white-space:normal}.deck-kicker{font-size:8px;letter-spacing:1px;margin-bottom:9px}.deck-corner{display:none}.deck-progress{left:18px;right:18px;bottom:20px}.sectionhead .genres{font-size:11px;letter-spacing:0;max-width:150px;line-height:1.7;text-align:right}.deck-count{margin-right:4px;font-size:10px}.home-hero h1{font-size:49px}.home-portrait{height:395px}.home-projects,.home-minis{grid-template-columns:1fr}.project-image{height:225px}.home-about{grid-template-columns:1fr;gap:24px}.home-about h2{font-size:29px}.home-about p{font-size:15px}}
@media(max-width:780px){.travel:before{display:none}.home-portrait{margin-inline:10px}.home-portrait .portrait-accent{inset:35px 0 10px 10px;transform:rotate(-5deg)}}
@media(max-width:780px){.deck[data-count="7"]{--rail:28px;--overlap:7px}.deck[data-count="7"] .rail-title{left:calc((var(--rail) - var(--overlap)) / 2);font-size:11px;letter-spacing:1.5px}.deck[data-count="7"] .deck-card:last-child .rail-title{left:calc(var(--rail) / 2)}.sectionhead{flex-wrap:wrap;row-gap:17px}.sectionhead h2{max-width:100%;line-height:1.4}.deck-subtitle{font-size:10px;white-space:normal;line-height:1.5}.creation-gallery{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:10px}.creation-frame{height:185px;grid-column:auto}.creation-frame.is-active{grid-column:1/-1;order:-1;height:365px}.creation-frame .caption{height:58px;padding:10px 9px}.creation-frame .caption small{display:none}.creation-frame .caption h3{font-size:12px;white-space:normal;line-height:1.5}.creation-frame.is-active .caption{height:72px;padding:14px 18px}.creation-frame.is-active .caption small{display:block}.creation-frame.is-active .caption h3{font-size:20px}.creation-frame:not(.is-active) .caption .arrow{display:none}.social-small{font-size:6px}.social-art{padding:8px}.social-art strong{font-size:18px;margin:12px 0}.social-channels{font-size:8px}.creation-frame.is-active .social-art strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.deck-card,.deck-art,.deck-content,.rail-title,.deck-backdrop,.deck-pips i,.creation-frame,.frame-media img,.creation-frame .caption h3{transition:none!important}.deck-progress i{animation:none!important}}

/* Shared navigation and editorial pages, v6. */
.navlinks a{transition:color .2s,background .2s}.navlinks a:hover{color:var(--blue)}.navlinks .contact:hover{background:#ecedff}.navlinks .contact.active:after{display:none}.navlinks .contact.active{background:var(--ink);color:var(--paper)}a:focus-visible,button:focus-visible{outline:3px solid #4358e8;outline-offset:5px}button{color:inherit}.brand{white-space:nowrap;font-size:24px}.navlinks{gap:36px}.editorial-hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:66px 0 80px}.editorial-hero h1,.contact-hero h1{font-size:clamp(44px,4.7vw,64px);line-height:1.3;letter-spacing:-2px;margin:28px 0}.lead{font-size:17px;line-height:1.95;color:#66716c;margin:26px 0}.hero-down{display:inline-block;margin-top:34px;font-size:14px}.work-cover{position:relative;margin:0;height:576px;border-radius:120px 22px 22px 22px;background:#e4e8da;isolation:isolate}.work-cover:before{content:"";position:absolute;inset:18px 18px -16px -18px;border:1px solid #acc175;border-radius:120px 22px 22px 22px;z-index:-1}.work-cover img{border-radius:inherit;object-position:center 58%}.work-cover figcaption{position:absolute;bottom:22px;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;color:#fff;font-size:12px;letter-spacing:1px;text-shadow:0 1px 10px #000}.work-cover figcaption span:first-child{background:#18212280;backdrop-filter:blur(12px);padding:10px 16px;border-radius:20px}.work-cover figcaption span:last-child{font-size:9px}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:20px;overflow:hidden}.capability{padding:27px 24px 30px;border-right:1px solid var(--line);background:#ffffff50;transition:background .25s}.capability:last-child{border:0}.capability:hover{background:#eef3df}.cap-number{font-family:Georgia,serif;font-size:28px;font-style:italic;color:var(--blue)}.capability h3{font-size:21px;margin:24px 0 15px;letter-spacing:-.5px}.capability p{font-size:14px;color:#68736b;line-height:1.9;margin:0 0 25px;min-height:105px}.capability small{font-size:10px;color:#70806d;letter-spacing:.5px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.experience-card{padding:30px 32px;background:#eef1e7;border-radius:20px}.experience-card:nth-child(2){background:#edf0fa}.experience-top{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:1px;color:#677466}.experience-top time{font-size:11px;letter-spacing:0;font-variant-numeric:tabular-nums}.experience-card h3{font-size:27px;margin:31px 0 12px;letter-spacing:-.5px}.experience-card .role{color:var(--ink);font-size:14px;font-weight:700;margin-bottom:19px}.experience-card p{color:#6a746d;font-size:14px;line-height:1.9}.project-scale{display:flex;align-items:flex-end;gap:18px;border-top:1px solid #cbd3c588;padding-top:20px;margin-top:24px}.project-scale strong{font-size:46px;line-height:1;font-weight:500;letter-spacing:-2px}.project-scale strong span{font-size:13px;margin-left:10px;letter-spacing:0}.project-scale small{font-size:11px;color:#6a746d;padding-bottom:3px}.work-crops{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#798275;font-size:12px;margin:24px 0 0}.work-crops span{color:#46594a;background:#e9eee3;padding:6px 12px;border-radius:20px}.work-crops span:first-child{margin-left:12px}.work-photo-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:32px 26px;align-items:start}.photo-story{margin:0;min-width:0}.photo-open{display:block;width:100%;padding:0;position:relative;overflow:hidden;border-radius:18px;border:0;background:#e8ede3;cursor:zoom-in}.photo-open img{transition:transform .7s cubic-bezier(.22,.8,.2,1)}.photo-open:hover img{transform:scale(1.035)}.photo-zoom{position:absolute;right:16px;bottom:16px;width:34px;height:34px;border:1px solid #fff8;border-radius:50%;color:white;background:#1b282754;backdrop-filter:blur(10px);display:grid;place-items:center;font-size:20px}.photo-story figcaption{padding:17px 1px 0;line-height:1.8}.photo-story figcaption strong{display:block;font-size:16px;font-weight:600;margin-bottom:5px}.photo-story figcaption span{display:block;font-size:12px;color:#7a827a}.work-system .photo-open{height:350px}.work-bees .photo-open{height:460px}.work-pack{margin-top:-110px}.work-pack .photo-open{height:365px}.work-tv .photo-open{height:255px}.work-tv .photo-open img{object-fit:contain;background:#1a2829}.education-strip{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px;margin:-5px 0 65px;padding:0 0 45px;border-bottom:1px solid var(--line)}.education-strip .eyebrow{grid-column:1/-1;font-size:10px;color:#6c776b}.education-strip h2{font-size:33px;line-height:1.5;margin:0;letter-spacing:-1px}.education-detail strong{font-size:17px}.education-detail p{font-size:14px;line-height:2.2;color:#727b72;margin:15px 0 24px}.education-detail p span{color:#969e96;font-size:11px;margin-left:12px}.work-teaser{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;border-radius:22px;background:#e9eedf;margin:-10px 0 60px;padding:32px 34px 32px 40px;overflow:hidden}.work-teaser h2{font-size:32px;letter-spacing:-1px;margin:22px 0 14px}.work-teaser p{font-size:14px;color:#677361;line-height:1.9;margin-bottom:25px}.work-teaser .eyebrow{font-size:10px}.work-teaser-image{height:240px;border-radius:80px 16px 16px 16px;overflow:hidden}.work-teaser-image img{object-position:center 61%;transition:transform .7s}.work-teaser:hover img{transform:scale(1.04)}.weight-v6{grid-template-columns:1fr 1fr;padding:42px 46px;gap:40px}.weight-montage{display:block;position:relative;height:420px;min-width:0}.weight-now{position:absolute;inset:12px 0 20px 42px;border-radius:18px;overflow:hidden;box-shadow:0 14px 25px #35483218}.weight-now img{object-position:31% center}.weight-then{position:absolute;left:0;bottom:0;width:145px;height:192px;transform:rotate(-7deg);background:white;padding:7px 7px 25px;border-radius:4px;box-shadow:0 5px 18px #35483230}.weight-then img{object-position:center 30%}.weight-then span{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:10px;color:#697065;letter-spacing:2px}.weight-montage .phototag{right:12px;bottom:0;font-size:11px}.backlink{display:inline-block;color:#788173;font-size:12px;margin:0 0 30px}.nutrition-hero{gap:60px}.nutrition-hero .eyebrow{font-size:10px;letter-spacing:2px}.nutrition-cover{height:500px;position:relative;margin:0;border-radius:160px 160px 22px 22px;overflow:hidden;background:#e8e3db}.nutrition-cover img{object-position:31% center}.nutrition-cover figcaption{position:absolute;left:20px;right:20px;bottom:22px;background:#f8f8f3e8;backdrop-filter:blur(8px);border-radius:12px;padding:15px;text-align:center;font-size:13px;color:#4a5649}.journey-numbers{display:flex;gap:35px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;align-items:center}.journey-numbers strong{display:block;font-size:58px;font-weight:500;letter-spacing:-2px;line-height:1.3}.journey-numbers strong span{font-size:17px;letter-spacing:0;margin-left:8px}.journey-numbers small{display:block;font-size:10px;line-height:1.8;color:#7f887c;margin-top:5px}.journey-numbers .word-metric{font-size:21px;letter-spacing:0}.nutrition-start{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.chapter-number{font-size:10px;font-weight:600;letter-spacing:2px;color:#869473;display:block;margin-bottom:25px}.chapter-copy h2,.chapter-heading h2{font-size:34px;line-height:1.5;letter-spacing:-1px;margin:0 0 24px}.chapter-copy p,.chapter-heading p{font-size:15px;line-height:2;color:#788171;margin:0 0 20px}.hand-note{display:inline-block;font-size:19px;letter-spacing:2px;transform:rotate(-5deg);margin:20px 0 10px;border-bottom:3px solid #d6ef88;padding-bottom:8px}.nutrition-before{max-width:470px;margin:0 auto;width:100%;padding:14px 14px 0;background:#fff;transform:rotate(2deg);border:1px solid #e1e3db;box-shadow:0 16px 40px #202b1c0a;border-radius:4px}.nutrition-before .photo-open{height:420px;border-radius:3px}.nutrition-before figcaption{padding:17px 8px 18px}.chapter-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:28px}.chapter-heading h2{margin-bottom:0}.chapter-heading p{margin-bottom:4px;font-size:13px}.learning-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:center}.learning-cafe .photo-open{height:445px}.learning-hotel .photo-open{height:330px}.nutrition-exam{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.exam-scene .photo-open{height:350px}.credential-card{border:1px solid #d4dfc6;background:#f0f4e8;border-radius:16px;display:flex;align-items:center;gap:17px;padding:21px 23px;margin:29px 0 19px;max-width:335px}.credential-seal{color:#5b7643;background:#e0ebd1;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:23px;flex:none}.credential-card small{font-size:9px;letter-spacing:2px;color:#869479;display:block}.credential-card strong{font-size:23px;display:block;margin:8px 0 5px;font-weight:600}.credential-card div>span{font-size:11px;color:#8a9683}.chapter-copy .journey-footnote{font-size:11px;color:#969e91}.next-page{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#e9edf9;border-radius:18px;padding:31px 34px;margin:-10px 0 60px}.next-page>span{font-size:14px;color:#7b8494}.next-page strong{font-size:19px;font-weight:600}.next-page i{font-style:normal;margin-left:25px;color:var(--blue)}.contact-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center;padding:82px 0 75px;min-height:700px}.contact-hero h1{font-size:59px}.contact-hero .eyebrow{font-size:11px;letter-spacing:2.5px}.contact-hero .lead{font-size:15px}.email-block{margin-top:43px;padding-top:30px;border-top:1px solid var(--line)}.contact-label{font-size:10px;letter-spacing:2px;color:#8b9386}.email-address{font-size:27px;letter-spacing:-.5px;font-weight:500;display:block;margin-top:15px;white-space:nowrap}.email-address>span{display:inline-block;color:var(--blue);margin-left:8px;font-size:23px}.email-actions{display:flex;align-items:center;gap:16px;margin-top:22px;flex-wrap:wrap}.email-actions a,.email-actions button{border:1px solid #cfd6c8;background:transparent;border-radius:22px;padding:8px 16px;font-size:11px;cursor:pointer}.email-actions a{background:var(--ink);color:white;border-color:var(--ink)}.email-actions button:hover{background:#e9eedf}.email-actions [role=status]{color:#7c8b70;font-size:11px}.contact-location{font-size:12px;color:#949b90;margin:34px 0 0}.contact-location>span{color:#7a8d63;margin-right:8px}.wechat-card{background:white;border:1px solid #e2e5dc;border-radius:25px;padding:30px;box-shadow:0 18px 50px #24331f08;position:relative;isolation:isolate}.wechat-card:before{content:"";position:absolute;inset:18px -16px -17px 18px;border-radius:25px;background:#e4ebd5;z-index:-1;transform:rotate(3deg)}.wechat-heading{display:flex;align-items:center;gap:13px;margin:0 0 20px}.wechat-heading small{font-size:9px;letter-spacing:2px;color:#9aa28e}.wechat-heading h2{font-size:21px;margin:7px 0 0;font-weight:600}.wechat-icon{width:42px;height:42px;background:#e6f0d8;color:#6d8a4b;border-radius:50%;display:grid;place-items:center;font-size:33px;font-weight:700;line-height:1;padding-bottom:12px}.wechat-qr{position:relative;width:100%;aspect-ratio:1;background:white;overflow:hidden;border-radius:12px}.wechat-qr img{position:absolute;width:140.3%;height:auto;max-width:none;left:-20.15%;top:-57.5%;object-fit:initial}.wechat-card>p{font-size:12px;color:#7e8974;text-align:center;margin:19px 0 14px}.qr-original{font-size:10px;color:#758468;text-align:center;display:block;text-decoration:underline;text-underline-offset:4px}.contact-bottom{border-top:1px solid var(--line);padding:28px 0 35px;margin-bottom:25px;display:flex;justify-content:space-between;gap:20px;align-items:center}.contact-bottom span:first-child{font-size:17px;color:#637157}.contact-bottom span:last-child{font-size:9px;letter-spacing:1.5px;color:#939c8b}.photo-dialog{border:0;border-radius:18px;padding:20px;background:#f8f8f3;max-width:min(92vw,1200px);max-height:94vh;overflow:auto;box-shadow:0 20px 90px #0006}.photo-dialog::backdrop{background:#152019db;backdrop-filter:blur(10px)}.photo-dialog>img{height:auto;max-height:80vh;width:auto;max-width:100%;object-fit:contain;margin:auto}.photo-dialog>p{text-align:center;font-size:13px;line-height:1.8;color:#5a6758;margin:14px 30px 0}.photo-close{position:fixed;right:3vw;top:3vh;width:42px;height:42px;border:1px solid #fff7;border-radius:50%;color:white;background:#24362cd9;cursor:pointer;font-size:28px;z-index:10}.photo-is-open{overflow:hidden}
@media(max-width:1000px){.editorial-hero{gap:40px}.work-cover{height:515px}.capability{padding:24px 18px}.capability h3{font-size:18px}.capability p{min-height:133px}.contact-hero{gap:40px}.contact-hero h1{font-size:48px}.email-address{font-size:23px}.wechat-card{padding:24px}.nutrition-start{gap:50px}.nutrition-exam{gap:40px}.nutrition-cover{height:475px}}
@media(max-width:780px){.navlinks a:nth-child(1),.navlinks a:nth-child(2){display:block}.navlinks{gap:20px;font-size:13px}.brand{font-size:20px}.editorial-hero{grid-template-columns:1fr;gap:35px;padding:40px 0 60px}.editorial-hero h1{font-size:46px;letter-spacing:-1.5px}.editorial-copy .lead{font-size:16px}.work-hero h1 br:nth-of-type(2){display:none}.work-cover{height:500px;width:100%;max-width:500px;justify-self:center}.work-cover:before{inset:14px 10px -12px -10px}.work-cover img{object-position:center 58%}.hero-down{margin-top:25px}.capability-grid{grid-template-columns:1fr 1fr}.capability{border-bottom:1px solid var(--line);padding:25px}.capability:nth-child(2){border-right:0}.capability:nth-child(3){border-bottom:0}.capability p{min-height:80px}.capability h3{font-size:20px}.experience-grid{grid-template-columns:1fr;gap:18px}.experience-card{padding:28px}.experience-top{font-size:10px}.experience-card h3{font-size:26px;margin-top:27px}.work-photo-grid{gap:26px 20px}.work-system .photo-open{height:250px}.work-bees .photo-open{height:335px}.work-pack{margin-top:-85px}.work-pack .photo-open{height:280px}.work-tv .photo-open{height:195px}.photo-story figcaption strong{font-size:14px}.photo-story figcaption span{font-size:11px}.education-strip{grid-template-columns:1fr;gap:22px;margin:0 0 40px;padding-bottom:35px}.education-strip h2{font-size:28px}.work-teaser{grid-template-columns:1fr 180px;gap:20px;padding:26px;margin-bottom:45px}.work-teaser h2{font-size:25px}.work-teaser-image{height:250px}.work-teaser p{font-size:12px}.weight-v6{grid-template-columns:1fr;gap:25px;padding:30px}.weight-montage{height:375px;max-width:440px;width:100%;margin:auto}.weight-now{left:34px}.weight-then{width:130px;height:174px}.nutrition-hero{padding-top:30px}.nutrition-hero h1{font-size:47px}.nutrition-cover{height:430px;max-width:500px;width:100%;justify-self:center}.journey-numbers{gap:34px}.journey-numbers strong{font-size:51px}.nutrition-start,.nutrition-exam{grid-template-columns:1fr;gap:34px}.nutrition-before{max-width:450px}.nutrition-before .photo-open{height:405px}.chapter-copy h2,.chapter-heading h2{font-size:29px}.chapter-copy p{font-size:14px}.chapter-heading{gap:24px;align-items:flex-start}.chapter-heading p{font-size:12px}.chapter-heading h2{max-width:300px}.learning-grid{gap:20px;grid-template-columns:1fr 1.2fr}.learning-cafe .photo-open{height:340px}.learning-hotel .photo-open{height:260px}.nutrition-exam .chapter-copy{grid-row:1}.exam-scene .photo-open{height:350px}.next-page{padding:26px;flex-direction:column;align-items:flex-start;gap:13px}.next-page>span{font-size:12px}.next-page strong{font-size:18px}.contact-hero{grid-template-columns:1fr;gap:45px;padding:48px 0 65px}.contact-hero h1{font-size:49px}.contact-hero .lead{font-size:15px}.email-block{margin-top:30px}.email-address{font-size:27px}.wechat-card{width:min(100%,410px);justify-self:center;padding:29px}.wechat-card:before{inset:14px -9px -12px 14px;transform:rotate(2deg)}.contact-bottom{flex-direction:column;align-items:flex-start;gap:15px}.contact-bottom span:last-child{font-size:8px}.photo-dialog{padding:13px;border-radius:12px}.photo-close{right:4vw;top:2vh}}
@media(max-width:600px){.nav{height:auto;min-height:104px;padding:18px 0 16px;gap:21px;flex-wrap:wrap}.brand{font-size:19px;gap:11px}.signature{font-size:28px}.navlinks{width:100%;justify-content:space-between;gap:16px}.navlinks a{font-size:12px}.navlinks .contact{padding:6px 18px}.navlinks .active:after{bottom:-7px;height:2px}.editorial-hero h1{font-size:42px}.work-cover{height:435px;border-top-left-radius:100px}.work-cover:before{border-top-left-radius:100px}.capability{padding:22px 17px}.capability h3{font-size:18px;margin:19px 0 13px}.capability p{font-size:12px;min-height:114px;margin-bottom:17px}.capability small{font-size:9px;letter-spacing:0}.cap-number{font-size:25px}.work-photo-grid{grid-template-columns:1fr;gap:28px}.work-system .photo-open{height:300px}.work-bees .photo-open{height:400px}.work-pack{margin-top:0}.work-pack .photo-open{height:330px}.work-tv .photo-open{height:210px}.work-crops{font-size:11px}.work-crops span:first-child{margin-left:0}.work-teaser{grid-template-columns:1fr;padding:28px;gap:25px}.work-teaser h2{font-size:26px}.work-teaser-image{height:300px;width:100%}.work-teaser-image img{object-position:center 63%}.weight-montage{height:335px}.weight-now{left:27px;right:0;bottom:22px}.weight-then{width:116px;height:160px}.weight-v6{padding:28px}.weight-v6 h3{font-size:22px}.weight-v6 p{font-size:13px}.weight-montage .phototag{font-size:9px;right:0;padding:9px 12px}.nutrition-cover{height:380px;border-top-left-radius:130px;border-top-right-radius:130px}.nutrition-hero .backlink{margin-bottom:25px}.nutrition-hero h1{font-size:44px}.journey-numbers{gap:25px}.journey-numbers .word-metric{font-size:19px}.nutrition-before .photo-open{height:355px}.nutrition-before{padding:10px 10px 0}.chapter-heading{display:block}.chapter-heading p{margin:20px 0 0}.learning-grid{grid-template-columns:1fr;gap:30px}.learning-cafe{max-width:270px;justify-self:start}.learning-cafe .photo-open{height:360px}.learning-hotel{width:90%;justify-self:end}.learning-hotel .photo-open{height:235px}.exam-scene .photo-open{height:260px}.contact-hero h1{font-size:43px}.contact-hero .lead{font-size:13px;line-height:2}.email-address{font-size:24px;letter-spacing:-.7px}.email-address>span{font-size:18px;margin-left:3px}.wechat-card{padding:24px}.wechat-heading h2{font-size:20px}.contact-bottom{margin-bottom:10px}}
.photo-static{cursor:default}.photo-static:hover img{transform:none}
/* Keep the exam photograph complete at its original 16:9 ratio. */
.exam-scene .photo-open{height:auto;aspect-ratio:16/9}
.exam-scene .photo-open img{height:auto;object-fit:contain}
.learning-hotel .photo-open img{object-position:50% 65%!important}
.wechat-qr img{width:136.527%;left:-18.264%;top:-58.234%}
@media(prefers-reduced-motion:reduce){.photo-open img,.work-teaser img,.capability,.navlinks a{transition:none!important}}

/* A brighter personal space: cobalt, lime, coral and lavender. */
:root{--blue:#4055e8;--lime:#ccef88;--coral:#ef866b;--lavender:#e6dcfc;--paper:#fbfaf6;--ink:#1c2540;--muted:#68728a;--line:#dce0e9}
body{background:var(--paper)}
.brand{color:#243364}.navlinks .contact{border-color:#4055e8;color:#4055e8}.navlinks .contact.active{background:#4055e8;border-color:#4055e8;color:white}.navlinks .active{color:#4055e8}.eyebrow{color:#4356a0}.textlink{transition:color .2s}.textlink:hover{color:#b74229}.primary{background:#4055e8;box-shadow:0 7px 20px #4055e824;transition:transform .25s,background .25s}.primary:hover{transform:translateY(-3px);background:#3144cf}
.hero,.editorial-hero,.contact-hero{position:relative;isolation:isolate}
.home-hero:before,.work-hero:before,.nutrition-hero:before,.contact-hero:before{content:"";position:absolute;inset:27px -28px 29px;z-index:-1;border-radius:36px;pointer-events:none}
.home-hero:before{background:linear-gradient(110deg,#fff1e1 0%,#fff4e9 39%,#f0ecfc 100%)}
.home-hero .under,.editorial-hero .under,.contact-hero .under{color:#4055e8}
.home-hero .under:after,.editorial-hero .under:after,.contact-hero .under:after{background:#efa58d;height:7px;width:78%}
.home-hero .location{color:#80665f}.home-hero .hero-tags span{background:#fff}
.home-portrait .portrait-accent{background:#6a64eb}
.hero-tags span{background:#f0edff;border-color:#dcd6fa;color:#51488b}
.hero-tags span:nth-child(3n+2){background:#e2efc6;border-color:#cbdca8;color:#426234}
.hero-tags span:nth-child(3n){background:#ffe2d3;border-color:#f4c5af;color:#8d4a37}
.home-projects .project:first-child .caption{background:#e4efc8}.home-projects .project:nth-child(2) .caption{background:#e9e2fb}
.project{border-color:#dde0d6}.project .arrow{color:#4055e8}.project p{color:#64705e}
.notes-mini{background:#e1d7f5;color:#44356d}.tibo-mini{background:#374ab3;color:#fff;overflow:hidden;isolation:isolate}.tibo-mini:after{content:"";position:absolute;width:140px;height:140px;border:22px solid #a4b3ff44;border-radius:50%;right:0;top:-60px;z-index:-1;pointer-events:none}
.work-teaser{background:#dff0b8;border:1px solid #d1e49e}.work-teaser h2{color:#365630}.work-teaser .textlink{color:#3b51d2}.home-about h2{color:#4a54a2}
.sectionhead h2:after{height:5px;width:78px;background:#b7db6d}
.work-hero:before{background:linear-gradient(115deg,#e9edff 0%,#eef1ff 52%,#e3f1c8 100%)}
.work-hero .lead{color:#596382}.work-hero .hero-down{background:#4055e8;color:white;padding:12px 18px;border-radius:24px;font-size:12px}
.work-cover:before{background:#c7e7a0;border:0;inset:18px 18px -16px -18px}
.work-cover figcaption span:first-child{background:#d4ee9be8;color:#354932;text-shadow:none;font-weight:600}
.capability-grid{gap:15px;background:transparent;border:0;overflow:visible}
.capability{border:0!important;border-radius:20px;background:#e5edc9;position:relative;transition:transform .3s,box-shadow .3s;box-shadow:0 3px 0 #cad6ac55}
.capability:nth-child(2){background:#e5e2fb;box-shadow:0 3px 0 #c6bde855}
.capability:nth-child(3){background:#ffe1cf;box-shadow:0 3px 0 #e8bca555}
.capability:nth-child(4){background:#dbedf8;box-shadow:0 3px 0 #accde055}
.capability:hover{background:#e5edc9;transform:translateY(-6px);box-shadow:0 12px 24px #41546115}
.capability:nth-child(2):hover{background:#e5e2fb}.capability:nth-child(3):hover{background:#ffe1cf}.capability:nth-child(4):hover{background:#dbedf8}
.cap-number{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:23px;background:#ffffffaa;color:#517037}
.capability:nth-child(2) .cap-number{color:#6552ab}.capability:nth-child(3) .cap-number{color:#ad6344}.capability:nth-child(4) .cap-number{color:#3b7b9c}
.capability h3{color:#26334c}.capability p{color:#53616a}.capability small{color:#586978}
.experience-card{background:#dfefbc;border:1px solid #cfdfa6;border-top:4px solid #a4c861}
.experience-card:nth-child(2){background:#e3e5ff;border-color:#d4d7f4;border-top-color:#8e95e9}
.experience-card h3{color:#355132}.experience-card:nth-child(2) h3{color:#46539b}
.experience-card p,.experience-top,.project-scale small{color:#5d6e57}.experience-card:nth-child(2) p,.experience-card:nth-child(2) .experience-top,.experience-card:nth-child(2) .project-scale small{color:#636b8b}
.project-scale strong{color:#426236}.experience-card:nth-child(2) .project-scale strong{color:#5063c2}
.work-crops span{background:#e4edcc;color:#4a6337}.work-crops span:nth-child(2n){background:#ffe6d7;color:#8a563f}.work-crops span:nth-child(3n){background:#e6e0f9;color:#62507c}
.work-photo-grid .photo-story{background:#e4e9fb;padding:12px 12px 18px;border-radius:23px}.work-photo-grid .photo-story:nth-child(2){background:#edf0ce}.work-photo-grid .photo-story:nth-child(3){background:#ffe6d9}.work-photo-grid .photo-story:nth-child(4){background:#e9e0f6}
.work-photo-grid .photo-story figcaption{padding:15px 9px 0}.work-photo-grid .photo-story figcaption strong{color:#3e4264}.work-photo-grid .photo-story figcaption span{color:#6b6c7d}
.photo-zoom{background:#4055e8dd;border-color:#ffffffa8;color:white}
.education-strip h2{color:#4855a4}.education-detail strong{color:#525874}
.hero:not(.home-hero) .eyebrow{color:#a05e42}.hero:not(.home-hero) h1 .under{color:#4055e8}
.travel{border:7px solid #e0e7fc;box-shadow:13px 13px 0 #ffddc5}.travel img{border-radius:16px}.travel:before{border-color:#aece72}
.phototag{background:#d0ed8a;color:#314626}.weight-v6{background:linear-gradient(118deg,#e4f2b8,#eff3cf 53%,#fce3cb);border:1px solid #dce7be}.weight-v6 .metric{color:#4b6b38}.weight-v6 .pill{background:#bedb80;color:#3b5629}.weight-v6 h3{color:#485737}.weight-v6 .smallhead{color:#8c613e}.weight-v6 .phototag{background:#d2e797}.weight-then{box-shadow:0 9px 22px #784e3330}
.creation-frame{border:5px solid #fff;box-shadow:0 7px 20px #353c6f0c}.creation-frame .caption{background:#e6e4fc}.creation-frame:nth-child(2) .caption{background:#e5efc9}.creation-frame:nth-child(3) .caption{background:#ffe3d1}.creation-frame:nth-child(4) .caption{background:#e5d9f5}.creation-frame.is-active{box-shadow:0 14px 32px #545e9d1c}.creation-frame .caption small{color:#75708c}.creation-frame .arrow{color:#4055e8}
.social-art{background:linear-gradient(135deg,#eee3fc,#fbe5cf);color:#5c4579}
.deck-section{position:relative;isolation:isolate;border-bottom-color:transparent}.deck-section:before{content:"";position:absolute;inset:-24px -25px 23px;border-radius:30px;background:#e9e7f9;z-index:-1;pointer-events:none}
#games.deck-section:before{background:#e9f0d7}#screen.deck-section:before{background:#f9e8dd}
#anime .sectionhead h2{color:#62518b}#games .sectionhead h2{color:#476339}#screen .sectionhead h2{color:#98624a}
#anime .sectionhead h2:after{background:#c2aff0}#screen .sectionhead h2:after{background:#ebb69a}
.deck-card:not(.is-active) .deck-art{filter:blur(7px) brightness(.65) saturate(1.2);opacity:.82}
.deck-backdrop{filter:blur(8px) brightness(.6) saturate(1.2)}
.deck-controls button{background:#ffffff90;border-color:#cbd0d9}.deck-controls button:hover{background:#fff;border-color:#9b9dd8}.deck-count{color:#64718d}.deck-pips i{background:#bdc4cf}
.nutrition-hero:before{background:linear-gradient(110deg,#fff0e0,#f8ece8 49%,#eee7fc)}.nutrition-hero .eyebrow{color:#a16b4e}.nutrition-cover{box-shadow:10px 12px 0 #dfd6f5}.nutrition-cover figcaption{background:#f8e3cceF;color:#79583c}.journey-numbers{border-color:#dbcfc7}.journey-numbers strong{color:#557543}.journey-numbers .word-metric{color:#6c5696}
.chapter-number{color:#a66948}.hand-note{color:#a65f48;border-color:#efbaa0}.nutrition-before{background:#fff9ec;border-color:#eddec6;box-shadow:9px 12px 0 #ede4f7}
.learning-cafe{background:#e8e1f6;border-radius:22px;padding:12px 12px 17px}.learning-hotel{background:#f8e5d4;border-radius:22px;padding:12px 12px 17px}.learning-grid figcaption{padding:15px 5px 0}.chapter-copy h2,.chapter-heading h2{color:#52619b}.credential-card{background:#e4efc6;border-color:#c7d99f;box-shadow:5px 6px 0 #f4decb}.credential-card strong{color:#466132}.credential-seal{background:#c7dda0;color:#507132}.credential-card small,.credential-card div>span{color:#66764c}.next-page{background:#e2dcf5}.next-page strong{color:#67518e}
.contact-hero:before{background:linear-gradient(110deg,#edf0ff,#f1ecfc 57%,#ffe9db)}.contact-hero .lead{color:#73708c}.email-block{border-color:#d3d3e9}.email-address{color:#4055c4}.email-actions a{background:#4055e8;border-color:#4055e8}.email-actions button{background:#ffffffa0;border-color:#c8c6e5;color:#68608f}.contact-label{color:#81749a}.contact-location{color:#7b7994}
.wechat-card{background:#fffdf8;border-color:#f2dac6;box-shadow:0 18px 45px #6f5d8a10}.wechat-card:before{background:#d9e9b5}.wechat-heading h2{color:#4f6734}.wechat-heading small{color:#6b7f50}.wechat-icon{background:#c3d99e;color:#587a36}.wechat-card>p,.qr-original{color:#607344}
.contact-bottom span:first-child{color:#74609a}.contact-bottom span:last-child{color:#9e8a7c}
.footer{border-top:0}.footer .hello{color:#4055e8}.footer .domain{color:#70648f}
@media(max-width:1000px){.capability-grid{gap:11px}.capability{padding-inline:18px}.capability h3{font-size:18px}}
@media(max-width:780px){.home-hero:before,.work-hero:before,.nutrition-hero:before,.contact-hero:before{inset:20px -14px 28px;border-radius:27px}.capability-grid{gap:13px}.capability{padding:23px}.work-cover:before{inset:14px 10px -12px -10px}.travel{box-shadow:8px 8px 0 #ffddc5}.deck-section:before{inset:-19px -13px 21px;border-radius:24px}.nutrition-cover{box-shadow:7px 9px 0 #dfd6f5}.work-photo-grid .photo-story{padding:10px 10px 16px}}
@media(max-width:600px){.home-hero:before,.work-hero:before,.nutrition-hero:before,.contact-hero:before{inset:20px -12px 28px}.capability{padding:20px 15px}.capability h3{font-size:17px}.capability p{font-size:12px}.cap-number{width:37px;height:37px;font-size:21px}.capability small{font-size:8px}.travel{border-width:5px}.travel img{border-radius:16px}.creation-frame{border-width:4px}.learning-cafe,.learning-hotel{padding:10px 10px 14px}.learning-hotel{width:93%}.nutrition-before{box-shadow:5px 8px 0 #ede4f7}.work-photo-grid .photo-story figcaption{padding-inline:5px}.wechat-card:before{inset:14px -6px -12px 12px}.deck-section:before{inset:-19px -12px 21px}}
@media(prefers-reduced-motion:reduce){.primary,.capability,.textlink{transition:none!important}.primary:hover,.capability:hover{transform:none}}

/* Work-photo slideshow and two counter-moving exhibition lanes. */
.work-slideshow{overflow:visible}.work-slides{height:100%;position:relative;overflow:hidden;border-radius:inherit;background:#dce7d0;isolation:isolate}
.work-slide{position:absolute;inset:0;visibility:hidden;z-index:0;transform:translate3d(104%,-3%,0) rotate(2deg);transform-origin:50% 50%;box-shadow:-12px 4px 28px #14212b30;pointer-events:none}
.work-slide img{width:100%;height:100%;border-radius:0;object-fit:cover}.work-slide.is-active{visibility:visible;z-index:2;transform:translate3d(0,0,0) rotate(0deg);transition:transform .8s cubic-bezier(.22,.8,.25,1)}.work-slide.is-leaving{visibility:visible;z-index:1;transform:translate3d(0,0,0) rotate(0deg);transition:none}
.work-slider-controls{position:absolute;top:18px;right:18px;z-index:4;display:flex;gap:7px;padding:5px;border:1px solid #ffffff80;border-radius:25px;background:#f9faf1cc;backdrop-filter:blur(12px)}
.work-slider-controls button{width:29px;height:29px;padding:0;display:grid;place-items:center;background:transparent;border:0;border-radius:50%;font:inherit;font-size:13px;cursor:pointer;color:#3446a0;transition:background .2s}.work-slider-controls button:hover{background:#dfe6fd}.work-slider-controls button[hidden]{display:none}
.work-cover .work-slider-caption{z-index:3;bottom:19px;left:22px;right:22px;gap:12px;pointer-events:none}
.work-slider-caption [data-work-caption]{font-size:12px;line-height:1.5;max-width:80%;padding:9px 14px!important;border-radius:18px!important}
.work-cover .work-slide-count{font-size:10px!important;white-space:nowrap;background:#24342b94;padding:7px 10px;border-radius:15px;color:#fff;backdrop-filter:blur(8px);font-variant-numeric:tabular-nums}
.work-photo-wall{--wall-gap:24px;--wall-height:clamp(480px,72vh,760px)}
.wall-window{display:grid;grid-template-columns:1fr 1fr;gap:26px;height:var(--wall-height);overflow:hidden;position:relative;isolation:isolate;mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent)}
.photo-lane{height:100%;min-width:0;overflow:hidden;outline:none;overscroll-behavior:auto}
.photo-track{will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0)}
.photo-loop{display:flex;flex-direction:column;gap:var(--wall-gap);padding-bottom:var(--wall-gap)}
.wall-card{margin:0;min-width:0;background:#e4e9fb;border-radius:23px;padding:12px 12px 18px;flex:none}
.wall-card:nth-child(4n+2){background:#edf0ce}.wall-card:nth-child(4n+3){background:#ffe6d9}.wall-card:nth-child(4n+4){background:#e9e0f6}
.photo-lane[data-direction=down] .wall-card:nth-child(4n+1){background:#edf0ce}.photo-lane[data-direction=down] .wall-card:nth-child(4n+2){background:#ffe6d9}.photo-lane[data-direction=down] .wall-card:nth-child(4n+3){background:#e4e9fb}
.wall-card .photo-open{aspect-ratio:var(--photo-ratio);height:auto;max-height:460px;border-radius:16px;position:relative}
.wall-card .photo-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wall-card figcaption{padding:15px 9px 0;line-height:1.8}.wall-card figcaption strong{display:block;font-size:16px;font-weight:600;color:#3e4264;margin:0 0 5px}.wall-card .wall-description{display:block;font-size:12px;color:#6b6c7d}.wall-title-short{display:none}
.wall-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:19px;color:#7c8190;font-size:11px}.wall-toolbar button{background:#e8ebfa;border:1px solid #d3d8ed;border-radius:25px;padding:9px 15px;color:#50609b;font:inherit;font-size:11px;cursor:pointer;white-space:nowrap}.wall-toolbar button span{margin-left:7px}.wall-toolbar button:hover{background:#dce2f9}.wall-toolbar button[hidden]{display:none}
.work-photo-wall.is-static .photo-lane,.photo-lane.is-browsing{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b5bedb transparent}
.work-photo-wall.is-static [data-loop-copy],.photo-lane.is-browsing [data-loop-copy]{display:none}.work-photo-wall.is-static .photo-track,.photo-lane.is-browsing .photo-track{transform:none!important;will-change:auto}
@media(max-width:780px){.wall-window{gap:20px}.wall-card{padding:10px 10px 16px}.wall-card figcaption{padding:13px 5px 0}.wall-card figcaption strong{font-size:14px}.wall-card .wall-description{font-size:11px}.work-slider-caption [data-work-caption]{font-size:11px}}
@media(max-width:600px){.work-photo-wall{--wall-gap:14px;--wall-height:clamp(420px,68svh,600px)}.wall-window{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.wall-card{padding:7px 7px 11px;border-radius:15px}.wall-card .photo-open{border-radius:10px}.wall-card figcaption{padding:9px 3px 0}.wall-card figcaption strong{font-size:11px;line-height:1.65;margin:0}.wall-title-full,.wall-card .wall-description{display:none}.wall-title-short{display:inline}.wall-card .photo-zoom{width:25px;height:25px;right:7px;bottom:7px;font-size:15px}.wall-toolbar{font-size:9px;gap:8px}.wall-toolbar button{font-size:10px;padding:8px 12px}.work-slider-controls{right:12px;top:12px;gap:4px;padding:4px}.work-slider-controls button{width:28px;height:28px}.work-cover .work-slider-caption{left:15px;right:15px;bottom:15px;gap:8px}.work-slider-caption [data-work-caption]{font-size:10px;max-width:77%;padding:8px 10px!important}.work-cover .work-slide-count{font-size:9px!important;padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.work-slide,.work-slide.is-active{transition:none}.photo-track{will-change:auto}}

/* Campus notes: the same lavender, coral and green as the rest of the site. */
.education-strip.campus-section{display:block;margin:0 0 42px;padding:3px 0 38px}
.campus-header{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;margin-bottom:31px}
.campus-intro{position:relative;padding-right:82px}
.campus-section .eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:22px;color:#7b7d8d}
.campus-section h2{font-size:33px;line-height:1.55;letter-spacing:-1px;color:#4855a4}
.campus-sketch{position:absolute;right:12px;top:17px;width:83px;transform:rotate(7deg);color:#7f9a53;pointer-events:none}
.campus-sketch svg{display:block;width:77px;height:77px}
.campus-sketch>span{display:block;width:max-content;margin:2px 0 0 -2px;padding:5px 11px;background:#e9e1fa;border:1px solid #d7cdef;color:#74618f;border-radius:5px;font-size:10px;letter-spacing:1px;transform:rotate(-13deg)}
.campus-degrees>strong{display:block;font-size:18px;color:#525874}
.campus-timeline{list-style:none;padding:0 0 0 22px;margin:22px 0 0;position:relative}
.campus-timeline:before{content:"";position:absolute;left:4px;top:6px;bottom:19px;width:1px;background:#d5cee5}
.campus-timeline li{position:relative;padding-bottom:19px}
.campus-timeline li:last-child{padding-bottom:0}
.campus-timeline li:before{content:"";position:absolute;left:-22px;top:4px;width:9px;height:9px;border-radius:50%;background:#c6d9a1;box-shadow:0 0 0 4px var(--paper)}
.campus-timeline li:last-child:before{background:#b4a2d8}
.campus-timeline time{display:block;font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.5px;color:#7f8593;margin-bottom:7px}
.campus-timeline li>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.campus-timeline h3{font-size:17px;font-weight:600;margin:0;color:#444d65}
.campus-degree{padding:3px 9px;background:#e8efdb;border:1px solid #d8e3c4;border-radius:20px;font-size:10px;color:#647a48}
.campus-timeline li:last-child .campus-degree{background:#ece6f8;border-color:#ded3ef;color:#7b6596}
.campus-grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:18px}
.campus-card{min-width:0;position:relative;padding:25px 25px 22px;border-radius:21px;border:1px solid var(--campus-border);background:var(--campus-surface);color:var(--campus-ink)}
.campus-courses{--campus-surface:#f9e9de;--campus-border:#efdbcc;--campus-ink:#98674b}
.campus-roles{--campus-surface:#ece6f8;--campus-border:#ded5ee;--campus-ink:#786296}
.campus-honors{--campus-surface:#eaf0d8;--campus-border:#d7e2bc;--campus-ink:#6c8049}
.campus-card-heading{display:flex;align-items:center;gap:10px;margin-bottom:23px}
.campus-card-heading h3{font-size:17px;font-weight:600;margin:0;letter-spacing:.5px}
.campus-icon{display:grid;place-items:center;width:35px;height:35px;background:#ffffff8c;border-radius:12px;transform:rotate(-7deg);flex:none}
.campus-icon svg{width:21px;height:21px;transform:rotate(7deg)}
.campus-card-number{font-family:Georgia,serif;font-style:italic;font-size:19px;letter-spacing:0;margin-left:auto;opacity:.55}
.campus-course-list{list-style:none;display:flex;flex-wrap:wrap;gap:9px 8px;padding:0;margin:0}
.campus-course-list li{padding:7px 11px;border-radius:9px;background:#fffaf5b3;border:1px solid #ecdbcc;color:#7e644f;font-size:13px;line-height:1.5}
.campus-card-note{font-size:11px;line-height:1.8;color:#9a7f69;margin:20px 0 0}
.campus-role-list{list-style:none;padding:0;margin:0}
.campus-role-list li{display:flex;align-items:center;gap:12px;line-height:1.7;font-size:14px;color:#695a7d;padding:10px 0;border-bottom:1px dashed #d3c6e3}
.campus-role-list li:first-child{padding-top:0}
.campus-role-list li:last-child{border-bottom:0;padding-bottom:0}
.campus-role-list li:before{content:"";width:6px;height:6px;background:#b6a1d1;border-radius:2px;transform:rotate(45deg);flex:none}
.campus-honor-list{list-style:none;display:grid;gap:12px;margin:0;padding:0}
.campus-honor-list li{display:flex;align-items:center;gap:13px;min-height:53px;padding:10px 13px;background:#f8faed;border:1px solid #d3dfb5;border-radius:12px;color:#576b3b;font-size:15px;font-weight:600}
.campus-honor-list li:first-child{transform:rotate(-2deg)}
.campus-honor-list li:last-child{transform:rotate(1deg)}
.campus-medal{position:relative;display:grid;place-items:center;width:29px;height:29px;border:1px solid #c0ce97;border-radius:50%;background:#e5edca;color:#879c54;font-size:21px;flex:none}
.campus-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.campus-footer>span{color:#8c8996;font-size:12px;letter-spacing:.4px}
.campus-footer .textlink{font-size:14px}
@media(max-width:1100px){.campus-header{gap:40px}.campus-intro{padding-right:73px}.campus-section h2{font-size:29px}.campus-sketch{width:70px;right:12px}.campus-sketch svg{width:65px;height:65px}.campus-grid{gap:13px}.campus-card{padding:22px 19px}.campus-card-heading{gap:8px}.campus-card-heading h3{font-size:16px}.campus-card-number{font-size:16px}.campus-honor-list li{font-size:14px;padding:10px;gap:9px}.campus-course-list li{font-size:12px;padding:6px 9px}}
@media(max-width:780px){.education-strip.campus-section{padding-bottom:32px;margin-bottom:35px}.campus-header{gap:28px;margin-bottom:26px;grid-template-columns:1fr 1fr}.campus-section h2{font-size:25px}.campus-intro{padding-right:0}.campus-sketch{display:none}.campus-degrees>strong{font-size:16px}.campus-timeline h3{font-size:15px}.campus-timeline{margin-top:17px}.campus-grid{grid-template-columns:1fr 1fr}.campus-card{padding:23px}.campus-honors{grid-column:1/-1}.campus-honor-list{grid-template-columns:1fr 1fr;gap:19px}.campus-card-heading{margin-bottom:20px}.campus-course-list li{font-size:13px}.campus-honor-list li{font-size:15px;padding:12px 16px}.campus-honors .campus-card-heading{margin-bottom:16px}}
@media(max-width:600px){.campus-header{grid-template-columns:1fr;gap:28px;margin-bottom:25px}.campus-intro{padding-right:68px}.campus-section .eyebrow{margin-bottom:18px;font-size:9px}.campus-section h2{font-size:28px}.campus-sketch{display:block;right:12px;top:14px}.campus-degrees{border-top:1px dashed #ddd7e5;padding-top:24px}.campus-degrees>strong{font-size:17px}.campus-timeline{margin-top:20px}.campus-timeline h3{font-size:17px}.campus-grid{grid-template-columns:1fr;gap:16px}.campus-card{padding:23px}.campus-card-heading h3{font-size:17px}.campus-card-number{font-size:20px}.campus-card-heading{margin-bottom:20px}.campus-course-list{gap:9px}.campus-course-list li{padding:7px 12px}.campus-card-note{margin-top:17px}.campus-role-list li{font-size:14px;padding:11px 0}.campus-honor-list{grid-template-columns:1fr;gap:13px}.campus-honor-list li{padding:11px 15px}.campus-footer{align-items:flex-start;flex-direction:column;gap:14px;margin-top:25px}.campus-footer>span{font-size:11px}.campus-footer .textlink{font-size:13px}}
@media(max-width:360px){.campus-section h2{font-size:25px}.campus-intro{padding-right:59px}.campus-sketch{width:59px}.campus-sketch svg{width:56px;height:56px}.campus-sketch>span{font-size:9px;padding:4px 8px}.campus-card{padding:20px}.campus-timeline h3{font-size:16px}}

/* CropSeek-style shared translucent highlight, limited to the three text links. */
.navlinks{position:relative;isolation:isolate;gap:12px}
.navlinks>a[href]{position:relative;z-index:2;padding:10px 12px;border-radius:6px;background:transparent;touch-action:pan-y}
.navlinks{--nav-color:#4055e8}
.navlinks:has(>a[href="work.html"][aria-current="page"]){--nav-color:#43845b}
.navlinks:has(>a[href="life.html"][aria-current="page"]){--nav-color:#c16b32}
.navlinks>a[href]{color:var(--nav-color,#4055e8);transition:color 180ms ease}
.navlinks.has-glass-slider .active:after{display:none!important}
.navlinks>.contact{position:relative;z-index:2}
.nav-glass-slider{position:absolute;left:0;border-radius:6px;background:color-mix(in srgb,var(--nav-preview-color,#4055e8) 13%,transparent);z-index:1;cursor:grab;touch-action:pan-y;will-change:transform,width,height;pointer-events:none}
.line-is-ready .nav-glass-slider{transition:transform 420ms cubic-bezier(.22,1,.36,1),width 420ms cubic-bezier(.22,1,.36,1),height 420ms cubic-bezier(.22,1,.36,1)}
.line-is-dragging{user-select:none;touch-action:pan-y}.line-is-dragging .nav-glass-slider{transition:none}
@media(max-width:600px){.navlinks{gap:12px}.navlinks>a[href]{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.line-is-ready .nav-glass-slider{transition:none}}

/* Single CropSeek-style floating highlight; it never receives pointer input. */
.shared-hover-highlight{position:fixed;left:0;top:0;z-index:20;pointer-events:none;opacity:0;background:#4055e8;mix-blend-mode:multiply;will-change:transform,width,height;transition:transform 420ms cubic-bezier(.22,1,.36,1),width 420ms cubic-bezier(.22,1,.36,1),height 420ms cubic-bezier(.22,1,.36,1),border-radius 420ms cubic-bezier(.22,1,.36,1),background-color 220ms ease,opacity 200ms ease}
.has-shared-highlight .nav-glass-slider{opacity:0}
.has-shared-highlight .navlinks.line-is-dragging .nav-glass-slider{opacity:1}
@media(prefers-reduced-motion:reduce){.shared-hover-highlight{transition:none!important}}
@media print{.shared-hover-highlight{display:none}}

/* Preserve the entire source photograph; motion is measured against its real size. */
.travel-photo-window{position:absolute;inset:0;overflow:hidden;border-radius:16px;isolation:isolate}
.travel .travel-photo-window img{position:absolute;width:120%;height:auto;max-width:none;left:0;top:0;object-fit:contain;border-radius:0;animation:none;will-change:transform}
@media(prefers-reduced-motion:reduce){.travel .travel-photo-window img{will-change:auto}}

/* A restrained horizontal slide between the three primary pages. */
@view-transition{navigation:auto}
main{view-transition-name:page-content}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-group(page-content){animation-duration:360ms;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(page-content){animation:page-slide-out 360ms cubic-bezier(.22,1,.36,1) both}
::view-transition-new(page-content){animation:page-slide-in 360ms cubic-bezier(.22,1,.36,1) both}
html{--page-slide:36px;--page-exit:-36px}
html[data-page-direction=back]{--page-slide:-36px;--page-exit:36px}
@keyframes page-slide-out{to{opacity:0;transform:translateX(var(--page-exit))}}
@keyframes page-slide-in{from{opacity:0;transform:translateX(var(--page-slide))}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}

.journey-dialog{width:min(1080px,94vw);max-width:94vw;max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #17213940;overscroll-behavior:contain}
.journey-dialog::backdrop{background:#18203970;backdrop-filter:blur(6px)}
.journey-content{padding:20px 40px}
.journey-close{position:sticky;top:14px;float:right;margin:14px 14px -56px 0;z-index:5;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:26px;cursor:pointer}
.journey-open{overflow:hidden}
@media(max-width:780px){.journey-content{padding:24px 20px}.journey-dialog{border-radius:18px;max-height:92dvh}.journey-dialog .nutrition-hero{padding-top:32px}}

/* Gentle entrance for the personal journey dialog. */
.journey-dialog[open]{animation:journey-enter 260ms cubic-bezier(.22,1,.36,1) both}
.journey-dialog[open]::backdrop{animation:journey-backdrop-enter 260ms ease-out both}
@keyframes journey-enter{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes journey-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.journey-dialog[open],.journey-dialog[open]::backdrop{animation:none}}

.journey-dialog[open].is-closing{animation:journey-exit 200ms ease-in both;pointer-events:none}
.journey-dialog[open].is-closing::backdrop{animation:journey-backdrop-enter 200ms ease-in reverse both}
@keyframes journey-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.99)}}
@media(prefers-reduced-motion:reduce){.journey-dialog[open].is-closing,.journey-dialog[open].is-closing::backdrop{animation:none}}
