@font-face{font-family:Unbounded;font-style:normal;font-weight:200 500;font-display:swap;src:url(./unbounded-latin-CRXBNjfR.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}:root{--bg:#0a0806;--surface:#110e0b;--surface-hover:#17130f;--tile:#1a1510;--line:#fff4e114;--line-strong:#fff4e129;--gold:#e2bd7a;--gold-bright:#f4d9a4;--gold-muted:#b99a63;--gold-line:#e2bd7a3d;--text:#f3efe8;--text-muted:#b9b2a6;--text-subtle:#9d968b;--success:var(--success);--danger:var(--danger);--display:"Unbounded", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}html{scroll-behavior:smooth}body{color:var(--text);background-color:var(--bg);background-image:radial-gradient(circle at 70% 40vh,#78542238 0%,#0000 80vh),radial-gradient(circle at 30% 20vh,#46301433 0%,#0000 60vh),radial-gradient(circle at 0 0,#140f0acc 0%,#0000 50vh);background-position:top;background-repeat:no-repeat;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;line-height:1.6}nav{-webkit-backdrop-filter:blur(12px);z-index:50;background:#0a0806d1;border-bottom:1px solid #fff4e114;width:100%;padding:1rem 0;position:fixed;top:0}nav .container{justify-content:space-between;align-items:center;max-width:56rem;margin:0 auto;padding:0 2rem;display:flex}nav .logo{min-width:44px;min-height:44px;color:var(--gold);justify-content:center;align-items:center;margin-left:-.75rem;font-size:1.25rem;font-weight:300;text-decoration:none;transition:opacity .3s;display:inline-flex}nav .logo:hover{opacity:.7}nav .links{gap:2rem;display:flex}nav a.nav-link{min-height:44px;color:var(--text-subtle);align-items:center;font-size:.9rem;text-decoration:none;transition:color .3s;display:inline-flex}nav a.nav-link:hover,nav a.nav-link.active{color:var(--text)}nav a.nav-link.active{box-shadow:inset 0 -1px 0 var(--gold)}.nav-toggle{display:none}.container{max-width:56rem;margin:0 auto;padding:0 2rem}section{padding:5rem 0}section:first-of-type{padding-top:8rem}#home{padding-bottom:1rem}#experience{padding-top:1rem}h1{font-family:var(--display);letter-spacing:-.01em;color:var(--text);margin-bottom:.75rem;font-size:2.8rem;font-weight:300;line-height:1.12}h2{font-family:var(--display);color:var(--text);margin-bottom:2.5rem;font-size:1.6rem;font-weight:300}.hero-layout{justify-content:space-between;align-items:flex-start;gap:3rem;display:flex}.hero-text{flex:1}.hero-photo{background:linear-gradient(135deg, #2a241d, var(--tile));border:2px solid var(--gold-line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:160px;height:160px;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.hero-photo img{object-fit:cover;width:100%;height:100%}.subtitle{color:var(--text-subtle);margin-bottom:1.5rem;font-size:1.1rem;font-weight:400}.bio{color:var(--text-subtle);flex-direction:column;gap:.75rem;margin-bottom:2rem;font-size:.95rem;display:flex}.bio-item{align-items:center;gap:.75rem;display:flex}.bio strong{color:var(--text)}.bio-icon{fill:none;width:20px;height:20px;stroke:var(--gold);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.social-icons{gap:1rem;margin-bottom:3rem;display:flex}.social-icon{width:44px;height:44px;color:var(--text-subtle);background:#fff4e114;border:1px solid #fff4e11f;border-radius:.5rem;justify-content:center;align-items:center;text-decoration:none;transition:all .3s;display:flex}.social-icon:hover{color:var(--gold-bright);border-color:var(--gold-line);background:#e2bd7a1a}.social-icon svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:20px;height:20px}.experience-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:1.5rem;margin-bottom:1.25rem;padding:24px;transition:all .3s;display:flex}.experience-card:hover{background:var(--surface-hover);border-color:var(--gold-line);transform:translateY(-2px)}.exp-logo{background:var(--tile);border:1px solid #fff4e10d;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:76px;height:76px;display:flex;overflow:hidden}.exp-logo img,.exp-logo svg{object-fit:contain;width:65%;height:65%}.exp-info{flex-direction:column;flex:1;justify-content:center;display:flex}.exp-info h3{color:var(--text);letter-spacing:.2px;margin-bottom:.2rem;font-size:1.25rem;font-weight:600}.exp-info .exp-role{color:var(--text);margin-bottom:.4rem;font-size:1.05rem;font-weight:500}.exp-info .exp-date{color:var(--text-subtle);margin-bottom:.4rem;font-size:.85rem}.exp-info .exp-desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.exp-logo-full img{object-fit:cover;width:100%;height:100%}.exp-bullets{flex-direction:column;gap:.35rem;list-style:none;display:flex}.exp-bullets li{padding-left:1rem;position:relative}.exp-bullets li:before{content:"▪";color:var(--gold-muted);position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.project-card{cursor:pointer;background:#fff4e105;border:1px solid #fff4e114;border-radius:.75rem;flex-direction:column;padding:1.5rem;transition:all .3s;display:flex}.project-card:hover{border-color:var(--gold-line);background:#fff4e10d;transform:translateY(-2px)}.project-title{color:var(--text);margin-bottom:.5rem;font-size:1.05rem;font-weight:600}.project-desc{color:var(--text-subtle);flex-grow:1;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.project-details{color:var(--text-subtle);margin-bottom:1rem;font-size:.9rem;line-height:1.7;display:none}.expand-hint{min-height:44px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.55rem;margin-top:.25rem;padding:0 .1rem;font-size:.85rem;transition:color .3s;display:inline-flex}.expand-hint:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;transition:transform .3s;transform:translateY(-2px)rotate(45deg)}.project-card:hover .expand-hint,.expand-hint:hover{color:var(--gold-bright)}.project-card.expanded .expand-hint:before{transform:translateY(2px)rotate(-135deg)}.project-card.expanded .project-details{display:block}.highlights{margin-top:.75rem}.highlights-label{color:var(--text-subtle);margin-bottom:.4rem;font-size:.8rem;font-weight:600}.highlights-list{list-style:none}.highlights-list li{color:var(--text-subtle);gap:.5rem;margin-bottom:.3rem;font-size:.85rem;display:flex}.tech-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.tech-tag{color:var(--text-subtle);background:#fff4e10d;border:1px solid #fff4e114;border-radius:.3rem;padding:.3rem .65rem;font-size:.75rem}.project-links{border-top:1px solid #fff4e10f;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.project-link{min-height:44px;color:var(--text-subtle);text-align:center;background:#fff4e10a;border:1px solid #fff4e114;border-radius:.5rem;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.project-link:hover{color:var(--gold-bright);border-color:var(--gold-line);background:#e2bd7a14}.project-link svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:14px;height:14px}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2.5rem;margin-bottom:2.5rem;display:grid}.skill-category-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-subtle);margin-bottom:1rem;font-size:.75rem;font-weight:700}.skill-list{flex-wrap:wrap;gap:.5rem;display:flex}.skill-item{color:var(--text-subtle);background:#fff4e10a;border:1px solid #fff4e10f;border-radius:.3rem;padding:.4rem .75rem;font-size:.85rem;transition:all .3s}.skill-item:hover{color:var(--gold-bright);background:#e2bd7a14}.languages-section{border-top:1px solid #fff4e10f;margin-top:2.5rem;padding-top:2.5rem}.languages-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:2rem;display:grid}.language-item p:first-child{color:var(--text);margin-bottom:.3rem;font-weight:500}.language-item p:last-child{color:var(--gold-muted);font-size:.85rem}.contact-text{color:var(--text-subtle);margin-bottom:2rem;font-size:1rem;line-height:1.8}.button-group{flex-wrap:wrap;gap:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gold);color:#1a140c;font-weight:600}.btn-primary:hover{background:var(--gold-bright);transform:translateY(-2px)}.btn-secondary{border:1px solid var(--gold-line);color:var(--gold);background:0 0}.btn-secondary:hover{border-color:var(--gold);color:var(--gold-bright);background:#e2bd7a14}footer{text-align:center;color:var(--text-subtle);border-top:1px solid #fff4e10f;padding:3rem 0;font-size:.85rem}@media (width<=768px){h1{font-size:2.2rem}h2{font-size:1.4rem}.hero-layout{text-align:center;flex-direction:column-reverse;align-items:center;gap:2rem}.hero-photo{width:140px;height:140px}.bio-item,.social-icons{justify-content:center}.container{padding:0 1.5rem}nav{padding:.5rem 0}nav .container{padding:0 1.5rem}.nav-toggle{border:1px solid var(--line-strong);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:.6rem;justify-content:center;align-items:center;margin-right:-.5rem;display:inline-flex}.nav-toggle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:20px;height:20px}.nav-toggle .nav-toggle-close,nav[data-open=true] .nav-toggle .nav-toggle-open{display:none}nav[data-open=true] .nav-toggle .nav-toggle-close{display:block}nav .links{border-bottom:1px solid var(--line);background:#0a0806f7;flex-direction:column;gap:0;padding:.25rem 1.5rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}nav[data-open=true] .links{display:flex}nav a.nav-link{border-bottom:1px solid var(--line);min-height:48px;font-size:1rem}nav a.nav-link.active{box-shadow:none;color:var(--gold)}section{padding:3.5rem 0}.projects-grid{grid-template-columns:1fr;gap:1rem}.skills-grid{grid-template-columns:1fr;gap:2rem}.button-group{flex-direction:column}.btn{text-align:center}.experience-card{gap:1rem}}#ai-lab .ai-lab-header{margin-bottom:2rem}.ai-lab-badge-wrap{margin-bottom:1rem;display:inline-block}.ai-lab-badge{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:#fff4e10a;border:1px solid #fff4e11f;border-radius:999px;padding:.3rem .8rem;font-size:.75rem;font-weight:600;display:inline-block}.ai-lab-lead{color:var(--text-muted);max-width:42rem;margin-bottom:1.25rem;font-size:.98rem;line-height:1.7}.ai-lab-meta{flex-wrap:wrap;gap:.5rem;display:flex}.ai-lab-chip{color:var(--text-muted);background:#fff4e10a;border:1px solid #fff4e114;border-radius:.3rem;padding:.3rem .65rem;font-size:.75rem}.ai-lab-card{background:#fff4e105;border:1px solid #fff4e114;border-radius:.75rem;padding:1.5rem;transition:border-color .3s}.ai-lab-card:focus-within{border-color:var(--gold-line)}.ai-lab-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-subtle);margin-bottom:.6rem;font-size:.75rem;font-weight:700;display:block}.ai-lab-textarea{resize:vertical;width:100%;min-height:110px;color:var(--text);background:#fff4e108;border:1px solid #fff4e11a;border-radius:.5rem;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;line-height:1.55;transition:border-color .3s,background .3s}.ai-lab-textarea:focus{border-color:var(--gold);background:#fff4e10d}.ai-lab-textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.ai-lab-textarea:disabled{opacity:.65;cursor:not-allowed}.ai-lab-examples{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.ai-lab-example{min-height:32px;color:var(--text-muted);cursor:pointer;background:#fff4e10a;border:1px solid #fff4e114;border-radius:999px;padding:.35rem .8rem;font-family:inherit;font-size:.8rem;transition:all .2s}.ai-lab-example:hover:not(:disabled){color:var(--gold-bright);border-color:var(--gold-line);background:#e2bd7a14}.ai-lab-example:disabled{opacity:.4;cursor:not-allowed}.ai-lab-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.ai-lab-run{min-width:180px;min-height:44px;color:var(--text);text-shadow:0 1px 2px #0009;font-weight:600}.ai-lab-run:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-lab-hint{color:var(--text-subtle);font-size:.8rem}.ai-lab-status{align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.ai-lab-status-text{flex:1;min-width:0}.ai-lab-progress-bar{background:#fff4e10f;border-radius:999px;width:100%;height:6px;overflow:hidden}.ai-lab-progress-fill{background:linear-gradient(90deg, var(--gold-muted), var(--gold-bright));height:100%;transition:width .2s ease-out}.ai-lab-progress-text{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.ai-lab-result{background:#fff4e108;border:1px solid #fff4e114;border-radius:.5rem;margin-top:1.25rem;padding:1rem 1.25rem}.ai-lab-result-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-subtle);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.ai-lab-result-value{color:var(--text);letter-spacing:.02em;margin-bottom:.3rem;font-size:1.2rem;font-weight:600}.ai-lab-result-score{color:var(--text-muted);font-size:.85rem}.ai-lab-result-positive{background:#50c88c14;border-color:#50c88c40}.ai-lab-result-positive .ai-lab-result-value{color:var(--success)}.ai-lab-result-negative{background:#ff6e7814;border-color:#ff6e7840}.ai-lab-result-negative .ai-lab-result-value{color:var(--danger)}.ai-lab-error{color:var(--danger);background:#ff6e780f;border:1px solid #ff6e7833;border-radius:.5rem;margin-top:1.25rem;padding:.85rem 1rem;font-size:.9rem}.ai-lab-footnote{color:var(--text-subtle);margin-top:1.25rem;font-size:.8rem}.ai-lab-footnote a{color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:var(--gold-line);text-decoration-color:var(--gold-line)}.ai-lab-footnote a:hover{color:var(--gold-bright)}@media (width<=768px){.ai-lab-actions{flex-direction:column;align-items:stretch}.ai-lab-run{width:100%}.ai-lab-hint{text-align:center}}.ai-lab-divider{background:linear-gradient(90deg,#0000,#fff4e11f,#0000);height:1px;margin:3rem 0 2rem}.workflow-panel{flex-direction:column;gap:1.5rem;display:flex}.workflow-header{flex-direction:column;gap:.75rem;display:flex}.workflow-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-line);background:#e2bd7a14;border-radius:999px;align-self:flex-start;padding:.28rem .7rem;font-size:.75rem;font-weight:700}.workflow-title{color:var(--text);letter-spacing:.01em;margin:0;font-size:1.35rem;font-weight:600}.workflow-lead{color:var(--text-muted);max-width:42rem;margin:0;font-size:.95rem;line-height:1.65}.workflow-card{flex-direction:column;gap:1rem;display:flex}.workflow-actions{justify-content:flex-start;gap:.75rem}.workflow-reset{padding:.7rem 1.4rem}.workflow-reset:disabled{opacity:.4;cursor:not-allowed}.workflow-timeline{flex-direction:column;gap:.6rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex;position:relative}.workflow-step{background:#fff4e105;border:1px solid #fff4e10f;border-radius:.6rem;grid-template-columns:40px 1fr auto;align-items:center;gap:1rem;padding:.85rem 1rem;transition:background .3s,border-color .3s;display:grid}.workflow-step-marker{width:32px;height:32px;color:var(--text-subtle);background:#fff4e10a;border:1px solid #fff4e11a;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;transition:background .3s,border-color .3s,color .3s;display:flex}.workflow-step-glyph{font-family:inherit;line-height:1}.workflow-step-body{min-width:0}.workflow-step-name{color:var(--text);align-items:baseline;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.workflow-step-index{letter-spacing:.12em;color:var(--gold-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.workflow-step-desc{color:var(--text-subtle);margin-top:.15rem;font-size:.85rem;line-height:1.5}.workflow-step-status{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);white-space:nowrap;align-items:center;gap:.45rem;font-size:.75rem;font-weight:600;display:inline-flex}.workflow-step-status-dot{background:#fff4e126;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #fff4e10d}.workflow-step-running{background:#e2bd7a0d;border-color:#e2bd7a47}.workflow-step-running .workflow-step-marker{color:var(--gold);background:#e2bd7a14;border-color:#e2bd7a80}.workflow-step-running .workflow-step-status{color:var(--gold)}.workflow-step-running .workflow-step-status-dot{background:var(--gold);animation:1.4s ease-in-out infinite workflow-pulse;box-shadow:0 0 0 3px #e2bd7a26}.workflow-step-completed{background:#50c88c0a;border-color:#50c88c33}.workflow-step-completed .workflow-step-marker{color:var(--success);background:#50c88c1a;border-color:#7ee0aa66}.workflow-step-completed .workflow-step-status{color:var(--success)}.workflow-step-completed .workflow-step-status-dot{background:var(--success);box-shadow:0 0 0 2px #7ee0aa26}.workflow-step-failed{background:#ff6e780a;border-color:#ff6e7840}.workflow-step-failed .workflow-step-marker{color:var(--danger);background:#ff6e781a;border-color:#ff9aa266}.workflow-step-failed .workflow-step-status{color:var(--danger)}.workflow-step-failed .workflow-step-status-dot{background:var(--danger);box-shadow:0 0 0 2px #ff9aa226}@keyframes workflow-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}@media (prefers-reduced-motion:reduce){.workflow-step-running .workflow-step-status-dot{animation:none}.workflow-step{transition:none}}.workflow-result{background:#e2bd7a0a;border:1px solid #e2bd7a38;border-radius:.75rem;margin-top:.5rem;padding:1.25rem 1.25rem 1rem}.workflow-result-header{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.workflow-result-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);align-self:flex-start;font-size:.75rem;font-weight:700}.workflow-result-title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.workflow-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.2rem;margin:0;display:grid}.workflow-result-row{flex-direction:column;gap:.25rem;min-width:0;display:flex}.workflow-result-row-wide{grid-column:1/-1}.workflow-result-row dt{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-muted);font-size:.75rem;font-weight:700}.workflow-result-row dd{color:var(--text);margin:0;font-size:.92rem;line-height:1.55}.workflow-tools{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.workflow-tool-chip{color:var(--text-muted);background:#fff4e10a;border:1px solid #fff4e11a;border-radius:.35rem;padding:.3rem .65rem;font-size:.78rem}.workflow-result-note{color:var(--text-subtle);margin:1rem 0 0;font-size:.8rem;line-height:1.5}.workflow-live-region{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.workflow-step{grid-template-rows:auto auto;grid-template-columns:32px 1fr;gap:.6rem .85rem;padding:.75rem}.workflow-step-marker{width:28px;height:28px;font-size:.8rem}.workflow-step-status{grid-area:2/2;justify-self:flex-start;margin-top:.35rem}.workflow-result-grid{grid-template-columns:1fr}}@media (pointer:coarse){.ai-lab-example{min-height:44px;padding:.5rem 1rem}}
