:root{--bg:#f2f1ed;--ink:#292a2d;--muted:#60615f;--blue:#243fa1;--blue-dark:#1c307f;--blue-light:#dce4ef;--orange:#b84124;--peach:#eac1aa;--note:#e9e5b4;--sheet:#faf9f4;--on-blue:#f6f4e9;--grid:#40517721;--line:#292a2d2b;--white-line:#f6f4e959;--shadow:#2c291f21;--shadow-soft:#2c291f12;--tape:#d6cca2a6;--font:"Microsoft YaHei","PingFang SC",Arial,sans-serif;--hand:"KaiTi","STKaiti","Kaiti SC",cursive;--latin:Georgia,serif;--nav-height:86px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;overflow-x:clip}html{scroll-behavior:smooth}body:before{content:"";z-index:99;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:active{transform:translateY(1px)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button[disabled]{cursor:default}[hidden]{display:none!important}p{line-height:1.9}h1,h2,h3,h4{overflow-wrap:anywhere;min-width:0}img,svg{max-width:100%}section[id]{scroll-margin-top:35px}.skip-link{z-index:110;background:var(--blue);color:var(--on-blue);white-space:nowrap;padding:14px 20px;position:fixed;top:-90px;left:15px}.skip-link:focus{top:15px}.site-header{max-width:1440px;min-height:var(--nav-height);justify-content:space-between;align-items:center;gap:30px;margin:auto;padding:15px 5.5%;display:flex}.identity{white-space:nowrap;align-items:center;gap:11px;min-height:44px;font-size:14px;font-weight:700;line-height:1.25;display:flex}.identity-mark{color:var(--blue);font-size:42px;font-weight:400}.identity small{letter-spacing:1.5px;color:var(--muted);margin-top:6px;font-size:8px;font-weight:400;display:block}.main-nav{align-items:center;gap:25px;font-size:11px;display:flex}.main-nav a{white-space:nowrap;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex;position:relative}.main-nav a:hover{color:var(--blue)}.main-nav a[aria-current=page]{color:var(--blue);font-weight:700}.main-nav a[aria-current=page]:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:5px;left:0;right:0;transform:rotate(-3deg)}.menu-toggle{white-space:nowrap;background:0 0;border:0;min-width:66px;min-height:44px;font-size:12px;display:none}.menu-toggle span{margin-left:10px;font-size:22px}main{max-width:1440px;margin:auto;padding:0 5.5%}.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:35px;min-height:630px;padding:60px 0 90px;display:grid;position:relative}.hero-copy{z-index:3;position:relative}.intro-note{color:var(--orange);letter-spacing:1px;margin:0 0 26px;font-size:12px}.home-hero h1{letter-spacing:-.065em;margin:0 0 27px;font-size:clamp(42px,5.9vw,80px);font-weight:800;line-height:1.2}.home-hero h1>span{color:var(--blue)}.hero-description{color:var(--muted);max-width:570px;font-size:14px;line-height:1.95}.home-hero .hero-description{max-width:390px;font-size:13px}.hero-actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:29px;display:flex}.button-primary,.text-link{white-space:nowrap;justify-content:space-between;align-items:center;gap:30px;min-height:46px;font-size:12px;display:inline-flex}.button-primary{background:var(--blue);color:var(--on-blue);border:1px solid var(--blue);padding:12px 20px}.button-primary:hover{background:var(--blue-dark)}.text-link{background:0 0;border:0;padding:5px 0}.text-link>span,.button-primary>span{font-size:23px;transition:transform .2s}.text-link:hover>span,.button-primary:hover>span{transform:translate(3px,-3px)}.hero-person{color:var(--muted);margin-top:25px;font-size:10px}.home-desk{min-height:450px;position:relative}.hand-note{font-family:var(--hand);color:var(--orange);font-size:20px;font-weight:400;display:block}.desk-caption{font-size:18px;position:absolute;top:-7px;left:0;transform:rotate(-6deg)}.hero-folder{width:250px;min-height:245px;box-shadow:5px 12px 21px var(--shadow);border-radius:4px;flex-direction:column;justify-content:space-between;padding:26px;transition:transform .3s;display:flex;position:absolute}.hero-folder small{letter-spacing:.5px;font-size:8px}.hero-folder strong{letter-spacing:-1px;font-size:32px;font-weight:700;line-height:1.4}.hero-folder>span{white-space:nowrap;font-size:10px}.folder-blue{background:var(--blue);color:var(--on-blue);z-index:2;top:72px;left:0;transform:rotate(-10deg)}.folder-blue:before{content:"";background:var(--blue);border-radius:9px 9px 0 0;width:100px;height:25px;position:absolute;top:-19px;left:0}.folder-grid{background:var(--sheet);z-index:3;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:16px 16px;top:194px;right:0;transform:rotate(10deg)}.folder-grid strong{font-family:var(--hand);color:var(--orange);font-size:34px}.hero-folder:hover{z-index:4;transform:translateY(-10px)rotate(0)}.hero-sticker{text-align:center;background:var(--peach);width:100px;height:100px;font-size:14px;font-family:var(--latin);border-radius:50%;place-content:center;line-height:1.25;display:grid;position:absolute;top:20px;right:0;transform:rotate(16deg)}.hero-bottom{border-bottom:1px solid var(--line);min-height:52px;color:var(--muted);justify-content:space-between;align-items:center;gap:25px;font-size:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-bottom a{white-space:nowrap;align-items:center;min-height:44px;display:flex}.section{padding:90px 0 0}.section-heading{max-width:750px;margin-bottom:36px}.section-heading>.hand-note{transform-origin:0;margin-bottom:23px;transform:rotate(-3deg)}.section-heading h2,.section-title h2{letter-spacing:-2px;margin:0 0 18px;font-size:clamp(29px,3.7vw,47px);font-weight:700;line-height:1.35}.section-heading p,.section-title>p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.section-title>.hand-note{transform-origin:0;margin-bottom:23px;font-size:18px;transform:rotate(-5deg)}.section-title .text-link{margin-top:23px}.section-bottom{justify-content:flex-end;margin-top:24px;display:flex}.about-preview{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:12%;display:grid}.resume-notes{border-left:1px solid var(--line);padding:10px 0 0 28px}.resume-notes article{margin-bottom:20px;padding:0 0 25px}.resume-notes article:last-child{margin-bottom:0;padding-bottom:0}.resume-notes article>span{color:var(--blue);font-size:10px}.resume-notes h3{letter-spacing:-.6px;margin:10px 0;font-size:19px;font-weight:600}.resume-notes p{color:var(--muted);margin:0;font-size:12px}.transfer-list{border-top:1px solid var(--line)}.transfer-list details{border-bottom:1px solid var(--line)}.transfer-list summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 60px minmax(0,1.3fr) 30px;align-items:center;gap:18px;min-height:80px;padding:25px 14px;list-style:none;display:grid}.transfer-list summary::-webkit-details-marker{display:none}.transfer-list summary>span:first-child{color:var(--muted);font-size:15px}.transfer-list summary strong{letter-spacing:-.5px;font-size:19px;font-weight:500}.transfer-arrow{color:var(--orange);font-family:var(--latin);font-size:25px}.expand-sign{color:var(--blue);justify-self:end;font-size:23px}.transfer-list details[open] .expand-sign{transform:rotate(45deg)}.transfer-content{max-width:1050px;padding:0 30px 25px 47%}.transfer-content p{margin:0 0 9px;font-size:12px;line-height:1.95}.muted{color:var(--muted);font-size:12px}.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;display:grid}.skill-groups h3{letter-spacing:-.5px;margin:0 0 24px;font-size:18px;font-weight:600}.skill-groups ul{margin:0;padding:0;list-style:none}.skill-groups li{justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;font-size:11px;line-height:1.8;display:flex}.skill-status{color:var(--muted);flex-shrink:0;font-size:9px}.skill-groups section{min-width:0}.project-list{flex-direction:column;gap:65px;display:flex}.project-entry{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:7%;display:grid}.project-entry:nth-child(2n) .project-cover-link{order:2}.project-cover-link{min-width:0;display:block}.project-cover{isolation:isolate;min-height:310px;position:relative;overflow:clip}.cover-norm{background:var(--blue);color:var(--on-blue)}.cover-contract{background:var(--peach);color:var(--ink)}.cover-corner{font-size:10px;position:absolute;top:20px;left:23px}.cover-disclosure{font-size:8px;position:absolute;bottom:16px;right:19px}.cover-annotation{font-size:17px;font-family:var(--hand);position:absolute;bottom:26px;left:25px;transform:rotate(-5deg)}.norm-pages{isolation:isolate;justify-content:center;align-items:center;display:flex;position:absolute;top:80px;left:10%;right:8%}.norm-pages span{aspect-ratio:.85;background:var(--on-blue);width:32%;max-height:150px;color:var(--blue);font-family:var(--hand);box-shadow:3px 5px 11px var(--shadow);place-content:center;font-size:25px;transition:transform .3s;display:grid;transform:rotate(-10deg)}.norm-pages span:nth-child(2){background:var(--note);color:var(--ink);margin-left:-8px;transform:translateY(-15px)rotate(7deg)}.norm-pages span:nth-child(3){background:var(--blue-light);margin-left:-8px;transform:rotate(-5deg)}.project-cover-link:hover .norm-pages span{transform:rotate(0)}.contract-lines{background:var(--sheet);width:57%;min-height:205px;box-shadow:6px 9px 14px var(--shadow);padding:23px;position:absolute;top:50px;left:21%;transform:rotate(8deg)}.contract-lines>span{letter-spacing:2px;color:var(--blue);font-size:13px}.contract-lines i{background:var(--line);width:100%;max-width:100%;height:1px;margin-top:22px;display:block}.contract-lines i:nth-child(3){background:var(--orange);width:77%;height:3px;transform:rotate(-3deg)}.contract-lines b{border:1px solid var(--orange);color:var(--orange);margin-top:18px;padding:8px 10px;font-size:12px;display:inline-block;transform:rotate(-10deg)}.project-type{color:var(--muted);flex-wrap:wrap;align-items:center;gap:15px;font-size:10px;display:flex}.pending{color:var(--orange);border-bottom:1px dashed var(--orange);padding-bottom:2px;font-size:9px}.project-entry h3{letter-spacing:-1.2px;margin:18px 0;font-size:clamp(25px,2.9vw,37px);line-height:1.4}.project-entry p{color:var(--muted);max-width:430px;margin:0 0 23px;font-size:13px}.project-entry .text-link{color:var(--blue)}.life-preview{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:12%;padding-bottom:20px;display:grid}.interest-stack{justify-content:center;align-items:center;gap:0;min-height:340px;padding:15px 20px;display:flex}.interest-paper{background:var(--note);width:70%;min-height:250px;box-shadow:3px 7px 15px var(--shadow-soft);z-index:2;flex-direction:column;padding:27px;display:flex;transform:rotate(-7deg)}.interest-paper>span:first-child{color:var(--muted);font-size:9px}.interest-paper strong{letter-spacing:-1px;color:var(--blue);margin-top:30px;font-size:32px}.interest-paper p{font-family:var(--hand);margin:15px 0;font-size:18px}.interest-paper>span:last-child{margin-top:auto;font-size:10px}.book-spine{background:var(--blue);width:100px;color:var(--on-blue);min-height:300px;box-shadow:3px 5px 15px var(--shadow);text-align:center;flex-direction:column;justify-content:space-between;padding:20px 15px;display:flex;transform:rotate(8deg)}.book-spine>span{font-family:var(--hand);font-size:23px}.book-spine strong{writing-mode:vertical-rl;font-family:var(--latin);letter-spacing:4px;margin:auto;font-size:19px}.book-spine small{font-size:9px}.contact-banner{border-top:1px solid var(--line);margin-top:75px;padding:80px 0 70px}.contact-banner>.hand-note{transform-origin:0;font-size:18px;transform:rotate(-3deg)}.contact-banner h2{letter-spacing:-2px;margin:27px 0;font-size:clamp(35px,4.7vw,62px);line-height:1.3}.contact-banner>div{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.site-footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:15px 50px;max-width:1282px;margin:auto;padding:27px 0 25px;display:grid}.footer-note{font-family:var(--hand);white-space:nowrap;align-items:center;gap:17px;min-height:44px;font-size:27px;display:inline-flex}.footer-note>span{font-size:36px;font-family:var(--font);color:var(--orange)}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:5px 24px;font-size:10px;display:flex}.site-footer nav a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.site-footer>p{color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:20px;margin:0;font-size:9px;display:flex}.back-top{background:var(--blue);color:var(--on-blue);z-index:50;visibility:hidden;opacity:0;border:0;border-radius:50%;width:44px;height:44px;font-size:21px;transition:opacity .2s;position:fixed;bottom:22px;right:22px}.back-top.visible{visibility:visible;opacity:1}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding-top:27px;font-size:10px;display:flex}.breadcrumbs a{white-space:nowrap;align-items:center;min-height:44px;display:inline-flex}.breadcrumbs span[aria-current]{color:var(--ink)}.page-hero{max-width:960px;padding:45px 0 55px}.page-label{letter-spacing:1.3px;color:var(--orange);margin:0 0 23px;font-size:10px}.page-hero h1{letter-spacing:-2.5px;margin:0 0 24px;font-size:clamp(38px,5.4vw,69px);font-weight:750;line-height:1.25}.page-hero .hero-description{margin:0;font-size:13px}.compact{padding-top:35px;padding-bottom:50px}.resume-actions{flex-wrap:wrap;align-items:center;gap:25px;margin:0 0 35px;display:flex}.resume-actions>.muted{font-size:10px}.resume-document{background:var(--sheet);max-width:970px;box-shadow:0 4px 22px var(--shadow-soft);margin:0 auto;padding:50px 60px}.resume-name{border-bottom:2px solid var(--blue);justify-content:space-between;align-items:center;gap:30px;padding-bottom:25px;display:flex}.resume-name h2{letter-spacing:-1px;margin:0 0 10px;font-size:32px}.resume-name p,.resume-name>div:last-child{color:var(--muted);margin:0;font-size:12px}.resume-name a{color:var(--blue);overflow-wrap:anywhere}.resume-document>section{padding-top:30px}.resume-section-title{color:var(--blue);margin:0 0 18px;font-size:17px;font-weight:600}.resume-document p{font-size:12px;line-height:1.95}.empty-row{background:var(--bg);padding:14px 18px}.empty-row h3{margin:0 0 8px;font-size:13px;font-weight:500}.empty-row p{color:var(--muted);margin:0;font-size:11px}.resume-project{border-bottom:1px solid var(--line);padding:15px 0}.resume-project>div{justify-content:space-between;align-items:center;gap:15px;display:flex}.resume-project h4{margin:0;font-size:15px}.resume-project>div>span{color:var(--muted);font-size:10px}.resume-project p{color:var(--muted);margin-bottom:8px}.resume-project .text-link{min-height:40px;color:var(--blue);font-size:10px}.timeline-item{grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 0;display:grid}.timeline-item>span{color:var(--muted);font-size:11px}.timeline-item h3{margin:0;font-size:16px}.timeline-item p{color:var(--muted)}.next-navigation{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:25px;margin:65px 0 70px;padding-top:25px;display:flex}.next-navigation .text-link{font-size:12px}.evidence-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;display:grid}.evidence-links>a{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 35px;gap:15px;padding:25px 0;display:grid}.evidence-links>a>span:first-child{color:var(--muted);grid-column:1;font-size:10px}.evidence-links strong{letter-spacing:-1px;grid-column:1;font-size:24px;font-weight:500}.evidence-links small{color:var(--muted);grid-column:1;font-size:10px}.evidence-links>a>span:last-child{color:var(--blue);grid-area:2/2;font-size:28px}.growth-note{background:var(--note);max-width:850px;margin:20px 0 65px;padding:35px 40px;transform:rotate(-1deg)}.growth-note>.hand-note{color:var(--ink);font-size:18px}.growth-note h2{letter-spacing:-1px;font-size:33px;line-height:1.3}.growth-note p{max-width:650px;font-size:13px}.projects-index{padding:15px 0 0}.project-hero{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:8%;padding:40px 0 35px;display:grid}.project-hero h1{letter-spacing:-2px;margin:0 0 22px;font-size:clamp(33px,4vw,54px);line-height:1.35}.project-hero>div>p:not(.page-label){color:var(--muted);font-size:13px}.project-hero .project-cover{min-height:300px;transform:rotate(3deg)}.project-resources{flex-wrap:wrap;gap:10px 23px;margin-top:25px;display:flex}.resource-link,.resource-pending{white-space:nowrap;align-items:center;min-height:44px;font-size:10px;display:inline-flex}.resource-link{color:var(--blue);text-underline-offset:5px;text-decoration:underline}.resource-pending{color:var(--muted)}.project-metadata{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:25px 0 28px;display:grid}.project-metadata>div>span{color:var(--muted);margin-bottom:12px;font-size:10px;display:block}.project-metadata strong{font-size:12px;font-weight:500}.case-layout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:9%;padding:55px 0 30px;display:grid}.case-toc{padding-left:15px;position:sticky;top:25px}.case-toc p{color:var(--muted);margin:0 0 15px;font-size:11px}.case-toc a{white-space:nowrap;min-height:44px;color:var(--muted);align-items:center;font-size:11px;display:flex}.case-toc a:hover,.case-toc a[aria-current=location]{color:var(--blue);text-underline-offset:5px;text-decoration:underline}.case-article{max-width:820px}.case-article>section{border-bottom:1px solid var(--line);margin-bottom:25px;padding:0 0 48px}.case-article h2{letter-spacing:-1px;margin:0 0 20px;font-size:29px;line-height:1.4}.case-article p{color:var(--muted);margin:0;font-size:13px;line-height:2}.case-label{color:var(--orange);margin-bottom:15px;font-size:10px;display:block}.content-note{background:var(--blue-light);color:var(--ink);margin-top:25px;padding:18px 22px;font-size:11px;line-height:1.95}.screenshot-empty{border:1px dashed var(--line);background:var(--sheet);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;margin-top:25px;padding:25px;display:flex}.screenshot-empty>span{color:var(--blue);margin-bottom:14px;font-size:40px}.screenshot-empty strong{font-size:13px;font-weight:500}.screenshot-empty>p{margin-top:12px;font-size:11px}.case-next{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin:10px 0 70px;display:grid}.case-next>a{border-top:1px solid var(--line);padding:25px 0;display:block}.case-next>a>span{color:var(--muted);font-size:10px}.case-next strong{letter-spacing:-.7px;margin-top:15px;font-size:23px;font-weight:500;line-height:1.5;display:block}.interest-browser{padding:15px 0 35px}.interest-cards{scroll-snap-type:x mandatory;justify-content:center;align-items:center;gap:28px;padding:30px 25px 35px;display:flex;overflow-x:auto}.interest-tile{scroll-snap-align:center;background:var(--note);min-width:0;min-height:300px;box-shadow:3px 7px 15px var(--shadow-soft);flex-direction:column;flex:0 0 43%;padding:32px;transition:transform .25s;display:flex;transform:rotate(-4deg)}.interest-color-1{background:var(--blue-light);transform:rotate(4deg)}.interest-tile:hover,.interest-tile.is-active{transform:translateY(-8px)rotate(0)}.interest-tile>span{color:var(--muted);font-size:10px}.interest-tile strong{letter-spacing:-1.5px;color:var(--blue);margin-top:35px;font-size:clamp(27px,3.7vw,46px);line-height:1.4}.interest-tile p{font-family:var(--hand);margin:22px 0;font-size:20px}.interest-tile small{margin-top:auto;font-size:10px}.carousel-bar{justify-content:center;align-items:center;gap:25px;padding-top:15px;display:flex}.carousel-bar button{border:1px solid var(--line);background:0 0;border-radius:50%;width:44px;height:44px;font-size:22px}.carousel-bar span{text-align:center;min-width:180px;color:var(--muted);font-size:11px}.bookshelf{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:50px;padding-bottom:25px;display:grid}.bookshelf-placeholder{border-bottom:3px solid var(--line);justify-content:center;align-items:center;gap:30px;min-height:240px;display:flex}.bookshelf-placeholder>span{background:var(--blue);color:var(--on-blue);font-family:var(--latin);letter-spacing:2px;min-height:210px;box-shadow:3px 5px 14px var(--shadow);padding:30px 19px;font-size:23px;line-height:1.2;transform:rotate(-9deg)}.bookshelf-placeholder p{font-family:var(--hand);color:var(--muted);font-size:23px;transform:rotate(7deg)}.interests-note{max-width:800px;margin-top:30px}.interest-story{max-width:880px;margin:0 auto}.interest-story>section{border-bottom:1px solid var(--line);padding:30px 0 40px}.interest-story h2{letter-spacing:-1px;margin:0 0 22px;font-size:30px}.interest-story>section>p{color:var(--muted);max-width:720px;font-size:14px}.interest-empty{background:var(--note);margin:25px 0 20px;padding:35px 30px;transform:rotate(-1deg)}.interest-empty p{color:var(--muted);font-size:12px}.contact-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:12%;padding:0 0 30px;display:grid}.contact-channels article{border-top:1px solid var(--line);padding:26px 0}.contact-channels article>span{color:var(--muted);margin-bottom:16px;font-size:10px;display:block}.contact-value{letter-spacing:-1px;overflow-wrap:anywhere;min-height:44px;font-size:clamp(20px,2.5vw,31px);font-weight:500;line-height:1.5;display:block}.contact-value>span{color:var(--blue);font-size:28px}.contact-channels article>p{color:var(--muted);margin:7px 0 0;font-size:11px}.contact-channels .text-link{color:var(--blue);margin-top:12px}.contact-note{background:var(--note);box-shadow:3px 6px 14px var(--shadow-soft);margin-top:23px;padding:30px;transform:rotate(4deg)}.contact-note>.hand-note{color:var(--ink);font-size:17px}.contact-note h2{font-family:var(--hand);letter-spacing:-1px;font-size:30px;font-weight:400;line-height:1.6}.contact-note p{color:var(--muted);font-size:12px}.privacy-note{color:var(--muted);padding:25px 10px;font-size:10px}.toast{background:var(--ink);max-width:calc(100% - 32px);color:var(--sheet);z-index:120;opacity:0;visibility:hidden;text-align:center;pointer-events:none;padding:15px 23px;font-size:12px;line-height:1.7;transition:opacity .2s,transform .2s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px)}.toast.visible{visibility:visible;opacity:1;transform:translate(-50%)}@media (min-width:1440px){.site-footer{padding-left:0;padding-right:0}}@media (max-width:1439px){.site-footer{margin:0 5.5%}}@media (max-width:1100px){.main-nav{gap:16px;font-size:10px}.site-header{gap:20px}.identity{font-size:12px}.identity-mark{font-size:35px}.home-hero{gap:25px;min-height:610px}.hero-folder{width:220px;min-height:225px;padding:23px}.hero-folder strong{font-size:29px}.folder-grid{top:210px;right:0}.folder-blue{left:0}.home-desk{min-height:440px}.hero-sticker{width:80px;height:80px;font-size:11px;top:40px;right:5px}.skill-groups{gap:25px}.skill-groups h3{font-size:16px}.skill-groups li{font-size:10px}.project-cover{min-height:290px}.contract-lines{min-height:190px}.norm-pages{top:80px}.cover-annotation{font-size:15px}.about-preview,.life-preview{gap:8%}.case-layout{grid-template-columns:150px minmax(0,1fr);gap:6%}.project-hero{gap:6%}.project-hero .project-cover{min-height:270px}.project-hero .norm-pages{top:75px}.project-hero .contract-lines{width:65%;left:17%}.project-hero .cover-annotation{font-size:14px}.project-hero .cover-disclosure{font-size:7px}}@media (max-width:800px){.site-header{min-height:78px;padding-top:10px;padding-bottom:10px}.menu-toggle{justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.main-nav{background:var(--sheet);border-bottom:1px solid var(--line);box-shadow:0 12px 18px var(--shadow-soft);z-index:60;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 25px;padding:22px 6% 26px;font-size:13px;display:none;position:absolute;top:78px;left:0;right:0}.main-nav.is-open{display:grid}.main-nav a{justify-content:flex-start;padding:9px 8px}.main-nav a[aria-current=page]:after{width:35px;left:8px;right:auto}.home-hero{grid-template-columns:minmax(0,1fr);gap:20px;min-height:auto;padding-top:42px;padding-bottom:70px}.home-hero h1{max-width:620px;font-size:clamp(43px,8vw,63px)}.home-hero .hero-description{max-width:550px}.intro-note{margin-bottom:23px}.hero-copy{max-width:650px}.home-desk{justify-self:center;width:85%;max-width:570px;min-height:420px;margin:20px 0 10px}.hero-folder{width:255px;min-height:225px}.folder-blue{top:55px;left:0}.folder-grid{top:173px;right:0}.hero-sticker{width:95px;height:95px;font-size:13px;top:0;right:0}.desk-caption{font-size:18px;top:-10px}.hero-person{margin-top:18px}.section{padding-top:65px}.about-preview,.life-preview{grid-template-columns:minmax(0,1fr);gap:35px}.section-title h2{font-size:38px}.section-title .text-link{margin-top:16px}.resume-notes{padding-left:22px}.resume-notes article{margin-bottom:10px;padding-bottom:15px}.resume-notes h3{font-size:18px}.skill-groups{grid-template-columns:minmax(0,1fr);gap:30px}.skill-groups section{grid-template-columns:180px minmax(0,1fr);gap:30px;display:grid}.skill-groups h3{margin-top:10px;font-size:17px}.skill-groups li{padding:9px 0;font-size:12px}.skill-status{font-size:10px}.project-entry{gap:6%}.project-cover{min-height:270px}.norm-pages span{font-size:20px}.contract-lines{width:67%;padding:18px;top:40px;left:17%}.project-entry h3{font-size:27px}.project-entry p{font-size:12px}.project-type{gap:8px;font-size:9px}.pending{font-size:8px}.cover-annotation{font-size:13px;bottom:30px;left:15px}.cover-disclosure{font-size:7px}.project-list{gap:50px}.interest-stack{width:80%;max-width:490px;min-height:320px;margin:auto}.contact-banner{margin-top:55px;padding:60px 0}.contact-banner h2{font-size:43px}.site-footer{grid-template-columns:minmax(0,1fr);gap:10px;padding:25px 0}.site-footer nav{justify-content:flex-start;gap:0 23px}.site-footer>p{grid-column:1}.page-hero{padding:35px 0 42px}.page-hero h1{font-size:48px}.page-hero .hero-description{font-size:13px}.resume-document{padding:35px}.resume-name h2{font-size:28px}.resume-name{gap:20px}.resume-project>div{align-items:start}.next-navigation{margin:45px 0 55px}.evidence-links strong{font-size:22px}.compact{padding-top:25px;padding-bottom:25px}.project-hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:35px}.project-hero h1{font-size:43px}.project-hero .project-cover{width:90%;max-width:600px;min-height:300px;margin:0 auto 20px}.project-hero .norm-pages span{max-height:160px}.project-hero .contract-lines{width:48%;min-height:190px;left:28%}.project-hero .cover-annotation{font-size:18px}.project-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.case-layout{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:30px}.case-toc{flex-wrap:wrap;gap:4px 20px;padding:0;display:flex;position:static}.case-toc p{width:100%;margin:0}.case-toc a{min-height:40px}.case-article h2{font-size:28px}.case-article>section{margin-bottom:20px;padding-bottom:32px}.case-next{gap:25px}.case-next strong{font-size:21px}.interest-tile{flex-basis:46%;min-height:280px;padding:25px}.interest-tile strong{font-size:34px}.interest-tile p{font-size:18px}.interest-cards{gap:23px;padding:25px 15px 30px}.bookshelf{grid-template-columns:minmax(0,1fr);gap:30px}.bookshelf-placeholder{width:85%;margin:auto}.contact-layout{gap:7%}.contact-note{padding:25px}.contact-note h2{font-size:26px}.contact-note>.hand-note{font-size:15px}.contact-value{font-size:23px}.growth-note{padding:30px}.growth-note h2{font-size:30px}}@media (max-width:560px){.identity{font-size:12px}.identity small{letter-spacing:1px;font-size:7px}.identity-mark{font-size:34px}.site-header,main{padding-left:6%;padding-right:6%}.site-header{gap:15px}.home-hero{padding-top:30px;padding-bottom:70px}.home-hero h1{letter-spacing:-2.8px;font-size:clamp(39px,10vw,55px)}.intro-note{font-size:10px}.home-hero .hero-description{font-size:12px}.hero-actions{gap:17px;margin-top:24px}.button-primary{gap:25px;padding:11px 16px;font-size:11px}.text-link{gap:23px;font-size:11px}.hero-person{font-size:9px}.home-desk{width:100%;min-height:425px;margin:25px 0 10px}.hero-folder{width:205px;min-height:218px;padding:22px}.hero-folder strong{font-size:28px}.folder-blue{top:55px;left:2%}.folder-grid{width:195px;min-height:205px;top:195px;right:2%}.folder-grid strong{font-size:29px}.hero-folder small{font-size:7px}.hero-folder>span{font-size:9px}.hero-sticker{width:79px;height:79px;font-size:11px;top:8px;right:0}.desk-caption{font-size:16px;top:-8px;left:1%}.hero-bottom{gap:10px;font-size:8px}.hero-bottom>span{max-width:45%;line-height:1.6}.hero-bottom a{font-size:8px}.section{padding-top:57px}.section-heading{margin-bottom:27px}.section-title h2,.section-heading h2{letter-spacing:-1.5px;font-size:32px}.section-heading p,.section-title>p{font-size:12px}.section-title>.hand-note{font-size:17px}.resume-notes{padding-left:19px}.resume-notes h3{font-size:17px}.resume-notes p{font-size:11px}.transfer-list summary{grid-template-columns:minmax(0,1fr) 24px minmax(0,1.3fr) 19px;gap:10px;min-height:75px;padding:20px 0}.transfer-list summary>span:first-child{font-size:12px}.transfer-list summary strong{font-size:14px;line-height:1.5}.transfer-arrow,.expand-sign{font-size:20px}.transfer-content{padding:0 10px 20px}.transfer-content p{font-size:11px}.skill-groups section{grid-template-columns:minmax(0,1fr);gap:0}.skill-groups h3{margin:0 0 12px;font-size:17px}.skill-groups li{padding:10px 0;font-size:12px}.project-entry{grid-template-columns:minmax(0,1fr);gap:22px}.project-entry:nth-child(2n) .project-cover-link{order:0}.project-entry h3{margin:15px 0;font-size:27px}.project-entry p{margin-bottom:15px;font-size:12px}.project-cover{min-height:280px}.norm-pages{top:75px}.norm-pages span{font-size:23px}.contract-lines{width:55%;min-height:190px;top:35px;left:24%}.cover-annotation{font-size:17px;bottom:30px;left:21px}.cover-disclosure{font-size:7px;bottom:13px;right:15px}.project-type{font-size:10px}.pending{font-size:9px}.interest-stack{width:100%;padding:10px 5px}.interest-paper{width:72%;min-height:235px;padding:24px}.interest-paper strong{font-size:28px}.interest-paper p{font-size:17px}.book-spine{width:85px;min-height:270px;padding:18px 11px}.book-spine>span{font-size:21px}.book-spine strong{font-size:16px}.book-spine small{font-size:8px}.contact-banner{margin-top:45px;padding:50px 0}.contact-banner h2{letter-spacing:-1.5px;font-size:35px}.contact-banner>.hand-note{font-size:16px}.contact-banner>div{gap:23px}.site-footer{margin:0 6%}.footer-note{font-size:25px}.site-footer nav{gap:0 18px;font-size:10px}.site-footer>p{font-size:8px}.breadcrumbs{gap:8px;padding-top:15px;font-size:9px}.page-hero{padding:30px 0 35px}.page-label{margin-bottom:20px;font-size:9px}.page-hero h1{letter-spacing:-1.8px;font-size:clamp(33px,8.5vw,45px);line-height:1.35}.page-hero .hero-description{font-size:12px}.resume-actions{gap:15px;margin-bottom:25px}.resume-document{padding:25px 23px}.resume-name{padding-bottom:20px;display:block}.resume-name h2{font-size:26px}.resume-name>div:last-child{margin-top:15px;font-size:10px}.resume-section-title{font-size:16px}.resume-document p{font-size:11px}.resume-document>section{padding-top:25px}.resume-project>div{display:block}.resume-project h4{font-size:14px}.resume-project>div>span{margin-top:10px;font-size:9px;display:block}.empty-row{padding:13px}.empty-row p{font-size:10px}.timeline-item{grid-template-columns:minmax(0,1fr);gap:10px}.next-navigation{flex-direction:column;align-items:flex-start;gap:5px;margin:37px 0 45px;padding-top:18px}.next-navigation .text-link{font-size:11px}.evidence-links{grid-template-columns:minmax(0,1fr);gap:15px}.evidence-links strong{font-size:24px}.growth-note{margin:25px 0 45px;padding:25px}.growth-note>.hand-note{font-size:16px}.growth-note h2{font-size:29px}.growth-note p{font-size:12px}.compact{padding-top:20px;padding-bottom:25px}.project-hero h1{letter-spacing:-1.5px;font-size:34px}.project-hero>div>p:not(.page-label){font-size:12px}.project-resources{gap:7px 17px;margin-top:18px}.resource-pending,.resource-link{font-size:9px}.project-hero{gap:22px;padding-top:30px}.project-hero .project-cover{width:95%;min-height:270px}.project-hero .contract-lines{width:57%;padding:18px;top:30px;left:24%}.project-hero .norm-pages{top:70px}.project-hero .cover-annotation{font-size:16px}.project-metadata{gap:23px;padding:21px 0}.project-metadata strong{font-size:11px}.project-metadata>div>span{margin-bottom:9px;font-size:9px}.case-toc{gap:0 17px}.case-toc a{font-size:10px}.case-article h2{font-size:25px;line-height:1.45}.case-article p{font-size:12px}.case-label{font-size:9px}.content-note{padding:15px 18px;font-size:10px}.screenshot-empty{min-height:190px;padding:20px}.screenshot-empty strong{font-size:12px}.screenshot-empty>p{font-size:10px}.case-next{grid-template-columns:minmax(0,1fr);gap:5px;margin-bottom:45px}.case-next>a{padding:20px 0}.case-next strong{font-size:21px}.interest-tile{flex-basis:86%;min-height:280px;padding:28px}.interest-cards{justify-content:flex-start;gap:22px;padding:24px 15px 29px}.interest-tile strong{font-size:36px}.interest-tile p{font-size:19px}.carousel-bar{gap:17px}.carousel-bar span{min-width:150px;font-size:10px}.bookshelf-placeholder{gap:25px;width:95%}.bookshelf-placeholder>span{min-height:200px;font-size:21px}.bookshelf-placeholder p{font-size:21px}.interest-story>section{padding:20px 0 30px}.interest-story h2{font-size:27px}.interest-story>section>p{font-size:12px}.interest-empty{padding:27px 23px}.interest-empty .hand-note{font-size:18px}.interest-empty p{font-size:11px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:15px}.contact-value{font-size:25px}.contact-note{max-width:360px;margin:20px auto 0;transform:rotate(2deg)}.contact-note h2{font-size:29px}.contact-note>.hand-note{font-size:17px}.privacy-note{font-size:10px}.back-top{bottom:15px;right:12px}.toast{padding:13px 18px;font-size:11px}}@media (max-width:350px){.hero-folder{width:195px}.folder-grid{width:181px;right:0}.hero-folder strong,.folder-grid strong{font-size:26px}.hero-folder small{font-size:6px}.hero-sticker{width:65px;height:65px;font-size:9px}.home-hero h1{font-size:38px}.hero-actions{gap:14px}.hero-actions .text-link{gap:14px;font-size:10px}.hero-actions .button-primary{gap:18px;font-size:10px}.hero-folder>span{font-size:8px}.resume-document{padding:22px 18px}.transfer-list summary{grid-template-columns:minmax(0,1fr) 20px minmax(0,1.3fr) 16px;gap:8px}.transfer-list summary strong{font-size:13px}.cover-corner{font-size:9px}.norm-pages span{font-size:20px}.cover-annotation{font-size:15px}.project-entry h3{font-size:25px}.contact-banner h2{font-size:31px}.contact-banner>div{gap:16px}.contact-banner .text-link{font-size:10px}.carousel-bar{gap:10px}.carousel-bar span{min-width:140px}.contact-value{font-size:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.text-link:hover>span,.button-primary:hover>span,.hero-folder:hover,.interest-tile:hover,.interest-tile.is-active{transform:none}.toast{transform:translate(-50%)}}@media print{html,body{background:var(--sheet)!important;color:var(--ink)!important}body:before,.site-header,.site-footer,.breadcrumbs,.page-hero,.resume-actions,.next-navigation,.back-top,.toast,.skip-link{display:none!important}main{max-width:none;margin:0;padding:0}.resume-document{box-shadow:none;max-width:none;margin:0;padding:0;font-size:11pt}.resume-name{break-inside:avoid}.resume-document>section{break-inside:avoid;padding-top:18px}.resume-document a{color:var(--ink)}.resume-project .text-link{display:none}.resume-document p{font-size:10pt}.empty-row{background:0 0;padding:0}.resume-name h2{font-size:22pt}.resume-section-title{font-size:13pt}}.interest-empty .hand-note{color:var(--blue)}.skill-name{overflow-wrap:anywhere;min-width:0}.skill-name small{color:var(--muted);margin-top:5px;font-size:10px;font-weight:400;line-height:1.75;display:block}.resume-contact{flex-direction:column;gap:8px;line-height:1.6;display:flex}.resume-contact a{min-height:24px}.resume-bullets{color:var(--muted);margin:12px 0;padding-left:18px;font-size:12px;line-height:1.95}.resume-bullets li+li{margin-top:8px}.resume-skill-lines p{margin:0 0 13px}.resume-skill-lines strong{color:var(--ink);font-weight:600}.honor-list{margin:0;padding:0;list-style:none}.honor-list li{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:9px 0;font-size:12px;line-height:1.8;display:grid}.honor-list li>span{color:var(--muted);font-size:11px}.honor-list strong{font-weight:400}.project-alias{color:var(--muted);font-size:11px!important;line-height:1.8!important}.evidence-link{color:var(--blue);white-space:normal;gap:18px;font-size:10px}.evidence-link>span{flex-shrink:0;font-size:20px}@media (max-width:560px){.resume-bullets{padding-left:16px;font-size:11px}.honor-list li{grid-template-columns:63px minmax(0,1fr);gap:10px;font-size:11px}.honor-list li>span{font-size:10px}.resume-contact a{min-height:33px}.project-alias{font-size:10px!important}.evidence-link,.skill-name small{font-size:10px}}
:root{--page-gutter:clamp(20px,3vw,80px)}@media screen{.site-header,main,.site-footer{width:100%;max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter);margin:0}.case-article,.resume-document,.interest-story{width:100%;max-width:none}.design-review-link{bottom:18px;left:var(--page-gutter);z-index:80;background:var(--ink);min-height:44px;color:var(--sheet);white-space:nowrap;box-shadow:0 3px 12px var(--shadow);align-items:center;padding:10px 17px;font-size:12px;display:flex;position:fixed}}@media screen and (min-width:801px){.site-header{min-height:88px}.identity{font-size:17px}.identity small{font-size:10px}.main-nav{gap:clamp(18px,2vw,42px);font-size:14px}.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5%;min-height:700px}.home-hero h1{font-size:clamp(62px,5.8vw,132px)}.hero-description,.home-hero .hero-description{max-width:46em;font-size:clamp(16px,1.05vw,21px)}.intro-note{font-size:15px}.hero-person{font-size:13px}.text-link,.button-primary{font-size:15px}.hero-bottom{font-size:12px}.home-desk{min-height:510px}.hero-folder{width:52%;min-height:300px;padding:32px}.hero-folder strong{font-size:clamp(32px,2.8vw,58px)}.hero-folder small{font-size:11px}.hero-folder>span{font-size:13px}.folder-blue{top:70px}.folder-grid{width:48%;top:230px}.hero-sticker{width:110px;height:110px;font-size:15px}.desk-caption{font-size:23px}.section-heading{max-width:none}.section-heading h2,.section-title h2{font-size:clamp(36px,3vw,64px)}.section-heading p,.section-title>p,.resume-notes p{font-size:16px}.resume-notes h3{font-size:25px}.resume-notes article>span{font-size:13px}.project-entry{gap:5%}.project-cover{min-height:390px}.project-entry h3{font-size:clamp(32px,3vw,58px)}.project-entry p{max-width:48em;font-size:16px}.project-type{font-size:13px}.pending{font-size:12px}.cover-corner{font-size:13px}.cover-annotation{font-size:23px}.cover-disclosure{font-size:10px}.norm-pages{top:95px}.norm-pages span{max-height:190px;font-size:32px}.contract-lines{min-height:240px;padding:30px;top:45px}.contract-lines>span{font-size:18px}.contract-lines i{margin-top:29px}.page-hero{max-width:none;padding-top:45px}.page-hero h1{font-size:clamp(54px,4.5vw,94px)}.page-label{font-size:13px}.page-hero .hero-description{max-width:75em;font-size:18px}.breadcrumbs{font-size:13px}.project-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:5%;padding:45px 0}.project-hero h1{font-size:clamp(44px,4.2vw,90px)}.project-hero>div>p:not(.page-label){font-size:17px}.project-alias{font-size:13px!important}.project-hero .project-cover{width:100%;min-height:390px;transform:none}.resource-link,.resource-pending{font-size:12px}.project-metadata>div>span{font-size:13px}.project-metadata strong{font-size:16px;line-height:1.8}.project-metadata{gap:30px;padding:28px 0}.case-layout{grid-template-columns:clamp(160px,12vw,250px) minmax(0,1fr);gap:4%;padding-top:45px}.case-toc{padding-left:0}.case-toc a{min-height:49px;font-size:14px}.case-toc p{font-size:12px}.case-article h2{letter-spacing:-1px;font-size:clamp(26px,2vw,42px)}.case-article p{font-size:16px;line-height:2}.case-article>section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px 5%;margin-bottom:30px;padding-bottom:40px;display:grid}.case-article>section>h2{grid-column:1}.case-article>section>p,.case-article>section>.content-note,.case-article>section>.screenshot-empty{grid-column:2}.content-note{font-size:13px}.case-next strong{font-size:29px}.case-next>a>span{font-size:13px}.resume-document{padding:45px 4%}.resume-document p,.resume-bullets{font-size:15px}.resume-section-title{font-size:22px}.timeline-item{grid-template-columns:170px minmax(0,1fr)}.timeline-item>span{font-size:14px}.timeline-item h3{font-size:21px}.resume-project h4{font-size:20px}.resume-project>div>span{font-size:13px}.honor-list li{grid-template-columns:110px minmax(0,1fr);font-size:15px}.honor-list li>span{font-size:13px}.resume-name h2{font-size:40px}.resume-name p,.resume-name>div:last-child{font-size:15px}.skill-groups{gap:4%}.skill-groups h3{font-size:23px}.skill-groups li{font-size:15px}.skill-name small{font-size:12px}.skill-status{font-size:11px}.transfer-list summary>span:first-child{font-size:18px}.transfer-list summary strong{font-size:23px}.transfer-content p{font-size:15px}.evidence-links strong{font-size:30px}.evidence-links small{font-size:13px}.growth-note{max-width:none}.growth-note p{max-width:70em;font-size:16px}.contact-layout{gap:8%}.contact-value{font-size:clamp(26px,2.5vw,47px)}.contact-channels article>span{font-size:13px}.contact-channels article>p{font-size:14px}.contact-note{padding:40px}.contact-note h2{font-size:38px}.contact-note p{font-size:16px}.privacy-note{font-size:13px}.interest-story>section>p{max-width:80em;font-size:17px}.interest-tile{min-height:350px}.interest-tile strong{font-size:clamp(36px,4vw,76px)}.interest-tile>span,.interest-tile small{font-size:13px}.interest-tile p{font-size:25px}.bookshelf-placeholder{justify-content:space-evenly}.interest-empty p{font-size:15px}.contact-banner h2{font-size:clamp(42px,4.3vw,88px)}.site-footer nav{font-size:13px}.site-footer>p{font-size:11px}}@media screen and (max-width:1100px) and (min-width:801px){.main-nav{gap:13px;font-size:12px}.identity{font-size:14px}.identity small{font-size:8px}.hero-folder{padding:24px}.case-article>section{grid-template-columns:minmax(0,1fr);gap:5px}.case-article>section>h2,.case-article>section>p,.case-article>section>.content-note,.case-article>section>.screenshot-empty{grid-column:1}.home-hero h1{font-size:54px}.hero-description,.home-hero .hero-description{font-size:15px}}@media screen and (max-width:800px){:root{--page-gutter:clamp(18px,5vw,32px)}.design-review-link{padding:9px 13px;font-size:10px}.site-footer{padding-bottom:80px}}@media print{.design-review-link{display:none!important}}
:root{--bg:#fdfdfc;--ink:#202221;--muted:#656b68;--sheet:#f5f6f4;--blue:#202221;--blue-dark:#3a3e3b;--blue-light:#eef0ed;--orange:#202221;--note:#f0f2ef;--peach:#e6e9e4;--on-blue:#fdfdfc;--line:#20222121;--white-line:#fdfdfc40;--shadow:#1e25201a;--shadow-soft:#1e25200d;--accent:#1c91c1;--outline:#202221a6;--dark-muted:#bdc3be;--font:"Microsoft YaHei","PingFang SC",Arial,sans-serif;--hand:var(--font);--latin:Arial,Helvetica,sans-serif;--page-gutter:clamp(22px,4vw,104px);--nav-height:78px;--ease:cubic-bezier(.2,.7,.3,1)}body:before{display:none}body{font-size:15px;line-height:1.7}button,a,summary{transition:color .2s var(--ease),background-color .2s var(--ease),border-color .2s var(--ease)}:focus-visible{outline-offset:5px;outline:2px solid var(--accent)!important}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:70;width:100%;max-width:none;min-height:var(--nav-height);padding:12px var(--page-gutter);background:var(--bg);border-bottom:1px solid var(--line);gap:28px;position:sticky;top:0}.identity{letter-spacing:0;gap:12px;font-size:14px}.identity-mark{font:800 34px/1 var(--latin);letter-spacing:-3px;color:var(--ink)}.identity-mark>span{color:var(--accent)}.identity small{letter-spacing:1.15px;margin-top:4px;font-size:8px}.main-nav{gap:clamp(16px,2vw,42px);margin-left:auto;font-size:13px;font-weight:400}.main-nav a{color:var(--muted);min-height:44px;font-weight:400}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--ink);font-weight:400}.main-nav a[aria-current=page]:after{height:1px;bottom:6px;left:20%;right:20%;transform:none}.header-contact{border:1px solid var(--ink);white-space:nowrap;min-height:44px;color:var(--on-blue);background:var(--ink);border-radius:5px;align-items:center;gap:18px;padding:8px 17px;font-size:12px;display:inline-flex}.header-contact:hover{background:var(--blue-dark)}.hand-note{font-family:var(--font);letter-spacing:0;color:var(--muted);font-style:normal;font-weight:400;line-height:1.8;font-size:12px!important;transform:none!important}.section-title>.hand-note,.section-heading>.hand-note{display:none}.text-link{gap:20px;min-height:44px;font-size:14px;font-weight:400}.text-link>span{transition:transform .22s var(--ease);font-size:21px}.button-primary,.button-secondary{white-space:nowrap;border:1px solid var(--ink);border-radius:4px;justify-content:center;align-items:center;gap:25px;min-height:46px;padding:11px 23px;font-size:14px;font-weight:400;line-height:1.5;display:inline-flex}.button-primary{background:var(--ink);color:var(--on-blue)}.button-primary:hover{background:var(--blue-dark)}.button-secondary{background:var(--bg);color:var(--ink)}.button-secondary:hover{background:var(--note)}.button-primary>span,.button-secondary>span{font-size:17px}.minimal-hero{min-height:calc(100svh - var(--nav-height));text-align:center;flex-direction:column;align-items:center;gap:0;padding:40px 0 22px;display:flex}.hero-greeting{color:var(--muted);align-items:center;gap:10px;margin:0 0 22px;font-size:14px;display:flex}.greeting-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.minimal-hero h1{width:100%;max-width:none;font-family:var(--latin);letter-spacing:-.065em;word-spacing:.04em;text-wrap:nowrap;margin:0;font-size:clamp(76px,12.15vw,310px);font-weight:900;line-height:1.02}.minimal-hero h1>span:not(.sr-only){color:var(--ink);display:block}.minimal-hero h1>span.role-outline{color:#0000;-webkit-text-stroke:clamp(1px,.08vw,2px) var(--outline);letter-spacing:-.04em;font-weight:800}.hero-introduction{max-width:1000px;margin-top:22px}.hero-introduction h2{letter-spacing:-.03em;margin:0 0 9px;font-size:clamp(17px,1.6vw,29px);font-weight:500}.minimal-hero .hero-description{max-width:880px;color:var(--muted);margin:0 auto;font-size:14px;line-height:1.9}.minimal-hero .hero-actions{justify-content:center;gap:12px;margin:23px 0 0;display:flex}.hero-context{text-align:left;justify-content:space-between;gap:40px;width:100%;margin:30px 0 17px;display:flex}.hero-context>div>span{letter-spacing:1.1px;color:var(--muted);margin-bottom:8px;font-size:10px;display:block}.hero-context p{color:var(--muted);margin:2px 0;font-size:12px;line-height:1.8}.hero-projects{min-width:240px}.hero-project-link{width:auto;min-height:28px;color:var(--ink);background:0 0;border:0;justify-content:space-between;align-items:center;gap:32px;padding:3px 0;font-size:12px;display:flex;position:static;transform:none}.hero-project-link span{transition:transform .22s var(--ease);font-size:16px}.hero-project-link:before,.hero-project-link:after{display:none}.hero-project-link:hover span{transform:translate(2px,-2px)}.minimal-hero .hero-bottom{border-top:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:auto;padding-top:17px;font-size:11px;display:flex;position:static}.hero-bottom a{white-space:nowrap;align-items:center;gap:15px;min-height:30px;font-size:11px;display:inline-flex}.section{padding-top:clamp(65px,7vw,140px)}.section-heading{max-width:none;margin-bottom:35px;display:block}.section-heading h2,.section-title h2{letter-spacing:-.06em;margin-bottom:18px;font-size:clamp(32px,3.3vw,74px);font-weight:600;line-height:1.3}.section-heading p,.section-title>p{color:var(--muted);max-width:70em;font-size:15px}.about-preview{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:8%}.section-title .text-link{margin-top:22px}.resume-notes{border:0;padding:0}.resume-notes article{border-bottom:1px solid var(--line);margin:0 0 22px;padding:0 0 22px}.resume-notes article>span{color:var(--muted);font-size:11px}.resume-notes h3{margin:11px 0;font-size:clamp(19px,1.65vw,31px);font-weight:500}.resume-notes p{margin:0;font-size:14px}.transfer-list summary{gap:20px;min-height:90px;padding:25px 0}.transfer-list summary>span:first-child{color:var(--muted);font-size:16px}.transfer-list summary strong{font-size:21px;font-weight:500}.transfer-arrow{color:var(--muted);font-size:19px}.expand-sign{transition:transform .2s var(--ease);font-size:25px;font-weight:300}.transfer-list summary:hover{background:var(--sheet)}.transfer-content p{max-width:80em;font-size:14px}.skill-groups{gap:4%}.skill-groups h3{font-size:21px;font-weight:500}.skill-groups li{font-size:14px}.skill-name small{color:var(--muted);font-size:12px}.skill-status{border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:20px;padding:3px 7px;font-size:10px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;display:grid}.project-entry{flex-direction:column;align-items:stretch;gap:23px;min-width:0;display:flex}.project-entry:nth-child(2n) .project-cover-link{order:0}.project-cover-link{border-radius:10px;display:block;position:relative;overflow:clip}.project-cover-link:after{content:"↗";background:var(--bg);width:53px;height:53px;color:var(--ink);opacity:0;transition:transform .25s var(--ease),opacity .25s var(--ease);border-radius:50%;place-items:center;font-size:25px;display:grid;position:absolute;bottom:24px;right:24px;transform:translateY(9px)}.project-cover-link:hover:after,.project-cover-link:focus-visible:after{opacity:1;transform:translateY(0)}.project-cover{border:1px solid var(--line);width:100%;min-height:clamp(310px,26vw,600px);box-shadow:none;transition:transform .45s var(--ease);border-radius:10px;position:relative;overflow:clip;transform:none}.cover-norm{background:var(--note);color:var(--ink)}.cover-contract{background:var(--peach);color:var(--ink)}.cover-corner{letter-spacing:.2px;color:inherit;font-size:11px;top:26px;left:29px}.norm-pages{align-items:center;gap:0;display:flex;position:absolute;top:27%;left:7%;right:7%}.norm-pages span,.norm-pages span:nth-child(2),.norm-pages span:nth-child(3){font-family:var(--font);letter-spacing:-1px;width:33.333%;min-height:130px;max-height:none;box-shadow:none;color:inherit;border-top:1px solid var(--line);border-bottom:1px solid var(--line);aspect-ratio:auto;background:0 0;margin:0;font-size:clamp(26px,2.7vw,58px);font-weight:500;transform:none}.norm-pages span+span{border-left:1px solid var(--line)}.norm-pages span:nth-child(2){color:var(--muted)}.cover-annotation{font:400 14px/1.5 var(--font);color:inherit;bottom:30px;left:29px;transform:none}.cover-disclosure{color:inherit;opacity:.75;font-size:9px;bottom:10px;right:25px}.contract-lines{width:auto;min-height:180px;box-shadow:none;background:0 0;padding:0;top:26%;left:7%;right:7%;transform:none}.contract-lines>span{font:800 clamp(32px,4.4vw,92px)/1.15 var(--latin);letter-spacing:-.07em;color:var(--ink)}.contract-lines i{background:var(--line);height:1px;margin-top:17px}.contract-lines i:nth-child(3){background:var(--ink);width:68%;transform:none}.contract-lines b{font:400 18px/1.5 var(--latin);color:var(--muted);float:none;border:0;margin-top:18px;padding:0;display:block;transform:none}.project-type{color:var(--muted);gap:12px;font-size:11px;line-height:1.8}.pending{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:20px;padding:3px 8px;font-size:10px}.project-entry h3{letter-spacing:-.04em;margin:12px 0;font-size:clamp(25px,2.7vw,52px);font-weight:600}.project-entry p{max-width:none;margin-bottom:14px;font-size:14px;line-height:1.9}.page[data-page=home] #work{margin:90px calc(-1 * var(--page-gutter)) 0;padding:65px var(--page-gutter);color:var(--bg);background:var(--ink)}.page[data-page=home] #work .section-heading h2{font-size:clamp(33px,3.7vw,78px)}.page[data-page=home] #work .section-heading p,.page[data-page=home] #work .project-type,.page[data-page=home] #work .project-entry p{color:var(--dark-muted)}.page[data-page=home] #work .pending{color:var(--dark-muted);border-color:var(--white-line)}.page[data-page=home] #work .text-link{color:var(--bg)}.page[data-page=home] #work .section-bottom{border-color:var(--white-line)}.life-preview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%}.interest-stack{align-items:stretch;gap:20px;min-height:300px;padding:0;display:flex}.interest-paper,.book-spine{box-shadow:none;border:1px solid var(--line);border-radius:10px;position:static;transform:none}.interest-paper{background:var(--sheet);width:66%;padding:28px}.interest-paper strong{font:600 clamp(27px,2.9vw,55px)/1.3 var(--latin);letter-spacing:-.04em}.interest-paper p{font:400 15px/1.8 var(--font)}.book-spine{background:var(--note);width:34%;min-height:300px;color:var(--ink);padding:25px 18px}.book-spine>span{font:500 22px/1.5 var(--font)}.book-spine strong{font-family:var(--latin);letter-spacing:.5px;font-size:15px;font-weight:400}.book-spine small{font-size:10px}.contact-banner{border-top:1px solid var(--line);margin-top:85px;padding:75px 0}.contact-banner>.hand-note{font-size:12px!important}.contact-banner h2{letter-spacing:-.055em;margin:18px 0 25px;font-size:clamp(38px,4.2vw,90px);font-weight:500;line-height:1.3}.contact-banner>div{gap:24px}.site-footer{padding:30px var(--page-gutter) 25px;border-top:1px solid var(--line);gap:18px;width:100%;max-width:none;margin:0}.footer-note{font:500 24px/1.4 var(--font);transform:none}.footer-note>span{display:none}.site-footer nav{gap:22px;font-size:12px}.site-footer>p{font-size:10px}.archive-link{color:var(--muted);grid-column:1/-1;justify-self:start;align-items:center;min-height:30px;font-size:10px;display:inline-flex}.breadcrumbs{color:var(--muted);padding-top:25px;font-size:12px}.page-hero{max-width:none;padding:38px 0 45px}.page-label{letter-spacing:.8px;color:var(--muted);margin-bottom:20px;font-size:11px}.page-hero h1{letter-spacing:-.055em;margin-bottom:23px;font-size:clamp(44px,4.5vw,96px);font-weight:600;line-height:1.25}.page-hero .hero-description{max-width:85em;font-size:16px}.resume-actions{gap:20px;margin-bottom:35px}.resume-document{background:var(--bg);width:100%;max-width:none;box-shadow:none;border:1px solid var(--line);border-radius:8px;padding:45px 4%}.resume-name{border-bottom:1px solid var(--ink)}.resume-name h2{font-size:36px;font-weight:600}.resume-name p,.resume-name>div:last-child{font-size:14px}.resume-document p,.resume-bullets{font-size:14px;line-height:1.95}.resume-section-title{font-size:20px;font-weight:600}.timeline-item{grid-template-columns:170px minmax(0,1fr)}.timeline-item h3{font-size:20px;font-weight:500}.timeline-item>span{font-size:13px}.resume-project h4{font-size:20px;font-weight:500}.resume-project>div>span{font-size:12px}.honor-list li{grid-template-columns:100px minmax(0,1fr);font-size:14px}.honor-list li>span{font-size:12px}.next-navigation{gap:20px;margin:50px 0 65px;padding-top:23px}.evidence-links{gap:24px}.evidence-links>a{border:1px solid var(--line);background:var(--sheet);box-shadow:none;border-radius:8px;padding:25px}.evidence-links strong{letter-spacing:-.04em;font-size:clamp(25px,2.6vw,48px);font-weight:500}.evidence-links small{font-size:12px}.evidence-links a:hover{background:var(--note)}.growth-note{box-shadow:none;background:var(--sheet);border:1px solid var(--line);border-radius:8px;max-width:none;padding:35px;transform:none}.growth-note h2{letter-spacing:-.03em;font-size:38px;font-weight:500}.growth-note p{max-width:85em;font-size:15px}.project-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6%;padding:38px 0 42px}.project-hero h1{letter-spacing:-.055em;font-size:clamp(40px,4vw,85px);font-weight:600;line-height:1.3}.project-hero>div>p:not(.page-label){font-size:16px;line-height:1.9}.project-alias{font-size:12px!important}.project-hero .project-cover{width:100%;max-width:none;min-height:clamp(330px,23vw,560px);margin:0;transform:none}.project-resources{gap:20px;margin-top:25px}.resource-link,.resource-pending{font-size:11px}.project-metadata{gap:30px;padding:25px 0}.project-metadata>div>span{color:var(--muted);margin-bottom:10px;font-size:12px}.project-metadata strong{font-size:14px;font-weight:400;line-height:1.8}.case-layout{padding-top:0;display:block}.case-toc{top:var(--nav-height);z-index:45;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:thin;flex-wrap:nowrap;align-items:center;gap:25px;padding:8px 0;display:flex;position:sticky;overflow-x:auto}.case-toc p{display:none}.case-toc a{white-space:nowrap;min-height:44px;color:var(--muted);flex-shrink:0;align-items:center;padding:0 3px;font-size:12px;text-decoration:none;display:inline-flex;position:relative}.case-toc a[aria-current=location]{color:var(--ink);text-decoration:none}.case-toc a[aria-current=location]:after{content:"";background:var(--ink);height:1px;position:absolute;bottom:0;left:3px;right:3px}.case-toc a:hover{color:var(--ink)}.case-article{width:100%;max-width:none}.case-article>section{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px 8%;margin:0;padding:40px 0 45px;scroll-margin-top:160px;display:grid}.case-article>section>h2{letter-spacing:-.045em;grid-column:1;margin:0;font-size:clamp(25px,2.1vw,45px);font-weight:500;line-height:1.45}.case-article>section>p,.case-article>section>.content-note,.case-article>section>.screenshot-empty{grid-column:2}.case-article p{max-width:85em;margin:0;font-size:15px;line-height:2}.content-note{background:var(--sheet);border:1px solid var(--line);color:var(--muted);border-radius:5px;margin-top:0;padding:17px 20px;font-size:12px;line-height:1.9}.screenshot-empty{background:var(--sheet);border:1px dashed var(--line);min-height:230px;box-shadow:none;border-radius:8px;margin-top:15px}.screenshot-empty strong{font-size:14px;font-weight:400}.screenshot-empty>p{font-size:12px}.case-next{gap:30px;margin-top:30px}.case-next a{background:var(--sheet);border:1px solid var(--line);border-radius:8px;padding:25px}.case-next a:hover{background:var(--note)}.case-next strong{letter-spacing:-.04em;font-size:clamp(24px,2.5vw,45px);font-weight:500}.case-next>a>span{font-size:11px}.interest-cards{gap:25px;padding:10px 0 25px}.interest-tile{border:1px solid var(--line);background:var(--sheet);box-shadow:none;border-radius:10px;min-height:350px;padding:35px;transform:none}.interest-color-1{background:var(--note)}.interest-tile strong{font:600 clamp(33px,3.8vw,72px)/1.2 var(--latin);letter-spacing:-.05em}.interest-tile p{font:400 18px/1.8 var(--font)}.interest-tile>span,.interest-tile small{color:var(--muted);font-size:11px}.interest-tile.is-active{border-color:var(--ink);transform:none}.carousel-bar button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:50%;width:46px;height:46px}.carousel-bar button:hover{background:var(--ink);color:var(--bg)}.carousel-bar span{font-size:12px}.bookshelf-placeholder{background:var(--sheet);border:1px solid var(--line);box-shadow:none;border-radius:10px;justify-content:space-evenly;padding:25px}.bookshelf-placeholder>span{box-shadow:none;background:var(--ink);font-family:var(--latin);border-radius:3px;font-size:25px;transform:none}.bookshelf-placeholder p{font-family:var(--font);color:var(--muted);font-size:18px}.interest-story{max-width:none}.interest-story h2{font-size:32px;font-weight:500}.interest-story>section>p{max-width:85em;font-size:16px}.interest-empty{border:1px solid var(--line);background:var(--sheet);box-shadow:none;border-radius:8px;padding:28px;transform:none}.interest-empty p{font-size:14px}.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:8%}.contact-value{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(24px,2.7vw,54px);font-weight:500}.contact-channels article>span{color:var(--muted);font-size:11px}.contact-channels article>p{font-size:13px}.contact-note{box-shadow:none;background:var(--sheet);border:1px solid var(--line);border-radius:10px;max-width:none;margin-top:0;padding:35px;transform:none}.contact-note h2{letter-spacing:-.05em;font-size:clamp(30px,3vw,60px);font-weight:500;line-height:1.5}.contact-note p{font-size:14px}.privacy-note{color:var(--muted);font-size:12px}.back-top{background:var(--bg);color:var(--ink);border:1px solid var(--line);width:43px;height:43px;box-shadow:0 2px 8px var(--shadow-soft)}.back-top:hover{background:var(--ink);color:var(--bg)}.toast{border-radius:5px;font-size:12px}@media (hover:hover) and (pointer:fine){.project-cover-link:hover .project-cover{transform:scale(1.025)}.interest-tile:hover{transform:translateY(-4px)}.text-link:hover>span{transform:translate(3px,-3px)}}@media (min-width:1800px){.hero-greeting{font-size:17px}.minimal-hero .hero-description{max-width:1150px;font-size:17px}.hero-context p,.hero-project-link{font-size:15px}.hero-context>div>span{font-size:11px}.minimal-hero .hero-actions{margin-top:28px}.hero-context{margin-top:38px}.button-primary,.button-secondary{padding:14px 28px;font-size:15px}.site-header{min-height:84px}.main-nav{font-size:14px}:root{--nav-height:84px}}@media (max-width:1200px){.header-contact{gap:10px;padding:8px 11px;font-size:10px}.site-header{gap:18px}.main-nav{gap:16px;font-size:11px}.identity{font-size:12px}.identity small{font-size:7px}.identity-mark{font-size:30px}.project-list{gap:25px}.project-entry h3{font-size:29px}.project-type{flex-wrap:wrap}.project-hero .project-cover{min-height:340px}.case-toc{gap:22px}.hero-context p,.hero-project-link{font-size:11px}}@media (max-width:1000px) and (min-width:801px){.header-contact{display:none}.main-nav{gap:20px;font-size:12px}.minimal-hero h1{font-size:12vw}.project-metadata{gap:20px}.project-metadata strong{font-size:12px}}@media (max-width:800px){:root{--page-gutter:clamp(20px,4vw,32px);--nav-height:72px}.site-header{min-height:72px;padding:10px var(--page-gutter);gap:16px}.identity{font-size:12px}.identity small{font-size:7px}.identity-mark{font-size:30px}.header-contact{display:none}.menu-toggle{border:1px solid var(--line);border-radius:4px;gap:12px;min-height:40px;padding:7px 12px;font-size:12px;display:inline-flex}.main-nav{background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 12px 20px var(--shadow-soft);padding:17px var(--page-gutter);gap:10px 20px;margin:0;font-size:14px;top:71px}.main-nav a[aria-current=page]:after{width:30px;left:8px;right:auto}.minimal-hero{min-height:calc(100svh - 72px);padding-top:35px;padding-bottom:20px}.minimal-hero h1{letter-spacing:-.065em;font-size:12.2vw;line-height:1.09}.minimal-hero h1>span.role-outline{-webkit-text-stroke:.75px var(--outline)}.hero-greeting{margin-bottom:27px;font-size:12px}.hero-introduction{margin-top:27px}.hero-introduction h2{font-size:19px}.minimal-hero .hero-description{max-width:640px;font-size:13px}.minimal-hero .hero-actions{margin-top:22px}.button-primary,.button-secondary{gap:20px;min-height:44px;padding:11px 19px;font-size:12px}.hero-context{gap:25px;margin-top:35px}.hero-context p,.hero-project-link{font-size:11px}.hero-projects{min-width:205px}.hero-context>div>span{font-size:9px}.minimal-hero .hero-bottom{margin-top:auto;font-size:10px}.hero-bottom a{font-size:10px}.section{padding-top:65px}.section-heading h2,.section-title h2{font-size:36px}.section-heading p,.section-title>p{font-size:14px}.about-preview,.life-preview{grid-template-columns:minmax(0,1fr);gap:30px}.resume-notes h3{font-size:22px}.resume-notes p{font-size:13px}.transfer-list summary strong{font-size:18px}.transfer-list summary>span:first-child{font-size:14px}.transfer-content p{font-size:13px}.skill-groups section{grid-template-columns:150px minmax(0,1fr);gap:25px}.skill-groups h3{font-size:18px}.skill-groups li{font-size:13px}.skill-name small{font-size:11px}.project-list{gap:24px}.project-entry h3{font-size:26px}.project-entry p{font-size:13px}.project-cover{min-height:300px}.cover-corner{font-size:10px;top:22px;left:22px}.norm-pages span,.norm-pages span:nth-child(2),.norm-pages span:nth-child(3){min-height:100px;font-size:27px}.cover-annotation{font-size:12px;bottom:27px;left:22px}.cover-disclosure{font-size:8px;right:15px}.contract-lines>span{font-size:36px}.contract-lines b{font-size:15px}.project-cover-link:after{opacity:1;width:39px;height:39px;font-size:20px;bottom:30px;right:17px;transform:none}.project-type{font-size:10px}.pending{font-size:9px}.page[data-page=home] #work{margin-top:65px;padding-top:45px;padding-bottom:45px}.page[data-page=home] #work .section-heading h2{font-size:36px}.interest-stack{width:100%;max-width:none}.contact-banner{margin-top:60px;padding:55px 0}.contact-banner h2{font-size:42px}.site-footer{grid-template-columns:minmax(0,1fr);padding-bottom:24px}.site-footer nav{flex-wrap:wrap;gap:12px 23px;font-size:12px}.site-footer>p{grid-column:1}.footer-note{font-size:23px}.page-hero{padding-top:30px}.page-hero h1{font-size:47px}.page-hero .hero-description{font-size:14px}.breadcrumbs{font-size:11px}.project-hero{grid-template-columns:minmax(0,1fr);gap:28px;padding:30px 0}.project-hero h1{font-size:43px}.project-hero>div>p:not(.page-label){font-size:14px}.project-hero .project-cover{width:100%;max-width:none;min-height:330px;margin:0}.project-hero .contract-lines{width:auto;min-height:170px;padding:0;top:26%;left:7%;right:7%}.project-hero .norm-pages{top:27%}.project-hero .norm-pages span{max-height:none}.project-hero .cover-annotation{font-size:14px}.project-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.project-metadata strong{font-size:13px}.case-toc{gap:22px;padding:6px 0}.case-toc a{font-size:12px}.case-article>section{gap:15px 6%;padding:30px 0 35px;scroll-margin-top:145px}.case-article>section>h2{font-size:27px}.case-article p{font-size:14px}.case-next strong{font-size:25px}.case-next a{padding:22px}.resume-document{padding:30px}.resume-name h2{font-size:30px}.resume-document p,.resume-bullets{font-size:13px}.resume-section-title{font-size:19px}.timeline-item{grid-template-columns:130px minmax(0,1fr)}.timeline-item h3{font-size:18px}.honor-list li{font-size:13px}.honor-list li>span{font-size:11px}.growth-note h2{font-size:32px}.growth-note p{font-size:14px}.evidence-links strong{font-size:27px}.contact-layout{gap:6%}.contact-value{font-size:25px}.contact-note{padding:25px}.contact-note h2{font-size:30px}.contact-note p{font-size:13px}.interest-tile{min-height:290px;padding:27px}.interest-tile strong{font-size:38px}.interest-tile p{font-size:17px}}@media (max-width:560px){:root{--page-gutter:20px}.minimal-hero{min-height:calc(100svh - 72px);padding-top:28px}.minimal-hero h1{font-size:12vw}.hero-greeting{margin-bottom:27px;font-size:12px}.hero-introduction h2{font-size:17px}.minimal-hero .hero-description{font-size:12px;line-height:1.9}.hero-introduction{margin-top:25px}.minimal-hero .hero-actions{margin-top:22px}.hero-context{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:30px;margin-bottom:12px;display:grid}.hero-projects{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;min-width:0;display:grid}.hero-projects>span{grid-column:1/-1}.hero-project-link{gap:8px;min-height:30px;font-size:10px}.hero-project-link span{font-size:14px}.hero-context p{font-size:11px}.hero-context>div>span{margin-bottom:4px}.minimal-hero .hero-bottom{gap:10px;padding-top:12px;font-size:9px}.hero-bottom>span{max-width:45%;line-height:1.8}.hero-bottom a{gap:7px;font-size:9px}.section-heading h2,.section-title h2{letter-spacing:-.04em;font-size:29px;line-height:1.4}.section-heading p,.section-title>p{font-size:13px}.section-heading{margin-bottom:25px}.section{padding-top:55px}.resume-notes h3{font-size:20px}.resume-notes p{font-size:12px}.text-link{gap:18px;font-size:12px}.transfer-list summary{grid-template-columns:minmax(0,1fr) 20px minmax(0,1.2fr) 18px;gap:9px;min-height:78px;padding:20px 0}.transfer-list summary>span:first-child{font-size:12px}.transfer-list summary strong{font-size:14px}.transfer-arrow{font-size:18px}.expand-sign{font-size:22px}.transfer-content p{font-size:12px}.skill-groups section{grid-template-columns:minmax(0,1fr);gap:0}.skill-groups h3{font-size:19px}.skill-groups li{font-size:12px}.skill-name small{font-size:11px}.skill-status{font-size:9px}.project-list{grid-template-columns:minmax(0,1fr);gap:38px}.project-entry{gap:18px}.project-entry h3{font-size:27px}.project-entry p{font-size:12px}.project-type{font-size:10px}.project-cover{min-height:300px}.norm-pages span,.norm-pages span:nth-child(2),.norm-pages span:nth-child(3){letter-spacing:0;min-height:104px;font-size:27px}.contract-lines>span{font-size:43px}.contract-lines{min-height:170px;top:24%}.cover-annotation{font-size:12px}.project-cover-link:after{width:39px;height:39px}.pending{font-size:9px}.page[data-page=home] #work .section-heading h2{font-size:30px}.interest-stack{gap:13px;min-height:270px}.interest-paper{min-height:270px;padding:23px}.interest-paper strong{font-size:32px}.interest-paper p{font-size:13px}.book-spine{min-height:270px;padding:20px 13px}.book-spine>span{font-size:19px}.book-spine strong{font-size:13px}.book-spine small{font-size:9px}.contact-banner h2{font-size:34px}.contact-banner>div{gap:19px}.contact-banner>.hand-note{font-size:11px!important}.breadcrumbs{gap:8px;padding-top:20px;font-size:10px}.page-label{margin-bottom:18px;font-size:10px}.page-hero{padding:28px 0 35px}.page-hero h1{font-size:36px}.page-hero .hero-description{font-size:13px}.resume-actions{gap:13px}.resume-actions .muted{font-size:10px}.resume-document{padding:24px 20px}.resume-name h2{font-size:28px}.resume-name p,.resume-name>div:last-child{font-size:12px}.resume-section-title{font-size:18px}.resume-document p,.resume-bullets{font-size:12px}.timeline-item{grid-template-columns:minmax(0,1fr);gap:7px}.timeline-item>span{font-size:11px}.timeline-item h3,.resume-project h4{font-size:17px}.resume-project>div>span{font-size:11px}.honor-list li{grid-template-columns:65px minmax(0,1fr);gap:12px;font-size:12px}.honor-list li>span{font-size:10px}.resume-document>section{padding-top:25px}.next-navigation{gap:8px;margin:35px 0 45px}.next-navigation .text-link{font-size:12px}.evidence-links>a{padding:23px}.evidence-links strong{font-size:27px}.evidence-links small{font-size:11px}.growth-note{padding:25px}.growth-note h2{font-size:29px}.growth-note p{font-size:13px}.project-hero h1{font-size:34px}.project-hero>div>p:not(.page-label){font-size:13px}.project-alias{font-size:10px!important}.project-resources{gap:10px 17px}.resource-link,.resource-pending{font-size:10px}.project-hero .project-cover{min-height:300px}.project-hero .cover-annotation,.project-metadata strong{font-size:12px}.project-metadata>div>span{font-size:10px}.project-metadata{gap:22px 17px}.case-toc{gap:20px}.case-toc a{font-size:11px}.case-article>section{padding:28px 0 32px;display:block}.case-article>section>h2{margin-bottom:15px;font-size:25px}.case-article p{font-size:13px}.case-article>section>.content-note{margin-top:18px}.content-note{padding:15px;font-size:11px}.screenshot-empty{min-height:200px}.screenshot-empty strong{font-size:12px}.screenshot-empty>p{font-size:11px}.case-next{gap:15px}.case-next a{padding:22px}.case-next strong{font-size:24px}.interest-tile{flex-basis:92%;min-height:300px;padding:27px}.interest-tile strong{font-size:39px}.interest-tile p{font-size:16px}.interest-tile small,.interest-tile>span{font-size:10px}.carousel-bar{gap:14px}.carousel-bar span{min-width:130px;font-size:10px}.bookshelf-placeholder{gap:20px;width:100%;padding:20px}.bookshelf-placeholder>span{min-height:190px;font-size:21px}.bookshelf-placeholder p{font-size:16px}.interest-story h2{font-size:27px}.interest-story>section>p{font-size:13px}.interest-empty{padding:23px}.interest-empty p{font-size:12px}.contact-layout{grid-template-columns:minmax(0,1fr);gap:25px}.contact-value{font-size:clamp(21px,6vw,31px)}.contact-channels article>span{font-size:10px}.contact-channels article>p{font-size:12px}.contact-note{max-width:none;margin:0;padding:25px}.contact-note h2{font-size:30px}.contact-note p{font-size:13px}.privacy-note{font-size:11px}.site-footer nav{gap:10px 20px;font-size:11px}.site-footer>p{font-size:9px}.archive-link{font-size:10px}}@media (max-width:350px){.minimal-hero h1{font-size:11.7vw}.hero-project-link{gap:5px;font-size:9px}.hero-projects{gap:0 10px}.contact-banner h2{font-size:30px}.contact-banner>div{gap:16px}.contact-banner .text-link{font-size:11px}.project-entry h3{font-size:25px}.norm-pages span,.norm-pages span:nth-child(2),.norm-pages span:nth-child(3){font-size:23px}.contract-lines>span{font-size:36px}.hero-bottom a,.minimal-hero .hero-bottom{font-size:8px}.contact-value{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.project-cover-link:hover .project-cover,.interest-tile:hover,.text-link:hover>span{transform:none}}@media print{.header-contact,.archive-link{display:none!important}.resume-document{border:0;border-radius:0;padding:0}.resume-document p,.resume-bullets{font-size:10pt}.resume-document>section{break-inside:auto}.resume-name,.resume-project,.timeline-item,.honor-list li{break-inside:avoid}.resume-section-title{break-after:avoid}.resume-name h2{font-size:22pt}.resume-section-title{font-size:13pt}}
:root{--screen-size:calc(100svh - var(--nav-height));--motion-ease:cubic-bezier(.22,1,.36,1);--surface-shadow:0 2px 4px #18231d06,0 14px 35px #18231d0e,0 40px 80px #18231d0b;--badge-shadow:0 1px 2px #18231d1f,0 12px 22px #18231d24,0 35px 60px #18231d29;--badge-stock:#f3f3ef;--badge-print:#dce1dc;--badge-metal:#8d9590;--badge-front-light:#fafbf9;--badge-glow:#fefffdb3;--strap-dark:#252b27;--strap-edge:#555d56}html.screen-home,html.screen-case{scroll-snap-type:y mandatory;scroll-padding-top:var(--nav-height)}html.screen-case{scroll-snap-type:y proximity}body[data-design=minimal] main{min-height:var(--screen-size)}.site-header{box-shadow:0 1px 12px var(--shadow-soft)}.screen-section{min-height:var(--screen-size);scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;scroll-margin-top:0!important}.page[data-page=home] main>.screen-section:not(.minimal-hero){margin-top:0;padding-top:clamp(30px,5vh,68px);padding-bottom:clamp(30px,5vh,68px)}.screen-section.about-preview,.screen-section.life-preview{align-content:center}.screen-section.ability-preview,.screen-section.skills-preview,.screen-section#work,.screen-section.contact-banner{flex-direction:column;justify-content:center;display:flex}.screen-section .section-heading{margin-bottom:clamp(20px,3vh,40px)}.screen-section .section-bottom{margin-top:25px;padding-top:15px}.screen-section .section-heading h2,.screen-section .section-title h2{font-size:clamp(30px,3.1vw,69px)}.page[data-page=home] #work.screen-section{margin:0 calc(-1 * var(--page-gutter));padding:clamp(30px,4vh,60px) var(--page-gutter)}#work.screen-section .project-cover{height:clamp(240px,30vh,440px);min-height:0}#work.screen-section .project-entry h3{font-size:clamp(25px,2.6vw,52px)}#work.screen-section .project-entry{gap:16px}#work.screen-section .project-entry p{margin-bottom:7px;font-size:clamp(12px,.9vw,16px)}#work.screen-section .contract-lines{min-height:0;top:23%}#work.screen-section .contract-lines>span{font-size:clamp(32px,3.8vw,82px)}#work.screen-section .contract-lines b{float:none;margin-top:12px;font-size:14px;display:block;position:static}#work.screen-section .contract-lines i{margin-top:10px}#work.screen-section .norm-pages span{min-height:95px}#work.screen-section .section-heading h2{font-size:clamp(30px,3.3vw,73px)}.screen-section .skill-groups{gap:4%}.screen-section .skill-groups li{padding:9px 0}.screen-section .skill-name small{margin-top:3px;line-height:1.7}.screen-section .contact-banner{margin:0}.minimal-hero{padding-top:clamp(24px,3vh,40px);padding-bottom:20px}.minimal-hero h1{font-size:min(11.8vw,23vh)}.minimal-hero .hero-greeting{margin-bottom:16px}.minimal-hero .hero-introduction{margin-top:16px}.minimal-hero .hero-actions{margin-top:20px}.minimal-hero .hero-context{margin-top:24px;margin-bottom:12px}.page[data-page=home]>.site-footer{scroll-snap-align:end}.about-preview{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%}.about-information .section-title>p{margin-bottom:0;font-size:14px}.about-information .section-title h2{margin-bottom:15px;font-size:clamp(30px,3.2vw,66px);line-height:1.35}.about-information .section-title .text-link{margin-top:13px}.about-information .resume-notes{margin-top:26px}.about-information .resume-notes article{margin-bottom:15px;padding-bottom:15px}.about-information .resume-notes article:last-child{margin-bottom:0}.about-information .resume-notes h3{margin:8px 0;font-size:clamp(18px,1.65vw,31px)}.about-information .resume-notes p{font-size:clamp(12px,.95vw,16px)}.badge-scene{perspective:1300px;isolation:isolate;flex-direction:column;align-items:center;width:100%;max-width:600px;margin:auto;padding:88px 25px 16px;display:flex;position:relative}.badge-scene:after{content:"";background:var(--ink);opacity:.09;filter:blur(18px);z-index:-1;border-radius:50%;width:60%;height:22px;position:absolute;bottom:55px}.badge-lanyard{background:linear-gradient(90deg,var(--strap-edge),var(--strap-dark) 15%,var(--strap-dark) 85%,var(--strap-edge));z-index:4;width:26px;height:127px;box-shadow:2px 3px 6px var(--shadow);border-radius:2px;position:absolute;top:0;left:calc(50% - 13px)}.badge-lanyard span{writing-mode:vertical-rl;color:var(--sheet);font:500 6px/1.4 var(--latin);letter-spacing:1.25px;opacity:.8;margin:9px auto;display:block}.badge-lanyard:after{content:"";border:5px solid var(--badge-metal);width:24px;height:27px;box-shadow:1px 2px 2px var(--shadow);background:0 0;border-radius:4px;position:absolute;bottom:-14px;left:1px}.badge-tilt{transform-style:preserve-3d;transform:rotateX(var(--badge-rx,0deg)) rotateY(var(--badge-ry,0deg)) rotateZ(-2deg);transition:transform .65s var(--motion-ease);aspect-ratio:.715;z-index:2;width:clamp(265px,23vw,390px);position:relative}.badge-rotor{width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s var(--motion-ease);position:relative}.badge-rotor.is-flipped{transform:rotateY(180deg)}.badge-face{backface-visibility:hidden;border:1px solid var(--line);box-shadow:var(--badge-shadow);background:var(--badge-stock);border-radius:15px;position:absolute;inset:0;overflow:clip}.badge-front{background:linear-gradient(135deg,var(--badge-front-light),var(--badge-stock));flex-direction:column;padding:13px;display:flex}.badge-slot{background:var(--badge-print);width:46px;height:6px;box-shadow:inset 0 1px 2px var(--shadow);z-index:1;border-radius:9px;position:absolute;top:7px;left:calc(50% - 23px)}.badge-portrait{border:1px solid var(--line);background:var(--peach);border-radius:9px 9px 3px 3px;flex:1;justify-content:center;align-items:center;min-height:0;margin-top:8px;display:flex;position:relative;overflow:clip}.badge-portrait:after{content:"";background:linear-gradient(125deg,var(--badge-glow),transparent 60%);pointer-events:none;position:absolute;inset:0}.badge-monogram{font:800 clamp(88px,10vw,168px)/1 var(--latin);letter-spacing:-.11em;color:var(--ink);z-index:1;padding-right:15px;position:relative}.badge-monogram>span{color:var(--accent)}.badge-portrait-label{font:400 7px/1.3 var(--latin);letter-spacing:1.8px;text-align:center;color:var(--muted);z-index:1;position:absolute;bottom:15px;left:0;right:0}.badge-copy{flex-shrink:0;padding:15px 7px 4px}.badge-caption{font:400 7px/1.3 var(--latin);letter-spacing:1px;color:var(--muted);justify-content:space-between;align-items:center;display:flex}.badge-caption i{background:var(--accent);border-radius:50%;width:5px;height:5px}.badge-copy h3{letter-spacing:-1px;text-align:center;margin:10px 0 2px;font-size:clamp(25px,2.4vw,38px);font-weight:600;line-height:1.4}.badge-copy p{text-align:center;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.badge-tags{flex-wrap:wrap;justify-content:center;gap:5px;margin:12px 0 14px;display:flex}.badge-tags span{border:1px solid var(--line);background:var(--badge-front-light);color:var(--muted);border-radius:20px;padding:3px 7px;font-size:8px;line-height:1.4}.badge-barcode{opacity:.5;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 10px,transparent 10px 12px,var(--ink) 12px 13px,transparent 13px 18px);height:7px}.badge-back{background:var(--badge-front-light);flex-direction:column;justify-content:center;padding:32px 25px;display:flex;transform:rotateY(180deg)}.badge-back-label{font:400 9px/1.5 var(--latin);letter-spacing:2px;color:var(--muted)}.badge-back h3{letter-spacing:-1px;margin:15px 0 22px;font-size:clamp(22px,2vw,32px);font-weight:500;line-height:1.5}.badge-back dl{margin:0 0 15px}.badge-back dl>div{border-top:1px solid var(--line);padding:12px 0}.badge-back dt{color:var(--muted);margin-bottom:5px;font-size:9px}.badge-back dd{margin:0;font-size:12px;font-weight:500;line-height:1.8}.badge-back dd small{color:var(--muted);font-size:10px;font-weight:400;display:block}.badge-back>a{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:40px;font-size:11px;display:flex}.badge-back>a:hover{color:var(--accent)}.badge-flip{border:1px solid var(--line);background:var(--bg);min-height:40px;color:var(--muted);box-shadow:0 3px 10px var(--shadow-soft);border-radius:30px;align-items:center;gap:17px;margin-top:27px;padding:8px 15px;font-size:11px;display:flex}.badge-flip:hover{background:var(--sheet);color:var(--ink)}.badge-flip>span{font-size:18px;line-height:1}.badge-caption-note{color:var(--muted);margin:9px 0 0;font-size:9px;line-height:1.5}.screen-nav{z-index:65;border:1px solid var(--line);background:var(--bg);box-shadow:0 4px 20px var(--shadow-soft);border-radius:30px;flex-direction:column;gap:2px;padding:9px 2px;display:flex;position:fixed;top:50%;right:13px;transform:translateY(-50%)}.screen-nav a{place-items:center;width:29px;height:30px;display:grid;position:relative}.screen-nav a:before{content:"";border:1px solid var(--muted);width:5px;height:5px;transition:transform .4s var(--motion-ease),background .4s var(--motion-ease);border-radius:50%}.screen-nav a[aria-current=location]:before{background:var(--ink);border-color:var(--ink);transform:scale(1.35)}.screen-nav a:after{content:attr(aria-label);border:1px solid var(--line);background:var(--bg);color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--motion-ease);box-shadow:0 3px 15px var(--shadow-soft);border-radius:6px;padding:5px 10px;font-size:10px;position:absolute;right:39px;transform:translate(5px)}.screen-nav a:hover:after,.screen-nav a:focus-visible:after{opacity:1;transform:none}.project-cover-link,.interest-paper,.book-spine,.contact-note,.resume-document,.evidence-links>a{box-shadow:var(--surface-shadow)}.button-primary,.button-secondary{transition:transform .4s var(--motion-ease),background .25s,border-color .25s,box-shadow .4s var(--motion-ease)}.button-primary{box-shadow:0 4px 12px var(--shadow)}.project-intro-screen{min-height:var(--screen-size);scroll-snap-align:start;flex-direction:column;justify-content:center;padding:25px 0;display:flex}.project-intro-screen .breadcrumbs{padding-top:0}.project-intro-screen .project-hero{padding:28px 0}.project-intro-screen .project-hero .project-cover{height:clamp(280px,37vh,510px);min-height:0}.project-intro-screen .project-metadata{padding:23px 0}html.screen-case .case-article>section{min-height:calc(var(--screen-size) - 62px);scroll-snap-align:start;align-content:center;scroll-margin-top:62px}.page[data-page=capabilities] .compact{min-height:var(--screen-size);flex-direction:column;justify-content:center;padding-top:40px;padding-bottom:40px;display:flex}@media (hover:hover) and (pointer:fine){.button-primary:hover,.button-secondary:hover{transform:translateY(-2px)}.badge-tilt.is-tracking{transition:transform .16s ease-out}}@media (min-width:1001px) and (max-height:820px){.minimal-hero h1{font-size:min(11vw,18vh)}.minimal-hero{padding-top:20px;padding-bottom:16px}.minimal-hero .hero-greeting{margin-bottom:10px;font-size:12px}.minimal-hero .hero-introduction{margin-top:11px}.minimal-hero .hero-introduction h2{margin-bottom:5px;font-size:18px}.minimal-hero .hero-description{max-width:1000px;font-size:12px;line-height:1.8}.minimal-hero .hero-actions{margin-top:15px}.minimal-hero .hero-context{margin-top:16px;margin-bottom:8px}.minimal-hero .hero-context p,.minimal-hero .hero-project-link{font-size:10px}.minimal-hero .hero-bottom{padding-top:10px}#work.screen-section{padding-top:25px!important;padding-bottom:25px!important}#work.screen-section .section-heading h2{margin-bottom:12px;font-size:38px}#work.screen-section .section-heading{margin-bottom:22px}#work.screen-section .project-entry h3{font-size:29px}#work.screen-section .section-bottom{margin-top:10px;padding-top:8px}.screen-section .section-heading h2,.screen-section .section-title h2{font-size:clamp(28px,3vw,48px)}.screen-section .section-heading p,.screen-section .section-title>p{font-size:13px}.screen-section .skill-groups li{padding:6px 0;font-size:12px}.screen-section .skill-name small{font-size:10px;line-height:1.55}.screen-section .skill-groups h3{margin-bottom:13px;font-size:18px}.badge-scene{padding-top:57px}.badge-lanyard{height:91px}.badge-tilt{width:245px}.badge-copy h3{font-size:25px}.badge-monogram{font-size:96px}.badge-flip{margin-top:20px}.about-information .section-title h2{font-size:39px}.about-information .resume-notes{margin-top:16px}.about-information .resume-notes article{margin-bottom:10px;padding-bottom:10px}.about-information .resume-notes h3{font-size:19px}.about-information .resume-notes p{font-size:12px}.project-intro-screen .project-hero,.project-intro-screen .project-metadata{padding:18px 0}.project-intro-screen .project-hero h1{font-size:45px}}@media (max-width:1000px){.screen-nav{right:6px}.screen-nav a{width:22px;height:28px}.badge-scene{padding:75px 10px 10px}.badge-lanyard{height:111px}.badge-tilt{width:265px}.about-preview{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6%}.about-information .section-title h2{font-size:34px}.about-information .resume-notes h3{font-size:19px}.about-information .resume-notes p{font-size:12px}}@media (max-width:800px){html.screen-home{scroll-snap-type:y proximity}.minimal-hero h1{font-size:12.2vw}.screen-nav{display:none}.screen-section.about-preview,.screen-section.life-preview{grid-template-columns:minmax(0,1fr);gap:35px}.screen-section.about-preview{padding-top:25px!important}.badge-scene{max-width:360px;padding-top:62px}.badge-lanyard{height:99px}.badge-tilt{width:240px}.badge-copy h3{font-size:26px}.badge-monogram{font-size:98px}.badge-tags{margin-top:10px;margin-bottom:12px}.badge-copy{padding-top:12px}.badge-flip{margin-top:23px}.badge-back{padding:22px}.badge-back h3{margin:10px 0 15px;font-size:22px}.badge-back dl>div{padding:9px 0}.badge-back>a{min-height:36px;font-size:10px}.about-information .section-title h2{font-size:33px}.about-information .resume-notes{margin-top:20px}.screen-section .section-heading h2,.screen-section .section-title h2{font-size:34px}#work.screen-section .project-cover{height:300px}.screen-section .skill-groups li{padding:10px 0}.project-intro-screen{padding:20px 0}.project-intro-screen .project-hero{padding:25px 0}.project-intro-screen .project-hero .project-cover{height:320px}html.screen-case .case-article>section{min-height:calc(var(--screen-size) - 58px);scroll-margin-top:58px}}@media (max-width:560px){.minimal-hero h1{font-size:12vw}.screen-section.about-preview{gap:28px}.screen-section .section-heading h2,.screen-section .section-title h2{font-size:29px}.page[data-page=home] main>.screen-section:not(.minimal-hero){padding-top:36px;padding-bottom:36px}.screen-section.skills-preview,.screen-section#work{padding-top:45px!important;padding-bottom:45px!important}.about-information .section-title h2{font-size:29px}.about-information .section-title>p{font-size:13px}#work.screen-section .project-cover{height:290px}.screen-section .project-list{gap:35px}.project-intro-screen .project-hero .project-cover{height:290px}.project-intro-screen .project-metadata{padding:22px 0}.project-intro-screen .breadcrumbs{padding-top:0}.badge-caption-note{font-size:9px}.badge-scene{padding-top:58px}.badge-lanyard{height:95px}.badge-tilt{width:232px}.badge-tags span{font-size:8px}.badge-portrait-label{letter-spacing:1.3px;font-size:6px}}@media (prefers-reduced-motion:reduce){html.screen-home,html.screen-case{scroll-snap-type:y proximity;scroll-behavior:auto}.badge-tilt{transform:none!important}.badge-rotor,.badge-tilt,.screen-nav a:before,.screen-nav a:after{transition:none!important}.button-primary:hover,.button-secondary:hover{transform:none}}@media print{html.screen-home,html.screen-case{scroll-snap-type:none;scroll-padding:0}.screen-nav,.badge-scene{display:none!important}body[data-design=minimal] main,.screen-section,.project-intro-screen,html.screen-case .case-article>section,.page[data-page=capabilities] .compact{scroll-snap-align:none;min-height:0!important}.resume-document,.project-cover-link,.contact-note{box-shadow:none!important}}
.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;min-height:100svh;display:flex}.not-found h1{margin:0;font-size:clamp(38px,7vw,100px)}.content-image{margin:26px 0}.content-image img{border-radius:12px;width:100%;height:auto;display:block}.content-image figcaption{color:var(--muted);margin-top:10px;font-size:12px}.image-fallback{background:var(--note);color:var(--muted);border:1px solid var(--line);place-items:center;padding:24px;display:grid}.case-article li{color:var(--muted);margin:10px 0;font-size:14px;line-height:1.9}.resume-document,.contact-value{overflow-wrap:anywhere}.mobile-menu{display:none}.breadcrumb-part{align-items:center;gap:12px;display:inline-flex}.copy-message{color:var(--muted);min-height:0;font-size:12px}.copy-message:empty{display:none}.interest-records article{border-top:1px solid var(--line);padding:24px 0}.interest-records h3{font-size:25px}.interest-records p{color:var(--muted)}.interest-records .content-image{max-width:200px}.badge-portrait .content-image{width:100%;height:100%;margin:0}.badge-portrait img{object-fit:cover;border-radius:0;height:100%}@media (max-width:800px){.desktop-nav{display:none!important}.mobile-menu{margin-left:auto;display:block}.mobile-menu summary{cursor:pointer;align-items:center;gap:16px;min-height:44px;font-size:13px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] .mobile-nav{width:100%;padding:20px var(--page-gutter);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--surface-shadow);flex-direction:column;align-items:stretch;gap:6px;position:absolute;top:100%;left:0;right:0;display:flex!important}.mobile-menu .main-nav a{min-height:44px;display:flex}.header-contact{display:none}.site-header{position:sticky}.page[data-page=home] .hero-context{flex-wrap:wrap}.breadcrumb-part{gap:8px}}
@media print{html,body{scroll-snap-type:none!important;color:#111!important;background:#fff!important;height:auto!important;overflow:visible!important}.site-header,.site-footer,.breadcrumbs,.page-hero,.resume-actions,.next-navigation,.back-top,.toast,.skip-link,.badge-scene,.screen-nav{display:none!important}.page,main,.resume-document{max-width:none!important;height:auto!important;min-height:0!important;box-shadow:none!important;margin:0!important;padding:0!important;overflow:visible!important}.resume-document>section{break-inside:auto!important}.resume-project,.timeline-item{break-inside:avoid}.resume-document h3,.resume-document h4{break-after:avoid}.resume-document p,.resume-bullets{orphans:3;widows:3}.resume-document .text-link{display:none!important}}
.case-article>section{scroll-margin-top:calc(var(--nav-height) + 24px)}.case-toc a[aria-current=location]{color:var(--ink);text-underline-offset:5px;text-decoration:underline}@media (min-width:801px){html:has(.case-layout){scroll-snap-type:y proximity;scroll-padding-top:var(--nav-height)}.case-article>section{min-height:calc(var(--screen-size) - var(--toc-height,62px));scroll-snap-align:start;scroll-margin-top:var(--toc-height,62px);align-content:center}}@media (max-width:800px){.case-toc{max-width:100%;overflow:auto;position:static!important}.case-article>section{scroll-margin-top:calc(var(--nav-height) + 20px)}}@media print{html:has(.case-layout){scroll-snap-type:none;scroll-padding:0}.case-article>section{min-height:0!important}}.project-screenshot-cover{align-self:center;min-width:0}.project-screenshot-cover .content-image{margin:0}.project-screenshot-cover img{border:1px solid var(--line)}.case-article .content-image img{object-fit:contain;border:1px solid var(--line)}:is(.case-article .content-image:has(img[width="390"]),.case-article .content-image:has(img[width="320"])){max-width:390px;margin-inline:auto}.case-article .content-image figcaption{overflow-wrap:anywhere;line-height:1.8}@media (min-width:801px){.case-article:has(img)>section>ul{grid-column:2}.case-article:has(img)>section>.content-image{grid-column:1/-1;justify-self:center;width:100%;max-width:1120px}}.catalog-demo{position:relative;container-type:inline-size}.catalog-demo-hide,.catalog-demo-count{background:#f7f7f5;position:absolute}.catalog-demo-hide{width:66%;height:5%;top:18.5%;left:7%}.catalog-demo-count{color:#6b7280;white-space:nowrap;width:16%;height:2.5%;font:1cqw/1.6 Arial,sans-serif;top:36.9%;left:7%}.answer-demo{position:relative;container-type:inline-size}.answer-demo-input{box-sizing:border-box;color:#a0a8af;background:#fff;border:1px solid #dfe6ed;border-radius:1.7cqw;width:40%;height:10%;padding:1.5cqw;font:1cqw/1.4 Arial,sans-serif;position:absolute;top:81%;left:17.5%;box-shadow:0 .5cqw 2cqw #32465a14}.answer-demo-tip{color:#a0a8af;font-size:.7cqw;position:absolute;bottom:1.2cqw;left:1.5cqw}.answer-demo-send{color:#94a3b2;background:#dce5ed;border-radius:50%;place-items:center;width:2.5cqw;height:2.5cqw;font-size:1.4cqw;display:grid;position:absolute;bottom:1.1cqw;right:1.2cqw}.answer-demo-avatar-cover{background:#f7f7f5;border-bottom-left-radius:1cqw;place-items:center;width:5.5%;height:6%;display:grid;position:absolute;bottom:0;left:0}.answer-demo-avatar{color:#71879b;background:#fff;border:1px solid #e3e8ed;border-radius:50%;place-items:center;width:2.8cqw;height:2.8cqw;display:grid;box-shadow:0 .2cqw .5cqw #00000014}.answer-demo-avatar svg{width:60%;height:60%}
.badge-face[inert]{pointer-events:none}.badge-tilt{flex-shrink:0}.badge-front .badge-portrait{flex-basis:0}.badge-back{overflow:auto}.badge-flip:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
html.screen-home{scroll-padding-top:var(--nav-height)}.screen-section{height:auto}.screen-section p,.screen-section h2,.screen-section h3,.contact-banner a,.header-contact{overflow-wrap:anywhere}.screen-section .section-title,.screen-section .section-heading,.about-information,.screen-section .project-entry{min-width:0}@media (max-width:1000px),(max-height:649px){html.screen-home{scroll-snap-type:none}.screen-nav{display:none}}@media print{.back-top{display:none!important}}
:root{--navigation-duration:.82s;--navigation-ease:cubic-bezier(.36,0,.18,1)}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}::view-transition{pointer-events:none}::view-transition-group(root){animation-duration:var(--navigation-duration);animation-timing-function:var(--navigation-ease)}::view-transition-old(root){mix-blend-mode:normal;animation:.36s cubic-bezier(.4,0,.6,1) both page-leave}::view-transition-new(root){animation:page-arrive var(--navigation-duration) var(--navigation-ease) both;mix-blend-mode:normal}::view-transition-group(site-header){animation:none}::view-transition-image-pair(site-header){animation:none}::view-transition-old(site-header){opacity:0;animation:none}::view-transition-new(site-header){opacity:1;animation:none}@keyframes page-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes page-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}html.is-chapter-scrolling,html.wheel-chapters,html.is-wheel-scrolling{scroll-snap-type:none!important;scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media print{.site-header{view-transition-name:none}}
.has-portrait{isolation:isolate;position:relative}.hero-portrait{pointer-events:none}.hero-portrait .content-image{width:100%;height:100%;margin:0}.hero-portrait img{object-fit:contain;object-position:center bottom;filter:grayscale();border-radius:0;width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 0% 70%,#0000 100%);mask-image:linear-gradient(#000 0% 70%,#0000 100%)}.hero-portrait .image-fallback{height:100%;font-size:12px}.badge-portrait:has(img){background:linear-gradient(140deg,#f4f3f0,#dedfda)}.badge-portrait:has(img):after{opacity:.18}.badge-portrait .content-image{padding-top:20px}.badge-portrait img{object-position:50% 0;filter:grayscale()}.badge-front .badge-portrait:has(img){flex:1 1 0}@media (min-width:1001px) and (min-height:650px){.minimal-hero.has-portrait{padding-top:clamp(22px,3.5vh,42px);display:block}.has-portrait .hero-greeting{justify-content:center;margin-bottom:clamp(20px,4vh,48px)}.has-portrait h1{z-index:-1;font-size:min(11.8vw,23vh);line-height:1.05;position:relative}.has-portrait .role-outline{margin-top:clamp(12px,2.5vh,30px)}.has-portrait .hero-portrait{width:min(43vw,calc(var(--screen-size) * .79));z-index:0;margin:auto;position:absolute;inset:21% 0 6%}.has-portrait .hero-introduction{text-align:left;z-index:1;width:27%;max-width:440px;margin:0;position:absolute;bottom:28%;left:0}.has-portrait .hero-introduction h2{margin-bottom:12px;font-size:clamp(17px,1.45vw,28px);line-height:1.6}.has-portrait .hero-description{font-size:clamp(11px,.88vw,15px);line-height:1.9}.has-portrait .hero-context{display:contents}.has-portrait .hero-context>div{text-align:left;z-index:1;width:28%;position:absolute;bottom:13%;left:0}.has-portrait .hero-context>.hero-projects{width:25%;min-width:0;left:auto;right:0}.has-portrait .hero-context p,.has-portrait .hero-project-link{font-size:clamp(11px,.85vw,15px)}.has-portrait .hero-actions{z-index:2;gap:12px;margin:0;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.has-portrait .hero-bottom{z-index:2;position:absolute;bottom:18px;left:0;right:0}}@media (min-width:1001px) and (min-height:650px) and (max-height:760px){.has-portrait .hero-introduction{width:29%;bottom:27%}.has-portrait .hero-description{font-size:11px;line-height:1.7}.has-portrait .hero-context>div,.has-portrait .hero-actions{bottom:12%}}@media (max-width:1000px),(max-height:649px){.has-portrait .hero-portrait{width:min(76vw,360px);height:360px;margin:-30px auto -28px;position:relative}.has-portrait h1{z-index:-1;position:relative}.has-portrait .hero-introduction{max-width:650px;margin-top:0}.has-portrait .hero-context{margin-top:26px}.has-portrait .hero-actions{z-index:1;position:relative}}@media (max-width:560px){.has-portrait .hero-portrait{height:300px;margin-top:-12px;margin-bottom:-20px}.has-portrait .hero-description{font-size:12px}.has-portrait .hero-introduction h2{font-size:18px}}@media print{.hero-portrait{display:none}}
