:root{--bg-0: #080809;--bg-1: #0d0d11;--bg-2: #131318;--surface-0: rgba(16, 16, 20, .96);--surface-1: rgba(20, 20, 26, .98);--line: rgba(255, 255, 255, .07);--text-0: #e2e2dc;--text-1: #787882;--text-reading: #c8c8c0;--green: #4ade80;--amber: #fbbf24;--red: #f87171;--blue: #60a5fa;--accent: #4ade80;--cyan: #4ade80;--mint: #4ade80;--shadow: 0 28px 90px rgba(0, 0, 0, .72);--font-reading: "IBM Plex Mono", monospace;--glass-border: rgba(255, 255, 255, .06);--glass-inner: rgba(255, 255, 255, .04);--glass-bg-0: rgba(13, 13, 17, .82);--glass-bg-1: rgba(10, 10, 14, .92);--glass-shadow: 0 18px 44px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .05);--glass-shadow-hover: 0 24px 56px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .07)}*{box-sizing:border-box}:root{color-scheme:dark}html{position:relative;scroll-behavior:smooth}body{position:relative;margin:0;min-width:320px;color:var(--text-0);font-family:IBM Plex Mono,monospace;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;background:var(--bg-0)}::selection{color:#fff;background:#22c55e57}a{color:inherit}h1,h2,h3,h4{margin:0;font-family:IBM Plex Mono,monospace;font-weight:600;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}main{display:grid;gap:0;padding-bottom:3rem}.section{width:min(860px,calc(100% - 2rem));margin:0 auto;padding:4rem 0;position:relative;scroll-margin-top:52px}.section-tag{margin-bottom:.9rem;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}.glass-reading{color:var(--text-reading);font-family:var(--font-reading);line-height:1.72;letter-spacing:.001em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:var(--bg-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-1)}*{scrollbar-width:thin;scrollbar-color:var(--bg-2) var(--bg-0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.scroll-progress{position:fixed;inset:0 0 auto;z-index:80;height:1px;transform-origin:0 50%;background:var(--green)}.app-shell{position:relative;overflow:clip}.deferred-shell{content-visibility:auto;contain-intrinsic-size:920px}.deferred-shell-placeholder,.deferred-section-loader,.details-content-loader{min-height:inherit}.details-content-loader{min-height:980px}.deferred-section-inner{width:100%}.top-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:0;width:100%;padding:0 clamp(1rem,4vw,2.5rem);height:52px;border-bottom:1px solid var(--line);background:#080809f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:inline-flex;align-items:center;gap:.52rem;margin-right:2rem;text-decoration:none;flex-shrink:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;color:var(--bg-0);font-size:.58rem;font-weight:700;letter-spacing:.04em;border:1px solid var(--green);background:var(--green)}.brand-name{color:var(--text-0);font-size:.8rem;letter-spacing:.04em}.nav-items{display:flex;align-items:center;gap:0;margin-right:auto;flex-wrap:wrap;list-style:none;padding:0;margin-left:0}.nav-items li{display:flex}.nav-link{display:inline-flex;align-items:center;height:52px;padding:0 .9rem;color:var(--text-1);font-size:.72rem;letter-spacing:.06em;text-decoration:none;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}.nav-link:hover{color:var(--text-0)}.nav-link.is-active{color:var(--green);border-bottom-color:var(--green)}.nav-menu-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-1);background:none;border:1px solid var(--line);cursor:pointer;font-size:1rem;margin-left:auto}.nav-cta{color:var(--green);font-size:.72rem;letter-spacing:.06em;text-decoration:none;flex-shrink:0;transition:color .18s ease}.nav-cta:hover{color:#86efac}.nav-link:focus-visible,.nav-menu-toggle:focus-visible,.nav-cta:focus-visible{outline:1px solid var(--green);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.glass-card{border:1px solid var(--line);background:var(--bg-1);border-radius:4px}.ui-action{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);font-size:.76rem;letter-spacing:.05em;text-decoration:none;transition:color .18s ease;background:none;border:none;cursor:pointer;padding:0}.ui-action:hover{color:#d4bfff}.ui-action-primary{color:var(--green)}.ui-action-primary:hover{color:#86efac}.ui-action-secondary{color:var(--text-1)}.ui-action-secondary:hover{color:var(--text-0)}.ui-action-ghost{color:var(--text-1)}.ui-action-chip{font-size:.7rem}.ui-action-icon{opacity:.8}.ui-action-symbol{width:.9rem;height:.9rem;flex:0 0 .9rem;display:inline-flex;align-items:center}.ui-action-symbol svg{width:100%;height:100%}.hero{position:relative;width:100%;min-height:100svh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-0);background-image:radial-gradient(rgba(255,255,255,.028) 1px,transparent 1px);background-size:28px 28px}.term-win{width:min(860px,calc(100% - 2.4rem));border:1px solid rgba(255,255,255,.1);border-radius:10px;background:var(--bg-1);box-shadow:0 0 0 1px #ffffff0a,0 40px 120px #000000b3,0 0 80px #4ade800a;overflow:hidden}.term-chrome{display:flex;align-items:center;gap:.55rem;padding:.65rem 1rem;background:var(--bg-2);border-bottom:1px solid rgba(255,255,255,.06);-webkit-user-select:none;user-select:none}.term-dots{display:flex;gap:.42rem;flex-shrink:0}.dot{width:11px;height:11px;border-radius:50%}.dot-red{background:#ff5f57}.dot-amber{background:#febc2e}.dot-green{background:#28c840}.term-win-title{flex:1;text-align:center;color:var(--text-1);font-size:.7rem;letter-spacing:.04em}.term-clock{color:var(--text-1);font-size:.68rem;letter-spacing:.06em;flex-shrink:0;font-variant-numeric:tabular-nums}.term-body{padding:1.4rem 1.6rem 1.6rem;font-size:.82rem;line-height:1.7}.term-line{display:flex;align-items:baseline;gap:.1rem;margin-bottom:1rem}.term-prompt-user{color:var(--green)}.term-prompt-at{color:var(--text-1)}.term-prompt-host{color:var(--accent)}.term-prompt-path{color:var(--blue)}.term-prompt-sep{color:var(--text-1)}.term-prompt-dollar{color:var(--text-0);margin-right:.5rem}.term-prompt-cmd{color:var(--text-0)}.term-cursor{display:inline-block;width:.55em;height:1.1em;background:var(--green);margin-left:.1rem;vertical-align:text-bottom;animation:blink 1.1s step-start infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media(prefers-reduced-motion:reduce){.term-cursor{animation:none}}.term-output{padding-left:0;margin-bottom:1.1rem}.term-comment{color:var(--text-1);margin-bottom:.65rem}.term-kv-block{display:grid;gap:.22rem;margin-bottom:.2rem}.term-kv{display:flex;gap:1rem}.term-key{color:var(--text-1);min-width:9ch;flex-shrink:0;font-size:.76rem}.term-val{color:var(--text-0)}.term-val-green{color:var(--green)}.term-val-amber{color:var(--amber)}.term-val-dim{color:var(--text-1)}.term-divider{color:#ffffff1a;letter-spacing:.04em;overflow:hidden;white-space:nowrap;margin:.4rem 0;-webkit-user-select:none;user-select:none}.term-table-head{display:grid;grid-template-columns:16ch 18ch 20ch 9ch;gap:.5rem;color:var(--text-1);font-size:.72rem;letter-spacing:.08em;padding-bottom:.3rem}.term-table-row{display:grid;grid-template-columns:16ch 18ch 20ch 9ch;gap:.5rem;font-size:.8rem;padding:.16rem 0;transition:color .15s ease}.term-table-row:hover .term-proc-name{color:#fff}.term-proc-name{color:var(--text-0)}.term-proc-type,.term-proc-stack{color:var(--text-1);font-size:.72rem}.term-state-live{color:var(--green)}.term-state-active{color:var(--amber)}.term-state-dev{color:var(--text-1)}.term-actions{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin-top:.4rem}.term-action-link{color:var(--accent);text-decoration:none;font-size:.8rem;transition:color .18s ease}.term-action-link:hover{color:#d4bfff}.term-action-link-live{color:var(--green)}.term-action-link-live:hover{color:#86efac}@media(max-width:700px){.term-body{padding:1rem 1rem 1.2rem;font-size:.75rem}.term-table-head,.term-table-row{grid-template-columns:13ch 1fr 8ch}.term-table-head>:nth-child(3),.term-table-row>:nth-child(3){display:none}}@media(max-width:480px){.term-win{border-radius:6px}.term-table-head,.term-table-row{grid-template-columns:12ch 1fr 7ch}.term-key{min-width:7.5ch}}.projects-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--line)}.projects-section-label{color:var(--text-1);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.projects-count{color:#4ade8040;font-size:.72rem;letter-spacing:.1em}.projects-table-head{display:grid;grid-template-columns:3rem 1.6fr 1fr 1fr 7rem;gap:1.2rem;padding:0 0 .6rem;border-bottom:1px solid var(--line);color:var(--text-1);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.projects-list{display:grid;margin-bottom:1.5rem}.project-item{border-bottom:1px solid var(--line);overflow:hidden}.project-row{display:grid;grid-template-columns:3rem 1.6fr 1fr 1fr 7rem;align-items:center;gap:1.2rem;width:100%;padding:1rem 0;cursor:pointer;background:none;border:none;color:var(--text-0);text-align:left;transition:background .18s ease}.project-row:hover{background:#ffffff05}.project-item.is-expanded .project-row{background:#4ade8008}.project-num{color:var(--text-1);font-size:.7rem;letter-spacing:.06em;-webkit-user-select:none;user-select:none}.project-name{font-size:.88rem;font-weight:500;color:var(--text-0);letter-spacing:-.01em}.project-row:hover .project-name{color:#fff}.project-category{color:var(--text-1);font-size:.72rem;letter-spacing:.04em}.project-stack-preview{color:var(--text-1);font-size:.7rem}.project-status{display:flex;align-items:center;gap:.38rem;font-size:.7rem;letter-spacing:.06em}.project-status-live{color:var(--green)}.project-status-active{color:var(--amber)}.project-status-dev{color:var(--text-1)}.project-detail{overflow:hidden}.project-detail-inner{display:grid;gap:1rem;padding:.8rem 0 1.6rem 4.2rem;border-top:1px solid var(--line)}.project-summary-text{max-width:68ch;color:var(--text-1);font-size:.8rem;line-height:1.75}.project-detail-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.project-tags-list{display:flex;flex-wrap:wrap;gap:.4rem}.project-tags-list li{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .5rem;color:var(--text-1);font-size:.66rem;border:1px solid var(--line);border-radius:3px;background:var(--bg-2);letter-spacing:.02em}.project-tags-list li svg{font-size:.74rem}.project-action-links{display:flex;gap:1.2rem;flex-shrink:0}.project-action-link{color:var(--accent);font-size:.72rem;letter-spacing:.06em;text-decoration:none;transition:color .18s ease}.project-action-link:hover{color:#d4bfff}.project-action-link-live{color:var(--green)}.project-action-link-live:hover{color:#86efac}.projects-more{padding-top:1rem;display:flex;justify-content:flex-end}.projects-more-link{color:var(--text-1);font-size:.7rem;letter-spacing:.08em;text-decoration:none;cursor:pointer;background:none;border:none;transition:color .18s ease}.projects-more-link:hover{color:var(--text-0)}@media(max-width:860px){.projects-table-head,.project-row{grid-template-columns:2.5rem 1.4fr 1fr 6rem;gap:.9rem}.projects-table-head>:nth-child(4),.project-row>.project-stack-preview{display:none}}@media(max-width:600px){.projects-table-head,.project-row{grid-template-columns:2rem 1fr 5.5rem;gap:.65rem}.projects-table-head>:nth-child(3),.project-row>.project-category{display:none}.project-detail-inner{padding-left:2.7rem}.project-name{font-size:.82rem}}.signal-strip{margin:0;border-top:1px solid rgba(63,63,70,.66);border-bottom:1px solid rgba(63,63,70,.66);background:linear-gradient(180deg,#090e18e6,#0a121de0);overflow:hidden}.signal-track{display:flex;width:max-content;gap:2.45rem;padding:.9rem 0;animation:signal-drift 24s linear infinite}.signal-track span{display:inline-flex;align-items:center;color:#b3b5c3f5;font-family:IBM Plex Mono,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.signal-track em{margin-left:2.2rem;color:var(--cyan);font-style:normal}.signal-strip:hover .signal-track{animation-play-state:paused}@keyframes signal-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}#about h2,#now h2,#projects h2,#details h2,#volunteering h2,#impact h2,#deep-dives h2,#architecture h2,#experience h2,#skills h2,#contact h2{margin-bottom:1.25rem;max-width:16ch;color:#f6f7fb;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(1.85rem,3.9vw,2.85rem);line-height:1.08;letter-spacing:-.018em}.more-details{display:grid;gap:1rem}.details-summary{max-width:64ch;color:var(--text-1);font-size:.78rem;line-height:1.7}.details-toggle-btn{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;color:var(--text-1);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.06em;background:none;border:none;cursor:pointer;padding:0;transition:color .18s ease}.details-toggle-btn:hover{color:var(--text-0)}.details-chevron{transition:transform .22s ease}.details-chevron.is-open{transform:rotate(180deg)}#details-content{display:grid;gap:5.4rem;content-visibility:auto;contain-intrinsic-size:1200px}.about-bento{display:grid;grid-template-columns:1.18fr .82fr;gap:1rem}.about-card{display:grid;gap:0;border-radius:1rem;padding:1.08rem}.about-eyebrow{margin-bottom:.62rem;color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}.about-primary h3{margin-bottom:.72rem;font-size:clamp(1.25rem,2vw,1.56rem);line-height:1.22}.about-primary>p{color:#dce3f2;font-family:var(--font-reading);font-size:1.02rem;line-height:1.78}.about-meta{display:grid;gap:.52rem;margin-top:.88rem}.about-meta li{display:inline-flex;align-items:flex-start;gap:.5rem;color:#e2e9f7;font-size:.92rem;line-height:1.54}.about-meta li svg{margin-top:.1rem;color:var(--amber);font-size:.95rem;flex:0 0 auto}.about-stats h3{margin-bottom:.7rem;font-size:1.18rem}.about-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.58rem}.about-stat-chip{display:grid;align-content:start;min-height:4rem;padding:.6rem .64rem;border:1px solid rgba(102,128,158,.5);border-radius:.8rem;background:#14182099;transition:transform .2s ease,border-color .2s ease,background .2s ease}.about-stat-chip:hover{transform:translateY(-1px);border-color:#b6c9eca8;background:#181c27b8}.about-stat-chip strong{display:block;margin-bottom:.28rem;color:#ecf3ff;font-family:Sora,sans-serif;font-size:1.16rem;line-height:1.1}.about-stat-chip span{color:var(--text-reading);font-family:var(--font-reading);font-size:.9rem;line-height:1.45}.now-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.now-card{display:grid;gap:0;height:100%;border-radius:1rem;padding:1rem}.now-card:hover{border-color:#bfceec70}.now-card header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.62rem}.now-card h3{font-size:1.08rem}.now-title-wrap{display:inline-flex;align-items:center;gap:.52rem;min-width:0}.now-title-logo{display:block;width:1.75rem;height:1.75rem;object-fit:contain;flex:0 0 1.75rem;padding:.2rem;border:1px solid rgba(112,136,170,.46);border-radius:.5rem;background:#0d1118d6}.now-title-logo-square{padding:.15rem;border-radius:.56rem;background:#080b12f0}.now-status{display:inline-flex;align-items:center;justify-content:center;min-height:1.7rem;padding:0 .55rem;color:#d4f5ff;font-family:IBM Plex Mono,monospace;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(58,118,136,.75);border-radius:999px;background:#122b3785}.now-card>p{margin-bottom:.9rem;color:#dbe3f1;font-family:var(--font-reading);line-height:1.7}.now-links{display:flex;flex-wrap:wrap;gap:.52rem}.volunteering-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:.95rem}.community-card,.volunteer-card{display:grid;gap:0;border-radius:1rem;padding:1rem}.volunteer-card:hover,.community-card:hover{border-color:#bfceec70}.community-card h3{margin-bottom:.56rem;font-size:clamp(1.36rem,2.8vw,1.88rem)}.community-card p{margin-bottom:.86rem;color:#dbe3f1;font-family:var(--font-reading);line-height:1.72}.volunteer-list{display:grid;gap:.78rem}.volunteer-card header{margin-bottom:.62rem}.volunteer-period{color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.volunteer-card h3{margin-top:.36rem;margin-bottom:.32rem;font-size:1.06rem}.volunteer-card header p{color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.volunteer-summary{margin-bottom:.68rem;color:#dbe3f1;font-family:var(--font-reading);line-height:1.7}.volunteer-card ul{display:grid;gap:.48rem}.volunteer-card li{display:inline-flex;align-items:flex-start;gap:.48rem;color:#d4e3f6;line-height:1.52}.volunteer-card li svg{margin-top:.14rem;color:var(--cyan);font-size:.88rem;flex:0 0 auto}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-card{display:grid;gap:.1rem;border-radius:1rem;padding:1rem}.metric-card h3{margin-bottom:.42rem;font-size:.98rem}.metric-card p:not(.metric-value){color:var(--text-reading);font-family:var(--font-reading);font-size:.95rem;line-height:1.72}.metric-card small{display:block;margin-top:.65rem;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.69rem}.metric-value{display:flex;align-items:baseline;gap:.35rem;margin-bottom:.35rem;color:var(--mint);font-family:Sora,sans-serif;font-size:clamp(1.9rem,3.7vw,2.5rem);font-weight:700}.metric-value span{color:#cce9ff;font-family:IBM Plex Mono,monospace;font-size:.9rem}.project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.project-grid>div{grid-column:span 4}.project-grid>div:nth-child(1),.project-grid>div:nth-child(4){grid-column:span 5}.project-grid>div:nth-child(2),.project-grid>div:nth-child(5){grid-column:span 3}.project-card{display:grid;gap:0;height:100%;border-radius:1rem;padding:1.1rem}.project-card:hover{border-color:#bfceec70}.project-card:hover .project-brand-logo,.project-card:hover .project-org-logo,.project-card:hover .project-preview img{transform:translateY(-1px) scale(1.02)}.project-card:after{inset:auto 0 0;height:5.5rem;background:linear-gradient(180deg,transparent,rgba(34,197,94,.08));opacity:.65}.project-brand-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem;margin-bottom:.55rem}.project-org-wrap{display:inline-flex;align-items:center;gap:.45rem}.project-org-logo{display:block;width:1.32rem;height:1.32rem;object-fit:contain;flex:0 0 1.32rem;padding:.12rem;border:1px solid rgba(112,136,170,.5);border-radius:.42rem;background:#0d1118d6;transition:transform .24s ease,filter .24s ease}.project-org{margin:0;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.project-brand-logo{display:block;max-width:min(8.6rem,100%);max-height:1.65rem;object-fit:contain;object-position:right center;transition:transform .24s ease,filter .24s ease}.project-brand-logo-square{width:2rem;max-width:2rem;max-height:2rem;padding:.16rem;border:1px solid rgba(104,126,160,.66);border-radius:.6rem;background:#0a0e16db;object-position:center}.project-brand-fallback{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:#d9e7ff;font-family:IBM Plex Mono,monospace;font-size:.66rem;letter-spacing:.08em;border:1px solid rgba(102,128,162,.74);border-radius:.6rem;background:#10141ee0}.project-card h3{margin-bottom:.52rem;font-size:1.24rem;line-height:1.16}.project-card>p{margin-bottom:1rem;color:#d8dfec;font-family:var(--font-reading);line-height:1.76}.project-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:1rem}.project-preview{position:relative;margin:0;overflow:hidden;border:1px solid rgba(110,128,156,.64);border-radius:.74rem;background:linear-gradient(180deg,#0e121be0,#090b10eb);box-shadow:inset 0 1px #ffffff0a}.project-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 35%);pointer-events:none}.project-preview img{display:block;width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform .28s ease,filter .28s ease}.pill-list{display:flex;flex-wrap:wrap;gap:.44rem;margin-bottom:1rem}.pill-list li{display:inline-flex;align-items:center;gap:.34rem;padding:.3rem .58rem;color:#d1ddf2;font-family:IBM Plex Mono,monospace;font-size:.69rem;border:1px solid rgba(96,108,132,.74);border-radius:999px;background:#191d27cc;box-shadow:inset 0 1px #ffffff0d;transition:transform .2s ease,border-color .2s ease,background .2s ease}.pill-list li svg{font-size:.78rem}.pill-list li:hover{transform:translateY(-1px);border-color:#4ade80b8;background:#1f2331db}.project-links{display:flex;flex-wrap:wrap;gap:.75rem}.project-links .ui-action{flex:1 1 10rem}.projects-toggle-wrap{margin-top:1rem;display:flex;justify-content:center}.projects-toggle-btn{text-transform:uppercase}.pinned-case{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:1.3rem;align-items:start}.sticky-block{position:sticky;top:7rem;border-radius:1rem;padding:1.2rem 1.2rem 1.2rem 2rem}.dive-progress-track{position:absolute;left:.92rem;top:1.2rem;bottom:1.2rem;width:3px;border-radius:999px;background:#3f3f46d9;overflow:hidden}.dive-progress-fill{display:block;width:100%;height:100%;transform-origin:50% 0;background:linear-gradient(180deg,var(--cyan),var(--amber))}.sticky-block p{color:var(--text-reading);font-family:var(--font-reading);line-height:1.74}.dive-list{display:grid;gap:1rem}.dive-card{display:grid;gap:0;border-radius:1rem;padding:1rem}.dive-card:hover,.architecture-case:hover,.architecture-pillar:hover{border-color:#bfceec70}.dive-card header p{margin-bottom:.52rem;color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}.dive-card header h3{margin-bottom:.82rem}.dive-card h4{margin-bottom:.48rem;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase}.dive-card ul{display:grid;gap:.5rem;margin-bottom:.9rem}.dive-card li{color:var(--text-reading);font-family:var(--font-reading);line-height:1.64}.architecture-showcase{position:relative;overflow:hidden;border:1px solid rgba(79,86,102,.76);border-radius:1rem;padding:1.2rem;background:radial-gradient(circle at 100% 0%,rgba(34,197,94,.2),transparent 48%),linear-gradient(168deg,#18181beb,#121216e6)}.architecture-showcase>*{position:relative;z-index:1}.architecture-nodefield{position:absolute;inset:-18% -10%;z-index:0;opacity:.6}.architecture-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:1rem}.architecture-pillars{display:grid;gap:.75rem}.architecture-pillar{display:grid;gap:0;border-radius:.9rem;padding:.85rem}.architecture-pillars h3{margin-bottom:.34rem;font-size:.94rem;text-transform:uppercase}.architecture-pillars p{color:var(--text-reading);font-family:var(--font-reading);font-size:.92rem;line-height:1.68}.architecture-cases{display:grid;gap:.82rem}.architecture-case{display:grid;gap:0;border-radius:.95rem;padding:.95rem}.architecture-cases header p{margin-bottom:.45rem;color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:.71rem;letter-spacing:.1em;text-transform:uppercase}.architecture-cases header h3{margin-bottom:.76rem}.architecture-cases h4{margin-bottom:.38rem;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.architecture-cases ul{display:grid;gap:.42rem;margin-bottom:.8rem}.architecture-cases li{color:var(--text-reading);font-family:var(--font-reading);line-height:1.64}.timeline-wrap{position:relative}.timeline-progress{display:none;position:absolute;left:0;top:7.7rem;bottom:.5rem;width:2px;border-radius:999px;background:#3f3f4647;overflow:hidden}.timeline-progress span{display:block;width:100%;height:100%;transform-origin:50% 0;background:linear-gradient(180deg,#4ade8066,#4ade800f)}.timeline{display:grid;gap:.95rem;padding-left:1.2rem}.timeline-entry{display:grid;gap:0;border-radius:1rem;padding:1rem}.timeline-entry:hover{border-color:#bfceec70}.timeline-head{display:grid;grid-template-columns:minmax(7.7rem,9.1rem) 1fr;gap:.78rem;align-items:start;margin-bottom:.74rem}.timeline-logo-box{display:inline-grid;place-items:center;width:fit-content;justify-self:start;height:2.05rem;padding:.26rem .46rem;border:1px solid rgba(255,255,255,.12);border-radius:.4rem;background:#e2e7eee0;box-shadow:none}.timeline-logo-box img{display:block;height:1.45rem;width:auto;max-width:7rem;object-fit:contain;object-position:center}.timeline-logo-fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:1.95rem;color:#1f2430;font-family:Sora,sans-serif;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.timeline-period{margin-bottom:.44rem;color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:.71rem;letter-spacing:.1em;text-transform:uppercase}.timeline h3{margin-bottom:.26rem}.timeline h4{margin-bottom:.78rem;color:var(--amber);font-family:IBM Plex Mono,monospace;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.timeline ul{display:grid;gap:.45rem}.timeline ul li{padding:0;border:none;border-radius:0;background:transparent;color:#dce3f1;font-family:var(--font-reading);line-height:1.68}.skills-heading{font-size:clamp(2.15rem,5.6vw,3.95rem)!important;line-height:1.02!important}.skills-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.skill-area-card{display:grid;gap:0;border-radius:1rem;padding:1rem}.skill-area-card:hover{border-color:#bfceec70}.skill-area-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.9rem}.skill-area-title-wrap{display:flex;align-items:flex-start;gap:.72rem}.skill-area-icon{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;margin-top:.06rem;border:1px solid rgba(92,117,150,.58);border-radius:.76rem;background:#121621e0}.skill-area-icon svg{font-size:1.1rem}.skill-area-card h3{margin-bottom:.28rem;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.skill-area-card p{color:var(--text-reading);font-family:var(--font-reading);font-size:.94rem;line-height:1.58}.skill-area-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-height:2.25rem;min-width:5.8rem;padding:0 .68rem;color:#d9e9ff;font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;border:1px solid rgba(120,136,160,.72);border-radius:999px;background:#171c27db;transition:transform .2s ease,border-color .2s ease,background .2s ease}.skill-area-toggle:hover{transform:translateY(-1px);border-color:#4ade80c7;background:#1c2230e6}.skill-area-toggle svg{transition:transform .2s ease}.skill-area-body{overflow:hidden}.skills-list{display:grid;gap:.58rem;margin-bottom:.88rem}.skill-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.72rem;min-height:3.25rem;padding:.6rem .66rem;border:1px solid rgba(83,98,120,.74);border-radius:.88rem;background:#11151ee0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.skill-item:hover,.skill-item:focus-visible{border-color:#abc0e0d1;box-shadow:0 10px 26px #0000003d;transform:translateY(-1px)}.skill-main{display:flex;align-items:center;gap:.62rem;min-width:0}.skill-icon-box{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:0 0 2rem;border:1px solid rgba(112,136,170,.5);border-radius:.68rem;background:#0c1018c7}.skill-icon-box svg{font-size:1.08rem}.skill-name{color:#e3f1ff;font-family:Sora,sans-serif;font-size:.9rem;font-weight:600}.skill-level-wrap{display:inline-flex;align-items:center;gap:.46rem}.skill-level-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.6rem;padding:0 .5rem;color:#dcecff;font-family:IBM Plex Mono,monospace;font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;border:1px solid rgba(90,110,134,.8);border-radius:999px;background:#1c2331e0}.skill-level-meter{position:relative;display:inline-flex;width:4.2rem;height:.34rem;border-radius:999px;background:#444f62ad;overflow:hidden}.skill-level-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--amber))}.skill-level-badge-core{border-color:#7cc9ffd1;background:#18344ad1}.skill-level-badge-strong{border-color:#95c6a0c2;background:#1e3629d1}.skill-level-badge-working{border-color:#c5b887bd;background:#3e341ec7}.skill-level-badge-familiar{border-color:#a799beb8;background:#352a4cbd}.skills-expand-btn{margin-bottom:.8rem;font-size:.65rem;letter-spacing:.08em}.skill-hover-panel{display:grid;gap:.45rem;padding:.72rem .76rem;border:1px solid rgba(97,118,142,.66);border-radius:.88rem;background:linear-gradient(180deg,#0f131de0,#0c1018d6)}.skill-hover-title{color:#edf6ff;font-family:Sora,sans-serif!important;font-size:1rem!important;font-weight:700}.skill-hover-evidence{display:flex;flex-wrap:wrap;gap:.42rem}.skill-hover-evidence span{display:inline-flex;align-items:center;min-height:1.45rem;padding:0 .42rem;color:#d8e9ff;font-family:IBM Plex Mono,monospace;font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(105,121,145,.64);border-radius:999px;background:#181e29e6}.skill-hover-context{color:#dce3f1;font-family:var(--font-reading);font-size:.93rem;line-height:1.6}.skill-mobile-context{display:none;grid-column:1 / -1;color:var(--text-reading);font-family:var(--font-reading);font-size:.88rem;line-height:1.56}@media(prefers-reduced-motion:reduce){.skill-item{transition:none}}.contact{display:grid;gap:0;border-radius:1rem;padding:1.2rem}.contact-summary{margin-bottom:1rem;color:#dbe3f1;font-family:var(--font-reading);line-height:1.74}.contact-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.62rem}.contact-links>div{display:flex}.contact-links a{width:100%}.contact-links .ui-action{width:100%;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;width:100%;padding:1rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--line);margin-top:2rem}.footer-copy{color:var(--text-1);font-size:.7rem;letter-spacing:.04em}.footer-links{display:flex;flex-wrap:wrap;gap:1.2rem}.footer-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-1);font-size:.7rem;letter-spacing:.04em;text-decoration:none;transition:color .18s ease}.footer-link:hover{color:var(--text-0)}.footer-link-accent{color:var(--green)}.footer-link-accent:hover{color:#86efac}.footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.52rem}@media(max-width:1120px){.hero,.pinned-case{grid-template-columns:1fr}.metric-grid,.contact-links,.about-bento,.volunteering-layout,.now-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-group-grid,.architecture-layout{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.project-grid>div,.project-grid>div:nth-child(1),.project-grid>div:nth-child(2),.project-grid>div:nth-child(4),.project-grid>div:nth-child(5){grid-column:span 3}.sticky-block{position:static}.timeline-progress{display:none}.timeline{padding-left:0}}@media(max-width:760px){.top-nav{top:0;border-radius:0 0 .65rem .65rem;width:100%;padding:.78rem 1rem;margin-bottom:0;flex-wrap:wrap;gap:.55rem}.top-nav .brand{order:1;margin-right:auto}.nav-cta{order:2;margin-left:auto;min-height:2.75rem;padding:0 .86rem;font-size:.68rem;letter-spacing:.07em}.nav-menu-toggle{display:inline-flex;order:3;min-height:2.75rem;min-width:2.75rem;padding:0 .82rem;font-size:.68rem;letter-spacing:.07em}.nav-items{display:none;order:4;width:100%;flex-direction:column;align-items:stretch;gap:.35rem;margin-right:0;margin-top:.08rem;padding:.45rem;border:1px solid rgba(86,96,115,.66);border-radius:.7rem;background:#0a0e16d1;box-shadow:0 10px 20px #00000047}.nav-items.is-open{display:flex}.nav-items li{width:100%}.nav-items .nav-link{width:100%;justify-content:flex-start;min-height:2.75rem;padding:0 .9rem}.section,.site-footer{width:min(1140px,calc(100% - 2rem))}.ui-action{min-height:2.65rem;padding:0 1.02rem}.ui-action-chip{min-height:2.35rem;padding:0 .9rem}.project-links .ui-action{flex:1 1 10.5rem;justify-content:center}.projects-toggle-btn{width:100%;justify-content:center}.pill-list li{min-height:2rem;align-items:center}.metric-grid,.contact-links,.about-bento,.now-grid,.volunteering-layout{grid-template-columns:1fr}.skills-heading{font-size:clamp(1.9rem,8.8vw,2.55rem)!important}.project-grid,.project-preview-grid{grid-template-columns:1fr}.project-links .ui-action{flex-basis:100%}.project-grid>div,.project-grid>div:nth-child(1),.project-grid>div:nth-child(2),.project-grid>div:nth-child(4),.project-grid>div:nth-child(5){grid-column:span 1}.timeline-head{grid-template-columns:minmax(6.5rem,7.2rem) 1fr;gap:.64rem}.timeline-logo-box{min-height:2.75rem;padding:.38rem .46rem}.timeline-logo-box img{max-height:1.72rem}.skill-area-card{padding:.82rem}.now-title-logo{width:1.58rem;height:1.58rem;flex-basis:1.58rem}.skill-area-title-wrap{align-items:center}.skill-area-title-wrap p{display:none}.skill-item{grid-template-columns:1fr;align-items:start;gap:.52rem;min-height:0;padding:.58rem}.skill-level-wrap{justify-content:space-between}.skill-level-meter{flex:1;max-width:8.5rem}.skill-mobile-context{display:block}.skill-hover-panel{display:none}.site-footer{flex-direction:column}.footer-actions{justify-content:flex-start}.details-toggle-btn{width:100%;justify-content:space-between}}.term-section-head{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.term-section-label{color:var(--text-1);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.term-section-sep{display:block;flex:1;height:1px;background:var(--line)}.about-grid{display:grid;gap:2.5rem}.about-kv-block{display:grid;gap:.3rem}.about-kv-block .term-kv .term-key{min-width:11ch;color:var(--text-1);font-size:.74rem}.about-kv-block .term-kv .term-val{color:var(--text-0);font-size:.8rem;line-height:1.6}.about-metrics{border-top:1px solid var(--line);padding-top:1.5rem}.term-comment{color:var(--text-1);font-size:.72rem;letter-spacing:.06em;margin-bottom:.55rem}.term-val-block{color:var(--text-0);font-size:.8rem;line-height:1.65;max-width:58ch}.about-metric-head{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:.25rem 0;color:var(--text-1);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--line);margin-bottom:.3rem}.about-metric-divider{color:#ffffff1a;font-size:.72rem;letter-spacing:.02em;overflow:hidden;white-space:nowrap;margin:.15rem 0;-webkit-user-select:none;user-select:none;display:none}.about-metric-row{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.78rem}.about-metric-row:last-child{border-bottom:none}.about-metric-label{color:var(--text-1)}.about-metric-val{letter-spacing:.05em;font-variant-numeric:tabular-nums}.now-log{display:grid;gap:1.6rem}.now-entry{padding-left:1rem;border-left:2px solid var(--line);transition:border-color .2s ease}.now-entry:hover{border-left-color:var(--green)}.now-entry-head{display:flex;align-items:center;gap:.9rem;margin-bottom:.5rem}.now-status-badge{font-size:.68rem;letter-spacing:.1em;flex-shrink:0;font-variant-numeric:tabular-nums}.now-entry-title{color:var(--text-0);font-size:.88rem;font-weight:500;letter-spacing:-.01em}.now-entry-summary{color:var(--text-1);font-size:.78rem;line-height:1.7;margin-bottom:.6rem;max-width:64ch}.now-entry-links{display:flex;flex-wrap:wrap;gap:1rem}.contact-summary{color:var(--text-1);font-size:.8rem;line-height:1.7;max-width:60ch;margin-bottom:1.5rem}.contact-table{display:grid;gap:0;border:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:13ch 1fr auto;align-items:center;gap:1.2rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);color:var(--text-0);text-decoration:none;transition:background .18s ease;font-size:.78rem}.contact-row:last-child{border-bottom:none}.contact-row:hover{background:#ffffff05}.contact-row-live .contact-cmd,.contact-row-live .contact-display{color:var(--green)}.contact-cmd{display:inline-flex;align-items:center;gap:.42rem;color:var(--accent);font-size:.72rem;letter-spacing:.06em}.contact-icon{font-size:.95rem;flex-shrink:0}.contact-display{color:var(--text-1);font-size:.76rem;letter-spacing:.02em}.contact-arrow{color:var(--text-1);font-size:.78rem;opacity:.5}.sk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 3rem}.sk-area-head{color:var(--text-1);font-size:.72rem;letter-spacing:.1em;margin-bottom:.65rem}.sk-rows{display:grid;gap:0;list-style:none;padding:0;margin:0}.sk-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.77rem}.sk-row:last-child{border-bottom:none}.sk-name{display:inline-flex;align-items:center;gap:.42rem;color:var(--text-0);letter-spacing:.01em}.sk-icon{font-size:.85rem;flex-shrink:0;opacity:.9}.sk-level{font-size:.65rem;letter-spacing:.1em;flex-shrink:0}.sk-level-core{color:var(--green)}.sk-level-strong{color:var(--amber)}.sk-level-working{color:var(--text-1)}.sk-level-familiar{color:#787882b3}@media(max-width:860px){.sk-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.sk-grid{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:640px){.section{padding:3rem 0}.contact-row{grid-template-columns:11ch 1fr auto;gap:.8rem;padding:.7rem .8rem;font-size:.72rem}.contact-display{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.now-entry-head{flex-direction:column;align-items:flex-start;gap:.3rem}}.project-row:hover{background:#ffffff08;border-radius:4px}.project-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.project-action-link:focus-visible,.contact-row:focus-visible,.now-entry:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.term-action-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-row{border-radius:3px;cursor:pointer}.contact-row:hover{background:#4ade800a;border-color:#4ade801a}.term-table-row:hover{background:#ffffff05;border-radius:3px;cursor:pointer}.term-table-row:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.projects-count{color:#4ade8059;font-weight:500}.contact-cmd{font-weight:500;letter-spacing:.07em}.section-tag{color:var(--amber);font-weight:500;text-transform:uppercase;letter-spacing:.15em}.now-entry{border-radius:3px;padding:.5rem .75rem .5rem 1rem;margin-left:-.75rem;transition:background .15s ease,border-color .15s ease}.now-entry:hover{background:#4ade800a;border-left-color:var(--green)}.about-eyebrow{color:var(--amber);font-weight:500}.signal-track em{color:var(--accent);font-weight:500}.term-win{box-shadow:0 0 0 1px #ffffff0d,0 40px 120px #000000bf,0 0 80px #4ade800d;transition:box-shadow .25s ease}.term-win:hover{box-shadow:0 0 0 1px #ffffff14,0 48px 140px #000c,0 0 100px #4ade8012}.project-detail-footer{margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.04)}.project-tags-list li{background:#13192899;border-color:#ffffff14;transition:background .15s ease,border-color .15s ease}.project-tags-list li:hover{background:#131928cc;border-color:#ffffff1f}#about h2,#now h2,#projects h2,#details h2,#volunteering h2,#impact h2,#deep-dives h2,#architecture h2,#experience h2,#skills h2,#contact h2{color:#fff;font-weight:600;letter-spacing:-.02em}.details-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}a,button,[role=button]{transition-duration:.15s;transition-timing-function:ease-out}.projects-more-link:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.footer-link:hover{color:var(--accent)}.footer-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.section-tag{color:var(--green);text-transform:none;letter-spacing:.03em;font-weight:500}.section-tag:before{content:"$ ";color:var(--green);opacity:.6}.metric-card{border:1px solid rgba(255,255,255,.08);background:var(--bg-1);box-shadow:0 18px 50px #00000080,0 0 60px #4ade8008}.timeline{padding-left:0}.timeline-entry ul{list-style:none;padding-left:0;display:grid;gap:.5rem;margin:0}.timeline-entry ul li{position:relative;padding-left:1.15rem;color:var(--text-reading)}.timeline-entry ul li:before{content:">";position:absolute;left:0;color:var(--green);opacity:.55}
