/* Content-specific adjustments; base geometry and motion follow the reference. */
.nav-avatar img{width:165%;transform:translate(-50%,-38%)}
.hero-portrait .avatar-stage{overflow:hidden;mask-image:linear-gradient(#000 92%,transparent 100%)}
.hero-portrait .avatar-body{position:absolute;left:-12.5%;top:-16%;width:125%;max-width:none;height:250%;object-fit:contain;object-position:center top;mix-blend-mode:normal;mask-image:none;transform-origin:50% 25%}
.hero-portrait{width:calc(var(--avatar-height)*4/3);height:var(--avatar-height);aspect-ratio:4/3;transform-origin:center 65%;}
@media(min-width:640px){#home{padding-bottom:124px}.hero-portrait{position:relative;top:auto;margin-top:calc(-1 * clamp(26px,5vw,56px))}.hero-description{position:relative;left:auto;bottom:auto;transform:none;margin:20px auto 0}}
.hero-portrait.greeting .avatar-body{animation:avatar-greeting .65s ease-in-out}
@keyframes avatar-greeting{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg) translateY(-7px)}65%{transform:rotate(4deg) translateY(-4px)}}
.project-visual{flex-direction:column;align-items:stretch;gap:18px}
#projects{height:auto;scroll-margin-top:76px}
#projects .project-sticky{position:relative;height:auto;overflow:visible}
#projects .work-label{position:relative;top:auto;left:auto;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;max-width:1600px;margin:auto;padding:64px 64px 0}
#projects .project-group-links{display:flex;flex-wrap:wrap;gap:24px}
#project-track{display:block;width:100%;height:auto;transform:none}
#projects .project{width:100%;height:auto;min-height:0;max-width:1600px;margin:auto;padding:80px 64px;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:64px;scroll-margin-top:76px}
#projects .project+.project{border-top:1px solid var(--line)}
#projects .project>div:first-child,#projects .project-visual{min-height:0}
#projects .project-meta{margin-bottom:32px;flex-wrap:wrap}
#projects .project-actions{display:flex;flex-direction:row;justify-content:flex-start;gap:10px}
#projects .project-actions .pill{width:auto;flex:0 1 auto;display:inline-flex;align-items:center}
@media(max-width:1023px){#projects .work-label{padding:48px 24px 0}#projects .project{grid-template-columns:1fr;gap:32px;padding:48px 24px 64px}#projects .project-visual{max-width:none}#projects .project-meta{margin-bottom:24px}}
@media(max-width:639px){#projects .work-label{padding-inline:20px}#projects .project{padding:40px 20px 48px}#projects .project-group-links{gap:20px}}
.project-visual>.blank-project-media{height:clamp(200px,31vh,360px);min-height:0;width:100%;border:1px solid #ffffff0c;background:#0b0c0e;border-radius:16px}
.project-media{display:block;position:relative;width:100%;aspect-ratio:8/5;border:1px solid #ffffff1a;border-radius:16px;background:#0b0c0e;overflow:hidden}
.project-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.project-image-caption{position:absolute;bottom:12px;right:12px;background:#08090be6;border:1px solid #ffffff30;border-radius:30px;padding:5px 11px;color:#f4f4f5;font-size:10px;line-height:1.5;backdrop-filter:blur(8px)}
.project-media:focus-visible{outline-offset:5px}
.resume-dialog .project-media{margin:0 0 22px}
.project-visual .project-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;width:100%;padding:15px 0 0;border-top:1px solid var(--line)}
.project-results b{display:block;color:var(--lime);font-size:clamp(19px,2vw,31px);line-height:1.4;font-weight:600;white-space:nowrap}
.project-results small{display:block;font-size:11px;color:var(--muted);margin-top:6px}
.project-context{font-size:10px;color:#94949d;line-height:1.6}
.project-visual .case-open{align-self:flex-start;margin-top:0;font-size:13px;padding:11px 17px}
.project-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.project-actions .pill,.resume-dialog .project-demo{margin:0;font-size:13px;padding:11px 17px}
.project-demo{border-color:var(--lime);color:var(--lime)}
#personal .personal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;grid-column:2;grid-row:2}
.blank-personal-media{position:absolute;inset:0;background:#0b0c0e}
.blank-personal-media:after{display:none}
#personal #personal-panel{background:#0b0c0e;border-color:#ffffff0b}
#personal .personal-project-detail h3{white-space:normal}
.campus-extras{margin-top:30px}
.campus-extras h3{font-size:24px;line-height:1.4;margin-bottom:12px}
.campus-extras .campus-period{font-size:12px;color:var(--lime);letter-spacing:.06em;margin-bottom:15px}
.campus-extras .campus-role{font-size:15px;margin-bottom:12px}
.campus-extras .muted{font-size:14px;line-height:1.85}
#flow-dialog.resume-dialog{width:min(880px,calc(100% - 32px));padding:46px;max-height:88dvh}
.resume-dialog h2{font-size:32px;line-height:1.3;margin-bottom:20px;letter-spacing:-.025em}
.resume-dialog .case-context{font-size:13px;color:var(--lime);margin-bottom:22px;line-height:1.8}
.resume-case-section{border-top:1px solid var(--line);padding:20px 0}
.resume-case-section h3{font-size:18px;line-height:1.5;margin:0 0 9px}
.resume-case-section p{font-size:14px;line-height:1.9;color:var(--muted)}
.resume-case-footer{font-size:11px;color:#858590;margin-top:16px}
.project h2{font-size:clamp(50px,6.5vw,96px)}
@media(min-width:1024px) and (max-height:800px){.chapter h3{font-size:33px;margin:17px 0}.chapter-items{gap:16px}.chapter-items>div+div{padding-top:15px}.chapter-items h4{font-size:19px;margin-bottom:8px}.chapter-items p{font-size:12px;line-height:1.75}.chapter .overview{font-size:13px;line-height:1.8;margin-top:20px;padding-top:18px}.chapter .role{font-size:17px}.chapter .location{font-size:13px}.project-meta{margin-bottom:25px}.project .lead{font-size:24px}.project-role{font-size:12px;line-height:1.8}.project-visual>.blank-project-media{height:29vh}.project-results b{font-size:24px}}
@media(max-width:1023px){.project-visual{gap:15px}.project-visual>.blank-project-media{height:320px}.project-visual .project-results{gap:15px}.project-results b{font-size:clamp(20px,3.2vw,32px)}.project .lead{max-width:26em}}
@media(max-width:639px){.hero-portrait{--avatar-height:min(300px,72vw);margin-top:-20px}.project-visual>.blank-project-media{height:250px}.project-visual .project-results{gap:10px}.project-results b{font-size:17px;letter-spacing:-.04em}.project-results small{font-size:10px}.project-context{font-size:9px}.project h2{font-size:56px}.project-visual .case-open{font-size:12px}.campus-extras h3{font-size:22px}.resume-dialog h2{font-size:27px}#flow-dialog.resume-dialog{padding:42px 22px 26px}.resume-case-section p{font-size:13px}.resume-case-section h3{font-size:17px}.bottom{font-size:10px;letter-spacing:.06em}html[lang=en] h1{font-size:13.6vw}.chapter .location{font-size:13px}}
@media(max-width:480px){#personal .personal-actions{grid-column:1/-1;grid-row:4;justify-content:flex-start;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.hero-portrait.greeting .avatar-body{animation:none}}
@media(max-width:399px){header{padding-inline:16px}.brand{gap:8px;font-size:11px;letter-spacing:0}.nav-avatar{width:30px;height:30px}.nav-actions{gap:3px}#language{white-space:nowrap;font-size:10px}#menu{width:32px}}
