@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Satoshi:wght@400;500;600;700&display=swap";:root{--accent:#e56a3d;color:#f7f6f1;font-synthesis:none;background:#11110f;font-family:Satoshi,Inter,ui-sans-serif,system-ui,sans-serif}:root[data-theme=light]{--accent:#c6532d;color:#11110f;background:#f7f6f1}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;overflow-x:clip}html{scroll-behavior:smooth;overflow-x:hidden}body{background:inherit;min-width:320px;max-width:100%;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.site-shell{isolation:isolate;color:#f7f6f1;background:#11110f;max-width:100%;min-height:100vh;position:relative;overflow-x:hidden}.site-shell:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 18% 22%,#e56a3d0a,#0000 28%),radial-gradient(circle at 78% 22%,#e56a3d0b,#0000 32%);transition:opacity .8s;animation:28s ease-in-out infinite alternate ambient-glow;position:fixed;inset:-18%}.site-shell:after{content:"";z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 22%,#e56a3d09,#0000 28%);transition:opacity 1.4s cubic-bezier(.22,1,.36,1);animation:28s ease-in-out infinite alternate ambient-glow;position:fixed;inset:-18%}.site-shell.at-top:after{opacity:1}:root[data-theme=light] .site-shell{color:#11110f;background:#f7f6f1}:root[data-theme=light] .site-shell:before{background:radial-gradient(circle at 18% 22%,#c6532d17,#0000 28%),radial-gradient(circle at 78% 22%,#c6532d14,#0000 32%)}:root[data-theme=light] .site-shell:after{background:radial-gradient(circle at 18% 22%,#c6532d14,#0000 28%)}.site-header{z-index:10;background:#11110ff7;border-bottom:1px solid #f7f6f124;justify-content:space-between;align-items:center;gap:32px;width:100%;max-width:100vw;min-height:78px;padding:0 max(32px,50vw - 590px);transition:transform .5s cubic-bezier(.22,1,.36,1),background-color .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0;transform:translateY(0);box-shadow:0 10px 28px #0000002e}:root[data-theme=light] .site-header{background:#f7f6f1f7;box-shadow:0 10px 28px #11110f14}.site-header-hidden{transform:translateY(-105%)}.site-header-visible{transform:translateY(0)}:root[data-theme=light] .site-header{border-color:#11110f24}.wordmark{letter-spacing:-.035em;font-size:18px;font-weight:600}.dot,.project-arrow,.hero-links span,.contact-link span{color:var(--accent)}.desktop-nav{color:#f7f6f19e;gap:24px;font:12px/1 IBM Plex Mono,monospace;display:flex}:root[data-theme=light] .desktop-nav{color:#11110f94}.desktop-nav a:hover,.social-links a:hover,.hero-links a:hover{color:var(--accent)}.header-actions{align-items:center;gap:20px;display:flex}.theme-toggle,.ask-trigger{color:inherit;background:0 0;border:0;padding:8px 0;font-size:12px}.theme-toggle{width:34px;height:34px;color:var(--accent);place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.theme-icon{width:28px;height:28px;display:block;position:relative;top:0}.theme-sun,.theme-moon{place-items:center;font-size:24px;line-height:1;transition:opacity .45s,transform .55s cubic-bezier(.22,1,.36,1),filter .45s;display:grid;position:absolute;inset:0}.theme-sun{opacity:1;transform:rotate(0)scale(1)}.theme-moon{opacity:0;transform:rotate(90deg)scale(.35)}.is-light .theme-sun{opacity:0;transform:rotate(-110deg)scale(.35)}.is-light .theme-moon{opacity:1;transform:rotate(0)scale(1)}.theme-sparkle{color:var(--accent);opacity:0;font-size:8px;transition:opacity .35s .12s,transform .45s cubic-bezier(.22,1,.36,1) .12s;position:absolute;top:-2px;right:-3px;transform:scale(.2)rotate(-30deg)}.is-light .theme-sparkle{opacity:1;transform:scale(1)rotate(0)}:root[data-theme=light] .theme-toggle{color:var(--accent)}.ask-trigger{color:var(--accent);font-size:13px}.ask-trigger span{margin-left:8px}.workspace{grid-template-columns:minmax(0,1fr);gap:32px;width:min(1180px,100% - 64px);max-width:100%;margin:0 auto;transition:grid-template-columns .5s cubic-bezier(.22,1,.36,1),gap .5s cubic-bezier(.22,1,.36,1);display:grid}.assistant-is-open .workspace{grid-template-columns:minmax(0,1fr) minmax(340px,560px);align-items:start}.assistant-is-open .hero-section h1{max-width:760px;margin-bottom:42px;font-size:clamp(46px,5.2vw,78px)}.assistant-is-open .hero-bottom{grid-template-columns:minmax(200px,340px) auto;gap:22px}.assistant-is-open .hero-bottom p{font-size:15px}.portfolio-content{min-width:0;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s}.assistant-is-open .portfolio-content{transform:translate(-8px)}.hero-section{border-bottom:1px solid #f7f6f124;padding:154px 0 112px}:root[data-theme=light] .hero-section,:root[data-theme=light] .content-section{border-color:#11110f24}.hero-name{letter-spacing:-.035em;opacity:1;max-height:40px;margin:0 0 18px;font-size:21px;font-weight:600;transition:max-height .45s cubic-bezier(.22,1,.36,1),margin .45s cubic-bezier(.22,1,.36,1),opacity .3s,transform .45s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:translateY(0)}.hero-name-hidden{opacity:0;max-height:0;margin-bottom:0;transform:translateY(-8px)}.hero-name-visible{opacity:1;max-height:40px;margin-bottom:18px;transform:translateY(0)}.hero-name span{color:var(--accent)}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.08em;color:#f7f6f194;margin:0;font:11px/1.4 IBM Plex Mono,monospace}:root[data-theme=light] .eyebrow,:root[data-theme=light] .section-label{color:#11110f8f}.hero-eyebrow{align-items:center;gap:10px;animation:.7s cubic-bezier(.16,1,.3,1) 70ms both hero-eyebrow-in;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--accent);transform-origin:0;width:18px;height:1px;animation:.5s cubic-bezier(.16,1,.3,1) 70ms both hero-eyebrow-mark}.hero-section h1{letter-spacing:-.065em;perspective:800px;max-width:880px;margin:28px 0 56px;font-size:clamp(44px,7.5vw,94px);font-weight:600;line-height:.98}.hero-word{opacity:0;transform-origin:50% 100%;filter:blur(9px);animation:.92s cubic-bezier(.16,1,.3,1) forwards hero-word-assemble;animation-delay:var(--word-delay);will-change:transform, opacity, filter;margin-right:.22em;display:inline-block;transform:translateY(86px)rotateX(58deg)scale(.94)}@keyframes hero-word-assemble{0%{opacity:0;filter:blur(9px);transform:translateY(86px)rotateX(58deg)scale(.94)}62%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translate(0,0)rotateX(0)scale(1)}}.hero-bottom{grid-template-columns:minmax(240px,420px) auto;justify-content:space-between;align-items:end;gap:32px;display:grid}.hero-bottom p{color:#f7f6f1b8;max-width:390px;margin:0;font-size:17px;line-height:1.5}:root[data-theme=light] .hero-bottom p{color:#11110fad}.hero-summary{animation:.85s cubic-bezier(.16,1,.3,1) .18s both hero-support-in}.hero-links{gap:24px;font-size:14px;display:flex}.hero-link{animation:.72s cubic-bezier(.16,1,.3,1) both hero-link-assemble;animation-delay:var(--link-delay)}.hero-links a{white-space:nowrap;border-bottom:1px solid #f7f6f14d;align-items:center;gap:6px;padding-bottom:5px;display:inline-flex}:root[data-theme=light] .hero-links a{border-color:#11110f4d}@keyframes hero-support-in{0%{opacity:0;filter:blur(6px);transform:translate(-72px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes hero-link-assemble{0%{opacity:0;filter:blur(5px);transform:translateY(28px)scale(.9)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes hero-eyebrow-in{0%{opacity:0;letter-spacing:.18em;transform:translate(-18px)}to{opacity:1;letter-spacing:.08em;transform:translate(0)}}@keyframes hero-eyebrow-mark{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.profile-strip{color:#f7f6f194;border-bottom:1px solid #f7f6f124;padding:20px 24px;font:11px IBM Plex Mono,monospace;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.profile-strip-at-top{margin-bottom:82px;transition:transform .7s cubic-bezier(.22,1,.36,1),margin-bottom .7s cubic-bezier(.22,1,.36,1);transform:translateY(82px)}.profile-strip:not(.profile-strip-at-top){margin-bottom:0;transition:transform .7s cubic-bezier(.22,1,.36,1),margin-bottom .7s cubic-bezier(.22,1,.36,1);transform:translateY(0)}.profile-track{width:max-content;animation:28s linear infinite profile-marquee;display:flex}.profile-group{flex-shrink:0;gap:28px;padding-right:28px;display:flex}.profile-group span:not(:last-child):after,.profile-group:after{content:"·";color:var(--accent);margin-left:28px}:root[data-theme=light] .profile-strip{color:#11110f8f;border-color:#11110f24}.profile-section{border-bottom:1px solid #f7f6f124;grid-template-columns:80px minmax(0,1fr);align-items:start;gap:24px;padding:64px 0 56px;display:grid}.profile-section-at-top{margin-bottom:56px;transition:transform .7s cubic-bezier(.22,1,.36,1),margin-bottom .7s cubic-bezier(.22,1,.36,1);transform:translateY(56px)}.profile-section-in-flow{margin-bottom:0;transition:transform .7s cubic-bezier(.22,1,.36,1),margin-bottom .7s cubic-bezier(.22,1,.36,1);transform:translateY(0)}:root[data-theme=light] .profile-section{border-color:#11110f24}.profile-avatar{width:72px;height:72px;color:var(--accent);border:1px solid #f7f6f12e;border-radius:50%;place-items:center;font:16px IBM Plex Mono,monospace;transition:opacity .2s;display:grid;overflow:hidden}.profile-avatar:hover{opacity:.8}.profile-avatar img{object-fit:cover;width:100%;height:100%}.image-modal{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;padding:24px;animation:.2s forwards modal-fade;display:flex;position:fixed;inset:0}.image-modal-close{color:#fff;cursor:pointer;opacity:.6;background:0 0;border:none;padding:12px;font-size:24px;transition:opacity .2s;position:absolute;top:24px;right:24px}.image-modal-close:hover{opacity:1}.image-modal img{border-radius:12px;width:auto;max-width:90vw;max-height:70vh;animation:.3s cubic-bezier(.16,1,.3,1) forwards modal-pop;box-shadow:0 20px 60px #0009}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:root[data-theme=light] .profile-avatar{border-color:#11110f2e}.profile-name{letter-spacing:-.04em;margin:0;font-size:24px;font-weight:600}.profile-name span{color:var(--accent)}.profile-meta{color:#f7f6f194;margin:5px 0 20px;font:12px IBM Plex Mono,monospace}:root[data-theme=light] .profile-meta{color:#11110f8f}.profile-summary{color:#f7f6f1c7;max-width:820px;margin:0;font-size:18px;line-height:1.5}.profile-summary p{margin:0}.profile-summary p+p{margin-top:18px}:root[data-theme=light] .profile-summary{color:#11110fb8}.profile-links,.social-links{flex-wrap:wrap;gap:20px;margin-top:24px;font-size:14px;display:flex}.profile-links a,.social-links a{border-bottom:1px solid #f7f6f14d;padding-bottom:4px}:root[data-theme=light] .profile-links a,:root[data-theme=light] .social-links a{border-color:#11110f4d}.profile-links a:hover,.social-links a:hover{color:var(--accent)}.profile-ask{color:var(--accent);background:0 0;border:0;border-bottom:2px solid #f7f6f14d;padding:0 0 4px;font-size:14px;transition:transform .2s}.profile-ask span{margin-left:8px;transition:transform .2s;display:inline-block}.profile-ask:hover{transform:translateY(-1px)}.profile-ask:hover span{transform:translate(2px,-2px)}:root[data-theme=light] .profile-ask{border-color:#11110f4d}.content-section{border-bottom:1px solid #f7f6f124;padding:72px 0;scroll-margin-top:0}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal-visible{opacity:1;transform:translateY(0)}.reveal-visible .project-row,.reveal-visible .experience-row{animation:.55s cubic-bezier(.22,1,.36,1) both row-reveal}.reveal-visible .project-row:nth-child(2),.reveal-visible .experience-row:nth-child(2){animation-delay:60ms}.reveal-visible .project-row:nth-child(3){animation-delay:.12s}.reveal-visible .project-row:nth-child(4){animation-delay:.18s}.project-list{margin-top:28px}.project-row{border-top:1px solid #f7f6f11f;grid-template-columns:48px minmax(0,1fr) 32px;align-items:start;gap:24px;padding:21px 0;transition:padding .25s,color .25s;display:grid}:root[data-theme=light] .project-row{border-color:#11110f1f}.project-row:last-child{border-bottom:1px solid #f7f6f11f}:root[data-theme=light] .project-row:last-child{border-color:#11110f1f}.project-row:hover{color:var(--accent);padding-left:10px}.project-number,.project-copy small{color:#f7f6f175;font:11px IBM Plex Mono,monospace}:root[data-theme=light] .project-number,:root[data-theme=light] .project-copy small{color:#11110f7a}.project-copy{gap:7px;display:grid}.project-copy strong{font-size:18px;font-weight:500}.project-copy span{color:#f7f6f1ad;font-size:15px}:root[data-theme=light] .project-copy span{color:#11110fa8}.project-copy small{margin-top:4px}.project-arrow{opacity:.7;font-size:20px}.editorial-list{margin-top:28px}.editorial-row{border-top:1px solid #f7f6f11f;grid-template-columns:150px minmax(0,1fr);gap:24px;padding:20px 0;display:grid}.editorial-row:last-child{border-bottom:1px solid #f7f6f11f}:root[data-theme=light] .editorial-row{border-color:#11110f1f}.editorial-meta{color:#f7f6f185;font:12px IBM Plex Mono,monospace}:root[data-theme=light] .editorial-meta{color:#11110f85}.editorial-copy{gap:7px;display:grid}.editorial-copy strong{font-size:18px;font-weight:500}.editorial-copy span{color:#f7f6f1b8}.editorial-copy small{color:#f7f6f185}:root[data-theme=light] .editorial-copy span{color:#11110fad}:root[data-theme=light] .editorial-copy small{color:#11110f80}.recognition-certifications{flex-wrap:wrap;gap:8px 18px;display:flex}.recognition-certifications a{color:inherit;border-bottom:1px solid #f7f6f14d}.recognition-certifications a:hover{color:var(--accent)}:root[data-theme=light] .recognition-certifications a{border-color:#11110f4d}.about-copy{max-width:480px}.about-copy>p{color:#f7f6f1c2;margin:0;font-size:17px;line-height:1.55}.about-copy-wide{max-width:880px;margin-top:30px}.about-copy-wide>p+p{margin-top:20px}:root[data-theme=light] .about-copy-wide>p{color:#11110fb8}:root[data-theme=light] .about-copy>p{color:#11110fb3}.about-details{border-top:1px solid #f7f6f124;margin-top:36px}:root[data-theme=light] .about-details{border-color:#11110f24}.about-details div{border-bottom:1px solid #f7f6f124;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;display:grid}:root[data-theme=light] .about-details div{border-color:#11110f24}.about-details span{color:#f7f6f180;text-transform:uppercase;letter-spacing:.06em;font:11px IBM Plex Mono,monospace}.about-details strong{font-size:14px;font-weight:500}:root[data-theme=light] .about-details span{color:#11110f80}.about-links{margin-top:30px}.experience-list{margin-top:28px}.experience-row{border-top:1px solid #f7f6f11f;grid-template-columns:48px minmax(0,1fr) minmax(150px,auto) 24px;align-items:start;gap:24px;padding:21px 0;font-size:14px;transition:padding .25s,color .25s;display:grid}:root[data-theme=light] .experience-row{border-color:#11110f1f}.experience-row:last-child{border-bottom:1px solid #f7f6f11f}:root[data-theme=light] .experience-row:last-child{border-color:#11110f1f}.experience-row:hover{color:var(--accent);padding-left:10px}.experience-number,.experience-meta{color:#f7f6f175;font:11px IBM Plex Mono,monospace}:root[data-theme=light] .experience-number,:root[data-theme=light] .experience-meta{color:#11110f7a}.experience-copy{gap:7px;display:grid}.experience-copy strong{font-size:18px;font-weight:500}.experience-copy span{color:#f7f6f1ad}.experience-copy small{color:#f7f6f185}:root[data-theme=light] .experience-copy span{color:#11110fa8}:root[data-theme=light] .experience-copy small{color:#11110f85}.experience-arrow{color:var(--accent);opacity:.7;font-size:20px}.about-grid{grid-template-columns:minmax(240px,.9fr) minmax(280px,1fr);gap:80px;margin-top:32px;display:grid}.about-grid h2{letter-spacing:-.045em;max-width:440px;margin:0;font-size:clamp(28px,4vw,48px);font-weight:500;line-height:1.02}.about-grid p{color:#f7f6f1b8;margin:0 0 20px;font-size:17px;line-height:1.55}:root[data-theme=light] .about-grid p{color:#11110fad}.about-grid .muted{color:#f7f6f185;font:12px/1.5 IBM Plex Mono,monospace}:root[data-theme=light] .about-grid .muted{color:#11110f80}.capability-list{margin-top:28px}.capability-row{border-top:1px solid #f7f6f11f;grid-template-columns:100px 1fr;gap:24px;padding:17px 0;font-size:15px;display:grid}:root[data-theme=light] .capability-row{border-color:#11110f1f}.capability-row:last-child{border-bottom:1px solid #f7f6f11f}:root[data-theme=light] .capability-row:last-child{border-color:#11110f1f}.capability-row span{text-transform:uppercase;color:var(--accent);font:11px IBM Plex Mono,monospace}.capability-row strong{color:#f7f6f1b8;font-weight:400}:root[data-theme=light] .capability-row strong{color:#11110fad}.contact-section{padding:120px 0 110px}.contact-copy{color:#f7f6f1cc;max-width:820px;margin:24px 0 0;font-size:18px;line-height:1.55}.contact-copy a{border-bottom:1px solid #f7f6f159;transition:color .2s,border-color .2s}.contact-copy a:hover{color:var(--accent)}.contact-note a{border-bottom:2px solid #f7f6f159;transition:transform .2s;display:inline-block}.contact-note a:hover{transform:translateY(-1px)}:root[data-theme=light] .contact-copy{color:#11110fb8}:root[data-theme=light] .contact-copy a,:root[data-theme=light] .contact-note a,:root[data-theme=light] .feedback-trigger{border-color:#11110f59}.contact-note{color:#f7f6f185;margin:24px 0 0;font-size:16px}:root[data-theme=light] .contact-note{color:#11110f85}.contact-note a,.inline-action,.feedback-trigger{color:var(--accent)}.inline-action{background:0 0;border:0;border-bottom:2px solid #f7f6f159;padding:0 0 2px;transition:transform .2s}.feedback-trigger{font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #f7f6f159;padding:0 0 2px;transition:transform .2s,border-color .2s}.feedback-trigger span{margin-left:3px;transition:transform .2s;display:inline-block}.feedback-trigger:hover{border-color:var(--accent);transform:translateY(-1px)}.feedback-trigger:hover span{transform:translate(2px,-2px)}.phone-copy-wrap{display:inline-block;position:relative}.phone-trigger{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f7f6f159;padding:0 0 1px}.phone-trigger:hover{color:var(--accent);border-color:var(--accent)}.phone-copy-popover{z-index:3;width:max-content;max-width:calc(100vw - 48px);color:var(--text);background:#11110f;border:1px solid #f7f6f12e;border-radius:8px;align-items:center;gap:10px;padding:8px 9px 8px 11px;font-size:12px;animation:.18s both phone-popover-in;display:inline-flex;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px #00000038}.phone-copy-popover button{background:var(--accent);color:#11110f;border:0;border-radius:5px;padding:5px 8px;font-size:11px;font-weight:600}:root[data-theme=light] .phone-trigger{border-color:#11110f59}:root[data-theme=light] .phone-copy-popover{background:#f7f6f1}@keyframes phone-popover-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.feedback-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08090894;place-items:center;padding:24px;animation:.22s both feedback-backdrop-in;display:grid;position:fixed;inset:0}.feedback-modal{background:#171916;border:1px solid #f7f6f11f;border-radius:20px;width:min(100%,460px);padding:32px;animation:.4s cubic-bezier(.16,1,.3,1) both feedback-modal-in;box-shadow:0 32px 96px #00000080}:root[data-theme=light] .feedback-modal-backdrop{background:#f5f4efb8}:root[data-theme=light] .feedback-modal{background:#fff;border-color:#11110f1f;box-shadow:0 32px 96px #11110f26}.feedback-modal-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.feedback-modal h2{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600;line-height:1.2}.feedback-modal-close{color:#f7f6f180;cursor:pointer;background:0 0;border:0;margin-top:-4px;padding:0;font-size:28px;line-height:1;transition:color .2s,transform .2s}.feedback-modal-close:hover{color:var(--accent);transform:rotate(8deg)}.feedback-modal-copy{color:#f7f6f19e;margin:8px 0 0;font-size:14px;line-height:1.5}.feedback-form{margin-top:28px}.feedback-form label{color:#f7f6f1cc;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.feedback-form textarea{resize:vertical;color:#f7f6f1;width:100%;min-height:140px;font:inherit;background:#f7f6f105;border:1px solid #f7f6f126;border-radius:12px;outline:none;padding:16px;line-height:1.6;transition:border-color .2s,background-color .2s,box-shadow .2s}.feedback-form textarea::placeholder{color:#f7f6f159}.feedback-form textarea:focus{border-color:var(--accent);background:#f7f6f10a;box-shadow:0 0 0 3px #e56a3d26}:root[data-theme=light] .feedback-form textarea{color:#11110f;background:#11110f05;border-color:#11110f26}:root[data-theme=light] .feedback-form textarea::placeholder,:root[data-theme=light] .feedback-modal-close{color:#11110f66}:root[data-theme=light] .feedback-modal-close:hover{color:var(--accent)}:root[data-theme=light] .feedback-modal-copy,:root[data-theme=light] .feedback-form-footer{color:#11110f80}:root[data-theme=light] .feedback-form label{color:#11110fcc}.feedback-form-footer{color:#f7f6f180;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;font-size:13px;display:flex}.feedback-submit{border:1px solid var(--accent);background:var(--accent);color:#11110f;cursor:pointer;border-radius:999px;padding:8px 13px;font-family:inherit;font-size:12px;font-weight:600;transition:transform .2s,opacity .2s}.feedback-submit:hover:not(:disabled){transform:translateY(-2px)}.feedback-submit:disabled{cursor:not-allowed;opacity:.45}.feedback-status{color:var(--accent);margin:14px 0 0;font-size:13px}@keyframes feedback-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes feedback-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.inline-action span{margin-left:5px;transition:transform .2s;display:inline-block}.inline-action:hover{transform:translateY(-1px)}.inline-action:hover span{transform:translate(2px,-2px)}:root[data-theme=light] .inline-action{border-color:#11110f59}.site-footer{color:#f7f6f173;justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100% - 64px);margin:0 auto;padding:24px 0 36px;font:11px IBM Plex Mono,monospace;display:flex}:root[data-theme=light] .site-footer{color:#11110f7a}.footer-wordmark{color:inherit;letter-spacing:-.035em;font:600 16px Satoshi,Inter,ui-sans-serif,system-ui,sans-serif}.footer-wordmark:hover{color:inherit}.assistant-panel{will-change:transform, opacity;background:#171916f0;border:1px solid #f7f6f129;border-radius:18px;flex-direction:column;height:calc(100vh - 48px);margin-top:24px;animation:.32s cubic-bezier(.22,1,.36,1) both panel-in;display:flex;position:sticky;top:24px;overflow:hidden}:root[data-theme=light] .assistant-panel{background:#ffffffc7;border-color:#11110f29}.assistant-header{border-bottom:0;justify-content:space-between;min-height:74px;padding:18px 20px;display:flex}.assistant-header-main{align-items:center;gap:12px;display:flex}.assistant-header-main .pixel-avatar{flex-basis:52px;width:52px;height:52px}.assistant-header-actions{align-items:center;gap:4px;display:flex}.new-chat-button{opacity:.7;font-size:21px}:root[data-theme=light] .assistant-header{border-color:#11110f1f}.assistant-header .eyebrow{color:inherit;text-transform:none;letter-spacing:-.02em;font-family:Satoshi,sans-serif;font-size:16px;font-weight:600}.assistant-subtitle{color:#f7f6f185;margin:3px 0 0;font-size:12px}:root[data-theme=light] .assistant-subtitle{color:#11110f85}.icon-button{color:inherit;opacity:.65;background:0 0;border:0;font-size:23px;line-height:1}.assistant-body{scrollbar-width:thin;scrollbar-color:#e56a3db8 transparent;overscroll-behavior:contain;flex:1;padding:22px 20px;overflow:auto}.assistant-body::-webkit-scrollbar{width:6px}.assistant-body::-webkit-scrollbar-track{background:0 0}.assistant-body::-webkit-scrollbar-thumb{background:#e56a3db8 padding-box padding-box;border:1px solid #0000;border-radius:999px}.assistant-body::-webkit-scrollbar-thumb:hover{background:var(--accent)}.assistant-companion{color:#f7f6f1a8;align-items:center;gap:14px;margin-bottom:24px;font-size:13px;display:flex}:root[data-theme=light] .assistant-companion{color:#11110fa3}.pixel-avatar{object-fit:contain;width:52px;height:52px;image-rendering:pixelated;background:#171916;border:1px solid #f7f6f12e;border-radius:50%;flex:0 0 52px}:root[data-theme=light] .pixel-avatar{background:#f7f6f1;border-color:#11110f29}.messages{gap:14px;display:grid}.message{border-radius:12px;max-width:92%;padding:12px 14px;font-size:14px;line-height:1.45}.message-assistant{color:#f7f6f1d6;border:1px solid #f7f6f121}:root[data-theme=light] .message-assistant{color:#11110fd1;border-color:#11110f21}.message-user{background:var(--accent);color:#11110f;justify-self:end}.message-typing{align-items:center;gap:4px;width:fit-content;min-width:54px;padding:14px 15px;display:flex}.message-typing span{opacity:.35;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite typing-dot}.message-typing span:nth-child(2){animation-delay:.14s}.message-typing span:nth-child(3){animation-delay:.28s}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.suggestions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.suggestions button{color:#f7f6f1a8;text-align:left;background:0 0;border:1px solid #f7f6f126;border-radius:999px;padding:8px 11px;font-size:11px}:root[data-theme=light] .suggestions button{color:#11110fa8;border-color:#11110f29}.suggestions button:hover{border-color:var(--accent);color:var(--accent)}.assistant-input{border:1px solid #f7f6f12e;border-radius:14px;align-items:center;gap:8px;margin:0 14px 14px;padding:7px 7px 7px 14px;display:flex}:root[data-theme=light] .assistant-input{border-color:#11110f2e}.input-wrapper{flex:1;align-items:center;min-width:0;display:flex;position:relative}.chat-textarea{width:100%;min-width:0;color:inherit;resize:none;background:0 0;border:0;outline:0;flex:1;min-height:32px;max-height:56px;padding:4px 0;font-family:inherit;font-size:14px;line-height:24px;overflow-y:auto}.chat-textarea::-webkit-scrollbar{width:4px}.chat-textarea::-webkit-scrollbar-thumb{background:#f7f6f133;border-radius:4px}.is-listening .chat-textarea{opacity:0;pointer-events:none}.voice-visualizer{align-items:center;gap:4px;height:20px;display:flex;position:absolute;left:0}.voice-visualizer .bar{background:var(--accent);border-radius:4px;width:3px;animation:.8s ease-in-out infinite alternate voice-bounce}.voice-visualizer .bar:first-child{height:40%;animation-delay:0s}.voice-visualizer .bar:nth-child(2){height:80%;animation-delay:.2s}.voice-visualizer .bar:nth-child(3){height:100%;animation-delay:.4s}.voice-visualizer .bar:nth-child(4){height:60%;animation-delay:.1s}.voice-visualizer .bar:nth-child(5){height:80%;animation-delay:.3s}.listening-text{color:var(--accent);margin-left:8px;font-size:14px;animation:1.5s infinite alternate pulse-opacity}@keyframes pulse-opacity{0%{opacity:.5}to{opacity:1}}@keyframes voice-bounce{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.mic-button{color:#f7f6f166}.mic-button:hover{color:var(--accent)}.mic-button.listening,.mic-button.listening:hover{animation:1.5s infinite alternate pulse-mic;background:var(--accent)!important;color:#11110f!important;border-radius:50%!important}@keyframes pulse-mic{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}.assistant-input input::-webkit-search-cancel-button{display:none}.assistant-input .send-button{background:var(--accent);color:#11110f;border:0;border-radius:50%;width:32px;height:32px;font-size:18px}.assistant-launcher{z-index:20;border:1px solid var(--accent);background:var(--accent);color:#11110f;border-radius:999px;place-items:center;min-width:124px;height:42px;padding:0 15px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background-color .5s,border-color .5s;animation:.72s cubic-bezier(.16,1,.3,1) .25s both assistant-launcher-in;display:grid;position:fixed;bottom:54px;right:28px;box-shadow:0 12px 30px #00000038}.assistant-launcher:hover{transform:translateY(-4px);box-shadow:0 16px 34px #00000047}.assistant-launcher:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.assistant-launcher-label{letter-spacing:-.02em;align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.assistant-launcher-arrow{-webkit-text-stroke:.35px currentColor;font-size:14px;font-weight:700;line-height:1;transition:transform .2s;display:inline-block}.assistant-launcher:hover .assistant-launcher-arrow{transform:translate(2px,-2px)}.assistant-launcher-short-label{display:none}@keyframes panel-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes panel-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(14px)}}@keyframes panel-in-mobile{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-out-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}.assistant-panel-closing{pointer-events:none;animation:.32s cubic-bezier(.22,1,.36,1) both panel-out}@keyframes assistant-launcher-in{0%{opacity:0;filter:blur(7px);clip-path:inset(42% 18% round 999px);transform:translate(28px)scale(.86)}62%{opacity:1;filter:blur()}to{opacity:1;filter:blur();clip-path:inset(0 round 999px);transform:translate(0)scale(1)}}@keyframes profile-marquee{0%{transform:translate(-25%)}to{transform:translate(0)}}@keyframes row-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ambient-glow{0%{transform:translate(-1%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.06)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){clip-path:circle(0 at var(--theme-origin-x,50%) var(--theme-origin-y,50%));animation:.78s cubic-bezier(.22,1,.36,1) both theme-circle-reveal}@keyframes theme-circle-reveal{to{clip-path:circle(150vmax at var(--theme-origin-x,50%) var(--theme-origin-y,50%))}}@media (width<=880px){.site-header{padding:0 18px}.workspace,.site-footer{width:min(100% - 36px,680px)}.desktop-nav{display:none}.assistant-is-open .workspace{grid-template-columns:minmax(0,1fr)}.assistant-is-open .portfolio-content{transform:none}.assistant-is-open .hero-section h1{max-width:900px;margin-bottom:54px;font-size:clamp(52px,6vw,92px)}.assistant-is-open .hero-bottom{grid-template-columns:1fr;gap:28px}.assistant-panel{z-index:5;background:#171916;transition:border-radius .3s,bottom .3s;animation:.4s cubic-bezier(.16,1,.3,1) both panel-in-mobile;box-shadow:0 -12px 40px #0006;top:auto!important;bottom:max(22px, env(safe-area-inset-bottom))!important;border-radius:18px!important;height:min(480px,100dvh - 90px)!important;margin:0!important;padding-bottom:0!important;position:fixed!important;left:12px!important;right:12px!important}.assistant-panel:focus-within{border-radius:18px!important;bottom:30px!important}.assistant-panel-closing{animation:.32s cubic-bezier(.22,1,.36,1) both panel-out-mobile}:root[data-theme=light] .assistant-panel{background:#fff;box-shadow:0 -12px 40px #11110f26}.hero-section{padding:90px 0 80px}.hero-bottom,.about-grid{grid-template-columns:1fr;gap:28px}.site-footer{flex-wrap:wrap}}@media (width>=881px) and (width<=1200px){.assistant-is-open .desktop-nav{display:none}.assistant-is-open .site-header{gap:18px}}@media (width<=560px){.site-header{min-height:68px}.wordmark{font-size:16px}.ask-trigger{font-size:11px}.hero-section h1{font-size:clamp(42px,14vw,70px)}.hero-bottom p{font-size:16px}.project-row{grid-template-columns:34px minmax(0,1fr) 20px;gap:12px}.project-copy strong{font-size:16px}.project-copy span{font-size:14px}.experience-row{grid-template-columns:34px minmax(0,1fr) 20px;gap:12px}.experience-meta{grid-area:3/2}.experience-copy strong{font-size:16px}.experience-copy span{font-size:14px}.experience-copy small{font-size:12px}.experience-arrow{grid-area:1/3}.capability-row{grid-template-columns:1fr;gap:8px}.contact-section{padding:90px 0 80px}.contact-link{font-size:34px}.assistant-launcher{min-width:116px;height:40px;padding:0 13px;bottom:40px;right:18px}.profile-section{grid-template-columns:1fr;gap:18px;padding:48px 0}.profile-avatar{width:60px;height:60px}.profile-summary{font-size:16px}.editorial-row{grid-template-columns:1fr;gap:8px}.phone-copy-popover{left:80px;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.site-shell:before,.site-shell:after{animation:none}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.reveal,.hero-word,.hero-summary,.hero-link,.hero-eyebrow{opacity:1;filter:none;transform:none}.hero-eyebrow{letter-spacing:.08em}.hero-eyebrow:before{opacity:1;transform:scaleX(1)}}@media (width<=880px){.site-header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right))}.workspace,.site-footer{width:min(100% - 32px,680px)}.assistant-is-open .workspace{width:100%}.assistant-panel{inset:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));height:auto;min-height:0}.assistant-header{min-height:68px;padding:16px}.assistant-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px 16px}.assistant-input{margin:0 12px max(12px, env(safe-area-inset-bottom))}.assistant-input button,.icon-button{min-width:40px;min-height:40px}.hero-section{padding-top:132px;padding-bottom:76px}.hero-section h1{max-width:100%;margin-top:24px;margin-bottom:42px}.hero-bottom{gap:30px}.hero-links{flex-wrap:wrap;gap:16px 22px}.content-section{padding-top:64px;padding-bottom:64px;scroll-margin-top:82px}.profile-section-at-top{margin-bottom:30px;transform:translateY(30px)}.profile-section-in-flow{margin-bottom:0;transform:translateY(0)}.profile-summary{max-width:none}.project-row,.experience-row{padding-top:20px;padding-bottom:20px}.project-row:hover,.experience-row:hover{padding-left:0}.site-footer{padding-bottom:max(30px, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start}.assistant-launcher{right:max(16px, env(safe-area-inset-right));bottom:max(24px, calc(16px + env(safe-area-inset-bottom)));z-index:50}}@media (width>=881px){.hero-section{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.assistant-panel{z-index:8;--assistant-origin-x:calc(100% - 64px);--assistant-origin-y:calc(100% + 18px);width:min(560px,38vw,75vh - 141px);height:calc(100vh - 188px);margin:0;position:fixed;top:94px;bottom:94px;right:max(24px,50vw - 590px)}.assistant-panel-closing{animation:.32s cubic-bezier(.22,1,.36,1) both panel-out}}@media (width<=560px){.site-header{gap:12px;min-height:64px}.wordmark{white-space:nowrap;font-size:16px}.header-actions{gap:10px}.theme-toggle{width:42px;height:42px}.ask-trigger{white-space:nowrap;min-height:42px;padding:8px 0;font-size:12px}.theme-icon{width:26px;height:26px}.theme-sun,.theme-moon{font-size:22px}.workspace,.site-footer{width:calc(100% - 32px);max-width:calc(100% - 32px)}.portfolio-content,.hero-section,.hero-bottom,.hero-bottom>*,.profile-copy,.project-copy,.experience-copy,.editorial-copy,.capability-row,.capability-row strong{min-width:0;max-width:100%}.hero-section{padding-top:116px;padding-bottom:64px}.hero-eyebrow{gap:8px;font-size:10px}.hero-eyebrow:before{width:14px}.hero-section h1{letter-spacing:-.07em;margin-top:22px;margin-bottom:38px;font-size:clamp(42px,13.5vw,64px);line-height:1}.hero-word{margin-right:.16em}.hero-bottom{gap:28px}.hero-bottom p{overflow-wrap:anywhere;width:100%;max-width:100%;font-size:16px;line-height:1.5}.hero-links{font-size:13px}.profile-strip{padding:17px 0}.profile-group{gap:20px;padding-right:20px}.profile-group span:not(:last-child):after,.profile-group:after{margin-left:20px}.profile-section{grid-template-columns:1fr;gap:18px;padding:44px 0 48px}.profile-avatar{width:58px;height:58px;font-size:14px}.profile-name{font-size:22px}.profile-meta{margin-bottom:18px;font-size:11px;line-height:1.55}.profile-summary{font-size:16px;line-height:1.55}.profile-summary p+p{margin-top:16px}.profile-links{gap:16px;margin-top:22px;font-size:13px}.content-section{padding:58px 0;scroll-margin-top:74px}.section-label{font-size:10px}.project-list,.experience-list,.editorial-list,.capability-list{margin-top:22px}.project-row{grid-template-columns:28px minmax(0,1fr) 18px;gap:12px;padding:18px 0}.project-copy{gap:6px;min-width:0}.project-copy strong,.experience-copy strong,.editorial-copy strong{font-size:16px;line-height:1.3}.project-copy span,.experience-copy span,.editorial-copy span{font-size:14px;line-height:1.45}.project-copy small,.experience-copy small,.editorial-copy small{font-size:11px;line-height:1.45}.project-arrow,.experience-arrow{font-size:18px}.experience-row{grid-template-columns:28px minmax(0,1fr) 18px;gap:12px;padding:18px 0}.experience-meta{grid-area:auto/2;margin-top:1px;font-size:11px}.experience-copy{gap:6px;min-width:0}.editorial-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.editorial-meta{font-size:11px}.capability-row{grid-template-columns:1fr;gap:8px;padding:15px 0;font-size:14px}.capability-row span{font-size:10px}.recognition-certifications{gap:8px 14px}.about-grid{gap:32px}.contact-section{padding:72px 0 70px}.contact-copy{overflow-wrap:anywhere;margin-top:20px;font-size:16px;line-height:1.6}.contact-note{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.assistant-launcher{right:max(16px, env(safe-area-inset-right));bottom:max(24px, calc(16px + env(safe-area-inset-bottom)));z-index:50;min-width:116px;height:40px;padding:0 13px}.assistant-launcher-label{font-size:12px}.assistant-input input{font-size:16px}.assistant-input{min-height:50px}.assistant-input button{flex:0 0 36px;width:36px;height:36px}button,a{-webkit-tap-highlight-color:transparent}}@media (width<=370px){.wordmark{font-size:15px}.ask-trigger{font-size:11px}.hero-section h1{font-size:40px}.profile-meta{max-width:250px}.profile-links{gap:13px}.assistant-launcher-full-label{display:none}.assistant-launcher-short-label{display:inline}}.detail-page-container{max-width:760px;min-height:100vh;margin:0 auto;padding:40px 24px 120px}.detail-header{margin-bottom:60px}.detail-back-profile{color:var(--text);align-items:center;gap:12px;font-size:15px;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}.detail-back-profile:hover{opacity:.7}.detail-avatar{letter-spacing:.5px;width:32px;height:32px;color:var(--text);background:#f7f6f11a;border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;overflow:hidden}.detail-avatar img{object-fit:cover;width:100%;height:100%}:root[data-theme=light] .detail-avatar{background:#11110f1a}.detail-title{letter-spacing:-.01em;color:var(--text);margin:0 0 8px;font-size:24px;font-weight:600}.detail-subtitle{color:var(--text-secondary);margin:0 0 48px;font-size:16px}.detail-grid{flex-direction:column;gap:16px;margin-bottom:48px;font-size:15px;display:flex}.detail-grid-item{grid-template-columns:100px 1fr;align-items:start;display:grid}.detail-label{color:var(--text-secondary)}.detail-section{margin-bottom:40px}.detail-section-title{color:var(--text-secondary);margin:0 0 16px;font-size:16px;font-weight:500}.detail-section-body,.detail-section-list li{color:var(--text);font-size:15px;line-height:1.6}.detail-section-list{margin:0;padding-left:18px}.detail-section-list li{margin-bottom:12px}.experience-details{margin-top:-12px}.detail-navigation{border-top:1px solid #f7f6f11a;justify-content:space-between;align-items:center;margin-top:80px;padding-top:32px;display:flex}:root[data-theme=light] .detail-navigation{border-top-color:#11110f1a}.detail-navigation a{color:var(--text-secondary);font-size:15px;text-decoration:none;transition:color .2s}.detail-navigation a:hover{color:var(--text)}@media (width<=600px){.detail-grid{grid-template-columns:1fr;gap:8px}.detail-label{margin-bottom:-4px;font-size:13px}}
