@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--ink:#07111f;--muted:#33445a;--line:#07111f3d;--line-soft:#07111f1f;--panel:#f8fcfff0;--panel-solid:#f7fbff;--panel-alt:#ffffffb8;--accent:#0048b8;--accent-soft:#c6e9ff;--bg-image:url(/backgrounds/business-light.png);--frame-shadow:0 40px 100px #325f823d}[data-theme=light]{--ink:#050d18;--muted:#24364d;--line:#050d1847;--line-soft:#050d1824;--panel:#f8fcfff7;--panel-solid:#f7fbff;--panel-alt:#ffffffe6;--accent:#003f9e;--accent-soft:#c6e9ff;--bg-image:url(/backgrounds/business-light.png)}[data-theme=dark]{--ink:#f4f6fb;--muted:#9ba8ba;--line:#ffffff2b;--line-soft:#ffffff14;--panel:#070e19c7;--panel-solid:#09131f;--panel-alt:#ffffff06;--accent:#6ca7ff;--accent-soft:#152d56;--bg-image:url(/backgrounds/developer-dark.png);--frame-shadow:0 44px 120px #00000085}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--panel-solid);-webkit-font-smoothing:antialiased;margin:0;font-family:Manrope,sans-serif;transition:color .45s,background .45s}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.site-shell{min-height:100vh;position:relative}.background{z-index:-2;background-image:var(--bg-image);background-position:50%;background-size:cover;transition:background-image .5s;position:fixed;inset:0}.background:after{content:"";background:linear-gradient(to bottom, transparent 60%, var(--panel-solid) 108%), radial-gradient(circle at 50% 20%, transparent 5%, #0000001a 125%);-webkit-backdrop-filter:blur(2px)saturate(1.08);backdrop-filter:blur(2px)saturate(1.08);position:absolute;inset:0}.portfolio-frame{background:0 0;width:100%;margin:0 auto;overflow:hidden}.topbar{letter-spacing:.06em;z-index:20;grid-template-columns:1fr auto 1fr;align-items:center;min-height:112px;padding:0 clamp(22px,3vw,54px);font-family:DM Mono,monospace;font-size:10px;display:grid;position:absolute;inset:0 0 auto}.availability-chip,.email-chip{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 83%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;align-items:center;gap:8px;width:max-content;padding:13px 18px;display:flex;box-shadow:0 12px 34px #0000001a}.email-chip{justify-self:end}.email-chip span{color:var(--accent);font-size:13px}.nav-capsule{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 88%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 18px;display:flex;box-shadow:0 12px 34px #0000001a}.nav-capsule>a{border-radius:999px;padding:10px 13px}.nav-capsule a,.contact-actions a,.project-actions a{transition:color .2s,background .2s}.nav-capsule>a:hover{color:var(--accent);background:var(--panel-alt)}.contact-actions a:hover,.project-actions a:hover{color:var(--accent)}.wordmark{font-weight:500}.mode-switch{background:var(--ink);border-radius:99px;padding:3px;display:flex}.mode-switch button{color:var(--panel-solid);cursor:pointer;letter-spacing:.08em;background:0 0;border:0;border-radius:99px;padding:8px 13px;font:500 10px DM Mono,monospace}.mode-switch button.active{color:var(--ink);background:var(--panel-solid)}.menu-button{cursor:pointer;background:0 0;border:0;display:none}.hero{justify-content:center;align-items:center;min-height:100svh;padding:140px 24px 126px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at center, var(--accent-soft), transparent 65%);filter:blur(55px);opacity:.2;position:absolute;inset:10% 8%}[data-theme=light] .hero:after{content:"";z-index:0;filter:blur(20px);pointer-events:none;background:radial-gradient(#ffffffd1 0%,#f7fbff8c 42%,#0000 72%);position:absolute;inset:12% 7% 15%}.hero-intro,.overline{letter-spacing:.05em;font:400 10px/1.55 DM Mono,monospace}.status-dot{background:#32c878;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block;box-shadow:0 0 12px #32c878}.hero-copy{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(1180px,90vw);display:flex;position:relative}.overline{color:var(--muted);text-transform:uppercase;letter-spacing:.24em;margin:0 0 22px}.hero-name{letter-spacing:-.085em;text-transform:uppercase;text-wrap:balance;text-shadow:0 10px 40px color-mix(in srgb, var(--panel-solid) 35%, transparent);color:var(--ink);margin:0;font-size:clamp(72px,11.4vw,210px);font-weight:800;line-height:.72}.hero-name span{display:block}.hero-role{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 38%, transparent);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ink);border-radius:999px;margin:24px 0 0;padding:9px 14px;font:500 clamp(10px,1.05vw,15px)/1.2 DM Mono,monospace}.hero-role br{display:none}.hero-kicker{color:var(--accent);letter-spacing:.18em;margin:clamp(24px,3.5vh,40px) 0 10px;font:500 10px DM Mono,monospace}.hero-intro{max-width:620px;color:var(--muted);letter-spacing:-.01em;margin:0;font-family:Manrope,sans-serif;font-size:clamp(14px,1.2vw,18px);line-height:1.6}[data-theme=light] .hero-name{text-shadow:0 2px #ffffffbf,0 14px 42px #ffffffe6}[data-theme=light] .hero-intro,[data-theme=light] .overline{color:var(--muted)}[data-theme=light] .availability-chip,[data-theme=light] .email-chip,[data-theme=light] .nav-capsule,[data-theme=light] .hero-role,[data-theme=light] .hero-secondary{color:#07111f;background:#ffffffe6;border-color:#07111f40}[data-theme=light] .hero-corner,[data-theme=light] .hero-stats{color:var(--ink);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;border-radius:10px;padding:12px 14px;box-shadow:0 8px 28px #2c496c1a}[data-theme=light] .hero-corner span,[data-theme=light] .hero-stats span{color:var(--muted)}[data-theme=light] .expertise,[data-theme=light] .content-section,[data-theme=light] .contact-section{color:var(--ink)}.hero-actions{letter-spacing:.06em;gap:12px;margin-top:24px;font:500 10px DM Mono,monospace;display:flex}.hero-actions a{border-radius:10px;padding:15px 20px;transition:transform .2s,background .2s}.hero-actions a:hover{transform:translateY(-2px)}.hero-primary{color:var(--panel-solid);background:var(--ink);box-shadow:0 12px 30px #00000029}.hero-secondary{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 25%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.king-stage{z-index:1;pointer-events:none;width:clamp(230px,28vw,520px);height:clamp(230px,28vw,520px);animation:5s ease-in-out infinite king-float;position:absolute;top:42%;right:clamp(-30px,1vw,28px)}.king-stage img{object-fit:contain;filter:drop-shadow(0 30px 40px #0000003d);width:100%;height:100%}.king-business{right:clamp(-20px,2vw,42px)}@keyframes king-float{0%,to{transform:translateY(-50%)rotate(2deg)}50%{transform:translateY(calc(-50% - 10px))rotate(-1deg)}}.terminal{z-index:1;color:#cbd9ea;text-align:left;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#030912d6;border:1px solid #7cb0ff47;border-radius:12px;width:clamp(270px,26vw,430px);font:400 clamp(8px,.75vw,11px)/1.65 DM Mono,monospace;animation:6s ease-in-out infinite terminal-hover;position:absolute;top:55%;left:clamp(22px,4vw,72px);overflow:hidden;transform:translateY(-50%)rotate(-2deg);box-shadow:0 30px 80px #0000004d}.terminal-bar{background:#ffffff09;border-bottom:1px solid #ffffff17;align-items:center;gap:6px;height:35px;padding:0 12px;display:flex}.terminal-bar>span{background:#ff6b6b;border-radius:50%;width:7px;height:7px}.terminal-bar>span:nth-child(2){background:#ffd166}.terminal-bar>span:nth-child(3){background:#48d597}.terminal-bar em{color:#718097;margin-left:8px;font-size:.88em;font-style:normal}.terminal-body{min-height:128px;padding:18px}.terminal-line{opacity:0;white-space:nowrap;width:max-content;max-width:100%;margin:0 0 7px;animation:8s infinite terminal-line;overflow:hidden}.terminal-line b{color:#6ca7ff}.terminal-line i{color:#48d597;font-style:normal}.terminal-line.line-one{animation-delay:.3s}.terminal-line.line-two{animation-delay:1.4s}.terminal-line.line-three{animation-delay:2.6s}.terminal-line.line-four{animation-delay:3.8s}.terminal-cursor{color:#6ca7ff;animation:.75s step-end infinite cursor-blink}@keyframes terminal-line{0%,4%{opacity:0;transform:translateY(5px)}10%,82%{opacity:1;transform:translateY(0)}94%,to{opacity:0}}@keyframes cursor-blink{50%{opacity:0}}@keyframes terminal-hover{0%,to{transform:translateY(-50%)rotate(-2deg)}50%{transform:translateY(calc(-50% - 8px))rotate(-1deg)}}.hero-corner{z-index:2;letter-spacing:.12em;color:var(--muted);flex-direction:column;font:400 8px/1.5 DM Mono,monospace;display:flex;position:absolute;bottom:36px}.hero-corner strong{color:var(--ink);font-weight:500}.hero-corner-left{left:clamp(22px,3vw,54px)}.hero-corner-right{text-align:right;right:clamp(22px,3vw,54px)}.hero-stats{z-index:2;gap:clamp(26px,5vw,80px);display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.hero-stats div{flex-direction:column;display:flex}.hero-stats strong{font-size:18px;line-height:1.1}.hero-stats span{color:var(--muted);letter-spacing:.08em;margin-top:7px;font:400 8px DM Mono,monospace}.expertise{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.08em;background:var(--panel);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);grid-template-columns:170px 1fr;align-items:center;min-height:76px;padding:0 32px;font:400 9px DM Mono,monospace;display:grid}.expertise>span{color:var(--muted)}.expertise div{justify-content:space-between;gap:18px;display:flex}.expertise em{font-style:normal}.content-section{border-bottom:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:clamp(72px,9vw,132px) max(32px,50vw - 668px)}.section-heading{grid-template-columns:28% 1fr;margin-bottom:76px;display:grid}.section-heading>span,.contact-section>p{letter-spacing:.1em;color:var(--muted);font:400 9px DM Mono,monospace}.section-heading h2{letter-spacing:-.055em;max-width:820px;margin:0;font-size:clamp(36px,5vw,72px);line-height:.98}.project-list{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-list>.scroll-animate{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.project-row{height:100%;padding:clamp(18px,2vw,28px)}.project-info{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:0 16px;display:grid}.project-preview{aspect-ratio:1648/954;border:1px solid var(--line-soft);background:#eef3f8;border-radius:12px;margin-bottom:26px;display:block;position:relative;overflow:hidden;box-shadow:0 18px 40px #0000001f}.project-preview:after{content:"";opacity:0;background:linear-gradient(#0000 64%,#03080f94);transition:opacity .25s;position:absolute;inset:0}.project-preview img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.project-preview>span{z-index:1;color:#fff;letter-spacing:.08em;opacity:0;font:500 9px DM Mono,monospace;transition:opacity .25s,transform .25s;position:absolute;bottom:14px;left:16px;transform:translateY(6px)}.project-preview:hover img{transform:scale(1.025)}.project-preview:hover:after,.project-preview:hover>span{opacity:1}.project-preview:hover>span{transform:translateY(0)}.project-title{min-width:0}.project-description{color:var(--muted);grid-column:2/4;margin:20px 0 0;font-size:13px;line-height:1.7}.project-meta{grid-column:2/3;margin:22px 0 0;padding-right:18px}.project-actions{grid-column:3;align-items:flex-start;gap:14px;margin-top:22px;display:flex}.project-number,.project-type,.project-meta,.project-actions,.experience-card>span{letter-spacing:.06em;font:400 9px/1.6 DM Mono,monospace}.project-number,.project-type,.project-meta{color:var(--muted)}.project-row h3{letter-spacing:-.035em;margin:7px 0 0;font-size:24px}.experience-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.experience-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:300px;padding:28px}.experience-card>span{color:var(--accent)}.experience-card h3{letter-spacing:-.035em;max-width:330px;margin:66px 0 8px;font-size:22px;line-height:1.08}.experience-card h4{color:var(--muted);margin:0 0 26px;font:400 10px/1.5 DM Mono,monospace}.experience-card p{max-width:370px;color:var(--muted);margin:0;font-size:12px;line-height:1.75}.experience-project-link{color:var(--ink);letter-spacing:.06em;gap:6px;margin-top:22px;font:500 9px/1.6 DM Mono,monospace;transition:color .2s;display:inline-flex}.experience-project-link:hover{color:var(--accent)}.skill-list{border-top:1px solid var(--line)}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:7% 28% 1fr;align-items:center;min-height:90px;display:grid}.skill-row span{color:var(--muted);font:400 9px DM Mono,monospace}.skill-row strong{letter-spacing:.04em;font-size:13px}.skill-row p{color:var(--muted);margin:0;font-size:13px}.contact-section{background:var(--panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:clamp(70px,10vw,150px) max(32px,50vw - 668px) 28px}.contact-section h2{letter-spacing:-.065em;max-width:1040px;margin:40px 0 60px;font-size:clamp(42px,7vw,104px);line-height:.97}.contact-grid{grid-template-columns:minmax(0,720px) minmax(220px,1fr);align-items:start;gap:clamp(48px,8vw,120px);display:grid}.contact-form{gap:28px;display:grid}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.contact-form label{gap:10px;display:grid}.contact-form label>span,.contact-details p{color:var(--muted);letter-spacing:.1em;margin:0;font:500 9px DM Mono,monospace}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:11px 0 14px;font:500 15px/1.6 Manrope,sans-serif;transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:130px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-submit-row{align-items:center;gap:20px;min-height:52px;display:flex}.primary-link{background:var(--ink);color:var(--panel-solid);cursor:pointer;letter-spacing:.07em;border:0;padding:17px 20px;font:500 10px DM Mono,monospace;transition:opacity .2s,transform .2s}.primary-link:hover{transform:translateY(-2px)}.primary-link:disabled{cursor:wait;opacity:.6;transform:none}.form-feedback{max-width:370px;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.form-feedback-success{color:#3c9b68}.form-feedback-error,.form-feedback-unconfigured{color:#d66b6b}.contact-honeypot{position:absolute!important;left:-9999px!important}.contact-details{letter-spacing:.07em;justify-items:start;gap:22px;padding-top:2px;font:500 10px DM Mono,monospace;display:grid}.contact-details a{transition:color .2s}.contact-details a:hover{color:var(--accent)}.contact-section footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-top:140px;padding-top:24px;font:400 8px DM Mono,monospace;display:flex}.contact-section footer div{gap:24px;display:flex}@media (max-width:900px){.topbar{grid-template-columns:1fr auto;min-height:88px;padding:0 20px}.email-chip{display:none}.menu-button{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-solid) 84%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;margin-left:12px;padding:13px 18px;font:500 10px DM Mono,monospace;display:block}.nav-capsule{border-radius:20px;flex-direction:column;align-items:stretch;padding:18px;display:none;position:absolute;top:78px;left:20px;right:20px}.nav-capsule.is-open{display:flex}.nav-capsule>a{text-align:center}.nav-capsule .mode-switch{justify-content:center;margin-top:6px}.hero{min-height:760px;padding:120px 20px 160px}.hero-name{font-size:clamp(64px,14vw,120px)}.hero-copy{width:100%}.king-stage{opacity:.72;width:190px;height:190px;top:48%;bottom:auto;right:-25px}.terminal{opacity:.7;width:270px;top:54%;left:-55px}.hero-stats{bottom:32px}.hero-corner{bottom:96px}.hero-corner-right{display:none}.expertise{grid-template-columns:120px 1fr;padding:0 20px;overflow:hidden}.expertise div{justify-content:flex-start;overflow-x:auto}.expertise em{white-space:nowrap}.content-section,.contact-section{padding-left:20px;padding-right:20px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:48px}.project-list{grid-template-columns:1fr}.project-preview>span,.project-preview:after{opacity:1}.project-preview>span{transform:none}.experience-grid,.contact-grid{grid-template-columns:1fr}}@media (max-width:580px){.topbar{min-height:78px;padding:0 14px}.availability-chip{padding:11px 12px;font-size:8px}.menu-button{padding:11px 13px}.nav-capsule{top:70px;left:14px;right:14px}.hero{min-height:720px;padding:112px 16px 174px}.hero-name{font-size:clamp(52px,19vw,90px);line-height:.78}.hero-role{margin-top:20px;font-size:8px}.overline{letter-spacing:.16em;font-size:8px}.hero-kicker{margin-top:24px;font-size:8px}.hero-intro{max-width:390px;font-size:13px}.hero-actions{justify-content:center;width:100%}.hero-actions a{padding:13px 14px;font-size:8px}.king-stage{opacity:.62;width:150px;height:150px;top:48%;right:-44px}.terminal{opacity:.45;width:245px;top:53%;left:-120px}.terminal-body{min-height:110px;padding:14px}.hero-corner{bottom:122px}.hero-corner-left{left:16px}.hero-stats{gap:17px}.hero-stats strong{font-size:15px}.hero-stats span{max-width:70px;line-height:1.35}.expertise{grid-template-columns:1fr;gap:12px;padding:17px 20px}.project-row{padding:14px}.project-preview{border-radius:8px;margin-bottom:22px}.project-info{grid-template-columns:28px minmax(0,1fr);gap:0 10px}.project-description,.project-meta,.project-actions{grid-column:2}.project-actions{gap:22px}.experience-card{min-height:auto;padding:24px}.experience-card h3{margin-top:38px}.skill-row{grid-template-columns:32px 1fr;gap:8px 0;padding:20px 0}.skill-row p{grid-column:2;line-height:1.6}.contact-fields{grid-template-columns:1fr}.contact-submit-row{flex-direction:column;align-items:flex-start}.contact-section footer{flex-direction:column;align-items:flex-start;margin-top:90px}}.scroll-animate{opacity:0}.scroll-animate.animate-in{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards scroll-animate-in;animation-delay:calc(var(--stagger,0) * .1s)}.scroll-animate-fade.animate-in{animation:.6s ease-out forwards scroll-fade;animation-delay:calc(var(--stagger,0) * .1s)}.scroll-animate-slide.animate-in{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards scroll-slide;animation-delay:calc(var(--stagger,0) * .12s)}.scroll-animate-code.animate-in{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards scroll-code;animation-delay:calc(var(--stagger,0) * 80ms)}@keyframes scroll-animate-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-fade{0%{opacity:0}to{opacity:1}}@keyframes scroll-slide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scroll-code{0%{opacity:0;transform:translate(-15px)}60%{opacity:1}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.king-stage,.terminal{transform:translateY(-50%)}.terminal-line{opacity:1}.scroll-animate,.scroll-animate.animate-in{opacity:1;animation:none!important;transform:none!important}}
