:root{color:#27302d;font-synthesis:none;--ink:#27302d;--cream:#f2f1e9;--paper:#e7e8df;--sage:#98a594;--rose:#bd766d;--blue:#8097a6;--yellow:#c9ad72;--green:#768d7d;background:#e7e8df;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);margin:0;overflow-x:hidden}body.modal-open{overflow:hidden}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f2f1e9d4;border:1px solid #27302d24;border-radius:22px;grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 64px,1640px);height:68px;padding:0 16px 0 20px;display:grid;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #2f373314}.brand{letter-spacing:.12em;align-items:center;gap:12px;width:max-content;font-size:13px;font-weight:750;display:inline-flex}.brand-mark{background:var(--ink);width:38px;height:38px;color:var(--cream);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:11px;display:grid}.site-header nav{gap:clamp(26px,3vw,54px);font-size:14px;display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:var(--ink);width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-7px;left:0;transform:scaleX(0)}.site-header nav a:hover:after{transform:scaleX(1)}.header-cta{background:var(--ink);color:var(--cream);border-radius:14px;justify-self:end;padding:13px 18px;font-size:14px}.header-cta span{margin-left:8px}.section-shell{width:min(100% - 64px,1700px);margin:0 auto;position:relative}.hero-copy,.hero-visual,.about-grid>*,.project-card,.experience-main{min-width:0}.hero{background:#d7c8c0;border-radius:0 0 44px 44px;grid-template-columns:1.06fr .94fr;align-items:center;min-height:100vh;padding:140px clamp(44px,6vw,112px) 56px;display:grid;overflow:hidden}.hero:before{content:"";border:1px solid #ffffff85;border-radius:50%;width:520px;height:520px;position:absolute;top:90px;left:-160px}.hero-copy{z-index:2;padding-top:28px;position:relative}.status-pill{letter-spacing:.08em;background:#f2f1e9a6;border:1px solid #27302d1f;border-radius:999px;align-items:center;gap:9px;padding:10px 15px;font-size:12px;display:inline-flex}.status-pill span{background:#5d8b75;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #5d8b751f}.hero-kicker{color:#6e504d;letter-spacing:.08em;margin:40px 0 14px;font-weight:650}.hero h1{letter-spacing:-.07em;max-width:900px;margin:0;font-size:clamp(68px,6.5vw,118px);font-weight:760;line-height:.98}.hero-lede{color:#27302dc2;max-width:690px;margin:34px 0 0;font-size:20px;line-height:1.75}.hero-actions{gap:14px;margin-top:38px;display:flex}.button{border-radius:16px;justify-content:center;align-items:center;min-width:142px;height:54px;padding:0 24px;font-weight:650;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-3px);box-shadow:0 12px 24px #27302d24}.button-dark{background:var(--ink);color:var(--cream)}.button-light{background:#f2f1e980;border:1px solid #27302d2e}.button svg{width:18px;height:18px;margin-left:14px}.hero-metrics{border-top:1px solid #27302d2e;grid-template-columns:repeat(4,1fr);max-width:820px;margin-top:48px;padding-top:22px;display:grid}.hero-metrics>div{min-width:0;padding:0 18px}.hero-metrics>div:first-child{padding-left:0}.hero-metrics>div+div{border-left:1px solid #27302d29}.hero-metrics strong{letter-spacing:-.045em;font-size:clamp(30px,2.3vw,43px);line-height:1;display:block}.hero-metrics strong span{color:#8b625d;letter-spacing:0;margin-left:3px;font-size:.55em}.hero-metrics p{color:#27302d94;margin:12px 0 0;font-size:13px;line-height:1.45}.hero-visual{place-items:center;min-height:670px;display:grid;position:relative}.portrait-wrap{z-index:2;aspect-ratio:.8;background:#a2b2ac;border:2px solid #eef0e6;border-radius:46% 46% 34% 34%;width:min(88%,590px);padding:10px;position:relative;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 70px #3d433f3b}.portrait-wrap:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff80;position:absolute;inset:10px}.portrait-wrap img{object-fit:cover;object-position:70% 57%;border-radius:inherit;filter:saturate(.82)contrast(.96);width:100%;height:100%}.floating-note{z-index:4;background:#f2f1e9eb;border:1px solid #27302d1a;border-radius:16px;padding:17px 20px;font-size:13px;line-height:1.5;position:absolute;transform:rotate(-3deg);box-shadow:0 12px 30px #27302d1c}.floating-note strong{font-size:22px}.floating-note span{letter-spacing:.15em;color:#8b625d;font-size:10px}.note-top{top:22%;left:0}.note-bottom{bottom:16%;right:-3%;transform:rotate(3deg)}.note-personality{background:#d6e1cff0;padding:14px 18px;bottom:5%;left:4%;transform:rotate(-2deg)}.note-personality strong{font-size:16px}.orbit{border:1px solid #ffffffa6;border-radius:50%;position:absolute}.orbit-one{width:92px;height:92px;top:16%;right:2%}.orbit-two{width:48px;height:48px;bottom:10%;left:3%}.scroll-cue{z-index:5;background:#f2f1e973;border:1px solid #27302d33;border-radius:24px;place-items:center;width:44px;height:58px;display:grid;position:absolute;bottom:26px;left:50%}.scroll-cue svg{width:18px;height:18px;animation:1.6s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(-3px)}50%{transform:translateY(4px)}}.about,.projects,.experience{padding:144px clamp(44px,6vw,112px)}.section-index{letter-spacing:.08em;color:#27302d85;margin-bottom:74px;font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#7c625d;margin:0 0 18px;font-size:13px;font-weight:740}.about-heading h2,.section-heading-row h2,.contact h2{letter-spacing:-.055em;margin:0;font-size:clamp(52px,4.6vw,82px);line-height:1.08}.about-grid{grid-template-columns:.9fr 1.1fr;gap:9vw;margin-top:92px;display:grid}.about-grid.profile-layout{grid-template-columns:1fr;gap:44px}.about-story>p{color:#27302dc2;margin:0 0 26px;font-size:20px;line-height:1.8}.education-line{border-top:1px solid #27302d29;margin-top:54px;padding-top:28px;font-size:15px;line-height:1.9}.profile-layout>.education-line{margin-top:0}.education-line>span{letter-spacing:.12em;color:#27302d80;margin-bottom:10px;font-size:12px;display:block}.education-line strong{min-width:130px;display:inline-block}.education-row{grid-template-columns:minmax(230px,270px) minmax(180px,220px) max-content;align-items:baseline;column-gap:28px;display:grid}.education-row+.education-row{margin-top:7px}.education-row strong{min-width:0}.education-row time{font-variant-numeric:tabular-nums;white-space:nowrap}.education-line p{color:#27302db8;margin:18px 0 0}.education-line p b{color:var(--ink)}.profile-directions{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.profile-direction-card{background:#d9d1c9;border:1px solid #27302d26;border-radius:28px;padding:36px 38px 40px}.profile-direction-card-alt{background:#c7cfc2}.profile-direction-heading{border-bottom:1px solid #27302d29;justify-content:space-between;align-items:end;gap:24px;padding-bottom:26px;display:flex}.profile-direction-heading span{letter-spacing:.1em;color:#27302d85;font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace}.profile-direction-heading h3{letter-spacing:-.035em;margin:0;font-size:34px;line-height:1.1}.profile-point-list{margin-top:8px}.profile-point-list p{color:#27302dbd;border-bottom:1px solid #27302d21;margin:0;padding:20px 0;font-size:16px;line-height:1.78}.profile-point-list p:last-child{border-bottom:0;padding-bottom:0}.profile-point-list strong{color:var(--ink)}.ability-list{border-top:1px solid #27302d2e}.ability-item{border-bottom:1px solid #27302d2e;grid-template-columns:66px 1fr;gap:20px;padding:30px 0;display:grid}.ability-item>span{color:#8b625d;font:600 13px ui-monospace,monospace}.ability-item h3{letter-spacing:-.02em;margin:0 0 10px;font-size:24px}.ability-item p{color:#27302dad;margin:0;font-size:16px;line-height:1.7}.skills-block{background:#f2f1e980;border:1px solid #27302d24;border-radius:24px;margin-top:70px;padding:34px 38px}.skills-block h3{margin:0 0 20px;font-size:24px}.skills-block p{color:#27302db8;margin:12px 0 0;font-size:16px;line-height:1.8}.contact-strip{background:#f2f1e98c;border:1px solid #27302d24;border-radius:20px;grid-template-columns:.7fr 1fr 1.4fr .8fr;align-items:center;gap:22px;margin-top:100px;padding:26px 30px;font-size:15px;display:grid}.contact-strip>span:first-child{letter-spacing:.12em;font:600 12px ui-monospace,monospace}.contact-strip a{font-weight:680}.projects{background:#c7cfc2;border-radius:44px}.section-heading-row{justify-content:space-between;align-items:end;gap:60px;display:flex}.section-heading-row>p{color:#27302da8;max-width:410px;margin:0 0 6px;font-size:16px;line-height:1.7}.project-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:82px;display:grid}.project-card{text-align:left;cursor:pointer;background:#e7e8df;border:1px solid #27302d29;border-radius:28px;flex-direction:column;justify-content:space-between;min-height:320px;padding:28px;transition:transform .28s,box-shadow .28s;display:flex;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px #2d3a3226}.project-featured{color:#eef0e6;background:#5f765f;grid-column:1/-1;grid-template-rows:auto 1fr auto;grid-template-columns:1fr .9fr;gap:26px 70px;min-height:570px;display:grid}.project-topline{letter-spacing:.08em;text-transform:uppercase;opacity:.78;grid-column:1/-1;justify-content:space-between;align-items:center;font-size:12px;display:flex}.project-arrow{border:1px solid;border-radius:50%;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.project-content{justify-content:space-between;align-self:stretch;align-items:end;gap:28px;display:flex}.project-featured .project-content{grid-area:2/1;display:block}.project-card h3{letter-spacing:-.045em;max-width:720px;margin:34px 0 24px;font-size:clamp(30px,2.25vw,42px);line-height:1.12}.project-card p{opacity:.72;max-width:630px;margin:0;font-size:16px;line-height:1.7}.project-metric{text-align:right;min-width:130px}.project-metric strong{letter-spacing:-.04em;font-size:34px;line-height:1;display:block}.project-metric span{opacity:.64;margin-top:10px;font-size:12px;display:block}.project-featured .project-metric{text-align:left;margin-top:42px}.project-featured .project-metric strong{font:700 62px ui-monospace,SFMono-Regular,Menlo,monospace}.tag-row{flex-wrap:wrap;align-self:end;gap:8px;display:flex}.project-featured>.tag-row{grid-column:1}.tag-row span{opacity:.72;border:1px solid;border-radius:999px;padding:8px 11px;font-size:12px}.pixel-window{color:#27302d;image-rendering:pixelated;background:#d7b76d;border:4px solid #293d33;border-radius:3px;grid-area:2/2/4;place-self:center stretch;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transform:rotate(1deg);box-shadow:12px 12px #22302961}.pixel-bar{background:#e6d699;border:3px solid #293d33;justify-content:space-between;padding:12px;font-size:12px;font-weight:800;display:flex}.pixel-body{background:#f1e7bd;border:3px solid #293d33;gap:12px;margin-top:10px;padding:24px;display:grid}.pixel-body span{color:#7b4e43;margin-bottom:6px;font-weight:800}.pixel-body b{background:#e3d8a8;border-left:6px solid #67835f;padding:11px;font-size:14px}.project-card.rose{background:#d7bab4}.project-card.blue{background:#b8c6cb}.project-card.yellow{background:#d7c69b}.project-card.green{background:#aab9a8}.project-card.vinted{background:#b8aaa8}.project-card.pixel{background:repeating-linear-gradient(0deg,#afbea8 0 22px,#a6b6a0 22px 44px);border:3px solid #3f5647;border-radius:6px;box-shadow:8px 8px #5f765f}.project-card.stardew-card{background:#f3d58b;border:4px solid #6f3c20;border-radius:8px;min-height:440px;box-shadow:8px 8px #8c5129}.stardew-card .project-topline,.stardew-card .project-content,.stardew-card .card-facts{z-index:3;position:relative}.stardew-card .project-content h3{color:#542d1c;text-shadow:2px 2px #fff7d1cc;margin-top:22px}.stardew-card-scene{height:150px;image-rendering:pixelated;background:linear-gradient(#8fd7dc 0 51%,#7eaf53 51% 66%,#bd7d3e 66%);border:3px solid #764323;margin:4px -18px 22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #fff4be80}.stardew-date{z-index:5;color:#60341e;background:#f8e3a6;border:2px solid #70401f;padding:5px 8px;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:9px;left:10px}.pixel-sun{z-index:1;background:#ffd550;width:26px;height:26px;animation:2.6s steps(2,end) infinite pixelPulse;position:absolute;top:16px;right:26px;box-shadow:0 -7px #ffd550,0 7px #ffd550,-7px 0 #ffd550,7px 0 #ffd550}.pixel-cloud{z-index:2;opacity:.94;background:#fff7d6;width:42px;height:12px;position:absolute;box-shadow:10px -8px #fff7d6,22px 0 #fff7d6}.cloud-one{animation:8s linear infinite cloudDrift;top:26px;left:34%}.cloud-two{animation:11s linear 2s infinite cloudDrift;top:48px;left:-60px;transform:scale(.72)}.pixel-hill{z-index:2;clip-path:polygon(0 100%,18% 64%,31% 72%,51% 24%,68% 54%,82% 36%,100% 100%);background:#527c48;width:120px;height:52px;position:absolute;bottom:49px}.hill-one{left:-5px}.hill-two{background:#688e4d;right:-8px;transform:scaleX(-1)}.pixel-field-lines{z-index:2;background:repeating-linear-gradient(164deg,#0000 0 14px,#5c301b8c 15px 19px),repeating-linear-gradient(16deg,#0000 0 24px,#efb55352 25px 28px);position:absolute;inset:66% 0 0}.wiki-sprite{z-index:5;width:auto;image-rendering:pixelated;filter:drop-shadow(2px 3px #48271840);position:absolute}.weather-sprite{width:27px;animation:2.2s steps(3,end) infinite weatherBob;top:11px;right:64px}.parsnip-sprite{transform-origin:bottom;width:30px;animation:2.8s steps(4,end) infinite cropGrow;bottom:13px;left:29%}.chicken-sprite{width:35px;animation:4.8s steps(6,end) infinite chickenWalk;bottom:12px;right:22%}.pixel-sparkle{z-index:6;color:#fff4a7;text-shadow:2px 2px #a2602e;font-size:16px;animation:1.4s steps(2,end) infinite sparkleBlink;position:absolute}.sparkle-one{bottom:24px;left:45%}.sparkle-two{animation-delay:.7s;bottom:42px;right:9%}@keyframes cloudDrift{0%{translate:-20px}to{translate:360px}}@keyframes pixelPulse{50%{transform:scale(.84)}}@keyframes weatherBob{50%{transform:translateY(4px)}}@keyframes cropGrow{0%,to{transform:scale(.84)rotate(-3deg)}50%{transform:scale(1.08)rotate(3deg)}}@keyframes chickenWalk{0%{transform:translate(18px)scaleX(1)}45%{transform:translate(-34px)scaleX(1)}50%{transform:translate(-34px)scaleX(-1)}95%,to{transform:translate(18px)scaleX(-1)}}@keyframes sparkleBlink{50%{opacity:0;transform:scale(.6)}}.card-facts{border-top:1px solid #27302d33;grid-template-columns:.75fr 1.25fr;display:grid}.card-facts>div{padding-top:20px}.card-facts>div+div{border-left:1px solid #27302d33;padding-left:18px}.card-facts span{letter-spacing:.08em;opacity:.55;margin-bottom:9px;font:600 11px ui-monospace,monospace;display:block}.card-facts strong{font-size:18px;line-height:1.45;display:block}.experience{background:var(--paper)}.experience-list{gap:22px;margin-top:80px;display:grid}.experience-card{background:#f2f1e99e;border:1px solid #27302d29;border-radius:28px;grid-template-columns:100px 1fr;display:grid;overflow:hidden}.experience-number{color:#8b625d;border-right:1px solid #27302d24;padding:32px;font:600 14px ui-monospace,monospace}.experience-main{padding:34px 42px 38px}.experience-title-row{justify-content:space-between;align-items:start;gap:30px;display:flex}.experience-title-row h3{letter-spacing:-.035em;margin:0;font-size:38px}.experience-title-row p{color:#7c625d;margin:8px 0 0;font-size:17px;font-weight:650}.experience-title-row>span{background:#e1d8d2;border-radius:999px;padding:9px 12px;font-size:12px}.experience-intro{color:#27302db3;max-width:900px;margin:28px 0 34px;font-size:17px;line-height:1.7}.result-grid{border-top:1px solid #27302d24;border-bottom:1px solid #27302d24;grid-template-columns:repeat(3,1fr);display:grid}.result-grid>div{padding:24px 24px 24px 0}.result-grid>div+div{border-left:1px solid #27302d24;padding-left:24px}.result-grid strong{letter-spacing:-.03em;margin-bottom:9px;font-size:28px;display:block}.result-grid span{color:#27302d94;font-size:13px}.experience-detail-list{border-top:1px solid #27302d24}.experience-detail-list>div{border-bottom:1px solid #27302d24;grid-template-columns:220px 1fr;gap:24px;padding:22px 0;display:grid}.experience-detail-list strong{color:#7c625d;font-size:15px}.experience-detail-list p{color:#27302db8;margin:0;font-size:15px;line-height:1.75}.contact{background:var(--ink);min-height:calc(100vh - 32px);color:var(--cream);border-radius:44px;grid-template-rows:1fr auto;gap:42px;margin-bottom:16px;padding:124px clamp(44px,7vw,130px) 34px;display:grid;overflow:hidden}.contact-main{z-index:2;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);align-items:center;gap:clamp(64px,8vw,150px);width:100%;display:grid;position:relative}.contact-heading{min-width:0}.contact .eyebrow{color:#c79a92}.contact h2{max-width:960px;font-size:clamp(70px,6.25vw,116px)}.contact-side{border-left:1px solid #f2f1e92b;flex-direction:column;gap:54px;min-width:0;padding-left:clamp(34px,4vw,68px);display:flex}.contact-side-label{letter-spacing:.12em;color:#f2f1e975;margin-bottom:20px;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.contact-capabilities{flex-wrap:wrap;gap:10px;display:flex}.contact-capabilities span{color:#f2f1e9cc;background:#f2f1e90d;border:1px solid #f2f1e938;border-radius:999px;padding:10px 13px;font-size:14px}.contact-actions{gap:14px;display:grid}.contact-email{color:var(--ink);background:#d6b4ad;border-radius:16px;justify-content:space-between;align-items:center;padding:18px 20px;font-weight:720;transition:transform .2s,background .2s;display:flex}.contact-email:hover{background:#e1c1bb;transform:translateY(-3px)}.contact-phone{border-bottom:1px solid #f2f1e94d;justify-content:space-between;align-items:end;gap:24px;padding:18px 2px 4px;display:flex}.contact-phone small{color:#f2f1e97a;letter-spacing:.06em;font-size:11px}.contact-phone strong{font-variant-numeric:tabular-nums;font-size:18px}.contact-footer{z-index:2;color:#f2f1e980;border-top:1px solid #f2f1e926;justify-content:space-between;gap:28px;width:100%;padding-top:22px;font-size:12px;display:flex;position:relative}.contact-orbit{border:1px solid #f2f1e91c;border-radius:50%;position:absolute}.contact-orbit.one{width:560px;height:560px;top:-80px;right:-120px}.contact-orbit.two{width:280px;height:280px;bottom:-90px;right:210px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181e1cb8;place-items:center;padding:48px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.project-modal{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;background:#e7e8df;border-radius:30px;width:min(900px,90vw);max-height:88vh;padding:54px;animation:.28s riseIn;position:relative;overflow-y:auto;box-shadow:0 30px 100px #00000057}.project-modal::-webkit-scrollbar{width:0;height:0;display:none}.project-modal.pixel{background:#c2cfb8}.project-modal.rose{background:#d7bab4}.project-modal.blue{background:#b8c6cb}.project-modal.yellow{background:#d7c69b}.project-modal.green{background:#aab9a8}.project-modal.vinted{background:#c4b6b2}.modal-close{cursor:pointer;background:#f2f1e999;border:1px solid #27302d33;border-radius:50%;width:44px;height:44px;font-size:28px;position:absolute;top:22px;right:24px}.project-modal h2{letter-spacing:-.05em;margin:0;padding-right:70px;font-size:62px;line-height:1.08}.modal-summary{color:#27302db8;max-width:720px;margin:24px 0;font-size:19px;line-height:1.7}.project-live-link{color:#54301e;background:#f6dfa0;border:3px solid #5c3824;border-radius:4px;align-items:center;gap:20px;padding:14px 18px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:5px 5px #7b4b28}.project-live-link:hover{transform:translate(-2px,-2px);box-shadow:7px 7px #7b4b28}.modal-metric{align-items:baseline;gap:14px;margin:38px 0;display:flex}.modal-metric strong{letter-spacing:-.05em;font-size:54px}.modal-metric span{color:#27302d94;font-size:13px}.modal-stats{background:#f2f1e952;border:1px solid #27302d2e;border-radius:18px;grid-template-columns:repeat(4,1fr);margin:38px 0 42px;display:grid;overflow:hidden}.modal-stats>div{min-width:0;padding:24px 18px 22px}.modal-stats>div+div{border-left:1px solid #27302d29}.modal-stats strong{letter-spacing:-.04em;font-size:28px;line-height:1.05;display:block}.modal-stats span{color:#27302d94;margin-top:10px;font-size:12px;line-height:1.45;display:block}.project-gallery{border-top:1px solid #27302d2e;margin:8px 0 44px;padding-top:34px}.project-gallery-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.project-gallery-heading span{letter-spacing:.1em;color:#27302d85;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}.project-gallery-heading h3{letter-spacing:-.03em;margin:0;font-size:28px}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-gallery-grid a{background:#f7e5b2;border:3px solid #70401f;border-radius:7px;min-width:0;padding:12px;transition:transform .2s;display:block;box-shadow:7px 7px #70401fbf}.project-gallery-grid a:hover{transform:translateY(-4px)}.project-gallery-grid a>span{color:#633820;padding:3px 4px 12px;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.project-gallery-grid img{object-fit:cover;object-position:top;image-rendering:auto;background:#f6e6bd;border:2px solid #8c5630;width:100%;height:560px;display:block}.modal-detail-list{border-top:1px solid #27302d2e}.modal-detail-list>div{border-bottom:1px solid #27302d2e;grid-template-columns:180px 1fr;gap:20px;padding:22px 0;display:grid}.modal-detail-list strong{color:#7c625d;font-size:14px}.modal-detail-list p{margin:0;font-size:16px;line-height:1.75}.project-modal .tag-row{margin-top:28px}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)scale(.98)}}@media (width<=1320px){.hero{padding-left:52px;padding-right:52px}.hero h1{font-size:74px}.hero-visual{min-height:590px}.portrait-wrap{width:500px}.about,.projects,.experience{padding-left:60px;padding-right:60px}}@media (width<=1024px){.site-header{grid-template-columns:1fr auto;width:calc(100% - 32px);top:16px}.site-header nav{display:none}.section-shell{width:calc(100% - 32px)}.hero{grid-template-columns:1fr;min-height:auto;padding:132px 44px 64px}.hero h1{font-size:clamp(58px,9vw,82px)}.hero-lede{max-width:760px}.hero-metrics{max-width:none}.hero-visual{min-height:640px;margin-top:36px}.portrait-wrap{width:min(68vw,540px)}.scroll-cue{display:none}.about,.projects,.experience{padding:112px 44px}.section-index{margin-bottom:52px}.about-grid{grid-template-columns:1fr;gap:70px;margin-top:68px}.about-grid.profile-layout{gap:38px}.contact-strip,.project-grid{grid-template-columns:repeat(2,1fr)}.project-featured{grid-template-columns:1fr .8fr;gap:24px 38px}.project-featured .project-metric strong{font-size:48px}.pixel-body{padding:18px}.result-grid{grid-template-columns:1fr}.result-grid>div{padding:20px 0}.result-grid>div+div{border-top:1px solid #27302d24;border-left:0;padding-left:0}.experience-detail-list>div{grid-template-columns:180px 1fr}.contact{min-height:auto;padding:120px 60px 34px}.contact-main{grid-template-columns:1fr;gap:54px}.contact h2{max-width:820px;font-size:clamp(64px,10vw,100px)}.contact-side{border-top:1px solid #f2f1e92b;border-left:0;grid-template-columns:1fr 1fr;align-items:end;gap:50px;padding:36px 0 0;display:grid}}@media (width<=720px){.site-header{border-radius:18px;width:calc(100% - 20px);height:58px;padding:0 9px 0 12px;top:10px}.brand{gap:8px;font-size:11px}.brand-mark{width:34px;height:34px}.header-cta{border-radius:12px;padding:10px 12px;font-size:12px}.header-cta span{margin-left:4px}.section-shell{width:calc(100% - 20px)}.hero{border-radius:0 0 28px 28px;padding:100px 20px 44px}.hero:before{width:320px;height:320px;top:80px;left:-180px}.hero-copy{padding-top:10px}.status-pill{padding:8px 12px;font-size:10px}.hero-kicker{margin-top:28px;font-size:12px}.hero h1{overflow-wrap:anywhere;font-size:clamp(40px,10vw,52px);line-height:1.04}.hero-lede{margin-top:24px;font-size:16px;line-height:1.7}.hero-actions{margin-top:28px}.button{border-radius:14px;min-width:0;height:48px;padding:0 18px;font-size:14px}.hero-metrics{border-top:0;grid-template-columns:repeat(2,1fr);margin-top:36px;padding-top:0}.hero-metrics>div{border-top:1px solid #27302d2e;padding:18px 14px}.hero-metrics>div:first-child{padding-left:14px}.hero-metrics>div:nth-child(odd){padding-left:0}.hero-metrics>div+div{border-left:0}.hero-metrics>div:nth-child(2n){border-left:1px solid #27302d29}.hero-metrics strong{font-size:32px}.hero-visual{min-height:460px;margin-top:24px}.portrait-wrap{border-radius:44% 44% 32% 32%;width:min(82vw,390px)}.floating-note{padding:12px 14px;font-size:11px}.floating-note strong{font-size:18px}.note-top{top:18%;left:-2px}.note-bottom{bottom:12%;right:-8px}.note-personality{bottom:1%;left:-2px}.about,.projects,.experience{padding:82px 20px}.projects{border-radius:28px}.section-index{margin-bottom:36px;font-size:11px}.about-heading h2,.section-heading-row h2,.contact h2{font-size:clamp(38px,11vw,52px)}.about-grid{gap:52px;margin-top:46px}.about-grid.profile-layout{gap:30px}.about-story>p{font-size:17px}.education-line{margin-top:36px;padding-top:22px;font-size:14px}.education-line strong{min-width:0;margin-right:6px}.education-row{grid-template-columns:1fr auto;gap:2px 14px}.education-row+.education-row{margin-top:14px}.education-row span{grid-column:1}.education-row time{grid-area:1/2/3;align-self:center}.profile-directions{grid-template-columns:1fr;gap:14px}.profile-direction-card{border-radius:22px;padding:26px 22px 28px}.profile-direction-heading{flex-direction:column;align-items:start;gap:10px;padding-bottom:20px}.profile-direction-heading h3{font-size:28px}.profile-point-list p{padding:17px 0;font-size:15px;line-height:1.72}.ability-item{grid-template-columns:46px 1fr;gap:12px;padding:24px 0}.ability-item h3{font-size:21px}.ability-item p{font-size:15px}.skills-block{margin-top:48px;padding:24px 22px}.skills-block h3{font-size:21px}.skills-block p{font-size:15px}.contact-strip{grid-template-columns:1fr;gap:14px;margin-top:56px;padding:22px}.section-heading-row{display:block}.section-heading-row>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:14px;margin-top:48px}.project-card{border-radius:22px;min-height:290px;padding:22px}.project-card h3{margin:28px 0 18px;font-size:30px}.project-card.stardew-card{border-radius:7px;min-height:430px}.stardew-card .project-content h3{margin-top:18px}.stardew-card-scene{height:142px;margin:2px -13px 20px}.project-featured{grid-template-rows:auto;grid-template-columns:1fr;gap:22px;min-height:auto}.project-featured .project-topline,.project-featured .project-content,.project-featured>.tag-row,.pixel-window{grid-area:auto/1}.project-featured .project-metric{margin-top:30px}.project-featured .project-metric strong{font-size:42px}.pixel-window{width:100%;transform:none;box-shadow:7px 7px #22302961}.pixel-body{padding:15px}.project-content{flex-direction:column;align-items:start}.project-metric{text-align:left}.experience-list{margin-top:48px}.experience-card{border-radius:22px;grid-template-columns:1fr}.experience-number{border-bottom:1px solid #27302d24;border-right:0;padding:18px 22px}.experience-main{padding:24px 22px 28px}.experience-title-row{display:block}.experience-title-row h3{font-size:30px}.experience-title-row>span{margin-top:16px;display:inline-block}.experience-intro{margin:24px 0 28px;font-size:15px}.experience-detail-list>div{grid-template-columns:1fr;gap:10px;padding:20px 0}.experience-detail-list p{font-size:14px}.contact{border-radius:28px;gap:48px;width:calc(100% - 20px);min-height:auto;margin-bottom:10px;padding:90px 20px 26px}.contact-main{gap:40px}.contact h2{font-size:clamp(43px,12vw,62px)}.contact-side{gap:34px;padding-top:28px;display:flex}.contact-side-label{margin-bottom:16px}.contact-capabilities{gap:8px}.contact-capabilities span{padding:8px 10px;font-size:12px}.contact-actions{gap:12px}.contact-email{overflow-wrap:anywhere;padding:17px 18px;font-size:14px}.contact-phone{flex-direction:column;align-items:start;gap:8px;padding-top:14px}.contact-footer{flex-direction:column;gap:12px}.contact-orbit.one{width:360px;height:360px}.contact-orbit.two{right:-40px}.modal-backdrop{align-items:end;padding:10px}.project-modal{border-radius:24px;width:100%;max-height:calc(100dvh - 20px);padding:54px 20px 30px}.modal-close{z-index:2;float:right;width:40px;height:40px;margin-top:-40px;font-size:24px;position:sticky;top:0;right:0}.project-modal h2{clear:both;padding-right:0;font-size:40px}.modal-summary{font-size:16px}.project-live-link{justify-content:space-between;width:100%}.modal-stats{grid-template-columns:repeat(2,1fr);margin:28px 0 32px}.modal-stats>div{padding:18px 14px}.modal-stats>div:nth-child(3){border-left:0}.modal-stats>div:nth-child(n+3){border-top:1px solid #27302d29}.modal-stats strong{font-size:24px}.project-gallery{margin-bottom:34px;padding-top:28px}.project-gallery-heading{flex-direction:column;align-items:start;gap:8px}.project-gallery-heading h3{font-size:24px}.project-gallery-grid{grid-template-columns:1fr;gap:20px}.project-gallery-grid img{height:540px}.modal-detail-list>div{grid-template-columns:1fr;gap:10px;padding:20px 0}.modal-detail-list p{font-size:14px}}@media (width<=390px){.brand>span:last-child{display:none}.hero-actions{flex-direction:column}.button{width:100%}.hero h1{font-size:40px}.portrait-wrap{width:88vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
