:root{--paper:#f7f6f2;--ink:#252522;--muted:#74746e;--line:#ddddd5;--orange:#ef532a;--font:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}button{border:0}::selection{background:#f6bc9e;color:var(--ink)}.wrap{max-width:1240px;margin-inline:auto;padding-inline:40px}.header{height:100px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:700;letter-spacing:1px}.brand-symbol{display:grid;place-items:center;background:var(--orange);color:var(--paper);width:35px;height:35px;border-radius:10px;font-family:Arial,sans-serif;font-weight:800;font-size:27px;padding-bottom:3px;letter-spacing:-2px}.brand-dot,.orange{color:var(--orange)}nav{display:flex;gap:38px;align-items:center;font-size:15px;font-weight:600}nav>a{padding:10px 0}nav>a>span{font-size:9px;vertical-align:super;margin-left:6px;color:var(--muted)}nav .nav-contact{padding:12px 18px;border:1px solid var(--ink);border-radius:30px}nav .nav-contact span{vertical-align:baseline;font-size:17px;margin-left:17px;color:var(--ink)}nav>a:hover{color:var(--orange)}.menu-toggle{display:none}.hero{padding-top:54px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:35px}.eyebrow{margin:0;font-size:13px;font-weight:600;letter-spacing:1.8px;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:10px}.status-dot{height:7px;width:7px;border-radius:50%;background:var(--orange)}.eyebrow-year{color:var(--muted);margin-left:9px}h1{font-size:96px;font-weight:750;line-height:1.18;letter-spacing:-6px;margin:33px 0 19px}.hello{font-size:46px;line-height:1.5;font-weight:500;display:block;letter-spacing:-2px;margin-bottom:3px}h1>.orange{margin-left:5px}.hero-tagline{font-size:25px;font-weight:500;letter-spacing:.7px;margin:23px 0 18px}.hero-tagline span{position:relative;display:inline-block}.hero-tagline span:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:3px;background:var(--orange);transform:rotate(-2deg)}.hero-description{font-size:16px;color:#6b6b65;line-height:1.95;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;border-radius:5px;font-size:15px;font-weight:600;transition:background .18s,transform .18s}.button-dark{background:var(--ink);color:var(--paper)}.button-dark:hover{background:#44443d;transform:translateY(-2px)}.button>span{font-size:19px;font-weight:400}.text-link{font-size:15px;padding:12px 0}.text-link>span{margin-left:10px}.text-link:hover{color:var(--orange)}.hero-art{height:464px;position:relative;align-self:center;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:radial-gradient(#bebeb3 1px,transparent 1px);background-size:19px 19px;opacity:.6;mask-image:radial-gradient(ellipse,#000 25%,transparent 72%)}.art-orbit{border:1px solid #cfcec4;border-radius:50%;position:absolute;z-index:-1;left:6%;top:13%;width:87%;height:74%;transform:rotate(-35deg)}.orbit-two{transform:rotate(35deg);height:88%;width:72%;left:12%;top:4%}.poster-back{position:absolute;background:#e4e2d7;border:1px solid #d5d3c7;border-radius:5px;inset:54px 65px 52px 70px;transform:rotate(-8deg)}.poster{position:absolute;background:var(--orange);width:318px;height:378px;left:50%;top:41px;transform:translateX(-50%) rotate(7deg);box-shadow:9px 17px 18px #3b2a1917;border-radius:3px;padding:22px;color:#fff4dd;overflow:hidden}.poster-top{display:flex;justify-content:space-between;font-family:Arial,sans-serif;font-size:9px;letter-spacing:1px;border-bottom:1px solid #ffffff70;padding-bottom:12px}.poster-letter{font-size:220px;font-weight:900;font-family:Arial,sans-serif;line-height:1.02;letter-spacing:-22px;margin-left:-7px;position:relative}.poster-letter>span{font-size:69px;position:absolute;right:0;top:12px;font-weight:400;letter-spacing:0}.poster-bottom{font-weight:800;font-size:26px;line-height:1.03;letter-spacing:-1px}.poster-lines{position:absolute;right:22px;bottom:31px;display:flex;gap:6px}.poster-lines i{width:6px;height:43px;background:#fff4dd}.poster-lines i:nth-child(2){height:32px;align-self:end}.poster-lines i:nth-child(3){height:20px;align-self:end}.art-sticker{position:absolute;bottom:19px;left:17px;background:#fdfcf6;padding:12px 17px;border:1px solid #d8d6cc;box-shadow:2px 6px 10px #22222208;transform:rotate(-7deg);display:flex;align-items:center;gap:22px;font-size:12px;font-weight:600;border-radius:3px}.sticker-flower{font-size:43px;line-height:1;color:var(--orange)}.art-caption{position:absolute;right:0;bottom:-13px;font-size:9px;line-height:1.65;font-family:monospace;letter-spacing:1px}.tiny-cross{font-size:18px;margin-right:8px}.caption-indent{padding-left:21px}.hero-bottom{grid-column:1/-1;margin-top:62px;padding:19px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;letter-spacing:1px}.hero-bottom a span{margin-left:15px;font-size:17px;color:var(--ink)}.section{padding-top:88px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.section-kicker{color:var(--muted);font-size:12px;margin-bottom:16px}h2{font-size:36px;line-height:1.3;letter-spacing:-1.3px;margin:0;font-weight:650}.section-heading h2>.orange{display:inline-block;font-weight:400;font-size:32px;margin-left:16px;vertical-align:middle}.section-intro{font-size:15px;line-height:1.95;margin:0 0 4px}.section-intro span{color:var(--muted);font-size:13px}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin:32px 0 27px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filter{background:transparent;border-radius:30px;color:#686862;padding:9px 17px;font-size:14px;min-height:38px}.filter span{font-size:12px;margin-left:7px;opacity:.7}.filter.active{background:var(--ink);color:var(--paper)}.filter:not(.active):hover{background:#e9e8e1}.filter-note{font-size:13px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project[hidden]{display:none}.project-open{display:block;padding:0;text-align:left;width:100%;background:transparent;border-radius:8px}.project-art{height:280px;position:relative;overflow:hidden;border-radius:8px;display:grid;place-items:center;transition:transform .25s}.project-open:hover .project-art{transform:translateY(-5px)}.sample-label{position:absolute;left:15px;top:15px;background:#ffffffb8;border:1px solid #ffffff60;color:#4b4b43;border-radius:20px;font-size:11px;padding:5px 9px;z-index:1;letter-spacing:1px}.art-index{position:absolute;left:16px;bottom:14px;font:8px monospace;letter-spacing:1.3px;color:#58626c}.digital-art{background:#dce6ec}.mini-browser{width:83%;height:171px;background:#fdfdfb;transform:rotate(-6deg) translateY(5px);border:1px solid #c0cbd0;box-shadow:8px 14px 17px #273b4916;border-radius:5px;overflow:hidden}.browser-top{height:20px;border-bottom:1px solid #e3e5e5;display:flex;align-items:center;gap:4px;padding:0 8px}.browser-top i{width:4px;height:4px;background:#d1d5d4;border-radius:50%}.browser-top span{margin-left:auto;font:5px monospace;color:#717879;letter-spacing:.6px}.browser-body{height:calc(100% - 20px);display:flex}.browser-sidebar{border-right:1px solid #ececeb;width:37px;display:flex;align-items:center;flex-direction:column;gap:13px;padding-top:7px}.browser-sidebar b{font:700 16px Arial;color:#314c64}.browser-sidebar i{width:12px;height:3px;background:#c8d0d4;border-radius:3px}.browser-content{padding:12px;flex:1;min-width:0}.browser-greeting{font:600 11px Arial;display:flex;justify-content:space-between}.browser-greeting span{color:#788589}.browser-feature{background:#304e65;display:flex;justify-content:space-between;align-items:center;padding:10px 13px;margin-top:10px;border-radius:4px;color:#f2f3e9;height:62px;overflow:hidden}.browser-feature>span{font-size:12px;line-height:1.5}.browser-sun{width:44px;height:44px;background:#ef8b57;border-radius:50%;position:relative}.browser-sun:after{content:"";width:51px;height:15px;position:absolute;background:#304e65;top:25px;left:-3px;transform:rotate(-30deg);border-top:1px solid #a6bec8}.browser-tiles{display:flex;gap:6px;margin-top:8px}.browser-tiles i{width:33%;height:22px;background:#e8edeb;border-radius:3px}.browser-tiles i:nth-child(2){background:#e6d6bd}.browser-tiles i:nth-child(3){background:#cedbe5}.visual-art{background:#eeddd2}.visual-poster{width:176px;height:218px;background:#f8f1d8;box-shadow:7px 10px 10px #603e2815;transform:rotate(7deg);padding:15px 16px;position:relative}.visual-title{font:800 33px/.9 Arial;letter-spacing:-1.3px;color:#a63d26}.visual-title span{font-size:28px}.visual-shapes{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:13px}.visual-shapes div{height:54px;background:#cd5437;border-radius:100% 0 0 0}.visual-shapes div:nth-child(2){background:#dbc66f;border-radius:0 100% 0 0}.visual-shapes div:nth-child(3){background:#243e32;border-radius:0 0 0 100%}.visual-shapes div:nth-child(4){background:#cd5437;border-radius:50%}.visual-footer{font:4px monospace;letter-spacing:.5px;margin-top:12px;display:flex;justify-content:space-between}.visual-footer span{font-size:9px}.writing-art{background:#e7e6d9}.notebook{width:191px;height:217px;padding:16px 20px;background:#fbfaf2;transform:rotate(-5deg);box-shadow:7px 10px 12px #2e352314;border-left:4px solid #d3d0bd;position:relative}.notebook-top{font:6px monospace;display:flex;justify-content:space-between;border-bottom:1px solid #d9d9c9;padding-bottom:9px}.notebook-title{font-size:29px;line-height:1.5;font-weight:600;margin:8px 0 9px;letter-spacing:3px}.notebook-title>span{color:var(--orange);position:absolute;font-size:35px;right:11px;bottom:74px}.notebook-rule{height:1px;background:#dddccf;margin-top:9px;width:85%}.notebook-rule.short{width:59%}.notebook-doodle{position:absolute;right:8px;bottom:37px;font-size:43px;color:var(--orange);transform:rotate(13deg)}.notebook-bottom{position:absolute;bottom:12px;font:5px monospace;letter-spacing:.6px}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-top:19px;color:var(--muted);font-size:12px;letter-spacing:.2px}.project-meta>span:last-child{font-size:21px;color:var(--ink)}.project h3{font-size:19px;font-weight:600;letter-spacing:-.2px;margin:8px 0}.project p{font-size:14px;color:var(--muted);line-height:1.85;margin:0}.works-footnote{border-bottom:1px solid var(--line);padding:33px 0 35px;display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted)}.works-footnote>span:last-child{margin-left:auto;font:9px monospace;letter-spacing:1px}.small-plus{color:var(--orange);font-size:19px}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;padding-top:84px;padding-bottom:88px}.identity-mark{position:relative;width:137px;height:137px;background:#ebe9df;margin-top:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(-8deg)}.identity-mark>span{font:800 36px/.9 Arial;letter-spacing:-2px}.identity-mark>i{position:absolute;right:-7px;top:3px;background:var(--orange);border:4px solid var(--paper);width:43px;height:43px;border-radius:50%;font-style:normal;font-size:27px;display:grid;place-items:center;color:#fff5dc}.about-content h3{font-size:32px;letter-spacing:.5px;font-weight:550;line-height:1.5;margin:0 0 23px}.about-content p{font-size:16px;line-height:2;margin:0 0 15px}.about-content .muted{font-size:14px;color:var(--muted);line-height:1.95}.about-details{margin-top:29px;border-top:1px solid var(--line)}.about-details>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:13px;padding:13px 0}.about-details>div>span:first-child{color:var(--muted)}.updating{display:flex;align-items:center;gap:7px}.updating i{width:5px;height:5px;background:var(--orange);border-radius:50%}.contact-panel{background:#282a26;border-radius:14px;padding:38px 48px 46px;color:#f5f4e9}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top .eyebrow{font-size:12px;color:#b1b4a8}.contact-top>span{font-size:43px;color:#f87348;line-height:1}.contact-main{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;margin-top:19px}.contact-main h2{font-size:54px;line-height:1.38;letter-spacing:-1.5px;font-weight:550}.contact-main h2>span{color:#f87348}.contact-copy{align-self:center}.contact-copy>p{font-size:15px;line-height:1.95;margin:0 0 16px;color:#d8d9ce}.contact-placeholder{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #54564c;font-size:14px}.contact-placeholder>span:last-child{color:#b7b9af}.contact-placeholder>span:last-child>span{margin-left:19px;font-size:18px}.contact-copy .contact-note{font-size:12px;margin-top:12px;margin-bottom:0;color:#b0b3a7}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:32px;padding-bottom:32px}.footer-name{font-size:14px;font-weight:600}.footer-name>span{color:var(--orange);margin-left:3px}.footer p{font-size:12px;color:var(--muted);margin:0}.back-top{font-size:12px}.back-top>span{margin-left:9px;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:99;left:15px;top:-70px;padding:15px;background:var(--ink);color:white}.skip-link:focus{top:15px}.project-dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:0;width:min(570px,calc(100% - 32px));max-height:85dvh;box-shadow:0 20px 80px #0003}.project-dialog::backdrop{background:#1d201bb3;backdrop-filter:blur(4px)}.dialog-inner{position:relative;padding:44px}.dialog-close{position:absolute;right:15px;top:12px;background:transparent;font-size:30px;width:40px;height:40px;line-height:1}.dialog-badge{display:inline-block;margin-top:22px;margin-bottom:15px;padding:6px 10px;background:#f6e3d7;color:#92412b;font-size:12px;border-radius:4px}.dialog-inner h2{font-size:28px}.dialog-inner>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.9}.dialog-note{background:#ecebe4;padding:18px 20px;border-radius:6px;margin:25px 0 20px}.dialog-note h3{font-size:15px;margin:0 0 10px}.dialog-note ul{font-size:14px;line-height:2.1;padding-left:18px;margin:0;color:#63645c}.dialog-inner .dialog-footnote{font-size:13px}.dialog-done{margin-top:14px}body.dialog-open{overflow:hidden}
@media(min-width:1450px){.wrap{max-width:1320px;padding-inline:55px}.hero{padding-top:72px;column-gap:60px}.hero-art{height:490px}.poster{width:345px;height:400px;top:37px}.poster-letter{font-size:239px}.poster-bottom{font-size:28px}.hero-bottom{margin-top:72px}.project-art{height:300px}.mini-browser{height:185px}.browser-feature{height:70px}.browser-content{padding:14px}.browser-greeting{font-size:12px}}
@media(max-width:1000px){.wrap{padding-inline:30px}.hero{column-gap:12px;padding-top:40px}h1{font-size:78px;letter-spacing:-5px}.hello{font-size:38px}.hero-tagline{font-size:22px}.hero-art{height:420px}.poster{width:260px;height:333px;top:45px;padding:18px}.poster-letter{font-size:183px;letter-spacing:-18px}.poster-letter>span{font-size:55px}.poster-bottom{font-size:23px}.poster-top{font-size:7px}.poster-lines{right:19px;bottom:30px}.poster-back{inset:55px 42px 42px 42px}.art-sticker{left:0;bottom:12px;padding:10px 14px;gap:12px;font-size:11px}.sticker-flower{font-size:33px}.art-caption{right:-3px;font-size:7px;bottom:-18px}.project-grid{gap:18px}.project-art{height:240px}.mini-browser{height:151px;width:85%}.browser-content{padding:9px}.browser-feature{padding:8px;height:54px;margin-top:8px}.browser-feature>span{font-size:10px}.browser-tiles i{height:17px}.browser-greeting{font-size:9px}.browser-sidebar{width:28px}.browser-sun{width:34px;height:34px}.browser-sun:after{width:40px;top:18px}.visual-poster{transform:rotate(7deg) scale(.86)}.notebook{transform:rotate(-5deg) scale(.86)}.project h3{font-size:17px}.project p{font-size:13px}.about{gap:60px}.contact-panel{padding:30px 35px 38px}.contact-main{gap:40px}.contact-main h2{font-size:46px}}
@media(max-width:720px){.wrap{padding-inline:22px}.header{height:80px}.brand{font-size:18px}.brand-symbol{width:31px;height:31px;font-size:24px}nav{gap:19px;font-size:14px}nav .nav-contact{padding:9px 12px}nav .nav-contact>span{margin-left:7px}.hero{padding-top:35px;grid-template-columns:1fr}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:11px;letter-spacing:1.5px}h1{font-size:84px;margin-top:27px}.hello{font-size:35px}.hero-tagline{font-size:24px;margin-top:20px}.hero-description{font-size:15px}.hero-actions{margin-top:25px}.hero-art{height:381px;width:100%;max-width:430px;justify-self:center;margin-top:27px}.poster{width:254px;height:311px;top:25px}.poster-letter{font-size:168px;line-height:1.03}.poster-bottom{font-size:24px}.poster-top{font-size:7px}.poster-back{inset:33px 61px 46px}.poster-lines{bottom:25px}.art-sticker{left:20px;bottom:15px}.art-caption{right:13px;bottom:-2px}.hero-bottom{margin-top:29px;padding:16px 0;font-size:12px}.section{padding-top:55px}.section-heading{display:block}.section-kicker{margin-bottom:12px}h2{font-size:30px}.section-heading h2>.orange{font-size:29px}.section-intro{margin-top:16px;font-size:14px}.section-intro span{font-size:12px}.filter-bar{margin:23px 0}.filter-note{display:none}.filter{font-size:13px;padding:8px 13px}.filters{gap:3px}.project-grid{grid-template-columns:1fr;gap:30px}.project-art{height:325px}.mini-browser{max-width:300px;height:185px}.browser-top{height:24px}.browser-body{height:calc(100% - 24px)}.browser-sidebar{width:38px}.browser-content{padding:13px}.browser-greeting{font-size:12px}.browser-feature{height:66px;margin-top:11px;padding:11px}.browser-feature>span{font-size:13px}.browser-sun{width:44px;height:44px}.browser-sun:after{width:50px;top:25px}.browser-tiles i{height:25px}.visual-poster{transform:rotate(7deg) scale(1.1)}.notebook{transform:rotate(-5deg) scale(1.1)}.sample-label{left:17px;top:17px;font-size:12px}.art-index{font-size:9px}.project-meta{font-size:13px;margin-top:14px}.project h3{font-size:21px;margin-top:8px}.project p{font-size:14px}.works-footnote{padding:28px 0;font-size:12px}.works-footnote>span:last-child{font-size:8px}.about{grid-template-columns:1fr;gap:27px;padding-top:54px;padding-bottom:54px}.about-label{position:relative;min-height:88px}.about-label h2{font-size:30px}.identity-mark{position:absolute;right:8px;top:-8px;width:85px;height:85px;margin:0}.identity-mark>span{font-size:25px}.identity-mark>i{width:32px;height:32px;font-size:19px;right:-6px;border-width:3px}.about-content h3{font-size:27px;margin-bottom:19px}.about-content p{font-size:15px}.about-content .muted{font-size:14px}.about-details{margin-top:22px}.contact-panel{padding:27px 24px 29px;border-radius:10px}.contact-main{grid-template-columns:1fr;gap:25px;margin-top:10px}.contact-main h2{font-size:43px}.contact-top>span{font-size:36px}.contact-top .eyebrow{font-size:10px;letter-spacing:1.4px}.contact-copy>p{font-size:14px}.footer{flex-wrap:wrap;padding-top:25px;padding-bottom:25px;gap:16px}.footer-name{font-size:13px}.footer p{order:3;width:100%;font-size:11px}.dialog-inner{padding:35px 25px}.dialog-inner h2{font-size:24px}}
@media(max-width:400px){.header{position:relative}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%}.menu-toggle>span{width:16px;height:1px;background:var(--ink)}nav{display:none;position:absolute;top:70px;left:22px;right:22px;padding:18px;background:var(--paper);box-shadow:0 10px 20px #2221;border:1px solid var(--line);z-index:5;border-radius:8px;justify-content:space-between}nav.open{display:flex}nav>a>span{display:none}nav .nav-contact{padding:7px 10px}h1{font-size:76px}.hero-tagline{font-size:21px}.hero-art{height:365px}.poster{width:233px;height:300px}.poster-letter{font-size:158px}.poster-bottom{font-size:22px}.poster-back{inset:32px 44px 45px}.art-caption{right:0;font-size:6px}.art-sticker{left:0;font-size:10px}.project-art{height:280px}.filter{font-size:12px;padding-inline:10px}.filters{gap:2px}.contact-main h2{font-size:37px}.contact-panel{padding-inline:21px}.project h3{font-size:19px}.hero-actions{gap:25px}}
@media(max-width:900px){.hero-art .art-orbit{inset:20% 15%;width:auto;height:auto}}
.profile-credentials,.profile-tech{margin-top:35px;max-width:330px}.profile-credentials h3,.profile-tech h3,.education-list h4{font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 14px}.profile-credentials ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:14px;line-height:2.2}.profile-tech ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.profile-tech li{font-size:12px;line-height:1.5;background:#eeede6;border:1px solid #e1e0d7;border-radius:20px;padding:6px 11px}.education-list{margin-top:27px}.education-item{padding:16px 0;border-top:1px solid var(--line)}.education-item>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.education-item strong{font-size:15px;font-weight:600}.education-item span{font-size:12px;color:var(--muted);white-space:nowrap}.about-content .education-item p{font-size:13px;color:var(--muted);line-height:1.8;margin:7px 0 0}.about-details>div{gap:14px}.about-details>div>span:last-child{text-align:right}.contact-placeholder{gap:12px;min-height:46px;align-items:center}.contact-placeholder>span:first-child{flex-shrink:0}.contact-placeholder>span:last-child{text-align:right;overflow-wrap:anywhere}.contact-placeholder:hover>span:last-child{color:#f8a17f}.dialog-inner .dialog-tech{color:var(--ink);font-size:13px;line-height:1.9}.project h3{line-height:1.5}
@media(max-width:720px){.profile-credentials,.profile-tech{max-width:none;margin-top:25px}.profile-credentials ul{display:flex;flex-wrap:wrap;gap:2px 18px;font-size:13px}.profile-tech ul{gap:6px}.profile-tech li{font-size:12px;padding:5px 10px}.about-content h3{margin-top:7px}.contact-placeholder{font-size:13px}.contact-placeholder>span:last-child>span{margin-left:7px}.education-item span{font-size:11px}.about-details>div{font-size:12px}}
.project-dialog{overflow:hidden}.project-dialog .dialog-inner{max-height:85dvh;overflow-y:auto;overscroll-behavior:contain}.project-dialog .dialog-close{z-index:3;background:var(--paper);border:1px solid var(--line);border-radius:50%;right:13px;top:13px}.project-dialog.has-showcase{width:min(1120px,calc(100% - 32px));max-height:92dvh}.has-showcase .dialog-inner{max-height:92dvh;padding:36px 40px}.has-showcase .dialog-badge{margin-top:18px}.has-showcase #dialog-description{max-width:780px}.has-showcase #dialog-tech{margin-bottom:25px}.project-showcase[hidden],.project-repository[hidden]{display:none}.showcase-intro{border-top:1px solid var(--line);padding-top:25px}.showcase-intro h3{font-size:19px;font-weight:600;line-height:1.6;margin:0 0 8px}.showcase-intro p{font-size:14px;line-height:1.9;color:var(--muted);max-width:800px;margin:0}.project-workflow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0 32px}.project-workflow li{background:#eeede6;padding:13px 14px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:12px}.project-workflow li span{font:11px monospace;color:#b5492a}.showcase-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px;flex-wrap:wrap;margin-bottom:16px}.showcase-heading h3{font-size:18px;font-weight:600;margin:0}.showcase-heading>span{font-size:12px;color:var(--muted)}.showcase-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.showcase-tabs button{background:transparent;border:1px solid var(--line);border-radius:24px;padding:10px 17px;font-size:13px;min-height:40px}.showcase-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.showcase-tabs button:hover{border-color:var(--ink)}.showcase-figure{margin:0}.showcase-image-link{display:flex;justify-content:center;border:1px solid #dce0de;background:#eef1f1;border-radius:8px;overflow:hidden}.showcase-image-link img{display:block;width:100%;height:auto;max-height:58dvh;object-fit:contain}.showcase-figure figcaption{display:flex;gap:28px;justify-content:space-between;align-items:flex-start;margin-top:18px}.showcase-figure h4{font-size:16px;font-weight:600;line-height:1.7;margin:0 0 5px}.showcase-figure figcaption p{font-size:14px;line-height:1.85;color:var(--muted);margin:0;max-width:760px}.showcase-figure figcaption>a{flex-shrink:0;font-size:13px;padding:5px 0;border-bottom:1px solid var(--line)}.showcase-figure figcaption>a span{margin-left:7px}.has-showcase .dialog-note{margin-top:27px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}.dialog-actions .dialog-done{margin-top:0}.has-showcase .dialog-done{background:#e8e7df;color:var(--ink)}.has-showcase .dialog-done:hover{background:#deddd2}.has-showcase .dialog-footnote{max-width:800px}
@media(max-width:720px){.project-dialog.has-showcase{width:calc(100% - 16px);max-height:94dvh}.has-showcase .dialog-inner{padding:30px 20px;max-height:94dvh}.has-showcase .eyebrow{padding-right:36px}.project-workflow{grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:27px}.project-workflow li{font-size:12px;padding:11px 12px;gap:9px}.showcase-intro h3{font-size:17px}.showcase-intro p{font-size:13px}.showcase-heading{gap:7px}.showcase-heading h3{font-size:17px}.showcase-heading>span{font-size:11px}.showcase-tabs{gap:6px}.showcase-tabs button{padding:9px 12px;font-size:12px}.showcase-image-link img{max-height:none}.showcase-figure figcaption{flex-direction:column;gap:9px;margin-top:14px}.showcase-figure h4{font-size:15px}.showcase-figure figcaption p{font-size:13px}.showcase-figure figcaption>a{font-size:12px}.dialog-actions{gap:10px}.dialog-actions .button{width:100%;font-size:14px}.has-showcase .dialog-note{padding:16px}.project-dialog .dialog-close{right:11px;top:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
