:root{--navy-950: #151a33;--navy-900: #1c223e;--navy: #232a4a;--navy-700: #2f3760;--water-deep: #5a68ad;--water: #8f9fdc;--water-light: #b6c3f0;--water-pale: #e6ebfb;--coral-deep: #e8927c;--coral: #f4a896;--coral-light: #fbcab8;--cream: #fffbf7;--ink: #232a4a;--ink-2: #525a78;--rule: #dde2f0;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Montserrat", "Segoe UI", system-ui, sans-serif;--content: 72rem;--pad: clamp(1.5rem, 5vw, 5rem);--edge: max(var(--pad), calc((100% - var(--content)) / 2));--radius: 10px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:.9375rem;line-height:1.7;color:var(--ink-2);background:linear-gradient(160deg,#eaeef9,#f7f4f1 45%,#fbe9e2) fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}ul,ol{list-style:none}a{color:inherit;text-decoration:none}strong{color:var(--ink);font-weight:600}::selection{background:var(--coral);color:var(--navy)}:focus-visible{outline:2px solid var(--coral-deep);outline-offset:3px;border-radius:4px}.page{overflow-x:clip}.panel{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(200deg,var(--navy) 0%,var(--navy-900) 70%,var(--navy-950) 100%);color:var(--cream)}.panel__art{position:absolute;inset:0;width:100%;height:100%;max-width:none;z-index:-1;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:0 1.75rem;border-radius:999px;font-size:.875rem;font-weight:700;letter-spacing:.04em;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn--coral{background:linear-gradient(135deg,var(--coral-deep),var(--coral));color:var(--navy);box-shadow:0 16px 30px -12px #e8927cb3}.btn--coral:hover{transform:translateY(-2px);box-shadow:0 20px 34px -12px #e8927cd9}.btn--outline{border:2px solid var(--water-light);color:var(--cream)}.btn--outline:hover{background:#b6c3f024}.btn--sm{min-height:2.75rem;padding:0 1.5rem}.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,4vw,3rem) var(--edge) 0}.nav__brand{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:1.1875rem;font-weight:800;color:var(--cream)}.nav__badge{width:3.25rem;height:auto;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.nav__brand:hover .nav__badge{transform:rotate(-10deg) scale(1.06)}.nav__links{display:flex;align-items:center;gap:clamp(1.25rem,3.5vw,3rem)}.nav__link{font-size:.875rem;font-weight:600;letter-spacing:.04em;color:var(--cream);opacity:.85;transition:opacity .2s ease}.nav__link:hover{opacity:1}.hero{min-height:min(56rem,100svh);display:flex;flex-direction:column}.hero__content{pointer-events:none;flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,8vw,5rem) var(--edge) clamp(4rem,10vw,7rem)}.hero__eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.2em;color:var(--coral-light)}.hero__name{margin-top:1.25rem;font-family:var(--font-display);font-size:clamp(3rem,7.5vw,6rem);font-weight:900;line-height:.92;letter-spacing:-.01em;color:var(--cream)}.hero__name-zh{margin-left:.35em;font-family:var(--font-body);font-size:.24em;font-weight:500;letter-spacing:.2em;color:var(--coral);vertical-align:.2em}.hero__summary{margin-top:2rem;max-width:30rem;font-size:clamp(1rem,1.3vw,1.0625rem);font-weight:300;line-height:1.6;color:var(--cream)}.hero__actions{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem}.section{padding:clamp(4.5rem,10vw,8rem) var(--edge)}.section__inner{position:relative}.section__header{margin-bottom:clamp(2.5rem,6vw,4rem)}.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:var(--coral-deep)}.section__title{margin-top:.75rem;font-family:var(--font-display);font-size:clamp(1.875rem,4vw,2.75rem);font-weight:900;line-height:1.02;color:var(--ink)}.section__title-row{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.5rem)}.section__title-row .section__title{min-width:0}.section__title-art{width:clamp(3.5rem,7vw,5.5rem);height:auto;flex-shrink:0;transform:rotate(-6deg);transition:transform .4s cubic-bezier(.2,.8,.2,1)}.section__title-art:hover{transform:rotate(6deg) scale(1.08)}.section__title-art--lg{width:clamp(3.75rem,7vw,5.75rem)}.section__title-art--flip{transform:rotate(8deg)}.section__title-art--flip:hover{transform:rotate(-4deg) scale(1.08)}.section--dark .section__title{color:var(--cream)}.section--dark .eyebrow{color:var(--coral)}.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}.about__portrait{width:100%;max-width:26rem;filter:drop-shadow(0 30px 40px rgba(35,42,74,.25))}.about__text p+p{margin-top:1.25rem}.lead{font-size:clamp(1.0625rem,1.6vw,1.1875rem);line-height:1.6;color:var(--ink)}.facts{margin-top:2.5rem;border-top:2px solid var(--ink)}.facts__row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.facts dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--water-deep);padding-top:.2rem}.facts dd{color:var(--ink);font-weight:500}.photos{margin-top:clamp(3.5rem,8vw,5.5rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,1.75rem)}.photos__item img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);box-shadow:0 30px 45px -30px #232a4a80}.photos__item:nth-child(3) img{object-position:top}.photos__item figcaption{position:relative;margin-top:.75rem;padding-left:1.25rem;font-size:.8125rem;color:var(--ink-2)}.photos__item figcaption:before{content:"";position:absolute;left:0;top:.4em;width:.625rem;height:.625rem;border-radius:50%;border:2px solid var(--coral-deep)}.timeline{position:relative;display:grid;gap:3.5rem;padding-left:3rem;max-width:52rem}.timeline:before{content:"";position:absolute;left:.8rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(var(--water-light),var(--coral-light))}.timeline__item{position:relative}.timeline__node{position:absolute;left:-3rem;top:.15rem;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--navy);border:3px solid var(--water-light);box-shadow:inset 0 0 0 4px var(--navy),inset 0 0 0 12px var(--coral)}.timeline__period{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--coral-deep)}.timeline__role{margin-top:.5rem;font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.4375rem);font-weight:800;line-height:1.2;color:var(--ink)}.timeline__company{margin-top:.25rem;font-weight:600;color:var(--water-deep)}.timeline__list{margin-top:1rem;display:grid;gap:.5rem}.timeline__list li{position:relative;padding-left:1.5rem}.timeline__list li:before{content:"";position:absolute;left:0;top:.6em;width:.5rem;height:.5rem;border-radius:50%;border:2px solid var(--water-deep)}.demo{margin-top:1.5rem;max-width:40rem}.demo__frame{overflow:hidden;border-radius:var(--radius);background:var(--navy);box-shadow:0 24px 40px -20px #232a4a73}.demo__bar{display:flex;gap:.375rem;padding:.625rem .875rem}.demo__bar span{width:.5rem;height:.5rem;border-radius:50%;background:var(--water-light)}.demo__bar span:first-child{background:var(--coral)}.demo__frame video{display:block;width:100%;height:auto;aspect-ratio:1186 / 720;object-fit:cover;background:#fff}.demo__caption{margin-top:.75rem;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;font-size:.8125rem}.demo__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--ink)}.demo__link svg{width:.75rem;height:.75rem;fill:none;stroke:var(--coral-deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.demo__link:hover svg{transform:translate(2px,-2px)}.earlier{margin-top:4.5rem;max-width:52rem}.earlier__title,.col__title,.more__title{font-size:.8125rem;font-weight:700;letter-spacing:.04em;color:var(--ink);padding-bottom:1rem;border-bottom:2px solid var(--ink)}.earlier__list li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.earlier__year,.honors__date{font-size:.8125rem;font-weight:700;letter-spacing:.08em;color:var(--coral-deep);padding-top:.15rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.card-wrap{position:relative;display:flex}.peek{--w: clamp(4rem, calc(max(clamp(1.5rem, 5vw, 5rem), (100vw - 72rem) / 2) - 1rem) , 6.5rem);position:absolute;z-index:2;left:calc(100% - var(--w) * 12 / 484);top:calc(var(--w) * -230 / 484);width:var(--w);height:auto;pointer-events:none;transform-origin:0 60%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.card-wrap:hover .peek{transform:translateY(-4px) rotate(4deg)}.card{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--navy-700);box-shadow:0 30px 50px -30px #0009;transition:transform .25s ease}.card:hover{transform:translateY(-4px)}.card__cover{width:100%;height:auto;aspect-ratio:17 / 10;background:linear-gradient(135deg,#7887c8,#47548c)}.card-wrap:nth-child(2) .card__cover{background:linear-gradient(135deg,var(--coral),var(--coral-deep))}.card-wrap:nth-child(3) .card__cover{background:linear-gradient(135deg,#c2c1f2,#9d9be0)}.flow-pulse path{stroke-dasharray:14 86;animation:flow-pulse 2.4s linear infinite}@keyframes flow-pulse{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.mf-swap{animation:mf-swap 12s ease-in-out infinite}.mf-swap--late{opacity:0;animation-delay:-6s}@keyframes mf-swap{0%{opacity:0;transform:translate(6px)}4%,46%{opacity:1;transform:none}50%,to{opacity:0;transform:translate(-6px)}}.mf-draw{stroke-dasharray:100;animation:mf-draw 12s ease-out infinite}.mf-draw--late{animation-name:mf-draw-late}@keyframes mf-draw{0%{stroke-dashoffset:100}22%,to{stroke-dashoffset:0}}@keyframes mf-draw-late{0%,50%{stroke-dashoffset:100}72%,to{stroke-dashoffset:0}}.mf-fade{animation:mf-fade 12s ease-out infinite}@keyframes mf-fade{0%,6%{opacity:0}24%,to{opacity:1}}.mf-ring{animation:mf-ring 12s ease-out infinite}@keyframes mf-ring{0%,50%{stroke-dasharray:0 100}66%,to{stroke-dasharray:50 100}}.mf-grow{transform-box:fill-box;transform-origin:left center;animation:mf-grow 12s ease-out infinite}@keyframes mf-grow{0%,52%{transform:scaleX(0)}68%,to{transform:scaleX(1)}}.em-ring{animation:em-ring 7s ease-out infinite}@keyframes em-ring{0%{stroke-dasharray:0 100}25%,92%{stroke-dasharray:92 100;opacity:1}to{stroke-dasharray:92 100;opacity:0}}.em-grow,.em-type{transform-box:fill-box;transform-origin:left center;animation:em-grow 7s ease-out infinite}.em-type{animation-timing-function:steps(8,end)}@keyframes em-grow{0%{transform:scaleX(0)}14%,92%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}.em-pop{animation:em-pop 7s ease-out infinite}@keyframes em-pop{0%,12%{opacity:0}18%,92%{opacity:1}to{opacity:0}}.jam-drag{opacity:0;animation:jam-drag 8s ease-in-out infinite}@keyframes jam-drag{0%,8%{opacity:0;transform:none}14%{opacity:1;transform:none}40%{opacity:1;transform:translate(51px,37px)}46%,to{opacity:0;transform:translate(51px,37px)}}.jam-drop{transform-box:fill-box;transform-origin:center;animation:jam-drop 8s ease-out infinite}@keyframes jam-drop{0%,40%{opacity:0;transform:scale(.85)}48%,92%{opacity:1;transform:none}to{opacity:0}}.jam-glow{animation:jam-glow 2s ease-in-out infinite alternate}@keyframes jam-glow{to{fill:#fbcab8}}.ping{transform-box:fill-box;transform-origin:center;animation:ping 2s ease-out infinite}@keyframes ping{0%{transform:scale(.4);opacity:.8}to{transform:scale(1.8);opacity:0}}.blink{animation:blink 1.2s steps(2,jump-none) infinite}@keyframes blink{50%{opacity:.2}}.wave-bar{transform-box:fill-box;transform-origin:center;animation:wave 1.1s ease-in-out infinite alternate}@keyframes wave{0%{transform:scaleY(.35)}}.card__body{flex:1;display:flex;flex-direction:column;padding:1.75rem}.card__org{font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--coral)}.card__title{margin-top:.5rem;font-family:var(--font-display);font-size:1.375rem;font-weight:800;line-height:1.2;color:var(--cream)}.card__desc{margin-top:.875rem;font-size:.9375rem;font-weight:300;line-height:1.65;color:#fffbf7db}.card__metrics{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem}.card__metrics li{padding:.3rem .7rem;border:1px solid rgba(244,168,150,.45);border-radius:999px;background:#f4a8961a;font-size:.6875rem;font-weight:700;letter-spacing:.03em;color:var(--coral-light)}.card__tags{margin-top:1.25rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--water-light)}.card__link{margin-top:auto;padding-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--cream)}.card__link svg{width:.75rem;height:.75rem;fill:none;stroke:var(--coral);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.card__link:hover svg{transform:translate(2px,-2px)}.more__title{margin-top:5rem;color:var(--cream);border-bottom-color:#fffbf780}.more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}.more__item{padding:1.5rem 0;border-bottom:1px solid rgba(182,195,240,.2)}.more__org{font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--water-light)}.more__name{margin-top:.35rem;font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--cream)}.more__name a{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:4px}.more__desc{margin-top:.35rem;font-size:.9375rem;font-weight:300;color:#fffbf7d1}.more__metrics{margin-top:.5rem;font-size:.8125rem;font-weight:600;color:var(--coral)}.background{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.5rem,6vw,5rem)}.edu{padding:2rem;margin-bottom:3rem;border-radius:var(--radius);background:var(--cream);box-shadow:0 30px 50px -35px #232a4a59;border-top:6px solid var(--coral)}.edu__school{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--ink)}.edu__degree{font-weight:600;color:var(--water-deep)}.edu__courses{margin-top:1.25rem;font-size:.9375rem}.edu__courses span{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--coral-deep)}.skills__row{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.skills dt{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--water-deep);padding-top:.2rem}.skills dd{color:var(--ink);font-weight:500}.honors__item{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}.honors__issuer{display:block;font-size:.875rem}.contact{padding:clamp(4rem,9vw,7rem) var(--edge)}.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:3rem;align-items:center}.contact__content{max-width:36rem}.contact__koi{width:100%;filter:drop-shadow(0 24px 30px rgba(10,12,30,.45))}.koi-orbit{transform-box:view-box;transform-origin:center;animation:spin 60s linear infinite}.contact .eyebrow{color:var(--coral)}.contact__title{margin-top:.75rem;font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:900;line-height:1;color:var(--cream)}.contact__text{margin-top:1.5rem;font-size:1rem;font-weight:300;color:var(--cream)}.contact__email{margin-top:1.25rem;font-size:.9375rem;color:var(--water-light)}.footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem var(--edge) 2.5rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--ink-2)}.footer a:hover{color:var(--coral-deep)}.spin,.float,.twinkle,.card__art{transform-box:fill-box;transform-origin:center}.spin{animation:spin 36s linear infinite}.spin--reverse{animation-duration:24s;animation-direction:reverse}.float{animation:float 5s ease-in-out infinite}.float--alt{animation-duration:4s;animation-delay:-1.5s}.float--slow{animation-duration:6.5s;animation-delay:-3s}.twinkle{animation:twinkle 3s ease-in-out infinite}.twinkle--late{animation-delay:-1.5s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes twinkle{50%{transform:scale(.7);opacity:.6}}@keyframes float{50%{transform:translateY(-16px)}}.hero__content>*{pointer-events:auto}.record-link{pointer-events:auto;cursor:pointer;outline:none}.spin-hover{transform-box:fill-box;transform-origin:center;animation:spin 2.4s linear infinite paused}.record-link:hover .spin-hover,.record-link:focus-visible .spin-hover{animation-play-state:running}.record-caption{opacity:0;transform:translateY(10px);transform-box:fill-box;transition:opacity .3s ease,transform .3s ease}.record-caption text{font-family:var(--font-body);font-size:19px;font-weight:600;fill:var(--navy)}.record-link:hover .record-caption,.record-link:focus-visible .record-caption{opacity:1;transform:none}.card__art{transition:transform .6s cubic-bezier(.2,.8,.2,1)}.card:hover .card__art{transform:scale(1.04)}.photos__item img{transition:transform .4s ease,box-shadow .4s ease}.photos__item:hover img{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 40px 50px -30px #232a4a99}.about__portrait{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.about__portrait:hover{transform:scale(1.03) rotate(-2deg)}.timeline__node{transition:transform .3s ease}.timeline__item:hover .timeline__node{transform:scale(1.25)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i, 0) * .12s)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:none}@media(max-width:1000px){.cards{grid-template-columns:minmax(0,1fr);max-width:34rem}.peek{--w: 6.5rem}.more{grid-template-columns:minmax(0,1fr)}}@media(max-width:820px){.contact__grid{grid-template-columns:minmax(0,1fr)}.contact__koi{max-width:18rem;margin:0 auto}.about,.background{grid-template-columns:minmax(0,1fr)}.about__portrait{max-width:18rem}.nav__item{display:none}.hero .panel__art{opacity:.45}}@media(max-width:640px){.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.photos__item:nth-child(3){grid-column:1 / -1}}@media(max-width:640px){.peek{display:none}}@media(max-width:520px){.facts__row,.skills__row,.honors__item,.earlier__list li{grid-template-columns:minmax(0,1fr);gap:.15rem}.timeline{padding-left:2.25rem}.timeline__node{left:-2.25rem;width:1.375rem;height:1.375rem;box-shadow:inset 0 0 0 3px var(--navy),inset 0 0 0 9px var(--coral)}.timeline:before{left:.6rem}.nav__brand{font-size:1.125rem}.footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
