@font-face{font-family:YutianScript;src:url('assets/script.ttf') format('truetype');font-display:swap}
.archive{background:#f8fafc;padding-top:58px;padding-bottom:58px}.archive .section-heading{align-items:center}.archive .section-heading h2{margin-bottom:0}.archive-note{color:#61758b;font-size:16px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.work-entry{position:relative;display:grid;grid-template-columns:1fr 42%;gap:18px;padding:26px;border-radius:18px;min-height:255px;overflow:hidden;transition:transform .3s,box-shadow .3s;color:#223044;border:1px solid #ffffff}.work-entry:hover{transform:translateY(-5px);box-shadow:0 14px 26px #24384f15}.work-entry.cloud{background:#d3e5fb}.work-entry.peach{background:#ffe5ce}.work-entry.pink{background:#f9e1eb}.work-entry.ivory{background:#e6eddd}.work-num{font:10px/1.5 Georgia,serif;letter-spacing:.06em}.work-entry h3{font-size:28px;margin:19px 0 7px}.work-entry p{font-size:12px;line-height:1.8;margin-bottom:20px;color:#4a5b70}.work-open{display:flex;align-items:center;gap:25px;font-size:12px}.work-open b{font-size:21px}.work-entry>img{align-self:center;width:100%;height:195px;object-fit:contain;filter:drop-shadow(0 7px 8px #172b3b20);transition:transform .4s}.work-entry:hover>img{transform:rotate(2deg) scale(1.03)}
.mango-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.mango-title>img{width:49px;height:49px;object-fit:contain}.mango-title .heading-break{flex-basis:100%}.ownership-note{display:flex;flex-direction:column;gap:6px;background:#fff0dd;border-left:4px solid #f49c35;padding:15px 20px;border-radius:0 10px 10px 0;margin:22px 0 0;max-width:790px}.ownership-note strong{font-size:16px;color:#9c4e10}.ownership-note span{font-size:12px;color:#8b694b}.mango-section .flow-stage{margin-top:20px;height:490px}.mango-role-card{margin:24px auto 0;padding:18px 24px;max-width:750px;border:1px solid #edd7c0;border-radius:13px;background:#fff8ed;text-align:center}.mango-role-card strong{font-size:17px}.mango-role-card p{font-size:14px;color:#896e58;margin:8px 0 0}
.account-section{background:#f0f5fc;padding-top:64px;padding-bottom:64px}.account-section h2{font-size:44px;margin-bottom:0}.account-intro{font-size:14px;color:#526b90;max-width:250px}.account-entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.account-entry{display:flex;flex-direction:column;background:#fff;padding:15px 15px 20px;border:1px solid #dce5ef;border-radius:15px;color:#18202b;transition:transform .3s,box-shadow .3s}.account-entry:hover{transform:translateY(-7px);box-shadow:0 15px 25px #31476515}.account-entry-image{height:260px;background:#e9eff8;border-radius:9px;overflow:hidden}.account-entry-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.account-entry:hover img{transform:scale(1.035)}.account-entry>span{font-size:10px;color:#65768c;margin-top:19px}.account-entry h3{font:500 23px/1.5 'Microsoft YaHei',sans-serif;margin:10px 0 14px}.account-entry strong{font-size:13px;color:#526b90;margin-top:auto}.account-entry>p{font-size:12px;margin:19px 0 0;border-top:1px solid #dce5ef;padding-top:14px}
.profile-section{background:#fffcf6;padding-top:48px;padding-bottom:48px}.profile-title{text-align:center;font:30px/1 'Microsoft YaHei',sans-serif;margin-bottom:25px}.profile-title span{font:110px/1 YutianScript,cursive}.profile-layout{display:grid;grid-template-columns:1fr 1.45fr 1fr;gap:25px;align-items:center}.profile-layout h3{font-size:27px;padding-bottom:17px;border-bottom:1px solid #d8c7b6;margin:0 0 23px}.profile-layout aside p{font-size:14px;line-height:2;color:#765d4c;margin:0 0 19px}.profile-layout dl{font-size:14px;margin:0}.profile-layout dl>div{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:15px}.profile-layout dt{color:#9a8474}.profile-layout dd{margin:0}.profile-layout aside>a{display:block;font-size:13px;overflow-wrap:anywhere}.profile-contact-title{margin-top:36px!important}.profile-badge{transform-origin:center top;animation:badge-sway 6s ease-in-out infinite;filter:drop-shadow(0 12px 13px #55483c1b)}.profile-badge img{max-height:660px;width:100%;object-fit:contain}.profile-badge:hover{animation-play-state:paused}.profile-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:32px}.profile-results b{font:34px Georgia,serif}.profile-results small{display:block;font-size:9px;color:#9a8474;margin-top:9px}.profile-skills{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;border-top:1px solid #d8c7b6;margin-top:35px;padding-top:30px}.profile-skills>div+div{border-left:1px solid #d8c7b6;padding-left:30px}.profile-skills h3{font:400 18px 'Microsoft YaHei',sans-serif;color:#765d4c;margin:0 0 27px}.profile-skills p{font-size:13px;margin:20px 0 8px}.profile-skills small{font-size:11px;line-height:2;color:#9a8474}.profile-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.profile-app img{width:39px;height:39px;object-fit:contain}.profile-app .stars{display:block;color:#92778a;font-size:14px;margin-top:9px;letter-spacing:2px}.profile-app b{display:block;font-weight:400;font-size:11px;margin-top:7px}.profile-app small{display:block;margin-top:5px}.ai-icons{display:flex;gap:18px;flex-wrap:wrap}.ai-icons span{display:flex;align-items:center;gap:7px;font-size:11px}.ai-icons img{width:25px;height:25px;object-fit:contain}.contact-section{background:#edf3fa;color:#243b57;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:35px}.contact-section h2{font-size:43px}.contact-section p{font-size:14px}.contact-section .button{background:#243b57;border-color:#243b57}.email-address{display:block;font-size:17px;margin-top:22px}.mail-note{display:block;font-size:12px;color:#687d95;margin-top:9px}.stamp{animation:stamp-float 6s ease-in-out infinite;transform-origin:center}.stamp:hover{filter:drop-shadow(2px 8px 6px #48312633)}@keyframes stamp-float{0%,100%{transform:translateY(0) rotate(6deg)}50%{transform:translateY(-10px) rotate(10deg)}}@keyframes badge-sway{0%,100%{transform:rotate(1.5deg)}50%{transform:rotate(2.5deg)}}
@media(max-width:1000px){.work-entry{padding:21px;grid-template-columns:1fr 39%}.work-entry h3{font-size:24px}.profile-layout{grid-template-columns:1fr 1.3fr 1fr;gap:16px}.profile-layout h3{font-size:22px}.profile-layout aside p{font-size:12px}.profile-layout dl{font-size:12px}.profile-layout aside>a{font-size:11px}.profile-apps{gap:9px}.account-entry h3{font-size:19px}.account-entry-image{height:220px}}
@media(max-width:760px){nav>a:nth-child(3){display:block}nav{gap:12px}.archive .section-heading{display:block}.archive-note{margin-top:12px;font-size:13px}.work-grid{grid-template-columns:1fr;gap:15px;margin-top:23px}.work-entry{min-height:205px;grid-template-columns:1fr 40%;padding:24px}.work-entry>img{height:155px}.work-entry h3{font-size:27px}.mango-title>img{width:37px;height:37px}.ownership-note strong{font-size:14px}.ownership-note span{font-size:11px}.mango-section .flow-stage{height:390px}.mango-role-card strong{font-size:14px}.mango-role-card p{font-size:12px}.account-entry-grid{grid-template-columns:1fr;gap:18px}.account-entry{display:grid;grid-template-columns:120px 1fr;column-gap:17px;align-items:start}.account-entry-image{grid-row:1/5;height:200px}.account-entry>span{margin-top:5px}.account-entry h3{font-size:20px}.account-entry strong{font-size:12px}.account-entry>p{margin-top:13px}.account-section .section-heading{display:block}.account-intro{display:block;margin-top:12px}.profile-title span{font-size:85px}.profile-layout{display:flex;flex-direction:column;gap:28px}.profile-badge{order:-1;width:min(360px,90%);margin:auto}.profile-badge img{max-height:550px}.profile-layout aside{width:100%}.profile-layout h3{font-size:26px}.profile-layout dl{font-size:14px}.profile-layout aside>a{font-size:14px}.profile-layout aside p{font-size:14px}.profile-results b{font-size:38px}.profile-skills{grid-template-columns:1fr}.profile-skills>div+div{border-left:0;border-top:1px solid #d8c7b6;padding:25px 0 0}.profile-skills h3{font-size:18px}.profile-apps{gap:14px}.contact-section{grid-template-columns:1fr;gap:15px}.contact-section h2{font-size:36px}.contact-section .button{font-size:15px}.email-address{font-size:16px}.archive .work-entry p{font-size:12px}.mango-role-card{padding:17px}.profile-section{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.profile-badge,.stamp{animation:none}}

/* Original paper archive and letter sections, restored from the first prototype. */
.archive-original{background:#fcfaf6;padding:65px 7.5% 75px}.original-title{text-align:center;margin-bottom:46px}.original-title .eyebrow{font:10px/1.8 'Microsoft YaHei',sans-serif;color:#513729;letter-spacing:1.7px;margin-bottom:12px}.original-title h2{font:italic 42px/1.5 Georgia,SimSun,serif;margin:0 0 14px}.original-title>p:last-child{font-size:12px;letter-spacing:2px;color:#927c69}.original-folders{display:grid;grid-template-columns:1fr 1fr;gap:46px 34px;max-width:920px;margin:auto}.original-folder{position:relative;padding-top:45px;transition:transform .35s,filter .35s}.original-folder:hover{transform:translateY(-7px);filter:drop-shadow(0 10px 8px #55301e16)}.paper-peek{height:90px;background:#e0e7eb;position:absolute;top:0;left:30px;right:35px;transform:rotate(-5deg);border:7px solid #fffaf3;display:flex;align-items:center;justify-content:center;font:italic 27px Georgia,serif;box-shadow:0 2px 8px #4e38251c;letter-spacing:2px}.original-folder:nth-child(2) .paper-peek{background:#cfdbc9;transform:rotate(4deg)}.original-folder:nth-child(3) .paper-peek{background:#e6d4cd;transform:rotate(-3deg)}.original-folder:nth-child(4) .paper-peek{background:#dbe0eb;transform:rotate(3deg)}.original-folder .folder-body{position:relative;background:#e9ddcf;border-radius:0 5px 5px 5px;padding:25px 28px 22px;min-height:215px;box-shadow:0 3px 8px #55301e0d}.original-folder .folder-body:before{content:'';position:absolute;top:-12px;left:0;width:100px;height:16px;border-radius:5px 8px 0 0;background:inherit}.original-folder:nth-child(2) .folder-body{background:#d8c5a2}.original-folder:nth-child(3) .folder-body{background:#a7cbd7}.original-folder:nth-child(4) .folder-body{background:#bdd3e9}.original-folder .folder-no{font-size:9px;letter-spacing:1.1px}.original-folder h3{font:400 28px/1.5 SimSun,serif;margin:17px 0 10px}.original-folder p{font-size:12px;line-height:1.8;margin:0;color:#6f5e4e}.paper-clip{position:absolute;right:22px;top:-14px;width:17px;height:43px;border:2px solid #8c7864;border-radius:10px;transform:rotate(23deg);box-shadow:inset 0 0 0 3px #ffffff38}.paper-clip:after{content:'';position:absolute;left:3px;top:5px;width:6px;height:23px;border:1px solid #8c7864;border-radius:7px}.original-folder:nth-child(odd) .paper-clip{display:none}.open-file{display:flex;justify-content:space-between;border-top:1px solid #74563c33;margin-top:20px;padding-top:12px;font-size:11px;letter-spacing:.6px}.open-file b{font-weight:400;transition:transform .3s}.original-folder:hover .open-file b{transform:rotate(90deg)}
.original-about{background:#55301e;color:#f9eddb;text-align:center;padding:55px 7% 60px}.original-about .eyebrow{color:#f9eddbb3}.original-about h2{font:italic 35px/1.5 Georgia,SimSun,serif;margin:14px 0 26px}.original-notes{display:flex;justify-content:center;gap:24px;margin:34px 0}.original-note{background:#f0e4d9;color:#513729;padding:27px 20px;width:245px;transform:rotate(-3deg);font-size:14px;line-height:1.9;transition:transform .3s,box-shadow .3s}.original-note:nth-child(2){background:#cedff3;transform:rotate(3deg)}.original-note:nth-child(3){background:#f5f1cb;transform:rotate(-2deg)}.original-note:hover{transform:rotate(0) translateY(-6px);box-shadow:0 12px 18px #20100625}.original-note>span{font-size:27px;display:block;margin-bottom:12px}.original-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid #9a8777;border-radius:30px;padding:10px 25px;font-size:13px;transition:transform .25s,box-shadow .25s}.original-pill:hover{transform:translateY(-3px);box-shadow:0 6px 12px #55301e20}.original-about .original-pill{background:#cedff3;border-color:#cedff3;color:#55301e;margin-top:12px}.original-contact{padding:65px 40px;text-align:center;background:repeating-linear-gradient(90deg,#d7e5f6 0 15px,#eaf1fa 15px 27px)}.original-letter{background:#fcfaf6;max-width:650px;margin:auto;padding:40px 35px 32px;outline:6px dotted #fcfaf6;outline-offset:0;box-shadow:0 5px 16px #65513d0a}.original-letter h2{font:400 35px/1.6 SimSun,serif;margin:12px 0}.original-letter p:not(.eyebrow){font-size:13px;color:#8b7665;line-height:2}.original-letter .eyebrow{font:10px/1.8 'Microsoft YaHei',sans-serif;letter-spacing:1.7px;color:#513729}.original-email{display:block;font-size:12px;color:#8b7665;margin-top:13px}.original-letter .mail-button{background:#55301e;border-color:#55301e;color:#fffaf3;margin-top:5px}
@media(max-width:760px){.archive-original{padding:45px 7% 55px}.original-title h2{font-size:34px}.original-title{margin-bottom:36px}.original-folders{gap:35px 20px}.original-folder{padding-top:35px}.paper-peek{left:15px;right:15px;height:70px;font-size:20px;border-width:5px}.original-folder .folder-body{padding:20px;min-height:210px}.original-folder h3{font-size:24px}.original-about h2{font-size:27px}.original-notes{gap:15px;flex-wrap:wrap}.original-note{width:210px;font-size:12px}.original-contact{padding:45px 28px}.original-letter{padding:30px 22px}.original-letter h2{font-size:30px}}
@media(max-width:500px){.original-folders{grid-template-columns:1fr;gap:35px;max-width:360px}.original-folder .folder-body{min-height:190px}.original-note{width:90%;max-width:290px}.original-about{padding:45px 7%}.original-about h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.original-folder,.original-note,.original-pill,.open-file b{transition:none}}

/* Final colour, cover and motion refinements. */
.original-folder:nth-child(1) .folder-body{background:#c6e2ff;background:linear-gradient(135deg,#d4eaff,#bcdcff)}.original-folder:nth-child(2) .folder-body{background:#ffd5a2;background:linear-gradient(135deg,#ffe1ba,#ffce91)}.original-folder:nth-child(3) .folder-body{background:#dad0ff;background:linear-gradient(135deg,#e7dcff,#d3c3ff)}.original-folder:nth-child(4) .folder-body{background:#ffcbdf;background:linear-gradient(135deg,#ffdfeb,#ffc3d9)}.original-folder .folder-body{color:#49382e}.original-folder p{color:#67534c}.original-folder .open-file{border-color:#6852482b}.original-folder:nth-child(1) .paper-peek{background:#f1f7ff}.original-folder:nth-child(2) .paper-peek{background:#fff1d8}.original-folder:nth-child(3) .paper-peek{background:#f7eaff}.original-folder:nth-child(4) .paper-peek{background:#fff1f7}
.account-entry{padding:0 0 22px;overflow:hidden;border-radius:16px}.account-entry-image{height:auto;aspect-ratio:4/3;border-radius:0;background:transparent}.account-entry-image img{width:100%;height:100%;object-fit:cover}.account-entry>span,.account-entry>h3,.account-entry>strong,.account-entry>p{margin-left:22px;margin-right:22px}.account-entry>span{margin-top:21px}.account-entry>h3{font-size:22px;line-height:1.55}.account-entry>p{margin-top:20px}.account-entry:hover .account-entry-image img{transform:scale(1.035)}
.profile-badge{animation:badge-sway-prominent 4.6s ease-in-out infinite;transform-origin:50% 0%;will-change:transform}.profile-badge:hover{animation-play-state:running}@keyframes badge-sway-prominent{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}
.ownership-note{background:transparent;border-left:0;padding:4px 0;margin-top:20px;max-width:none;display:block}.ownership-note strong{font-size:16px;color:#785239;display:inline-flex;align-items:center;gap:12px}.ownership-note strong:before{content:'';display:inline-block;width:15px;height:12px;border:2px solid #d35a46;border-radius:2px}.mango-section .flow-caption{max-width:520px;min-width:0}.original-about h2{font-style:normal}
.contact-dialog{width:min(510px,calc(100vw - 32px));padding:40px 34px 30px;border:1px solid #d6e3ed;border-radius:22px;background:#fcfaf6;color:#553e31;box-shadow:0 25px 80px #18202b33}.contact-dialog::backdrop{background:#283c52aa;backdrop-filter:blur(5px)}.contact-close{position:absolute;right:18px;top:14px;background:transparent;border:0;font-size:20px;color:#7e6c60}.contact-kicker{font:10px Georgia,serif;letter-spacing:2px;color:#8d7867}.contact-dialog h2{font-size:32px;margin:20px 0 13px}.contact-dialog>p{font-size:13px;color:#8d7867}.contact-dialog label{display:block;font-size:11px;margin:24px 0 8px;color:#8d7867}.contact-email-row{display:flex;gap:8px}.contact-email-row input{min-width:0;flex:1;padding:12px 10px;border:1px solid #d6d8d9;border-radius:9px;background:white;font:14px 'Microsoft YaHei',sans-serif;color:#553e31}.copy-email{padding:10px 13px;border:1px solid #cfbdaa;border-radius:9px;background:#f3e8d9;font-size:12px;white-space:nowrap}.contact-compose{display:block;text-align:center;margin:23px 0 14px;padding:13px 20px;border-radius:30px;background:#55301e;color:white;font-size:14px}.contact-web{display:block;text-align:center;font-size:13px;text-decoration:underline;text-underline-offset:4px}.contact-dialog .contact-feedback{font-size:11px;min-height:20px;margin:23px 0 0;text-align:center}.mail-button{cursor:pointer}
@media(max-width:1000px){.account-entry>h3{font-size:19px}.account-entry>span,.account-entry>h3,.account-entry>strong,.account-entry>p{margin-left:16px;margin-right:16px}}
@media(max-width:760px){.account-entry{display:flex;padding:0 0 22px}.account-entry-image{width:100%;height:auto;aspect-ratio:4/3;grid-row:auto}.account-entry>span,.account-entry>h3,.account-entry>strong,.account-entry>p{margin-left:22px;margin-right:22px}.account-entry>h3{font-size:23px}.account-entry>span{margin-top:21px}.profile-badge{width:min(330px,85%)}.ownership-note strong{font-size:14px}.contact-dialog{padding:35px 22px 25px}.contact-email-row{gap:6px}.contact-email-row input{font-size:12px}.copy-email{padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.profile-badge{animation:none;transform:rotate(1.5deg)}}

.original-title{margin-bottom:38px}.original-folders{gap:40px 34px}.original-folder .folder-body{min-height:215px;box-shadow:0 6px 15px #5948420d}.original-folder:nth-child(1) .folder-body{background:#C7D3DB;color:#3E3630}.original-folder:nth-child(2) .folder-body{background:#D5EBE4;color:#594842}.original-folder:nth-child(3) .folder-body{background:#FCF7DF;color:#594842}.original-folder:nth-child(4) .folder-body{background:#775C56;color:#F8F4E8}.original-folder p{color:#625850}.original-folder:nth-child(4) p{color:#f1e6dd}.original-folder:nth-child(4) .open-file{border-color:#f8f4e838}.original-folder .open-file{border-color:#59484235}.original-folder:nth-child(1) .paper-peek{background:#F8F4E8;color:#775C56}.original-folder:nth-child(2) .paper-peek{background:#FCF7DF;color:#775C56}.original-folder:nth-child(3) .paper-peek{background:#D5EBE4;color:#594842}.original-folder:nth-child(4) .paper-peek{background:#FFD3D4;color:#775C56}.original-folder:nth-child(4) .paper-clip{border-color:#cbbba1;box-shadow:inset 0 0 0 3px #ffffff50}.original-folder:nth-child(4) .paper-clip:after{border-color:#cbbba1}

.brand-intro{background:linear-gradient(120deg,#e0eff4 0%,#eaf3f2 55%,#fcf7df 100%)}.brand-intro .small-badge{background:#fffaf0c9;border-color:#9e8873;color:#594842;font-weight:600}.brand-intro-grid p{color:#746258}.case-entry-tip{display:flex;align-items:center;gap:12px;font-size:13px;color:#526b90;margin:28px 0 -14px}.case-entry-tip span{background:#526b90;color:white;padding:5px 12px;border-radius:20px;font-size:11px}.case-entry-tip b{font-size:23px}.account-entry>p{font-weight:600;color:#344d6a;display:flex;justify-content:space-between}.account-entry>p:after{content:'↗';display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;background:#e0efff;border-radius:50%;font-size:16px}.account-entry:hover>p:after{background:#526b90;color:white}@media(max-width:760px){.case-entry-tip{flex-wrap:wrap;font-size:12px;line-height:1.8}}

/* Independent graduation film, placed between the profile and archive. */
.graduation-feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:48px;align-items:center;background:#edf1e7;color:#594842;padding-top:60px;padding-bottom:60px}
.graduation-feature .eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 22px}
.graduation-award{display:inline-flex;align-items:center;gap:8px;border:1px solid #b8a36e;background:#fcf7df;color:#72592c;padding:9px 15px;border-radius:40px;font-size:15px;font-weight:600}
.graduation-award>span{font-size:20px}.graduation-feature h2{font-family:serif;font-size:clamp(32px,3.6vw,52px);font-weight:400;letter-spacing:.04em;line-height:1.3;margin:22px 0 10px}.graduation-type{font-size:17px;letter-spacing:.08em;margin:0 0 20px}.graduation-description{font-size:15px;line-height:1.9;color:#706d5e;max-width:28em}.graduation-role{border-top:1px solid #c9cebf;margin-top:24px;padding-top:20px;display:grid;gap:8px}.graduation-role strong{font-size:16px}.graduation-role span{font-size:12px;line-height:1.8;color:#706d5e}.graduation-note{font-size:11px;letter-spacing:.08em;margin-top:20px;color:#706d5e}.graduation-film{margin:0;min-width:0}.graduation-video-wrap{aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#20251e;box-shadow:0 14px 28px #424d3522}.graduation-film video{display:block;width:100%;height:100%;object-fit:contain}.graduation-film figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:14px;font-size:12px;color:#706d5e}.design-title{display:flex;align-items:center;gap:18px}.design-title img{width:52px;height:52px;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.graduation-feature{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:36px}.graduation-feature h2{font-size:36px}.design-title img{width:38px;height:38px}}
