
@font-face{font-family:QingYueSong;src:url('/fonts/FZQKBYSJW.TTF') format('truetype');font-display:swap}
body,body *{font-family:QingYueSong,serif!important;text-transform:none!important}
html,body,.smooth-scroll{overflow:hidden!important}.smooth-scroll{pointer-events:none!important}.hero-storytelling{height:100vh!important}.hero-storytelling__screens,.home-main-content,.header__logo,.ai-btn,.ai-bubble,.app-footer,.next-page,.scroll-cue{display:none!important}.header{pointer-events:auto!important}.header__btn{pointer-events:auto!important}
#portfolio-board{position:fixed;inset:0;z-index:10;padding:26px 3.5% 30px;box-sizing:border-box;color:white;display:flex;flex-direction:column;pointer-events:auto}.board-heading{height:84px;flex-shrink:0;display:flex;align-items:baseline;gap:28px;padding-right:180px}.board-heading h1{font-weight:400;font-size:48px;margin:0}.board-heading p{font-size:17px;opacity:.8;letter-spacing:3px}
.board-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:20px;flex:1;min-height:0}.work-card{display:grid;grid-template-columns:42% 1fr;gap:22px;min-height:0;padding:22px;box-sizing:border-box;background:#211033b8;border:1px solid #ffffff44;backdrop-filter:blur(12px);box-shadow:0 15px 45px #14032422}.work-media{display:flex;flex-direction:column;justify-content:center;min-height:0;gap:10px}.work-image{height:65%;min-height:0;display:flex;align-items:center;justify-content:center}.work-image img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}.work-tabs{display:flex;justify-content:center;gap:8px}.work-tabs button{border:1px solid #ffffff66;background:transparent;color:white;padding:4px 12px;font-size:14px;cursor:pointer}.work-tabs .selected{background:#ffffff25}.work-access a{color:white;font-size:clamp(12px,1vw,17px);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;border:1px solid #ffffff66;padding:10px 8px;display:block;text-align:center;background:transparent}.work-access a:hover{background:#ffffff20}.work-qr{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px}.work-qr img{width:80px;height:80px;object-fit:contain;background:white}
.work-description{min-height:0;display:flex;flex-direction:column;justify-content:center}.work-number{font-size:14px;letter-spacing:2px;opacity:.7;margin:0 0 10px}.work-description h2{font-size:clamp(21px,1.7vw,32px);font-weight:400;margin:0 0 10px;line-height:1.3}.work-lead{font-size:16px;line-height:1.55;margin:0 0 8px}.work-description ul{padding-left:17px;margin:0;font-size:clamp(12px,.92vw,16px);line-height:1.55}.work-description li{margin:5px 0}.work-detail{align-self:flex-start;border:0;border-bottom:1px solid #ffffff66;color:white;background:transparent;font-size:14px;padding:7px 0;cursor:pointer;margin-top:5px}
.resume-open #portfolio-board{display:none}.work-modal{position:fixed;inset:0;z-index:60;background:#10061bd9;display:flex;align-items:center;justify-content:center;padding:5vh 12vw;box-sizing:border-box;backdrop-filter:blur(14px)}.work-modal-content{position:relative;background:#f5efff;color:#2a1647;padding:55px 45px 35px;font-size:21px;line-height:1.8;max-height:90vh;max-width:1100px;box-sizing:border-box}.work-modal-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:inherit;font-size:18px;cursor:pointer}.detail-image{display:block;max-height:75vh;max-width:75vw;object-fit:contain;margin:auto}.work-modal-content:has(.detail-image){padding:45px 20px 20px;background:#180c29}.work-modal-content:has(.detail-image) .work-modal-close{color:white}#personal-resume *{font-family:QingYueSong,serif!important}.resume-eyebrow,#personal-resume footer{display:none!important}
#portfolio-board{pointer-events:none}.work-card{pointer-events:auto}

#portfolio-board{opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 0s 1s}.portfolio-entered #portfolio-board{opacity:1;visibility:visible;transition:opacity 1s ease,visibility 0s}.board-heading{opacity:0;transform:translateY(18px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.work-card{opacity:0;transform:translateY(32px);transition:opacity 1.25s ease,transform 1.25s cubic-bezier(.2,.7,.2,1)}.portfolio-entered .board-heading,.portfolio-entered .work-card{opacity:1;transform:translateY(0)}.work-card:nth-child(1){transition-delay:.1s}.work-card:nth-child(2){transition-delay:.25s}.work-card:nth-child(3){transition-delay:.4s}.work-card:nth-child(4){transition-delay:.55s}
