@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17241f;--muted:#68766f;--paper:#f6f7f2;--green:#c9f36d;--line:#dce1d8;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.nav{height:74px;padding:0 max(calc((100vw - 1160px)/2),6vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(246,247,242,.93);position:sticky;top:0;z-index:9;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);font:700 13px var(--mono);letter-spacing:.04em}.mark{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green);font:700 14px var(--display);letter-spacing:-.07em}.dim{color:#94a099}.nav nav{display:flex;gap:35px}.nav nav a,.nav-cta{color:#39463f;text-decoration:none;font-size:12px;font-weight:600}.nav nav a:hover,.footer-links a:hover{color:#71992d}.nav-cta{border:1px solid #bdc7bd;border-radius:999px;padding:10px 16px}.nav-cta span{margin-left:10px}.hero{max-width:1160px;margin:auto;min-height:575px;padding:90px 0 64px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:10px}.eyebrow{font:500 10px var(--mono);letter-spacing:.1em;color:#68766f}.eyebrow i,.availability i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8db842;margin-right:7px}.hero h1{font:600 clamp(47px,6vw,76px)/1.08 var(--display);letter-spacing:-.065em;margin:26px 0 20px}.hero h1 em,.section h2 em{font-style:normal;color:#839b55}.intro{color:var(--muted);font-size:16px;line-height:1.75;max-width:470px}.actions{display:flex;gap:11px;margin-top:29px}.button{display:inline-flex;align-items:center;gap:24px;border-radius:999px;padding:13px 19px;font-size:12px;font-weight:700;text-decoration:none}.primary{background:var(--ink);color:white}.primary span{color:var(--green);font-size:16px}.secondary{border:1px solid var(--line);color:var(--ink)}.hero-meta{border-top:1px solid var(--line);margin-top:49px;padding-top:16px;display:flex;justify-content:space-between;max-width:470px;color:#829087;font:9px var(--mono);letter-spacing:.06em}.availability{color:#557d32}.hero-art{height:380px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #d7dfd2;border-radius:50%;aspect-ratio:1}.orbit-one{width:265px}.orbit-two{width:355px;border-style:dashed}.orbit-three{width:445px;opacity:.55}.core{width:172px;height:172px;position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 38% 35%,#dffc9e,#9abb67 45%,#58783f 100%);box-shadow:0 0 80px #b8d68780,inset 0 0 25px #ffffff7a;color:#1c3327;font:800 42px var(--display);letter-spacing:-.08em}.core:after{content:'';position:absolute;inset:16px;border:1px solid #faffd888;border-radius:50%}.core-lines{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 20deg,transparent 0 17deg,#f2ffdd30 18deg 19deg);mask:radial-gradient(circle,transparent 50%,#000 51%)}.float-tag{position:absolute;z-index:2;border:1px solid #d9dfd6;background:#fbfcf8;padding:9px 12px;border-radius:5px;color:#435147;font:9px var(--mono);letter-spacing:.03em;box-shadow:0 6px 22px #24312210}.tag-ai{top:43px;left:21px}.tag-code{top:117px;right:1px}.tag-design{bottom:64px;left:43px}.art-caption{position:absolute;bottom:4px;right:7px;left:7px;display:flex;justify-content:space-between;color:#99a39b;font:9px var(--mono);letter-spacing:.06em}.ticker{height:47px;overflow:hidden;background:var(--green);display:flex;align-items:center;white-space:nowrap;color:#33452c;font:500 10px var(--mono);letter-spacing:.12em}.ticker div{min-width:max-content;animation:marquee 34s linear infinite}.ticker b{padding:0 35px;font-size:12px}@keyframes marquee{to{transform:translateX(-28%)}}.section{max-width:1160px;margin:auto;padding:105px 0}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section h2{font:600 clamp(34px,4vw,47px)/1.15 var(--display);letter-spacing:-.055em;margin:14px 0 0}.section-top>p{max-width:300px;margin:0;color:var(--muted);font-size:12px;line-height:1.7}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.project{background:#fff;border:1px solid #e8ebe4;border-radius:6px;overflow:hidden}.project-feature{grid-row:span 2}.project-visual{height:225px;padding:18px 21px;position:relative;overflow:hidden}.project-feature .project-visual{height:300px}.visual-top{display:flex;justify-content:space-between;position:relative;z-index:1;color:#68766f;font:9px var(--mono);letter-spacing:.08em}.triage{background:#e5eddb}.chart{position:absolute;inset:67px 28px 24px;padding:22px 22px 16px;border:1px solid #d6e1ca;background:#edf3e8}.chart-label{color:#69775e;font:9px var(--mono);letter-spacing:.08em}.chart-label small{margin-left:12px;opacity:.65;font-size:8px}.chart-number{font:700 52px var(--display);letter-spacing:-.07em;color:#304833;margin-top:6px}.chart-number span{font-size:23px;color:#819b62}.bars{position:absolute;bottom:0;right:22px;height:102px;display:flex;align-items:end;gap:5px}.bars i{display:block;width:11px;height:var(--h);background:#a9c584;border-radius:2px 2px 0 0}.bars i:nth-child(3n){background:#779455}.mini-card{position:absolute;bottom:30px;right:38px;width:160px;padding:13px;background:#fff;border:1px solid #dfe6d7;box-shadow:0 9px 27px #364a271c;display:grid;gap:5px}.mini-card span{font:8px var(--mono);color:#71855c}.mini-card b{font-size:10px;font-weight:500;color:#718077}.mini-card strong{font:700 23px var(--display);color:#314637}.project-body{padding:21px 23px 24px}.project-type{color:#8a958d;font:9px var(--mono);letter-spacing:.08em}.project h3{font:700 17px var(--display);letter-spacing:-.025em;margin:9px 0}.project-body p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 15px;max-width:440px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid #e4e9e1;border-radius:99px;padding:5px 8px;color:#647067;font:9px var(--mono)}.project-link{display:inline-flex;justify-content:space-between;width:100%;margin-top:18px;padding-top:14px;border-top:1px solid #edf0eb;text-decoration:none;color:#3c563b;font-size:10px;font-weight:700}.project-link span{font-size:14px}.inspector{height:205px;background:#e9ece7}.scan-window{position:absolute;left:50%;top:51%;transform:translate(-50%,-41%);width:67%;height:145px;background:#f9faf7;border:1px solid #d9dfd7;padding:13px}.scan-icon{position:absolute;right:12px;top:8px;color:#8d9e78;font-size:22px}.scan-label{color:#83917f;font:8px var(--mono);letter-spacing:.09em}.scan-text{font:500 13px/1.5 var(--display);margin-top:10px;color:#38453c}.scan-result{position:absolute;bottom:9px;left:13px;right:13px}.scan-result>span{font:7px var(--mono);color:#5a8a43}.scan-result b{display:block;margin-top:5px;font:8px var(--mono);color:#778276}.scan-result strong{float:right;font-size:11px;color:#3a5837}.scan-result i{display:block;height:3px;background:#e8eee2;margin-top:5px}.scan-result u{display:block;height:3px;width:84%;background:#9ebd78;text-decoration:none}.vibe{height:205px;background:#e8ede3}.terminal{position:absolute;left:21px;right:21px;top:48px;background:#26372e;border-radius:4px;padding:0 13px 12px;color:#c9d7c4;font:8px var(--mono);box-shadow:0 10px 25px #293a2524}.terminal-bar{height:27px;border-bottom:1px solid #ffffff19;display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#a4b29e}.terminal-bar i{width:5px;height:5px;border-radius:50%;background:#809c6b}.terminal-bar span{margin-left:8px}.terminal>div:not(.terminal-bar){padding:4px 0}.terminal>div>b{color:#c8ef8a;margin-right:7px}.ok{float:right;color:#b5d78e;font-size:7px}.terminal-line{color:#869783!important;padding-top:7px!important}.terminal-done{color:#e2edda}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.about-copy{color:var(--muted);font-size:13px;line-height:1.8;max-width:390px;margin:27px 0 18px}.text-link{font-size:11px;font-weight:700;color:#425c3c;text-decoration:none}.text-link span{margin-left:8px}.skills-panel{padding-top:4px}.skills-heading{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line);color:#77837a;font:9px var(--mono);letter-spacing:.08em}.skills-heading span:last-child{color:#9aab8a}.skill-group{padding:18px 0;border-bottom:1px solid var(--line)}.skill-group small,.school small{display:block;font:9px var(--mono);letter-spacing:.07em;color:#8b958d;margin-bottom:9px}.skill-group div{font-size:12px;color:#3c4940;line-height:1.7}.skill-group i,.certs i{font-style:normal;color:#a6bc85;padding:0 3px}.school{display:flex;align-items:center;gap:13px;padding-top:21px}.school-icon{width:33px;height:33px;background:#e6eddc;border-radius:50%;display:grid;place-items:center;color:#6e8b4f}.school b,.school div>span{display:block}.school b{font:600 12px var(--display);margin:4px 0}.school div>span{font-size:10px;color:#849087}.school-arrow{margin-left:auto;color:#72885c}.experience .section-top{margin-bottom:25px}.timeline article{display:grid;grid-template-columns:170px 20px 1fr 20px;gap:18px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}.time-date{font:9px var(--mono);letter-spacing:.03em;color:#657168}.time-date span{display:block;color:#a1aaa3;margin-top:7px;font-size:8px}.time-mark{width:9px;height:9px;background:var(--green);border:2px solid #9bbd68;border-radius:50%;margin-top:2px;box-shadow:0 0 0 4px #e9f0de}.time-kind{font:8px var(--mono);letter-spacing:.09em;color:#879582}.time-content h3{font:600 15px var(--display);margin:6px 0}.time-content p{margin:0;color:#758078;font-size:11px;line-height:1.6}.time-arrow{justify-self:end;color:#6c8457;text-decoration:none}.certs{display:flex;gap:34px;border-top:1px solid var(--line);padding-top:21px;margin-top:5px}.certs>span{flex:0 0 170px;color:#879188;font:9px var(--mono);letter-spacing:.07em}.certs div{color:#68746c;font-size:10px;line-height:1.8}footer{border-top:1px solid var(--line);max-width:1160px;margin:auto;padding:27px 0 36px;display:flex;align-items:center;gap:24px}.footer-note{font-size:10px;color:#8b968d}.footer-links{display:flex;gap:18px;margin-left:auto}.footer-links a{font:9px var(--mono);text-decoration:none;color:#536158;letter-spacing:.04em}.copyright{font:8px var(--mono);color:#9aa39c;margin-left:20px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:1250px){.hero,.section,footer{margin-left:6vw;margin-right:6vw}}@media(max-width:760px){.nav{padding:0 5vw}.nav nav{gap:15px}.nav nav a{font-size:10px}.nav-cta{padding:8px 11px;font-size:10px}.hero{margin:0 6vw;padding:65px 0 42px;grid-template-columns:1fr;gap:4px}.hero h1{font-size:54px}.hero-art{height:340px;grid-row:1}.orbit-one{width:205px}.orbit-two{width:285px}.orbit-three{width:355px}.core{width:138px;height:138px}.tag-ai{left:8%}.tag-code{right:0}.section{padding:72px 0;margin-left:6vw;margin-right:6vw}.section-top{display:block}.section-top>p{margin-top:14px}.project-grid{grid-template-columns:1fr}.project-feature{grid-row:auto}.project-feature .project-visual{height:250px}.about{grid-template-columns:1fr;gap:36px}.timeline article{grid-template-columns:100px 12px 1fr 16px;gap:10px}.certs{gap:16px}.certs>span{flex-basis:100px}footer{flex-wrap:wrap;gap:14px;padding-bottom:30px}.footer-note{flex:1}.footer-links{margin-left:0}.copyright{margin-left:auto}}@media(max-width:420px){.nav nav{gap:9px}.nav nav a{font-size:9px}.nav-cta{display:none}.hero h1{font-size:46px}.hero-art{transform:scale(.88);margin:-10px -25px}.hero-meta{font-size:7px}.project-feature .project-visual{height:220px}.chart{inset:62px 16px 17px}.mini-card{right:22px;bottom:23px}.timeline article{grid-template-columns:82px 10px 1fr 12px}.time-date{font-size:8px}.certs{display:block}.certs div{margin-top:12px}.footer-links{gap:10px}.footer-links a{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Motion system: ambient network, micro-interactions, orbital hardware */
.signal-field{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.7;mix-blend-mode:multiply}.nav,main,footer{position:relative;z-index:1}.nav{z-index:9}.scroll-progress{position:fixed;z-index:20;top:0;left:0;right:0;height:2px;background:#c9f36d33;pointer-events:none}.scroll-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#9bc75f,#d1f879,#72a246);transform:scaleX(0);transform-origin:left;box-shadow:0 0 10px #9bc75f;transition:transform .08s linear}.edge-hud{position:fixed;z-index:2;right:17px;top:50%;transform:translateY(-50%);display:grid;gap:9px;writing-mode:vertical-rl;color:#87978b;font:8px var(--mono);letter-spacing:.1em;pointer-events:none}.edge-hud span:first-child:before{content:'';display:inline-block;width:5px;height:5px;margin-bottom:5px;border-radius:50%;background:#91be52;box-shadow:0 0 9px #91be52;animation:signalBlink 1.5s steps(2) infinite}.edge-hud b{color:#719454;font-weight:500}.cursor-orb{position:fixed;z-index:15;left:0;top:0;width:26px;height:26px;border:1px solid #7da74e99;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .2s,width .2s,height .2s,border-color .2s;will-change:transform}.cursor-orb i{position:absolute;left:50%;top:50%;width:3px;height:3px;transform:translate(-50%,-50%);background:#86ae53;border-radius:50%;box-shadow:0 0 10px #98c860}.cursor-orb.active{opacity:1}.cursor-orb.hover{width:44px;height:44px;border-color:#83b74dcc;background:#b9e8781c}.hero-art{perspective:900px}.hero-art>.orbit{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .5s;animation:orbitBreathe 5s ease-in-out infinite}.hero-art>.orbit-one{animation:orbitBreathe 4s ease-in-out infinite,orbitSpin 26s linear infinite}.hero-art>.orbit-two{animation:orbitBreathe 5.5s ease-in-out infinite reverse,orbitSpin 44s linear infinite reverse}.hero-art>.orbit-three{animation:orbitBreathe 6s ease-in-out infinite,orbitSpin 62s linear infinite}.core{animation:corePulse 3.4s ease-in-out infinite;transition:filter .35s,transform .35s}.hero-art:hover .core{filter:saturate(1.3) brightness(1.08);transform:scale(1.055)}.core:before{content:'';position:absolute;inset:-17px;border:1px solid #8eaf7266;border-radius:50%;animation:coreWave 2.8s ease-out infinite}.core:after{animation:innerSpin 16s linear infinite}.core-lines{animation:innerSpin 28s linear infinite reverse}.float-tag{animation:tagFloat 4.1s ease-in-out infinite;transition:transform .3s,box-shadow .3s}.tag-code{animation-delay:-1.1s}.tag-design{animation-delay:-2.3s}.hero-art:hover .float-tag{box-shadow:0 8px 30px #89aa5733}.hero h1 em{animation:textFlicker 8s steps(1) infinite;text-shadow:0 0 0 #a7d071}.hero h1 em:after{content:'intelligence.';position:absolute;margin-left:-100%;color:#a7d071;opacity:0;animation:ghostGlitch 7.3s steps(1) infinite;pointer-events:none}.project{position:relative;isolation:isolate;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}.project:before{content:'';position:absolute;z-index:4;inset:0;pointer-events:none;opacity:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),#b6df7b29,transparent 72%);transition:opacity .25s}.project:hover{border-color:#c5d5b5;box-shadow:0 20px 50px #26392018;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px)}.project:hover:before{opacity:1}.project-visual:after{content:'';position:absolute;z-index:0;inset:-30% -70%;background:linear-gradient(115deg,transparent 42%,#fff5 49%,#fff8 50%,transparent 57%);transform:translateX(-65%) rotate(-5deg);transition:transform .85s cubic-bezier(.2,.8,.2,1);pointer-events:none}.project:hover .project-visual:after{transform:translateX(65%) rotate(-5deg)}.bars i{transform-origin:bottom;animation:barDance 2.2s ease-in-out infinite alternate}.bars i:nth-child(3n){animation-delay:-1.1s}.bars i:nth-child(3n + 1){animation-delay:-.45s}.scan-window{animation:scanFloat 4.2s ease-in-out infinite}.scan-result u{animation:scanProgress 3s ease-in-out infinite alternate}.terminal{animation:terminalGlow 4s ease-in-out infinite}.terminal-bar i:nth-child(2){animation:signalBlink 1.7s steps(2) infinite}.terminal-bar i:nth-child(3){animation:signalBlink 1.7s steps(2) .5s infinite}.mini-card{animation:cardBob 4.4s ease-in-out infinite}.ticker div{will-change:transform}.ticker:hover div{animation-duration:11s}.button{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff5 50%,transparent 65%);transform:translateX(-120%);transition:transform .55s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 24px #26392020}.button:hover:after{transform:translateX(120%)}.nav-cta{transition:background .25s,border-color .25s,transform .25s}.nav-cta:hover{background:#e9f2dc;border-color:#9ab87b;transform:translateY(-2px)}.tags span{transition:background .2s,color .2s,border-color .2s,transform .2s}.tags span:hover{background:#e8f1dc;color:#405b36;border-color:#bdcfaa;transform:translateY(-2px)}.time-mark{animation:signalPulse 2s ease-out infinite}.reveal{filter:blur(4px);transition:opacity .72s,transform .72s cubic-bezier(.2,.8,.2,1),filter .72s}.reveal.visible{filter:blur(0)}.project:nth-child(2){transition-delay:.08s}.project:nth-child(3){transition-delay:.16s}.section-top.reveal{transition-delay:0s}.certs{transition-delay:.1s}.availability i{animation:signalPulse 2.2s ease-out infinite}.school-icon{animation:schoolSpin 18s linear infinite}.footer-links a{transition:color .2s,letter-spacing .2s}.footer-links a:hover{letter-spacing:.1em}@keyframes orbitSpin{to{rotate:360deg}}@keyframes orbitBreathe{0%,100%{opacity:.52}50%{opacity:.95}}@keyframes corePulse{0%,100%{box-shadow:0 0 60px #b8d6875c,inset 0 0 25px #ffffff7a}50%{box-shadow:0 0 100px #b8d687a3,inset 0 0 36px #ffffffad}}@keyframes coreWave{0%{transform:scale(.88);opacity:.65}80%,100%{transform:scale(1.28);opacity:0}}@keyframes innerSpin{to{rotate:360deg}}@keyframes tagFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes textFlicker{0%,92%,94%,97%,100%{text-shadow:0 0 0 transparent;filter:none}93%{text-shadow:2px 0 #91b963,-2px 0 #d3e6ae;filter:brightness(1.3)}96%{text-shadow:-1px 0 #91b963,1px 0 #d3e6ae;filter:brightness(.9)}}@keyframes ghostGlitch{0%,91%,94%,100%{opacity:0;transform:translateX(0)}92%{opacity:.34;transform:translateX(3px)}93%{opacity:0;transform:translateX(-2px)}}@keyframes barDance{from{transform:scaleY(.76);filter:saturate(.8)}to{transform:scaleY(1);filter:saturate(1.25)}}@keyframes scanFloat{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes scanProgress{from{width:52%}to{width:92%}}@keyframes terminalGlow{0%,100%{box-shadow:0 10px 25px #293a2524}50%{box-shadow:0 10px 32px #6b924436}}@keyframes cardBob{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes signalBlink{50%{opacity:.38}}@keyframes signalPulse{0%{box-shadow:0 0 0 0 #91be525c}70%,100%{box-shadow:0 0 0 8px #91be5200}}@keyframes schoolSpin{to{rotate:360deg}}@media(max-width:760px){.edge-hud{right:5px;font-size:7px}.cursor-orb{display:none}.signal-field{opacity:.42}}@media(prefers-reduced-motion:reduce){.signal-field,.cursor-orb,.edge-hud{display:none!important}.hero-art>.orbit,.core,.core:before,.core:after,.core-lines,.float-tag,.bars i,.scan-window,.scan-result u,.terminal,.mini-card,.time-mark,.availability i,.school-icon,.hero h1 em,.hero h1 em:after{animation:none!important}.reveal{filter:none;transition:none!important}.project{transform:none!important}}
.quick-contact{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;color:#6d7a70;font:9px var(--mono)}.quick-contact a{color:inherit;text-decoration:none;transition:color .2s}.quick-contact a:hover{color:#557d32}.quick-contact span{margin-left:5px;color:#8eab6e}.hero-meta{margin-top:27px}.other-projects{margin-top:18px;border:1px solid #e8ebe4;background:#fbfcf9;padding:18px 20px}.other-heading{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #e7ece3;color:#8a958d;font:8px var(--mono);letter-spacing:.08em}.other-heading span:last-child{color:#a0ad94}.other-projects>a{display:flex;align-items:center;gap:12px;padding:12px 1px;border-bottom:1px solid #edf0eb;text-decoration:none;color:var(--ink);transition:padding .2s,color .2s}.other-projects>a:last-child{border:0;padding-bottom:1px}.other-projects>a:hover{padding-left:7px;color:#557d32}.other-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e9f0e1;color:#66844a;font-size:12px}.other-copy{display:grid;gap:3px}.other-copy b{font:600 10px var(--display)}.other-copy small{font:8px var(--mono);color:#87938a}.other-arrow{margin-left:auto;color:#738e58}.personal-details{display:grid;gap:7px;margin-top:25px;padding-top:16px;border-top:1px solid var(--line);font-size:10px;color:#6f7b72}.personal-details small{font:9px var(--mono);letter-spacing:.08em;color:#8a958d}.personal-details i{font-style:normal;color:#9db87b}.personal-details a{color:#557d32;text-decoration:none}.skill-group div{line-height:1.9}.project-feature .project-body p{max-width:none}.@media(max-width:760px){.quick-contact{gap:10px;font-size:8px}.other-projects{padding:15px}.personal-details{margin-top:20px}.section.work{padding-bottom:70px}}
/* Sculpted navigation controls + theme system */
.nav{gap:14px}.nav nav{gap:10px;perspective:700px}.nav nav a.nav-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 15px;border:1px solid #d2dbce;border-radius:7px;background:linear-gradient(180deg,#ffffff,#eef2e9);box-shadow:0 4px 0 #c7d0c3,0 6px 12px #26382012,inset 0 1px 0 #fff;color:#35463a;font:600 10px var(--mono);letter-spacing:.015em;transform:translateY(0) rotateX(0deg);transform-style:preserve-3d;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s,color .22s,border-color .22s;animation:navArrive .65s cubic-bezier(.2,.8,.2,1) both}.nav nav a.nav-button:nth-child(2){animation-delay:.08s}.nav nav a.nav-button:nth-child(3){animation-delay:.16s}.nav nav a.nav-button:before{content:'';position:absolute;inset:1px;border-radius:5px;background:linear-gradient(120deg,transparent 10%,#c9f36d00 40%,#c9f36d60 50%,transparent 66%);background-size:220% 100%;opacity:0;transition:opacity .2s,background-position .45s;pointer-events:none}.nav nav a.nav-button:after{content:attr(data-label);position:absolute;inset:0;display:grid;place-items:center;color:#48633d;opacity:0;filter:blur(6px);transform:translateZ(-2px);transition:opacity .2s,filter .2s}.nav nav a.nav-button span{position:relative;z-index:1}.nav nav a.nav-button:hover,.nav nav a.nav-button:focus-visible{color:#30462e;border-color:#aabe9c;background:linear-gradient(180deg,#fbfff4,#e4efd8);transform:translateY(-4px) rotateX(12deg);box-shadow:0 8px 0 #aebf9e,0 13px 22px #283c2420,inset 0 1px 0 white;outline:none}.nav nav a.nav-button:hover:before,.nav nav a.nav-button:focus-visible:before{opacity:1;background-position:100% 0}.nav nav a.nav-button:hover:after{opacity:.17;filter:blur(2px)}.nav nav a.nav-button:active{transform:translateY(2px) rotateX(0);box-shadow:0 1px 0 #aebf9e,0 2px 6px #283c2418}.theme-toggle{height:38px;min-width:68px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #d2dbce;border-radius:7px;background:linear-gradient(180deg,#fff,#edf1e8);box-shadow:0 4px 0 #c7d0c3,0 6px 12px #26382012,inset 0 1px 0 #fff;color:#40573a;cursor:pointer;font:500 8px var(--mono);letter-spacing:.08em;transition:transform .2s,box-shadow .2s,background .25s,color .25s,border-color .25s}.theme-toggle:hover{transform:translateY(-4px) rotateX(12deg);box-shadow:0 8px 0 #aebf9e,0 13px 22px #283c2420,inset 0 1px 0 white}.theme-toggle:active{transform:translateY(2px);box-shadow:0 1px 0 #aebf9e}.theme-icon{font:18px var(--sans);line-height:1;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover .theme-icon{transform:rotate(35deg) scale(1.16)}@keyframes navArrive{from{opacity:0;transform:translateY(10px) rotateX(-18deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}
html[data-theme="dark"]{color-scheme:dark;--ink:#edf4e9;--muted:#a0afa2;--paper:#0b1110;--green:#b8ec65;--line:#293731}html[data-theme="dark"] body{background:radial-gradient(ellipse at 80% 0%,#183023 0%,transparent 32%),var(--paper);color:var(--ink)}html[data-theme="dark"] .nav{background:rgba(11,17,16,.91);border-color:#26352e}html[data-theme="dark"] .brand,html[data-theme="dark"] .nav nav a,html[data-theme="dark"] .nav-cta{color:#e5eee1}html[data-theme="dark"] .nav nav a.nav-button,html[data-theme="dark"] .theme-toggle{color:#e4ecdf;background:linear-gradient(180deg,#293931,#1a2520);border-color:#405448;box-shadow:0 4px 0 #111a16,0 7px 16px #0007,inset 0 1px 0 #ffffff14}html[data-theme="dark"] .nav nav a.nav-button:hover,html[data-theme="dark"] .nav nav a.nav-button:focus-visible,html[data-theme="dark"] .theme-toggle:hover{color:#eff9e8;background:linear-gradient(180deg,#384b3c,#263b2d);border-color:#71934f;box-shadow:0 8px 0 #111a16,0 13px 22px #0008,inset 0 1px 0 #ffffff24}html[data-theme="dark"] .nav nav a.nav-button:after{color:#c9f36d}html[data-theme="dark"] .nav-cta{border-color:#415047}html[data-theme="dark"] .nav-cta:hover{background:#1b2b20;border-color:#718d54}html[data-theme="dark"] .mark{color:#17241f}html[data-theme="dark"] .dim{color:#718078}html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .art-caption,html[data-theme="dark"] .hero-meta,html[data-theme="dark"] .footer-note,html[data-theme="dark"] .time-date,html[data-theme="dark"] .time-content p,html[data-theme="dark"] .personal-details,html[data-theme="dark"] .other-copy small{color:#9baa9e}html[data-theme="dark"] .hero h1 em,html[data-theme="dark"] .section h2 em{color:#c0e78c}html[data-theme="dark"] .hero-art .orbit{border-color:#46604c}html[data-theme="dark"] .float-tag{background:#17211b;border-color:#3a4b3d;color:#d1dfce;box-shadow:0 8px 24px #0006}html[data-theme="dark"] .ticker{background:#b9e968;color:#1b2c1d}html[data-theme="dark"] .section-top>p,html[data-theme="dark"] .about-copy,html[data-theme="dark"] .project-body p{color:#a0afa2}html[data-theme="dark"] .project{background:#121a16;border-color:#28372e;box-shadow:0 8px 24px #0002}html[data-theme="dark"] .project:hover{border-color:#607d4d;box-shadow:0 22px 50px #0008}html[data-theme="dark"] .triage,html[data-theme="dark"] .inspector,html[data-theme="dark"] .vibe{background:#1b2920}html[data-theme="dark"] .chart{background:#223126;border-color:#41563f}html[data-theme="dark"] .chart-label,html[data-theme="dark"] .project-type{color:#a8b89b}html[data-theme="dark"] .chart-number,html[data-theme="dark"] .project h3,html[data-theme="dark"] .other-copy b{color:#edf4e9}html[data-theme="dark"] .bars i{background:#73964e}html[data-theme="dark"] .bars i:nth-child(3n){background:#a8c879}html[data-theme="dark"] .mini-card,html[data-theme="dark"] .scan-window{background:#17221b;border-color:#3d5140;box-shadow:0 9px 27px #0007}html[data-theme="dark"] .mini-card b,html[data-theme="dark"] .scan-text{color:#d5e2d0}html[data-theme="dark"] .scan-label,html[data-theme="dark"] .mini-card span{color:#a8c383}html[data-theme="dark"] .terminal{background:#0d1511}html[data-theme="dark"] .tags span{border-color:#35463a;color:#c1d0be}html[data-theme="dark"] .project-link{border-color:#2d3c32;color:#c9e7ac}html[data-theme="dark"] .other-projects{background:#101813;border-color:#293a2f}html[data-theme="dark"] .other-heading,html[data-theme="dark"] .other-projects>a{border-color:#2b3b31;color:#e5eee1}html[data-theme="dark"] .other-icon,html[data-theme="dark"] .school-icon{background:#253727;color:#c6e59b}html[data-theme="dark"] .personal-details small,html[data-theme="dark"] .skills-heading,html[data-theme="dark"] .skill-group small,html[data-theme="dark"] .school small,html[data-theme="dark"] .time-kind,html[data-theme="dark"] .certs>span{color:#9aaa9d}html[data-theme="dark"] .skill-group div,html[data-theme="dark"] .school b{color:#dce7d9}html[data-theme="dark"] .school div>span,html[data-theme="dark"] .certs div{color:#a4b2a6}html[data-theme="dark"] .about,html[data-theme="dark"] .skills-heading,html[data-theme="dark"] .skill-group,html[data-theme="dark"] .personal-details,html[data-theme="dark"] .timeline article,html[data-theme="dark"] .certs,html[data-theme="dark"] footer{border-color:#293731}html[data-theme="dark"] .button.primary{background:#d5f19b;color:#142018}html[data-theme="dark"] .button.primary span{color:#405c32}html[data-theme="dark"] .button.secondary{color:#e5eee1;border-color:#3a4a3e}html[data-theme="dark"] .quick-contact{color:#b5c3b5}html[data-theme="dark"] .footer-links a{color:#c4d2c1}html[data-theme="dark"] .copyright{color:#89978b}html[data-theme="dark"] .scan-result b{color:#bdcbbb}html[data-theme="dark"] .scan-result i{background:#283c2d}html[data-theme="dark"] .scroll-progress{background:#b8ec6515}html[data-theme="dark"] .signal-field{opacity:.95;mix-blend-mode:screen}html[data-theme="dark"] .nav nav a.nav-button:before{background:linear-gradient(120deg,transparent 10%,#c9f36d00 40%,#c9f36d30 50%,transparent 66%);background-size:220% 100%}
@media(max-width:760px){.nav{gap:7px}.nav nav{gap:6px}.nav nav a.nav-button{padding:0 8px;min-height:34px;font-size:8px}.theme-toggle{min-width:34px;width:34px;height:34px;padding:0}.theme-word{display:none}.nav nav a.nav-button:after{display:none}}@media(max-width:420px){.nav nav{gap:4px}.nav nav a.nav-button{padding:0 6px;font-size:7px}.theme-toggle{min-width:30px;width:30px;height:32px}.theme-icon{font-size:15px}}
/* Remi chat overlay + identity */
.nav-cta.remi-launch{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;font:600 10px var(--mono);padding:9px 12px 9px 10px;border-color:#aebe99;background:linear-gradient(180deg,#fafff3,#e9f1dc);box-shadow:0 3px 0 #cfdbc5,0 6px 13px #26382012;color:#385331;transition:transform .2s,box-shadow .2s,background .2s}.nav-cta.remi-launch:hover{transform:translateY(-3px) rotateX(10deg);box-shadow:0 6px 0 #b2c5a2,0 12px 22px #26382022}.nav-cta.remi-launch:active{transform:translateY(2px);box-shadow:0 1px 0 #b2c5a2}.nav-cta.remi-launch>span:last-child{margin-left:2px;color:#739452}.remi-spark{font-size:14px;color:#779d4d;animation:sparkSpin 8s linear infinite}@keyframes sparkSpin{to{rotate:360deg}}.brand-name{font:700 13px var(--display);letter-spacing:-.04em}.remi-backdrop{position:fixed;inset:0;z-index:17;background:#111b1670;backdrop-filter:blur(3px);animation:remiFade .25s ease-out}.remi-panel[hidden],.remi-backdrop[hidden]{display:none}.remi-panel{position:fixed;z-index:18;right:max(24px,calc((100vw - 1160px)/2));top:87px;width:min(390px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 110px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #d6dfd0;border-radius:12px;background:#fbfcf8;color:#27362d;box-shadow:0 25px 80px #17251840,0 0 0 1px #fff;animation:remiPop .32s cubic-bezier(.2,.8,.2,1)}.remi-topline{display:flex;align-items:center;gap:11px;padding:17px 17px 13px;border-bottom:1px solid #e5eae1;background:linear-gradient(135deg,#f8fbf2,#edf4e6)}.remi-orb{position:relative;width:39px;height:39px;flex:0 0 39px;border-radius:50%;border:1px solid #aac18e;background:radial-gradient(circle at 37% 32%,#e4ffc0,#a8ce78 55%,#6e934f);box-shadow:0 0 0 4px #e3eed7,0 0 23px #97ba6b50;display:grid;place-items:center}.pixel{position:absolute;width:4px;height:4px;background:#395332;opacity:.84}.p1{transform:translate(-7px,-6px)}.p2{transform:translate(0,-6px)}.p3{transform:translate(7px,-6px)}.p4{transform:translate(-7px,1px)}.p5{transform:translate(0,1px)}.p6{transform:translate(7px,1px)}.p7{transform:translate(0,8px)}.remi-title-wrap{display:grid;gap:4px}.remi-title-wrap strong{font:700 15px var(--display);letter-spacing:-.03em}.remi-title-wrap>span{font:8px var(--mono);letter-spacing:.07em;color:#7c8d7a}.remi-title-wrap i{display:inline-block;width:6px;height:6px;background:#84af54;border-radius:50%;box-shadow:0 0 0 3px #dbe9cb;margin-right:5px;animation:signalPulse 2s infinite}.remi-close{margin-left:auto;width:30px;height:30px;border:1px solid #dbe3d6;border-radius:50%;background:#fff;color:#67766a;font:20px var(--sans);line-height:1;cursor:pointer;transition:transform .2s,background .2s}.remi-close:hover{transform:rotate(90deg);background:#edf4e5}.remi-caption{padding:11px 17px;color:#788578;font:9px var(--mono);letter-spacing:.025em}.remi-messages{overflow:auto;min-height:115px;max-height:335px;padding:10px 17px 18px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:#cbd9c1 transparent}.remi-message{max-width:94%;animation:remiMessageIn .25s ease-out}.remi-message.user{align-self:flex-end}.message-label{display:block;margin:0 0 5px;color:#82917f;font:8px var(--mono);letter-spacing:.09em}.message-label small{margin-left:5px;color:#a9b3a6;font:7px var(--mono)}.remi-message p{margin:0;padding:11px 12px;border:1px solid #e2e9dc;border-radius:3px 11px 11px 11px;background:#f1f5ed;color:#39483c;font:11px/1.7 var(--sans)}.remi-message.user p{border-color:#d5e5c4;background:#e8f2de;border-radius:11px 3px 11px 11px}.remi-typing{height:29px;align-items:center;gap:4px;padding:0 17px;color:#95a28f;font:7px var(--mono);letter-spacing:.1em}.remi-typing:not([hidden]){display:flex}.typing-pixel{width:4px;height:4px;background:#83a963;animation:typingBlink .65s steps(2,end) infinite}.typing-pixel:nth-child(2){animation-delay:.16s}.typing-pixel:nth-child(3){animation-delay:.32s}.remi-typing>span:nth-child(4){margin-left:6px}.remi-panel.is-thinking .remi-orb{animation:orbAnswer 1.2s ease-in-out infinite}.remi-panel.is-thinking .remi-orb .pixel{animation:remiPixelBlink .45s steps(2,end) infinite}.remi-panel.is-thinking .remi-orb .p2,.remi-panel.is-thinking .remi-orb .p5{animation-delay:.12s}.remi-panel.is-thinking .remi-orb .p3,.remi-panel.is-thinking .remi-orb .p6{animation-delay:.24s}.remi-panel.is-thinking .remi-orb .p4{animation-delay:.3s}.remi-panel.is-thinking .remi-orb .p7{animation-delay:.18s}.remi-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:2px 17px 12px}.remi-suggestions button{border:1px solid #dce6d3;border-radius:99px;padding:7px 9px;background:#fbfdf8;color:#63765a;font:8px var(--mono);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.remi-suggestions button:hover{transform:translateY(-2px);border-color:#a8c38d;background:#eef5e6}.remi-form{display:flex;align-items:center;gap:8px;margin:0 13px;padding:6px 7px 6px 12px;border:1px solid #d9e2d4;border-radius:8px;background:white;box-shadow:0 3px 12px #2a40200b}.remi-form:focus-within{border-color:#99b77a;box-shadow:0 0 0 3px #bada9d3b}.remi-form input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#28372d;font:11px var(--sans)}.remi-form input::placeholder{color:#9aa69a}.remi-form button{width:31px;height:31px;border:0;border-radius:6px;background:#25382a;color:#d4f19a;font:16px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.remi-form button:hover{background:#51733c;transform:translateY(-2px)}.remi-footnote{padding:10px 15px 13px;text-align:center;color:#9ba69a;font:7px var(--mono);letter-spacing:.1em}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes remiFade{from{opacity:0}to{opacity:1}}@keyframes remiPop{from{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes remiMessageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBlink{0%,100%{opacity:.2;transform:scale(.75)}50%{opacity:1;transform:scale(1.25)}}@keyframes remiPixelBlink{0%,100%{opacity:.2;filter:brightness(.7)}50%{opacity:1;filter:brightness(1.6);box-shadow:0 0 5px #edffd1}}@keyframes orbAnswer{50%{box-shadow:0 0 0 6px #e3eed7,0 0 32px #97ba6b9c;transform:scale(1.04)}}
html[data-theme="dark"] .remi-panel{background:#111b16;color:#e8f0e5;border-color:#334439;box-shadow:0 25px 80px #000a,0 0 0 1px #ffffff0a}html[data-theme="dark"] .remi-topline{background:linear-gradient(135deg,#1b2b20,#142019);border-color:#2b3b30}html[data-theme="dark"] .remi-title-wrap>span,html[data-theme="dark"] .remi-caption,html[data-theme="dark"] .message-label,html[data-theme="dark"] .remi-footnote{color:#9bab9b}html[data-theme="dark"] .remi-close{background:#1c2921;border-color:#3b4a3d;color:#d4e1d0}html[data-theme="dark"] .remi-message p{background:#1c2921;border-color:#314235;color:#dce8d8}html[data-theme="dark"] .remi-message.user p{background:#283923;border-color:#445b37}html[data-theme="dark"] .remi-suggestions button{background:#17221b;border-color:#3b4d3b;color:#c8d7bd}html[data-theme="dark"] .remi-suggestions button:hover{background:#263825;border-color:#6c8e4b}html[data-theme="dark"] .remi-form{background:#101813;border-color:#364739}html[data-theme="dark"] .remi-form input{color:#e4eee1}html[data-theme="dark"] .remi-form input::placeholder{color:#849486}html[data-theme="dark"] .remi-form button{background:#c9ed8f;color:#1e3020}html[data-theme="dark"] .nav-cta.remi-launch{background:linear-gradient(180deg,#344634,#223222);border-color:#526b43;color:#e2efcf;box-shadow:0 3px 0 #111a16,0 7px 14px #0007}html[data-theme="dark"] .nav-cta.remi-launch:hover{background:linear-gradient(180deg,#45603f,#2b432e);box-shadow:0 6px 0 #111a16,0 12px 22px #0009}html[data-theme="dark"] .remi-backdrop{background:#020805ad}@media(max-width:760px){.remi-panel{top:auto;bottom:12px;right:12px;max-height:min(650px,calc(100dvh - 24px))}.remi-backdrop{background:#10181080}.nav-cta.remi-launch{font-size:8px;padding:8px 8px;gap:4px}.brand-name{font-size:12px}}@media(max-width:420px){.remi-panel{left:8px;right:8px;bottom:8px;width:auto;max-height:calc(100dvh - 16px);border-radius:10px}.remi-message p{font-size:10px}.nav-cta.remi-launch>span:last-child{display:none}.brand-name{font-size:11px}}
.nav-cta.remi-launch>span:first-child{margin-left:0}@media(max-width:480px){.nav{height:auto;min-height:68px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap;row-gap:11px}.nav nav{order:5;flex:0 0 100%;justify-content:center}.nav nav a.nav-button{min-height:32px}.nav-cta.remi-launch{font-size:8px;padding:7px 8px}.brand{margin-right:auto}}@media(max-width:380px){.nav{padding-left:12px;padding-right:12px;column-gap:7px}.brand{gap:5px}.mark{width:27px;height:27px}.brand-name{font-size:11px}.theme-toggle{min-width:30px;width:30px;height:32px}.nav-cta.remi-launch{font-size:7px;padding:7px 6px}}

