@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_9e8c81d0-module__l0-s3q__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_9e8c81d0-module__l0-s3q__variable{--body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_48047b7e-module__S0Ia-G__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_48047b7e-module__S0Ia-G__variable{--display:"Manrope", "Manrope Fallback"}
:root{--bg:#111110;--panel:#181817;--panel2:#20201e;--text:#e7e4dc;--muted:#86827a;--orange:#ef7e32;--green:#a8c67a;--line:#32312e;--mono:var(--font-geist-mono),monospace;--page-progress:0;--hero-progress:0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--body),sans-serif;margin:0;overflow-x:hidden}main,footer{z-index:1;position:relative}a{color:inherit;text-decoration:none}::selection{background:var(--orange);color:#111}.skip{z-index:99;background:var(--orange);color:#111;padding:.75rem;position:fixed;top:-5rem;left:1rem}.skip:focus{top:1rem}header{z-index:10;height:72px;font:600 .67rem var(--mono);letter-spacing:.1em;border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:0 clamp(1.2rem,4vw,4.5rem);display:flex;position:absolute;inset:0 0 auto}header nav{color:var(--muted);gap:2rem;display:flex}header a{transition:color .2s}header a:hover,.brand span{color:var(--orange)}.availability{align-items:center;gap:.6rem;display:flex}.availability i,.status-pill i{background:var(--green);width:6px;height:6px;box-shadow:0 0 10px var(--green);border-radius:50%}.scroll-progress{z-index:100;background:var(--orange);height:2px;transition:width 80ms linear;position:fixed;top:0;left:0;box-shadow:0 0 14px #ef7e32}.header-actions{align-items:center;gap:1.25rem;display:flex}.command-trigger,.terminal-bar button{color:var(--muted);font:600 .58rem var(--mono);letter-spacing:.08em;cursor:pointer;background:#ffffff08;border:1px solid #ffffff24;padding:.4rem .55rem;transition:all .2s}.command-trigger:hover,.terminal-bar button:hover{border-color:var(--orange);color:var(--orange)}.scroll-scene{z-index:0;pointer-events:none;transform:scale(calc(1 + var(--page-progress) * .22));transform-origin:50% 45%;will-change:transform;background:radial-gradient(circle,#ffffff04,#0000 45%);position:fixed;inset:0;overflow:hidden}.scroll-scene:before{content:"";opacity:.055;transform:rotate(calc(var(--page-progress) * 2deg)) scale(calc(1 + var(--page-progress) * .3));background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:74px 74px;position:absolute;inset:-20%;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 69%);mask-image:radial-gradient(circle,#000 10%,#0000 69%)}.scroll-scene i{aspect-ratio:1;filter:blur(90px);will-change:transform;background:#ef7e3218;border-radius:50%;width:38vw;position:absolute}.scroll-scene i:first-child{transform:translate3d(calc(var(--page-progress) * 18vw),calc(var(--page-progress) * 30vh),0) scale(calc(.7 + var(--page-progress) * .5));top:6vh;left:-16vw}.scroll-scene i:nth-child(2){transform:translate3d(calc(var(--page-progress) * -15vw),calc(var(--page-progress) * 18vh),0) scale(calc(1.1 - var(--page-progress) * .25));background:#a8c67a0c;top:38vh;right:-18vw}.scroll-scene i:nth-child(3){width:48vw;transform:translateY(calc(var(--page-progress) * -25vh)) scale(calc(.8 + var(--page-progress) * .3));background:#ef7e320d;bottom:-28vw;left:30vw}.hero{background:radial-gradient(circle at 77% 38%,#ef7e3214,transparent 25%),var(--bg);flex-direction:column;justify-content:center;min-height:100svh;padding:9rem clamp(1.2rem,6vw,7rem) 2.5rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";opacity:calc(.06 + var(--hero-progress) * .035);transform:scale(calc(1 + var(--hero-progress) * .42)) rotate(calc(var(--hero-progress) * 1.2deg));will-change:transform;background-image:linear-gradient(#fff 1px,#0000 1px),linear-gradient(90deg,#fff 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:-12%;-webkit-mask-image:linear-gradient(90deg,#0000 4%,#000 50%,#0000);mask-image:linear-gradient(90deg,#0000 4%,#000 50%,#0000)}.scan{pointer-events:none;opacity:.07;background:repeating-linear-gradient(0deg,#0000 0 3px,#fff 4px);animation:5s infinite flicker;position:absolute;inset:0}@keyframes flicker{50%{opacity:.04}}.hero-meta{border-bottom:1px solid var(--line);color:var(--muted);font:500 .62rem var(--mono);letter-spacing:.11em;transform:translateY(calc(var(--hero-progress) * -20px));opacity:calc(1 - var(--hero-progress) * .75);will-change:transform,opacity;justify-content:space-between;padding-bottom:1rem;display:flex;position:relative}.hero-grid{transform:translateY(calc(var(--hero-progress) * -55px)) scale(calc(1 - var(--hero-progress) * .045));opacity:calc(1 - var(--hero-progress) * .68);transform-origin:50% 42%;will-change:transform,opacity;grid-template-columns:1.25fr .75fr;align-items:center;gap:8vw;padding:5rem 0;display:grid;position:relative}.prompt{color:var(--orange);font:.74rem var(--mono);margin:0 0 1.8rem}.cursor{animation:.8s step-end infinite blink}@keyframes blink{50%{opacity:0}}h1,h2,h3{font-family:var(--display),sans-serif}h1{letter-spacing:-.07em;margin:0;font-size:clamp(3.5rem,7vw,7.5rem);font-weight:500;line-height:.91}h1 em{color:var(--orange);font-style:normal}.lede{color:#aaa69e;max-width:640px;margin:2rem 0 0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.7}.hero-actions{gap:.7rem;margin-top:2.2rem;display:flex}.hero-actions a{border:1px solid var(--line);font:600 .64rem var(--mono);letter-spacing:.08em;padding:.9rem 1rem;transition:all .2s;position:relative;overflow:hidden}.hero-actions a:after{content:"";background:linear-gradient(110deg,#0000 25%,#ffffff35 48%,#0000 70%);transition:transform .55s;position:absolute;inset:0;transform:translate(-130%)}.hero-actions a:hover:after{transform:translate(130%)}.hero-actions a:first-child{background:var(--orange);border-color:var(--orange);color:#111}.hero-actions a:hover{transform:translateY(-3px)}.hero:after{content:"";pointer-events:none;background:radial-gradient(500px circle at var(--mx,77%) var(--my,38%),#ef7e321b,transparent 55%);z-index:0;position:absolute;inset:0}.hero>.scan,.hero>.hero-meta,.hero>.hero-grid,.hero>.timeline{z-index:1}.hero .timeline{transform:translateY(calc(var(--hero-progress) * 22px));opacity:calc(1 - var(--hero-progress) * .8)}.terminal-bar button{background:0 0;padding:.25rem .4rem}.terminal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#181817d9;border:1px solid #413f3a;animation:6s ease-in-out infinite float;transform:rotate(1deg);box-shadow:0 30px 100px #0008}@keyframes float{50%{transform:rotate(-.5deg)translateY(-9px)}}.terminal-bar,.terminal-foot{border-bottom:1px solid var(--line);color:var(--muted);font:.58rem var(--mono);background:#22211f;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.terminal-bar>span:first-child{gap:5px;display:flex}.terminal-bar i{background:#4a4945;border-radius:50%;width:7px;height:7px}.terminal-bar i:first-child{background:var(--orange)}.terminal pre{color:#bbb8b0;font:clamp(.68rem,1vw,.83rem)/1.85 var(--mono);white-space:pre-wrap;margin:0;padding:1.5rem}.terminal pre:first-line{color:var(--orange)}.terminal-foot{border:0;border-top:1px solid var(--line)}.terminal-foot span:first-child{color:var(--green)}.timeline{color:var(--muted);font:.57rem var(--mono);letter-spacing:.08em;align-items:center;gap:1rem;display:flex;position:relative}.timeline i{background:var(--line);flex:1;height:1px}.intro-strip{color:#181817;background:#ddd9cf;padding:clamp(5rem,10vw,9rem) clamp(1.2rem,8vw,9rem);overflow:hidden}.intro-strip p{max-width:1200px;font:500 clamp(2.1rem,4.7vw,5.2rem)/1.08 var(--display);letter-spacing:-.06em;transform:translateY(var(--depth-shift,0));will-change:transform;margin:0}.intro-strip b{color:#888178;font-weight:500}.work,.stack-section,.about{padding:clamp(5rem,9vw,8rem) clamp(1.2rem,6vw,7rem)}.work,.about{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#111110e8}.section-head{transform:translateY(var(--depth-shift,0));will-change:transform;grid-template-columns:1.5fr 1fr;align-items:end;gap:6rem;margin-bottom:4rem;display:grid}.label{color:var(--orange);font:600 .63rem var(--mono);letter-spacing:.13em;margin:0 0 1rem}.section-head h2,.about h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.8rem,5vw,5.3rem);font-weight:500;line-height:.95}.section-head>p{color:var(--muted);margin:0;line-height:1.7}.ai-projects{border-top:1px solid var(--line);border-left:1px solid var(--line);perspective:1100px;grid-template-columns:repeat(2,1fr);display:grid}.ai-card{--tilt-x:0deg;--tilt-y:0deg;--glow-x:50%;--glow-y:50%;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(420px circle at var(--glow-x) var(--glow-y),#ef7e3214,transparent 46%),linear-gradient(145deg,#ffffff03,transparent);min-height:560px;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;will-change:transform;flex-direction:column;padding:2rem;transition:background .25s,transform .16s,border-color .25s;display:flex}.ai-card:hover{transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-6px);border-color:#55483f}.ai-card>*{transform:translateZ(14px)}.card-top{color:var(--muted);font:.62rem var(--mono);justify-content:space-between;display:flex}.status-pill{color:#a8c67a;align-items:center;gap:.5rem;display:flex}.project-kind{color:var(--orange);font:.6rem var(--mono);letter-spacing:.12em;margin:5rem 0 1rem}.ai-card h3{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3.4vw,3.8rem);font-weight:500;line-height:1}.project-copy{color:#aaa69e;margin:1.6rem 0;line-height:1.7}.ai-card ul{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ai-card li{border:1px solid var(--line);font:.56rem var(--mono);color:#a5a19a;padding:.42rem .58rem}.project-note{color:#6e6b65;font:.64rem/1.6 var(--mono);margin:auto 0 1.5rem;padding-top:2rem}.project-link{border-top:1px solid var(--line);color:var(--orange);font:.62rem var(--mono);letter-spacing:.1em;justify-content:space-between;padding-top:1.3rem;display:flex}.filter-row{flex-wrap:wrap;gap:.5rem;margin:-1.6rem 0 2rem;display:flex}.filter-row button{border:1px solid var(--line);color:var(--muted);font:600 .58rem var(--mono);letter-spacing:.08em;cursor:pointer;background:0 0;padding:.6rem .8rem;transition:all .2s}.filter-row button:hover{color:var(--text);border-color:#5d5a54}.filter-row button.active{background:var(--orange);border-color:var(--orange);color:#111}.ai-card{animation:.35s both card-in}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stack-section{background:#181817}.stack-grid{grid-template-columns:1fr 1fr;gap:7vw;display:grid}.stack-list{border-top:1px solid var(--line)}.stack-list p{border-bottom:1px solid var(--line);color:#aaa69e;grid-template-columns:30% 1fr;margin:0;padding:1.5rem 0;font-size:.88rem;line-height:1.6;display:grid}.stack-list span{color:var(--orange);font:.61rem var(--mono)}.secondary-work{border-top:1px solid var(--line)}.secondary-work article{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 0;display:grid}.secondary-work>article>span{color:var(--muted);font:.6rem var(--mono)}.secondary-work h3{margin:0 0 .5rem;font-size:1.25rem}.secondary-work p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.5}.secondary-work small{color:#706d66;font:.57rem var(--mono);margin-top:.8rem;display:block}.about-grid{grid-template-columns:1fr 1fr;gap:8vw;margin-top:3rem;display:grid}.about-grid>div{color:#aaa69e;font-size:1.05rem;line-height:1.8}.about-grid>div p:first-child{margin-top:0}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:5rem;display:grid}.facts p{flex-direction:column;margin:0;padding:1.8rem 1rem 0 0;display:flex}.facts span,.facts small{color:var(--muted);font:.58rem var(--mono)}.facts b{font:500 clamp(1.2rem,2vw,1.9rem) var(--display);margin:1.4rem 0 .5rem}.contact{background:var(--orange);color:#111;padding:clamp(5rem,10vw,9rem) clamp(1.2rem,6vw,7rem) 3rem}.contact .label{color:#633116}.contact h2{letter-spacing:-.07em;margin:0 0 4rem;font-size:clamp(3.3rem,7vw,7.7rem);font-weight:500;line-height:.9}.mail{font:500 clamp(1.1rem,2.5vw,2.4rem) var(--display);border-bottom:1px solid #1116;justify-content:space-between;padding:1.5rem 0;display:flex}.contact>div{font:600 .62rem var(--mono);gap:2rem;margin-top:2rem;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);font:.55rem var(--mono);letter-spacing:.08em;justify-content:space-between;padding:1.5rem clamp(1.2rem,4vw,4.5rem);display:flex}.command-overlay{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070706ba;place-items:start center;padding:14vh 1rem 1rem;animation:.18s overlay-in;display:grid;position:fixed;inset:0}.command-panel{background:#191918;border:1px solid #4b4944;width:min(620px,100%);animation:.24s panel-in;overflow:hidden;box-shadow:0 35px 100px #000}.command-search{border-bottom:1px solid var(--line);color:var(--orange);font:600 .8rem var(--mono);align-items:center;gap:.8rem;padding:1rem 1.2rem;display:flex}.command-search input{min-width:0;color:var(--text);font:500 .85rem var(--mono);background:0 0;border:0;outline:0;flex:1}.command-search input::placeholder{color:#716e67}.command-search kbd{border:1px solid var(--line);color:var(--muted);font:.52rem var(--mono);padding:.25rem .4rem}.command-list{padding:.45rem}.command-list button{width:100%;color:var(--text);text-align:left;font:500 .86rem var(--mono);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.9rem;display:flex}.command-list button:hover,.command-list button:focus-visible{color:var(--orange);background:#ef7e3215;outline:0}.command-list small{color:var(--muted);font:.55rem var(--mono);margin-top:.25rem;display:block}.command-list>p{color:var(--muted);font:.7rem var(--mono);padding:1.2rem}.command-help{border-top:1px solid var(--line);color:#6f6c65;font:.5rem var(--mono);letter-spacing:.06em;gap:1.25rem;padding:.7rem 1.2rem;display:flex}@keyframes overlay-in{0%{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}}.ai-companion{--robot-x:0deg;--robot-y:0deg;z-index:140;pointer-events:none;perspective:800px;width:220px;height:150px;position:fixed;bottom:.65rem;right:1.25rem}.robot-trigger{cursor:pointer;pointer-events:auto;filter:drop-shadow(0 18px 22px #0009);width:220px;height:150px;transform:rotateX(var(--robot-y)) rotateY(var(--robot-x));transform-style:preserve-3d;background:0 0;border:0;padding:0;transition:transform .18s,filter .2s;position:absolute;bottom:0;right:0}.robot-trigger:hover{filter:drop-shadow(0 20px 28px #ef7e325c);transform:rotateX(var(--robot-y)) rotateY(var(--robot-x)) translateY(-5px) scale(1.04)}.robot-trigger img{z-index:2;object-fit:contain;width:100%;height:100%;animation:4.5s ease-in-out infinite robot-float;position:relative}.robot-halo{z-index:1;filter:blur(14px);background:#ef7e3245;border-radius:50%;width:110px;height:28px;animation:2.2s ease-in-out infinite halo-pulse;position:absolute;bottom:19px;left:52%;transform:translate(-50%)}.robot-status{z-index:3;color:#d7d3ca;font:600 .5rem var(--mono);letter-spacing:.08em;background:#111110e8;border:1px solid #ffffff24;align-items:center;gap:.4rem;padding:.35rem .5rem;display:flex;position:absolute;bottom:8px;right:6px;box-shadow:0 8px 20px #0008}.robot-status i,.companion-callout i,.chat-head i{background:var(--green);width:5px;height:5px;box-shadow:0 0 8px var(--green);border-radius:50%}.companion-callout{width:max-content;color:var(--text);font:600 .57rem var(--mono);letter-spacing:.09em;pointer-events:none;background:#181817ee;border:1px solid #ffffff20;padding:.65rem .75rem;animation:.45s .7s both callout-in;position:absolute;bottom:61px;right:178px;box-shadow:0 15px 35px #0008}.companion-callout:after{content:"";background:#181817;border-top:1px solid #ffffff20;border-right:1px solid #ffffff20;width:12px;height:12px;position:absolute;top:50%;right:-7px;transform:translateY(-50%)rotate(45deg)}.companion-callout i{margin-left:.35rem;display:inline-block}.chat-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#171716f5;border:1px solid #4b4944;flex-direction:column;width:min(390px,100vw - 2rem);height:min(510px,100vh - 9rem);animation:.3s cubic-bezier(.2,.8,.2,1) chat-in;display:flex;position:absolute;bottom:120px;right:92px;overflow:hidden;box-shadow:0 30px 90px #000d}.chat-head{border-bottom:1px solid var(--line);background:#201f1d;justify-content:space-between;align-items:center;padding:1rem 1.1rem;display:flex}.chat-head>div{flex-direction:column;gap:.3rem;display:flex}.chat-head span{color:var(--orange);font:700 .67rem var(--mono);letter-spacing:.1em;align-items:center;gap:.5rem;display:flex}.chat-head small{color:var(--muted);font:.5rem var(--mono);letter-spacing:.07em}.chat-head button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);font:1rem var(--mono);cursor:pointer;background:0 0}.chat-head button:hover{color:var(--orange);border-color:var(--orange)}.chat-messages{scrollbar-color:#494640 transparent;scrollbar-width:thin;flex:1;padding:1rem;overflow-y:auto}.chat-messages p{border:1px solid var(--line);color:#bbb7ae;max-width:86%;margin:0 0 .75rem;padding:.78rem .85rem;font-size:.79rem;line-height:1.55}.chat-messages p>span{color:var(--orange);font:700 .48rem var(--mono);letter-spacing:.1em;margin-bottom:.35rem;display:block}.chat-messages .assistant{background:#22211f;border-radius:0 12px 12px}.chat-messages .user{color:var(--text);background:#ef7e3218;border-color:#ef7e324b;border-radius:12px 0 12px 12px;margin-left:auto}.chat-messages .user>span{color:#aaa69e}.chat-messages .typing{align-items:center;gap:.3rem;width:78px;display:flex}.chat-messages .typing span{margin:0 .2rem 0 0}.chat-messages .typing i{background:var(--orange);border-radius:50%;width:5px;height:5px;animation:1s infinite typing-dot}.chat-messages .typing i:nth-child(3){animation-delay:.15s}.chat-messages .typing i:nth-child(4){animation-delay:.3s}.chat-suggestions{gap:.4rem;padding:0 1rem .8rem;display:flex;overflow-x:auto}.chat-suggestions button{border:1px solid var(--line);color:#9d9991;font:500 .53rem var(--mono);cursor:pointer;background:0 0;flex:none;padding:.45rem .55rem}.chat-suggestions button:hover{border-color:var(--orange);color:var(--orange)}.chat-form{border-top:1px solid var(--line);background:#201f1d;display:flex}.chat-form input{min-width:0;color:var(--text);font:.75rem var(--mono);background:0 0;border:0;outline:0;flex:1;padding:1rem}.chat-form input::placeholder{color:#716e67}.chat-form button{border:0;border-left:1px solid var(--line);background:var(--orange);color:#111;width:52px;font:1rem var(--mono);cursor:pointer}.chat-form button:disabled{color:#65615b;cursor:not-allowed;background:#2d2b28}@keyframes robot-float{50%{transform:translateY(-7px)rotate(-1deg)}}@keyframes halo-pulse{50%{opacity:.45;transform:translate(-50%)scale(.8)}}@keyframes callout-in{0%{opacity:0;transform:translate(8px)}}@keyframes chat-in{0%{opacity:0;transform:translateY(14px)scale(.97)}}@keyframes typing-dot{50%{opacity:.25;transform:translateY(-2px)}}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}[data-reveal].is-visible{opacity:1;transform:none}@media (max-width:850px){header nav{display:none}.hero{padding-top:7rem}.hero-grid{grid-template-columns:1fr;padding:4rem 0 3rem}.terminal{max-width:520px}.section-head,.stack-grid,.about-grid{grid-template-columns:1fr;gap:2rem}.ai-projects{grid-template-columns:1fr}.ai-card{min-height:500px}.facts{grid-template-columns:1fr}.facts p{border-bottom:1px solid var(--line);padding-bottom:1.5rem}}@media (max-width:520px){.availability{font-size:0}.availability i{display:block}.header-actions{gap:.6rem}.hero-meta span:nth-child(2){display:none}.hero-actions{flex-direction:column}.timeline span:nth-of-type(2),.timeline span:nth-of-type(3){display:none}.stack-list p{grid-template-columns:1fr;gap:.7rem}.contact h2{font-size:3rem}.contact>div,footer{flex-direction:column}.terminal pre{font-size:.62rem}.filter-row{grid-template-columns:1fr 1fr;display:grid}.command-help{justify-content:space-between;gap:.4rem}.ai-companion{width:165px;height:115px;bottom:.15rem;right:.2rem}.robot-trigger{width:165px;height:115px}.robot-status{bottom:3px;right:2px}.companion-callout{bottom:45px;right:140px}.chat-panel{width:calc(100vw - 1.5rem);height:min(500px,100dvh - 125px);position:fixed;bottom:105px;right:.75rem}.scroll-scene i{filter:blur(60px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}.hero:after{display:none}.robot-trigger,.hero-grid,.hero-meta,.hero .timeline,.section-head,.intro-strip p,.scroll-scene,.scroll-scene:before,.scroll-scene i,.ai-card{transform:none!important}}
