@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";
:root{--bg:#101411;--surface:#181f19;--text:#f5f7ef;--muted:#bac4b6;--accent:#c2f577;--line:#354131;--font-body:"DM Sans", Arial, sans-serif;--font-heading:"Manrope", Arial, sans-serif;--surface-soft:#1a2218;--surface-raised:#202a1e;--shadow:#0000004a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--bg:#f5f7f1;--surface:#fff;--surface-soft:#edf2e8;--surface-raised:#e5eddf;--text:#172016;--muted:#52614f;--accent:#477c20;--line:#cbd6c5;--shadow:#3046291f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);font:16px/1.75 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:650}img{max-width:100%;display:block}.container{width:min(1280px,100% - 96px);margin-inline:auto}.header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#101411ed;position:sticky;top:0}.scroll-progress{background:var(--accent);transform-origin:0;width:100%;height:2px;position:absolute;bottom:-1px;left:0;box-shadow:0 0 12px #c2f57766}.nav-bar{justify-content:space-between;align-items:center;gap:26px;height:88px;display:flex}.brand{align-items:center;gap:19px;display:flex}.wordmark{font:800 39px/1 var(--font-heading);letter-spacing:-4px}.wordmark span{color:var(--accent)}.brand-name{letter-spacing:1.8px;color:#d4dfcc;font-size:10px;font-weight:600;line-height:1.5}.nav-links{align-items:center;gap:29px;margin-left:auto;font-size:14px;display:flex}.nav-links>a{transition:color .2s;position:relative}.nav-links>a:hover,.nav-links>a[aria-current]{color:var(--accent)}.nav-links>a[aria-current]:not(.nav-contact):after{content:"";background:var(--accent);width:20px;height:2px;position:absolute;bottom:-10px;left:0}.nav-contact{border:1px solid #66765a;border-radius:5px;align-items:center;gap:18px;padding:10px 17px;display:flex}.nav-contact:hover{background:#273421}.nav-controls{align-items:center;gap:8px;display:flex}.motion-control{color:#c0ccb5;background:0 0;border:0;align-items:center;gap:7px;min-height:44px;padding:7px;font-size:11px;display:flex}.theme-control{border:1px solid var(--line);width:42px;height:42px;color:var(--text);background:0 0;border-radius:50%;place-items:center;transition:background .2s,transform .25s;display:grid}.theme-control:hover{background:var(--surface-raised);transform:rotate(12deg)}.menu-toggle{display:none!important}.hero{grid-template-columns:1.12fr 1fr;gap:0 15px;padding-top:78px;display:grid;position:relative}.hero-copy{z-index:2;min-width:0;position:relative}.eyebrow{letter-spacing:1.8px;color:var(--accent);align-items:center;gap:10px;font-size:12px;font-weight:600;line-height:1.7;display:flex}.status-dot,.live-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.intro .status-dot{animation:3s ease-in-out infinite status-pulse;box-shadow:0 0 0 5px #c2f57715}.hero-name{color:#c2cdbb;margin:25px 0 14px;font-size:23px}.hero-name strong{color:var(--text);font-weight:600}.hero h1{letter-spacing:-3px;font-size:clamp(44px,4.65vw,68px);font-weight:650;line-height:1.14}.gradient-text{color:var(--accent);-webkit-text-fill-color:transparent;background:linear-gradient(110deg,#c2f577 10%,#e1ffd2 35%,#8ce4cd 55%,#c2f577 80%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;animation:10s ease-in-out infinite gradient-drift}.hero-description{max-width:550px;color:var(--muted);margin-top:26px;font-size:17px;line-height:1.85}.hero-description strong{color:#e0e9d9;font-weight:500}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:31px;display:flex}.button{border-radius:5px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:14px 21px;font-size:14px;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex;position:relative}.button svg{flex-shrink:0;transition:transform .25s}.button:hover{transform:translateY(-3px)}.button:hover svg{transform:translate(2px,-2px)}.primary{background:var(--accent);color:#17220d;border:1px solid var(--accent);box-shadow:0 5px 24px #c2f5770a}.primary:hover{background:#d8ffa3;box-shadow:0 8px 28px #c2f57726}.text-button{gap:9px;padding-inline:10px}.secondary{background:0 0;border:1px solid #73885e}.secondary:hover{background:#293721}.hero-meta{color:#b1bfa5;flex-wrap:wrap;align-items:center;gap:13px;margin-top:28px;font-size:12px;display:flex}.hero-meta>span:first-child{align-items:center;gap:6px;display:flex}.meta-divider{background:#839875;border-radius:50%;width:3px;height:3px}.hero-visual{isolation:isolate;background:radial-gradient(#83b74c15,#0000 66%),linear-gradient(#c2f57706 1px,#0000 1px) 0 0/45px 45px,linear-gradient(90deg,#c2f57706 1px,#0000 1px) 0 0/45px 45px;border:1px solid #c2f57716;border-radius:14px;min-height:520px;margin-top:14px;position:relative}.hero-visual:after{content:"";filter:blur(35px);z-index:-1;background:#a7f35d0c;border-radius:50%;width:45%;height:45%;animation:12s ease-in-out infinite ambient-drift;position:absolute;top:25%;left:27%}.visual-top,.visual-bottom{color:#b2c79f;letter-spacing:1px;z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;left:18px;right:18px}.visual-top{top:12px}.tiny-cross{color:#9db989;font-size:19px}.visual-bottom{flex-wrap:wrap;bottom:15px}.visual-bottom>span:first-child{align-items:center;gap:7px;display:flex}.interaction-hint{color:#a9bc97;font-size:8px}.system-canvas{position:absolute;inset:15px 0 25px}.system-canvas canvas{z-index:1;width:100%;max-width:100%;height:100%;position:absolute;inset:0}.scene-fallback{border:1px solid #9fb97188;border-radius:50%;position:absolute;inset:20% 12%;transform:rotate(-20deg)}.scene-fallback span{border:1px solid #9fb97188;border-radius:50%;position:absolute;inset:0;transform:rotateY(55deg)}.scene-fallback span:nth-child(2){transform:rotateX(65deg)}.scene-fallback span:nth-child(3){transform:rotateY(-55deg)}[data-ready=true] .scene-fallback{display:none}.scene-label{z-index:2;letter-spacing:.6px;color:#d4eac4;pointer-events:none;background:#162215ee;border:1px solid #596e44;border-radius:6px;align-items:center;gap:9px;padding:10px 12px;font-size:9px;animation:6s ease-in-out infinite label-float;display:flex;position:absolute;box-shadow:0 8px 30px #0003}.scene-label>svg{color:var(--accent);flex-shrink:0}.scene-label small{letter-spacing:0;color:#b4c8a4;margin-top:2px;font-size:10px;display:block}.label-one{top:20%;right:3%}.label-two{animation-delay:-2s;top:53%;left:2%}.label-three{animation-delay:-4s;bottom:17%;right:5%}.hero-bottom{color:#a6b699;letter-spacing:1.1px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding:45px 0 28px;font-size:10px;display:flex}.hero-bottom a{color:#cad9be;align-items:center;gap:12px;display:flex}.hero-bottom a svg{animation:2.5s ease-in-out infinite scroll-cue}.impact-section{border-top:1px solid var(--line);padding:25px 0 0}.impact-intro{justify-content:space-between;align-items:center;gap:20px;display:flex}.impact-intro>p:last-child{color:#b2c1a6;font-size:13px}.metrics{grid-template-columns:repeat(4,1fr);padding-block:30px 35px;display:grid}.metrics>div{border-left:1px solid var(--line);padding:0 26px}.metrics>div:first-child{border-left:0;padding-left:0}.metrics strong{font:550 clamp(36px, 3.4vw, 49px)/1.3 var(--font-heading);letter-spacing:-2px;white-space:nowrap;font-variant-numeric:tabular-nums}.count-suffix{color:var(--accent);font-size:.72em}.metrics h3{font-size:14px;line-height:1.65;font-family:var(--font-body);margin-top:10px;font-weight:500}.metrics p{color:#a9bba0;margin-top:6px;font-size:12px;line-height:1.6}.tech-strip{border-block:1px solid var(--line);background:#182016;padding-block:24px 30px;overflow:hidden}.tech-strip-heading{letter-spacing:1.5px;color:#bdccad;justify-content:space-between;margin-bottom:20px;font-size:10px;display:flex}.tech-strip-heading>span:last-child{letter-spacing:0;font-size:12px}.tech-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.tech-track{width:max-content;animation:38s linear infinite tech-scroll;display:flex}.tech-set{gap:48px;padding-right:48px;display:flex}.tech-set>span{white-space:nowrap;font:550 25px var(--font-heading);color:#dae7cf;align-items:center;gap:48px;display:flex}.tech-star{color:#7b9a65;font-size:20px}.section{padding-block:96px}.section-heading{justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:38px;display:flex}.section-heading .eyebrow,.about-copy>.eyebrow{margin-bottom:19px}h2{letter-spacing:-1.9px;font-size:clamp(35px,3.7vw,53px);line-height:1.22}h2 span{color:#bfd1ae}.section-heading>p{color:var(--muted);max-width:440px;padding-bottom:5px;font-size:16px;line-height:1.85}.work-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filter{color:#d3dfca;background:0 0;border:1px solid #526447;border-radius:5px;align-items:center;gap:9px;min-height:44px;padding:10px 15px;font-size:13px;transition:background .25s,color .25s;display:flex}.filter.active{background:var(--accent);border-color:var(--accent);color:#182313}.filter:hover:not(.active){background:#2a3922}.filter span{opacity:.8;border-radius:3px;padding:0 4px;font-size:10px}.project-count{color:#bdcbb2;white-space:nowrap;font-size:12px}.project-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.project-grid>div{min-width:0}.project-card{background:#192018;border:1px solid #3a4932;border-radius:12px;min-width:0;transition:border-color .25s,box-shadow .25s;display:block;overflow:hidden}.project-card:hover{border-color:#88ae66;box-shadow:0 12px 45px #0003}.project-image{background:#283523;border-bottom:1px solid #46533a;height:280px;padding:0 25px;position:relative;overflow:hidden}.project-tone-1{background:#222e31}.project-tone-2{background:#302e23}.project-tone-3{background:#242e2b}.project-image-top{color:#e0ebd5;text-transform:uppercase;letter-spacing:1.1px;justify-content:space-between;align-items:center;padding:17px 0;font-size:11px;display:flex}.project-number{color:#a9bd98;font-family:monospace}.screenshot-frame{transform-origin:bottom;border-radius:6px 6px 0 0;height:225px;transition:transform .5s;overflow:hidden;transform:perspective(1000px)rotateX(3deg);box-shadow:0 12px 35px #0005}.project-card:hover .screenshot-frame{transform:translateY(-4px)scale(1.025)}.screenshot-frame img{object-fit:cover;object-position:top;width:100%;height:100%}.image-link-icon{color:#17220d;background:#c2f577;border-radius:50%;place-items:center;width:43px;height:43px;transition:transform .3s;display:grid;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 14px #0004}.project-card:hover .image-link-icon{transform:rotate(7deg)}.project-copy{padding:25px}.project-outcome{flex-wrap:wrap;align-items:center;gap:8px;line-height:1.6;display:flex;color:var(--accent)!important;margin:8px 0 10px!important;font-size:13px!important}.project-outcome strong{letter-spacing:-.5px;font-size:21px;line-height:1}.project-outcome>span:last-child{color:color-mix(in srgb, var(--accent) 82%, white);font-weight:600}.project-stats{border:1px solid var(--line);background:var(--line);border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-block:14px 16px;display:grid;overflow:hidden}.project-stats>div{background:color-mix(in srgb, var(--surface) 94%, var(--accent));align-items:baseline;gap:7px;min-width:0;padding:10px 11px;display:flex}.project-stats strong{color:var(--accent);letter-spacing:-.35px;flex-shrink:0;font-size:16px}.project-stats span{color:var(--muted);font-size:10px;line-height:1.35}.project-copy h3{letter-spacing:-.6px;font-size:25px;line-height:1.4}.project-tagline{color:#d5e3ca;margin-top:5px;font-size:15px}.project-summary{color:var(--muted);margin-top:14px;font-size:15px;line-height:1.8}.project-card-footer{justify-content:space-between;align-items:flex-end;gap:15px;margin-top:24px;display:flex}.tags{flex-wrap:wrap;gap:7px;display:flex}.tags span{color:#c6d7b9;background:#c2f57704;border:1px solid #4a5b3f;border-radius:4px;padding:4px 9px;font-size:11px}.case-link{white-space:nowrap;color:#d9eccb;align-items:center;gap:7px;font-size:12px;display:flex}.more-work{justify-content:center;margin-top:36px;display:flex}.rotate{transform:rotate(180deg)}.about-section{border-block:1px solid var(--line);background:#1a2218;padding-block:80px}.skills-section{border-bottom:1px solid var(--line);padding-block:94px}.skills-layout{grid-template-columns:1.08fr .92fr;align-items:stretch;gap:28px;display:grid}.skill-groups{grid-template-columns:1fr 1fr;gap:14px;display:grid}.skill-group{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:22px}.skill-group:first-child{grid-column:1/-1}.skill-group-title{color:var(--accent);align-items:center;gap:10px;margin-bottom:17px;display:flex}.skill-group-title h3{color:var(--text);font-size:17px}.skill-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pills span{color:var(--text);border:1px solid var(--line);background:var(--surface-soft);border-radius:5px;align-items:center;gap:8px;padding:7px 11px;font-size:13px;display:inline-flex}.skill-pills svg{width:16px;height:16px;color:var(--accent);flex-shrink:0}.tech-orbit-panel{border:1px solid var(--line);background:radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), var(--surface-soft);border-radius:12px;min-height:440px;position:relative;overflow:hidden}.orbit-copy{z-index:2;max-width:260px;position:absolute;top:25px;left:26px}.orbit-copy>span{letter-spacing:1.5px;color:var(--accent);font-size:10px}.orbit-copy strong{font:600 24px/1.4 var(--font-heading);margin-top:8px;display:block}.orbit-copy p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.7}.tech-orbit-canvas{position:absolute;inset:75px 0 0}.tech-orbit-canvas canvas{width:100%;height:100%}.orbit-fallback{border:1px solid var(--accent);opacity:.55;border-radius:50%;width:230px;height:230px;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.orbit-fallback span{border:1px solid var(--accent);border-radius:50%;position:absolute;inset:0;transform:rotateX(66deg)}.orbit-fallback span:nth-child(2){transform:rotateY(66deg)}.orbit-fallback span:nth-child(3){transform:rotate(55deg)scale(.6)}.tech-orbit-canvas:has(canvas) .orbit-fallback{display:none}.tools-block{border:1px solid var(--line);background:var(--surface);border-radius:11px;margin-top:28px;padding:30px}.tools-heading{align-items:center;gap:15px;margin-bottom:25px;display:flex}.tools-heading>svg{color:var(--accent)}.tools-heading .eyebrow{margin:0 0 3px}.tools-heading h3{font-size:20px}.tool-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.tool-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:82px;padding:15px;transition:background .2s,color .2s;display:flex}.tool-icon{width:22px;height:22px;color:var(--accent);margin:6px 0 8px}.tool-item:hover{background:var(--surface-raised);color:var(--accent)}.tool-item span{color:var(--muted);font:10px monospace}.tool-item strong{font-size:14px;font-weight:550}.github-block{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;align-items:center;margin-top:28px;padding:35px;display:block}.github-bar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:23px;display:flex}.github-bar h2{margin-top:7px;font-size:30px}.github-bar>a{color:var(--accent);border-bottom:1px solid;font-size:13px}.github-copy h2{margin-top:13px;font-size:36px}.github-copy>p:not(.eyebrow){color:var(--muted);margin-top:14px;font-size:15px;line-height:1.8}.github-copy>a{color:var(--accent);border-bottom:1px solid;margin-top:18px;font-size:13px;display:inline-block}.calendar-shell{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:9px;padding:22px;overflow:hidden}.calendar-shell svg{width:100%;min-width:760px;height:auto}.calendar-shell .react-activity-calendar{padding-bottom:4px;overflow-x:auto;width:100%!important;max-width:none!important}.calendar-loading{min-height:150px;color:var(--muted);place-items:center;font-size:13px;display:grid}.about-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:65px;display:grid}.portrait-wrap{background:#293724;border:1px solid #536348;border-radius:10px;padding:14px 14px 0;position:relative}.portrait{object-fit:cover;object-position:center 25%;filter:grayscale(85%);border-radius:5px;width:100%;height:480px;transition:filter .8s}.portrait-wrap:hover .portrait{filter:grayscale(0)}.portrait-caption{color:#d1e0c5;letter-spacing:1px;justify-content:space-between;gap:12px;padding:20px 0;font-size:9px;display:flex}.portrait-stamp{background:var(--accent);color:#26391b;border-radius:7px;align-items:center;gap:13px;padding:15px 20px;display:flex;position:absolute;bottom:74px;right:-19px;box-shadow:0 12px 25px #0003}.portrait-stamp span{font-size:13px;line-height:1.5}.about-copy h2{font-size:clamp(32px,3vw,43px)}.about-copy>p:not(.eyebrow){color:#c3d0b9;margin-top:19px;font-size:16px;line-height:1.85}.about-copy>.about-lead{color:#ecf4e6!important;font-size:20px!important;line-height:1.65!important}.about-credentials{border-top:1px solid #45563a;gap:18px;margin-top:24px;padding-top:23px;display:grid}.about-credentials>div{color:var(--accent);align-items:center;gap:13px;display:flex}.about-credentials span{color:#bdcdb1;font-size:13px;line-height:1.65}.about-credentials strong{color:#edf5e5;font-size:14px;font-weight:550;display:block}.about-copy>.personal-note{font-size:13px!important}.interest-list{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.interest-list span{border:1px solid var(--line);color:var(--text);border-radius:20px;padding:6px 11px;font-size:12px}.personal-quote{border-left:2px solid var(--accent);color:var(--text);font:500 16px/1.7 var(--font-heading);margin:22px 0 0;padding:15px 0 15px 18px}.social-links{gap:25px;margin-top:25px;display:flex}.social-links a{color:#dfedd4;align-items:center;gap:9px;font-size:14px;display:flex}.social-links a:hover{color:var(--accent)}.expertise-grid{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px;display:grid}.expertise-reveal{height:100%}.expertise-card{background:radial-gradient(at 0 0,#7fb14712,#0000 70%),#192018;border:1px solid #405336;border-radius:9px;flex-direction:column;height:100%;padding:32px;transition:background .3s,border-color .3s,transform .3s;display:flex}.expertise-card:hover{background-color:#202c1b;border-color:#73975a;transform:translateY(-4px)}.expertise-top{color:var(--accent);justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.expertise-top>svg{box-sizing:content-box;background:#c2f5770d;border:1px solid #c2f57722;border-radius:12px;padding:12px;transition:transform .4s}.expertise-card:hover .expertise-top>svg{transform:rotate(-8deg)}.expertise-top span{color:#b0c99b;font-family:monospace;font-size:13px}.expertise-card h3{letter-spacing:-.4px;font-size:23px;line-height:1.45}.expertise-card p{color:var(--muted);margin-top:13px;margin-bottom:22px;font-size:16px;line-height:1.85}.expertise-card .tags{margin-top:auto}.expertise-outcome{border-top:1px solid var(--line);color:#cbe7b6;align-items:center;gap:8px;margin-top:24px;padding-top:17px;font-size:13px;display:flex}.approach-section{border-block:1px solid var(--line);background:#182016;padding-block:78px}.process-grid{grid-template-columns:repeat(4,1fr);gap:25px;margin-top:44px;display:grid}.process-step{flex-direction:column;height:100%;display:flex}.step-marker{color:var(--accent);border-top:2px solid #719755;justify-content:space-between;align-items:center;margin-bottom:23px;padding-top:20px;display:flex;position:relative}.step-marker:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:0;box-shadow:0 0 15px #c2f57755}.step-marker>span{color:#b6ca9f;font-family:monospace;font-size:17px}.process-step h3{margin-bottom:13px;font-size:20px;line-height:1.45}.process-step p{color:#bdcdb1;margin-bottom:24px;font-size:15px;line-height:1.85}.step-output{color:#d0e4be;align-items:center;gap:7px;margin-top:auto;font-size:12px;display:flex}.contact-section{background:radial-gradient(at 65% 80%,#a4e4580a,#0000 65%);padding:88px 0 65px;position:relative}.contact-heading{justify-content:space-between;align-items:center;gap:30px;margin-top:27px;display:flex}.contact-heading h2{letter-spacing:-2.4px;font-size:clamp(38px,4.6vw,65px);line-height:1.18}.contact-heading h2 span{color:var(--accent)}.contact-arrow{width:100px;height:100px;color:var(--accent);border:1px solid #8ba46e;border-radius:50%;flex-shrink:0;place-items:center;transition:background .25s,transform .25s,box-shadow .25s;display:grid}.contact-arrow:hover{background:#344926;transform:rotate(10deg);box-shadow:0 0 40px #c2f57715}.contact-bottom{justify-content:space-between;align-items:center;gap:30px;margin-top:30px;display:flex}.contact-bottom>p{color:var(--muted);font-size:16px;line-height:1.85}.email-group{align-items:center;gap:7px;min-width:0;display:flex;position:relative}.email-group>a{overflow-wrap:anywhere;border-bottom:1px solid #8ba46e;align-items:center;gap:10px;padding-block:10px;font-size:16px;display:flex}.email-group>a svg{flex-shrink:0}.email-group>a:hover{color:var(--accent)}.icon-button{color:#d0dfc5;background:0 0;border:0;flex-shrink:0;place-items:center;min-width:44px;min-height:44px;padding:11px;display:grid}.copy-status{color:var(--accent);font-size:12px;position:absolute;top:100%;right:0}.contact-prompts{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.contact-prompts span{color:#c3d4b7;border:1px solid #405536;border-radius:30px;padding:5px 12px;font-size:12px}.footer{border-top:1px solid var(--line);color:#b3c3a7;justify-content:space-between;align-items:center;gap:20px;padding-block:30px;font-size:12px;display:flex}.footer .wordmark{color:var(--text);letter-spacing:-3px;font-size:30px}.footer>a:last-child{color:#d2e3c5}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.interaction-layer{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cursor-dot,.cursor-ring,.pointer-glow{opacity:0;will-change:transform;pointer-events:none;transition:opacity .2s;position:fixed;top:0;left:0}.cursor-dot{background:var(--accent);z-index:3;border-radius:50%;width:5px;height:5px;margin:-2.5px}.cursor-ring{border:1px solid color-mix(in srgb, var(--accent) 70%, transparent);z-index:2;border-radius:50%;width:34px;height:34px;margin:-17px;transition:width .25s,height .25s,margin .25s,background .25s}.cursor-ring.is-active{background:color-mix(in srgb, var(--accent) 9%, transparent);width:58px;height:58px;margin:-29px}.pointer-glow{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 6%, transparent), transparent 65%);z-index:1;border-radius:50%;width:480px;height:480px;margin:-240px}.enhanced-pointer body,.enhanced-pointer a,.enhanced-pointer button{cursor:none}.detail-page{padding-block:40px 90px}.back-link{color:var(--accent);margin-bottom:50px;font-size:15px;display:inline-block}.detail-page h1{letter-spacing:-2px;margin-block:20px;font-size:clamp(36px,4.6vw,65px);line-height:1.2}.detail-summary{max-width:820px;color:var(--muted);font-size:19px}.detail-page>.tags{margin-top:25px}.detail-image{border:1px solid var(--line);background:var(--surface);border-radius:9px;margin-block:40px;padding:20px;overflow:hidden}.detail-image img{object-fit:contain;width:100%;height:auto;max-height:620px}.detail-content{grid-template-columns:1fr 1.2fr;gap:60px;display:grid}.detail-content h2{margin-top:15px;font-size:34px}.detail-content h3{font-size:23px}.detail-content li{color:var(--muted);padding-bottom:15px;font-size:17px}.detail-content ul{margin-block:20px;padding-left:20px}.detail-content p:not(.eyebrow){color:var(--muted);margin-bottom:20px}.detail-story{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:45px;display:grid}.detail-story>article{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:27px}.detail-story h2{margin-bottom:14px;font-size:26px}.detail-story p{color:var(--muted);font-size:17px;line-height:1.85}.detail-contribution{color:#c8dbb9;margin-top:20px;font-size:14px}.error-page{padding-block:120px}.error-page h1{margin-block:20px;font-size:50px}.error-page .button{margin-top:30px}html[data-theme=light] body{background:var(--bg)}html[data-theme=light] .header{background:#f5f7f1ed}html[data-theme=light] .nav-contact,html[data-theme=light] .filter,html[data-theme=light] .project-card,html[data-theme=light] .expertise-card,html[data-theme=light] .detail-image,html[data-theme=light] .detail-story>article{border-color:var(--line)}html[data-theme=light] .hero-visual{background:radial-gradient(#6e9f3425,#0000 66%),linear-gradient(#3657230a 1px,#0000 1px),linear-gradient(90deg,#3657230a 1px,#0000 1px);border-color:#8ca77955}html[data-theme=light] .scene-label{color:#263b21;box-shadow:0 8px 30px var(--shadow);background:#f8fbf4f2;border-color:#91a883}html[data-theme=light] .scene-label small{color:#536b4c}html[data-theme=light] .tech-strip,html[data-theme=light] .about-section,html[data-theme=light] .approach-section{background:var(--surface-soft)}html[data-theme=light] .tech-set>span,html[data-theme=light] .project-image-top,html[data-theme=light] .project-tagline,html[data-theme=light] .case-link,html[data-theme=light] .social-links a,html[data-theme=light] .about-copy>.about-lead,html[data-theme=light] .about-credentials strong{color:var(--text)!important}html[data-theme=light] .project-card,html[data-theme=light] .expertise-card{background:var(--surface)}html[data-theme=light] .project-image{background:#dbe7d2}html[data-theme=light] .project-tone-1{background:#dbe5e7}html[data-theme=light] .project-tone-2{background:#e8e3d5}html[data-theme=light] .project-tone-3{background:#dde6e1}html[data-theme=light] .project-card:hover,html[data-theme=light] .expertise-card:hover{box-shadow:0 14px 45px var(--shadow)}html[data-theme=light] .portrait-wrap{background:#dce7d5;border-color:#b4c6a9}html[data-theme=light] .portrait-caption,html[data-theme=light] .about-credentials span,html[data-theme=light] .process-step p,html[data-theme=light] .footer{color:var(--muted)}html[data-theme=light] .expertise-top>svg{background:#477c200e;border-color:#477c2029}html[data-theme=light] .nav-links.open{background:var(--surface)}@keyframes gradient-drift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes status-pulse{0%,to{box-shadow:0 0 0 4px #c2f57715}50%{box-shadow:0 0 0 8px #c2f57705}}@keyframes ambient-drift{0%,to{transform:translate(-10%,-10%)scale(.9)}50%{transform:translate(15%,10%)scale(1.1)}}@keyframes label-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes scroll-cue{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes tech-scroll{to{transform:translate(-50%)}}[data-motion=paused] *,[data-motion=paused] :before,[data-motion=paused] :after{animation-play-state:paused!important}@media (min-width:1600px){.hero{padding-top:95px}.hero h1{font-size:70px}}@media (max-width:1150px){.container{width:calc(100% - 64px)}.nav-links{gap:20px;font-size:13px}.brand-name{display:none}.hero{grid-template-columns:1.08fr 1fr;padding-top:58px}.hero h1{letter-spacing:-2.4px;font-size:clamp(40px,4.9vw,56px)}.hero-name{font-size:21px}.hero-description{font-size:16px}.hero-visual{min-height:510px}.hero-actions{gap:6px}.hero-actions .button{padding-inline:15px;font-size:12px}.scene-label{padding:8px;font-size:8px}.scene-label small{font-size:9px}.visual-top,.visual-bottom{letter-spacing:.5px;font-size:8px}.interaction-hint{display:none}.metrics>div{padding-inline:18px}.metrics strong{font-size:38px}.metrics h3{font-size:13px}.metrics p{font-size:11px}.work-toolbar{flex-direction:column;align-items:flex-start;gap:12px}.project-copy{padding:22px}.project-copy h3{font-size:22px}.project-card-footer{flex-direction:column;align-items:flex-start}.about-grid{grid-template-columns:.8fr 1.2fr;gap:40px}.portrait{height:440px}.about-copy h2{font-size:35px}.contact-bottom{flex-direction:column;align-items:flex-start}.process-grid{grid-template-columns:repeat(2,1fr);gap:35px}}@media (max-width:800px){.nav-links{display:none}.nav-links.open{border-bottom:1px solid var(--line);background:#1a2518;flex-direction:column;align-items:stretch;gap:20px;padding:25px 32px;font-size:16px;display:flex;position:absolute;top:88px;left:0;right:0}.nav-contact{justify-content:space-between}.menu-toggle{display:grid!important}.nav-controls{margin-left:auto}.brand-name{display:block}.hero{grid-template-columns:1fr}.hero-copy{max-width:650px}.hero h1{font-size:clamp(43px,7.2vw,61px)}.hero-name{font-size:24px}.hero-description{max-width:610px;font-size:17px}.hero-actions .button{padding-inline:20px;font-size:14px}.hero-visual{height:450px;min-height:0;margin-top:40px}.system-canvas{inset:5px 5% 15px}.scene-label{padding:12px 15px;font-size:11px}.scene-label small{font-size:12px}.label-one{top:22%;right:8%}.label-two{left:7%}.label-three{bottom:20%;right:9%}.visual-top,.visual-bottom{font-size:10px}.hero-bottom{padding-top:30px;font-size:9px}.impact-intro{flex-direction:column;align-items:flex-start;gap:8px}.metrics{grid-template-columns:repeat(2,1fr);gap:0;padding-block:15px}.metrics>div{padding:24px!important}.metrics>div:nth-child(odd){border-left:0}.metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.metrics strong{font-size:45px}.metrics h3{font-size:15px}.metrics p{font-size:13px}.section-heading{flex-direction:column;align-items:flex-start;gap:23px}.section-heading>p{max-width:600px;font-size:16px}.section{padding-block:70px}h2{font-size:42px}.project-grid{gap:20px}.project-copy{padding:20px}.project-copy h3{font-size:21px}.project-image{height:220px;padding-inline:15px}.screenshot-frame{height:173px}.project-image-top{font-size:9px}.project-outcome{align-items:flex-start;font-size:12px!important}.project-outcome .status-dot{margin-top:6px}.project-tagline,.project-summary{font-size:14px}.about-grid{grid-template-columns:1fr;gap:40px}.portrait-wrap{max-width:450px}.portrait{height:430px}.about-copy h2{font-size:42px}.about-copy>p:not(.eyebrow){font-size:17px}.skills-layout{grid-template-columns:1fr}.tech-orbit-panel{min-height:430px}.tool-grid{grid-template-columns:repeat(3,1fr)}.github-block{display:block}.expertise-card{padding:25px}.expertise-card h3{font-size:22px}.contact-heading h2{font-size:48px}.contact-arrow{width:78px;height:78px}.footer{font-size:10px}.footer>span{display:none}}@media (max-width:600px){.container{width:calc(100% - 40px)}.nav-bar{gap:15px;height:76px}.nav-links.open{top:76px}.brand{gap:15px}.wordmark{font-size:34px}.brand-name{font-size:8px}.motion-control{gap:5px;font-size:10px}.hero{padding-top:40px}.eyebrow{letter-spacing:1.3px;font-size:10px}.hero-name{margin-top:24px;font-size:21px}.hero h1{letter-spacing:-1.6px;font-size:clamp(35px,8.55vw,50px);line-height:1.2}.hero-description{margin-top:22px;font-size:16px;line-height:1.85}.hero-actions{gap:9px;margin-top:25px}.hero-actions .button{padding-inline:16px;font-size:13px}.hero-meta{gap:9px;margin-top:22px;font-size:11px}.hero-visual{height:370px;margin-top:30px}.system-canvas{inset:10px 0 20px}.scene-label{gap:7px;padding:8px;font-size:8px}.scene-label small{font-size:9px}.label-one{top:23%;right:4%}.label-two{top:50%;left:3%}.label-three{bottom:19%;right:5%}.visual-top{letter-spacing:.5px;font-size:7px;left:12px;right:12px}.visual-bottom{letter-spacing:.5px;font-size:7px;bottom:12px;left:12px;right:12px}.hero-bottom{align-items:flex-start;gap:20px;font-size:8px;line-height:1.7}.hero-bottom>span{max-width:47%}.hero-bottom a{text-align:right;gap:7px}.hero-bottom svg{flex-shrink:0}.impact-intro .eyebrow{font-size:9px}.metrics>div{padding:21px 12px!important}.metrics strong{letter-spacing:-1.5px;font-size:clamp(29px,8vw,39px)}.metrics h3{font-size:13px;line-height:1.6}.metrics p{font-size:11px}.tech-strip-heading{letter-spacing:1px;gap:15px;font-size:8px}.tech-strip-heading>span:last-child{font-size:10px}.tech-set{gap:28px;padding-right:28px}.tech-set>span{gap:28px;font-size:22px}.section{padding-block:58px}.section-heading{gap:20px;margin-bottom:28px}.section-heading h2,h2{letter-spacing:-1.3px;font-size:36px}.section-heading>p{font-size:15px}.filters{gap:7px}.filter{gap:7px;padding:9px 12px;font-size:12px}.project-count{font-size:12px}.project-grid{grid-template-columns:1fr;gap:25px}.project-image{height:260px;padding-inline:20px}.screenshot-frame{height:211px}.project-image-top{font-size:10px}.project-copy{padding:22px}.project-copy h3{font-size:24px}.project-outcome{font-size:13px!important}.project-summary,.project-tagline{font-size:15px}.project-card-footer{gap:18px}.case-link{font-size:13px}.tags span{font-size:11px}.about-section{padding-block:55px}.portrait{height:370px}.portrait-stamp{padding:12px 16px;right:-8px}.about-copy h2{font-size:35px}.about-copy>p:not(.eyebrow){font-size:16px}.about-copy>.about-lead{font-size:19px!important}.portrait-caption{font-size:8px}.expertise-grid{grid-template-columns:1fr;gap:18px;margin-top:28px}.expertise-card{padding:25px}.expertise-card h3{font-size:24px}.expertise-card p{font-size:16px}.expertise-outcome{font-size:13px}.approach-section{padding-block:55px}.process-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.step-marker{margin-bottom:17px}.process-step h3{font-size:22px}.process-step p{margin-bottom:17px;font-size:16px}.step-output{font-size:13px}.contact-section{padding-block:55px 40px}.contact-heading{gap:15px}.contact-heading h2{letter-spacing:-1.4px;font-size:clamp(28px,7.5vw,40px)}.contact-arrow{width:52px;height:52px}.contact-arrow svg{width:30px}.contact-bottom>p{font-size:16px}.contact-bottom{gap:22px}.email-group{gap:0;max-width:100%}.email-group>a{gap:7px;font-size:14px}.email-group>a svg{width:16px}.contact-prompts{gap:8px;margin-top:34px}.contact-prompts span{font-size:11px}.footer{flex-wrap:wrap;gap:20px;font-size:10px}.footer .wordmark{font-size:26px}.desktop-break{display:none}.skills-section{padding-block:58px}.skills-layout,.skill-groups{grid-template-columns:1fr}.skill-group:first-child{grid-column:auto}.tech-orbit-panel{min-height:410px}.tools-block{padding:22px}.tool-grid{grid-template-columns:repeat(2,1fr)}.github-block{grid-template-columns:1fr;gap:25px;padding:24px}.calendar-shell{padding:16px}.github-bar{flex-direction:column;align-items:flex-start;gap:12px}.detail-page{padding-block:30px 60px}.back-link{margin-bottom:35px}.detail-summary{font-size:17px}.detail-image{margin-block:30px;padding:8px}.detail-content,.detail-story{grid-template-columns:1fr;gap:25px}.detail-story>article{padding:22px}.detail-content h2{font-size:30px}.error-page h1{font-size:38px}}.editorial-photo-reveal{margin-block:42px}.editorial-photo{border:1px solid color-mix(in srgb, var(--line) 75%, white 8%);isolation:isolate;background:#11180f;border-radius:10px;width:100%;height:clamp(390px,40vw,590px);position:relative;overflow:hidden}.editorial-photo-portrait{max-width:930px;height:clamp(540px,52vw,720px)}.editorial-photo-image{object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s}.editorial-photo-portrait .editorial-photo-image{object-position:center 28%}.editorial-photo:hover .editorial-photo-image{filter:saturate(1.06);transform:scale(1.025)}.editorial-photo-shade{z-index:1;background:linear-gradient(#0000 42%,#050905eb 100%);position:absolute;inset:0}.editorial-photo-copy{z-index:2;color:#fff;position:absolute;bottom:clamp(22px,4vw,50px);left:clamp(22px,4vw,54px);right:90px}.editorial-photo-copy>span{color:#d5ff97;letter-spacing:1.7px;text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:700;display:block}.editorial-photo-copy h3{letter-spacing:-1.2px;max-width:720px;margin-bottom:10px;font-size:clamp(25px,3vw,43px);line-height:1.12}.editorial-photo-copy p{color:#ffffffb8;max-width:610px;font-size:14px;line-height:1.65}.editorial-photo-arrow{z-index:2;color:#d5ff97;transition:transform .35s;position:absolute;bottom:clamp(22px,4vw,50px);right:clamp(22px,4vw,50px)}.editorial-photo:hover .editorial-photo-arrow{transform:translate(4px,4px)}html[data-theme=light] .editorial-photo{box-shadow:0 18px 45px var(--shadow);border-color:#93a68a}@media (max-width:800px){.editorial-photo,.editorial-photo-portrait{max-width:none;height:470px}}@media (max-width:600px){.editorial-photo-reveal{margin-block:30px}.editorial-photo,.editorial-photo-portrait{height:350px}.editorial-photo-copy{bottom:18px;left:18px;right:50px}.editorial-photo-copy h3{font-size:24px}.editorial-photo-copy p{font-size:12px}.editorial-photo-arrow{bottom:18px;right:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.project-card:hover .screenshot-frame,.contact-arrow:hover,.expertise-card:hover,.expertise-card:hover .expertise-top>svg{transform:none}}
