@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090b;--surface:#18181b;--surface-2:#202024;--border:#27272a;--text:#f4f4f5;--muted:#a1a1aa;--accent:#3b82f6;--accent-strong:#60a5fa;--accent-solid:#2563eb;--accent-solid-hover:#1d4ed8;--accent-soft:#3b82f61f;--live:#10b981;--live-soft:#10b9811f;--nav-bg:#18181bb8;--grid-line:#ffffff09;--accent-glow:#3b82f629;--live-glow:#10b98112;--shadow:#00000073;--terminal-bg:#0c0d11}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f5;--border:#e4e4e7;--text:#18181b;--muted:#52525b;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb1a;--live:#059669;--live-soft:#0596691f;--nav-bg:#ffffffc7;--grid-line:#18181b0b;--accent-glow:#2563eb1a;--live-glow:#0596690d;--shadow:#18181b1f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background-color:var(--bg);background-image:radial-gradient(circle at 82% -10%, var(--accent-glow), transparent 34%), radial-gradient(circle at -10% 45%, var(--live-glow), transparent 30%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);min-width:320px;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-size:auto,auto,72px 72px,72px 72px;background-attachment:fixed;margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.6}.site{overflow-x:clip}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button,input,textarea{font:inherit}svg{display:block}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:200;background:var(--accent-solid);color:#fff;border-radius:10px;padding:10px 14px;font-size:.8rem;font-weight:700;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:min(1160px,100% - 48px);margin:0 auto}.nav-shell{z-index:50;position:fixed;top:16px;left:0;right:0}.nav{border:1px solid var(--border);background:var(--nav-bg);height:64px;box-shadow:0 16px 40px var(--shadow);-webkit-backdrop-filter:blur(18px);border-radius:999px;align-items:center;gap:22px;padding:0 20px;display:flex}.brand{letter-spacing:-.06em;align-items:center;font-size:1.45rem;font-weight:800;line-height:1;display:inline-flex}.brand span{color:var(--accent)}.nav-links{gap:2px;margin-left:6px;display:flex}.nav-links a{color:var(--muted);border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:500;transition:color .2s,background .2s}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.nav-status{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:7px;margin-right:4px;padding:6px 10px;font:.64rem JetBrains Mono,monospace;display:inline-flex}.dot{background:var(--live);border-radius:50%;flex:none;width:7px;height:7px;animation:2.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--live-soft)}50%{box-shadow:0 0 0 5px #0000}}.lang-switch{border:1px solid var(--border);min-height:40px;color:var(--muted);letter-spacing:.06em;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 11px;font:.66rem JetBrains Mono,monospace;transition:border-color .2s;display:inline-flex}.lang-switch .on{color:var(--text);font-weight:600}.lang-switch:hover{border-color:var(--accent)}.icon-button{border:1px solid var(--border);width:40px;height:40px;min-height:40px;color:var(--muted);background:0 0;border-radius:999px;place-items:center;transition:color .2s,border-color .2s,background .2s;display:grid}.icon-button:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.icon-button--sm{width:32px;height:32px;min-height:32px}.menu-button{display:none}.mobile-menu{z-index:49;border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 60px var(--shadow);opacity:0;visibility:hidden;border-radius:18px;padding:10px;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:fixed;top:88px;left:16px;right:16px;transform:translateY(-8px)}.mobile-menu--open{opacity:1;visibility:visible;transform:none}.mobile-menu[aria-hidden=true]{pointer-events:none}.mobile-menu a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 12px;font-size:.9rem;display:flex}.mobile-menu a:last-child{border-bottom:0}.mobile-menu a:hover{color:var(--accent)}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:.84rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--accent-solid);color:#fff;box-shadow:0 12px 30px var(--accent-soft)}.button--primary:hover{background:var(--accent-solid-hover)}.button--ghost{border-color:var(--border);background:var(--surface);color:var(--text)}.button--ghost:hover{border-color:var(--accent);color:var(--accent)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.copy-email{color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font:.72rem JetBrains Mono,monospace;transition:color .2s;display:inline-flex}.copy-email:hover{color:var(--accent)}.hero{align-items:center;min-height:100vh;padding:140px 0 80px;display:flex;position:relative}.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:center;gap:56px;display:grid}.pill{border:1px solid var(--border);background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font:.66rem JetBrains Mono,monospace;display:inline-flex}.hero-intro{align-items:center;gap:16px;display:flex}.hero-avatar{width:88px;height:88px;box-shadow:0 16px 34px var(--shadow);cursor:zoom-in;background:#fff;border:0;border-radius:26px;flex:none;padding:0;transition:transform .3s,box-shadow .3s;display:block;position:relative}.hero-avatar:hover,.hero-avatar:focus-visible{box-shadow:0 22px 46px var(--shadow);transform:translateY(-2px)}.hero-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero-avatar img{border:1px solid var(--border);border-radius:inherit;object-fit:cover;object-position:50% 14%;width:100%;height:100%;transition:transform .35s}.hero-avatar:hover img,.hero-avatar:focus-visible img{transform:scale(1.08)}.hero-avatar__dot{border:3px solid var(--bg);background:var(--live);width:15px;height:15px;box-shadow:0 0 0 3px var(--live-soft);border-radius:50%;position:absolute;bottom:-2px;right:-2px}.photo-lightbox{z-index:300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:zoom-out;background:#050508d6;place-items:center;padding:24px;animation:.2s fade-in;display:grid;position:fixed;inset:0}.photo-lightbox img{border:1px solid var(--border);cursor:default;border-radius:28px;max-width:min(430px,88vw);max-height:82vh;animation:.28s cubic-bezier(.2,.8,.2,1) modal-in;box-shadow:0 32px 90px #0009}.photo-lightbox__close{color:#fff;cursor:pointer;background:#121216b8;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;transition:background .2s,transform .2s;display:grid;position:absolute;top:20px;right:20px}.photo-lightbox__close:hover,.photo-lightbox__close:focus-visible{background:#2c2c36eb;transform:scale(1.06)}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:28px 0 14px;font:600 .72rem JetBrains Mono,monospace}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.7rem,5.3vw,4.7rem);font-weight:800;line-height:1.02}.hero h1 .accent-line{background:linear-gradient(92deg, var(--accent) 0%, #60a5fa 55%, var(--live) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-theme=light] .hero h1 .accent-line{background-image:linear-gradient(92deg,#2563eb,#1d4ed8 55%,#059669)}.hero-text{max-width:540px;color:var(--muted);margin:24px 0 0;font-size:1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero-meta{flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px;display:flex}.hero-location{color:var(--muted);align-items:center;gap:7px;font-size:.76rem;display:inline-flex}.hero-location svg{color:var(--accent)}.terminal{background:var(--terminal-bg);color:#e4e4e7;box-shadow:0 30px 80px var(--shadow), inset 0 0 0 1px #3b82f614;border:1px solid #ffffff1a;border-radius:20px;overflow:hidden}.terminal-bar{background:#ffffff08;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 15px;display:flex}.terminal-dots{gap:5px;display:flex}.terminal-dots i{background:#3f3f46;border-radius:50%;width:9px;height:9px}.terminal-dots i:first-child{background:#ef4444}.terminal-dots i:nth-child(2){background:#f59e0b}.terminal-dots i:nth-child(3){background:#10b981}.terminal-title{color:#a1a1aa;margin-left:4px;font:.66rem JetBrains Mono,monospace}.terminal-live{color:#71717a;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;margin-left:auto;font:.6rem JetBrains Mono,monospace;display:inline-flex}.terminal-body{color:#d4d4d8;scrollbar-width:thin;min-height:320px;max-height:380px;padding:20px 20px 14px;font:.77rem/1.75 JetBrains Mono,monospace;overflow-y:auto}.terminal-line{white-space:pre-wrap;word-break:break-word}.terminal-line--command{color:#f4f4f5;margin-top:8px}.terminal-line--muted{color:#71717a}.terminal-prompt{color:var(--live)}.terminal-input{align-items:center;gap:8px;margin-top:8px;display:flex}.terminal-input input{color:#f4f4f5;min-width:0;font:inherit;caret-color:var(--live);background:0 0;border:0;outline:0;flex:1;padding:4px 0}.terminal-input input::placeholder{color:#52525b}.terminal-hints{color:#52525b;flex-wrap:wrap;align-items:center;gap:6px;padding:0 20px 16px;font:.6rem JetBrains Mono,monospace;display:flex}.terminal-hints span{margin-right:3px}.terminal-hints button{color:#a1a1aa;background:0 0;border:1px solid #ffffff1f;border-radius:6px;padding:4px 7px;font:.6rem JetBrains Mono,monospace;transition:color .2s,border-color .2s}.terminal-hints button:hover{color:#fff;border-color:var(--accent)}.section{padding:104px 0;position:relative}.section-heading{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:end;gap:40px;margin-bottom:42px;display:grid}.section-kicker{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 12px;font:600 .68rem JetBrains Mono,monospace;display:flex}.section-kicker span{color:var(--muted)}.section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:800;line-height:1.05}.section-heading .description{color:var(--muted);margin:0 0 6px;font-size:.9rem;line-height:1.7}.bento{grid-template-columns:repeat(6,1fr);gap:14px;display:grid}.bento-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;flex-direction:column;gap:16px;min-height:178px;padding:22px;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.bento-card:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));box-shadow:0 18px 40px var(--shadow);transform:translateY(-2px)}.bento-card--activity{grid-column:span 4}.bento-card--languages,.bento-card--repos{grid-column:span 2}.bento-card--building{flex-direction:row;grid-column:span 4;align-items:center;gap:20px;min-height:0}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-head-actions{align-items:center;gap:10px;display:flex}.card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;align-items:center;gap:9px;font:.64rem JetBrains Mono,monospace;display:inline-flex}.card-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.card-link{color:var(--muted);align-items:center;gap:4px;font:.62rem JetBrains Mono,monospace;transition:color .2s;display:inline-flex}.card-link:hover{color:var(--accent)}.activity-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.activity-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:11px 0;display:flex}.activity-item:first-child{padding-top:2px}.activity-item:last-child{border-bottom:0;padding-bottom:0}.activity-icon{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:9px;flex:0 0 30px;place-items:center;display:grid}.activity-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.activity-text strong{font-size:.78rem;font-weight:600;line-height:1.4}.activity-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.activity-time{color:var(--muted);white-space:nowrap;flex:none;font:.6rem JetBrains Mono,monospace}.activity-time:hover{color:var(--accent)}.lang-list{flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;display:flex}.lang-row{flex-direction:column;gap:6px;display:flex}.lang-top{justify-content:space-between;gap:10px;font-size:.72rem;display:flex}.lang-top span:last-child{color:var(--muted);font:.62rem JetBrains Mono,monospace}.lang-bar{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.lang-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .6s;display:block}.lang-row:nth-child(2) .lang-bar span{background:var(--live)}.lang-row:nth-child(3) .lang-bar span{background:#a78bfa}.lang-row:nth-child(4) .lang-bar span{background:#f59e0b}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.05em;margin-top:auto;font-size:clamp(2.2rem,4vw,3rem);font-weight:800;line-height:1}.stat-sub{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:auto;font:.62rem JetBrains Mono,monospace;display:flex}.stat-sub span{align-items:center;gap:5px;display:inline-flex}.building-main{flex-direction:column;flex:1;gap:10px;display:flex}.building-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.building-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;display:flex}.building-item-main{flex-direction:column;gap:3px;display:flex}.building-list strong{font-size:.95rem;font-weight:600}.building-item-main>span{color:var(--muted);font-size:.78rem;line-height:1.5}.building-badge{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 11px;font:.62rem JetBrains Mono,monospace;display:inline-flex}.muted-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.6}.skeleton-list{flex-direction:column;flex:1;gap:10px;display:flex}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--border) 37%, var(--surface-2) 63%);background-size:400% 100%;border-radius:8px;animation:1.4s infinite shimmer;display:block}.skeleton-row{height:42px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.load-error{color:var(--muted);flex-direction:column;align-items:flex-start;gap:10px;margin:auto 0;font-size:.8rem;display:flex}.retry-button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:.7rem;display:inline-flex}.retry-button:hover{border-color:var(--accent);color:var(--accent)}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.filter-button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.76rem;font-weight:600;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.filter-button span{color:var(--muted);font:.6rem JetBrains Mono,monospace}.filter-button:hover{border-color:var(--accent);color:var(--text)}.filter-button--active{border-color:var(--accent-solid);background:var(--accent-solid);color:#fff}.filter-button--active span{color:#ffffffc7}.project-grid{gap:16px;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);transition:border-color .25s,transform .25s,box-shadow .25s;display:grid;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));box-shadow:0 22px 50px var(--shadow);transform:translateY(-3px)}.project-cover{background:radial-gradient(circle at 28% 18%,#3b82f68c,#0000 46%),radial-gradient(circle at 82% 88%,#10b98152,#0000 42%),#0b0f1a;min-height:340px;position:relative;overflow:hidden}.project-cover:before{content:"";background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 10%,#0000 90%);mask-image:linear-gradient(#000 10%,#0000 90%)}.project-cover:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:220px;height:220px;position:absolute;top:-60px;right:-60px}.project-cover--image:before,.project-cover--image:after{display:none}.project-cover__image{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .5s;position:absolute;inset:0}.project-card:hover .project-cover__image{transform:scale(1.03)}.project-cover__label{z-index:1;color:#ffffffe6;text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09090b9e;border:1px solid #ffffff47;border-radius:999px;padding:6px 10px;font:.6rem JetBrains Mono,monospace;position:absolute;top:18px;left:18px}.project-cover__mark{z-index:1;color:#fffffff0;letter-spacing:-.08em;font-size:clamp(3.4rem,7vw,5.4rem);font-weight:800;line-height:1;position:absolute;bottom:8px;left:20px}.project-cover__mark span{color:#60a5fa}.project-body{flex-direction:column;gap:15px;padding:30px;display:flex}.project-title-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.project-title-row h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.08}.project-category{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;flex:none;padding:6px 9px;font:.6rem JetBrains Mono,monospace}.project-body>p{max-width:62ch;color:var(--muted);margin:0;font-size:.88rem;line-height:1.7}.tag-list{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:7px;padding:5px 8px;font:.6rem JetBrains Mono,monospace}.project-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:6px;display:flex}.project-actions .button{min-height:42px;padding:0 15px;font-size:.78rem}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;font-size:.86rem;display:flex}.empty-state svg{color:var(--accent)}.projects-note{color:var(--muted);align-items:center;gap:9px;margin:24px 0 0;font-size:.76rem;display:flex}.projects-note svg{color:var(--accent)}.case-page{padding:140px 0 96px}.case-back{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:34px;font:.66rem JetBrains Mono,monospace;transition:color .2s;display:inline-flex}.case-back:hover{color:var(--accent)}.case-hero{max-width:940px}.case-eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 16px;font:600 .66rem JetBrains Mono,monospace}.case-hero h1{letter-spacing:-.06em;max-width:15ch;margin:0;font-size:clamp(2.6rem,6vw,5rem);font-weight:800;line-height:.98}.case-lead{max-width:66ch;color:var(--muted);margin:24px 0 28px;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.72}.case-cover{aspect-ratio:16/9;border:1px solid var(--border);background:var(--surface);border-radius:24px;margin:46px 0 0;position:relative;overflow:hidden}.case-cover img{object-fit:cover;object-position:top center;width:100%;height:100%;display:block}.case-cover--mark{background:radial-gradient(circle at 26% 16%,#3b82f68c,#0000 48%),radial-gradient(circle at 84% 90%,#10b9814d,#0000 44%),#0b0f1a;align-items:flex-end;padding:34px;display:flex}.case-cover--mark:before{content:"";background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 10%,#0000 92%);mask-image:linear-gradient(#000 10%,#0000 92%)}.case-cover--mark:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:300px;height:300px;position:absolute;top:-90px;right:-60px}.case-cover--mark>span{z-index:1;color:#fffffff2;letter-spacing:-.08em;font-size:clamp(3.4rem,8vw,7rem);font-weight:800;line-height:1;position:relative}.case-cover--mark>span span{color:#60a5fa}.case-snapshot{border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:1.2fr repeat(4,minmax(0,1fr));gap:22px;margin-top:24px;padding:24px 28px;display:grid}.case-snapshot>div{flex-direction:column;gap:6px;display:flex}.case-snapshot span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:.58rem JetBrains Mono,monospace}.case-snapshot strong{font-size:.8rem;font-weight:600;line-height:1.45}.case-sections{margin-top:24px}.case-section{border-top:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);gap:48px;padding:48px 0;display:grid}.case-section__label{flex-direction:column;align-self:start;gap:8px;display:flex;position:sticky;top:110px}.case-section__label>span{color:var(--accent);font:600 .68rem JetBrains Mono,monospace}.case-section__label h2{letter-spacing:-.025em;margin:0;font-size:1.08rem;font-weight:700;line-height:1.3}.case-section__body{min-width:0}.case-large-copy{max-width:66ch;margin:0;font-size:clamp(1.05rem,1.5vw,1.24rem);line-height:1.78}.case-tech{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.case-tech>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font:.6rem JetBrains Mono,monospace}.case-check-list,.case-evidence{gap:14px;margin:0;padding:0;list-style:none;display:grid}.case-check-list li,.case-evidence li{gap:12px;font-size:.9rem;line-height:1.68;display:flex}.case-check-list li{color:var(--text)}.case-evidence li{color:var(--muted)}.case-check-list svg,.case-evidence svg{color:var(--live);flex:none;margin-top:3px}.case-decision-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.case-decision-grid article{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:22px}.case-decision-grid h3{letter-spacing:-.015em;margin:0 0 10px;font-size:.94rem;line-height:1.4}.case-decision-grid p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.68}.case-challenges article{border-bottom:1px solid var(--border);grid-template-columns:58px minmax(0,1fr);gap:18px;padding:26px 0;display:grid}.case-challenges article:first-child{padding-top:0}.case-challenges article:last-child{border-bottom:0;padding-bottom:0}.case-challenge__index{color:var(--accent);padding-top:4px;font:600 .68rem JetBrains Mono,monospace}.case-challenges h3{letter-spacing:-.02em;max-width:58ch;margin:0 0 12px;font-size:1.04rem;line-height:1.45}.case-challenges dl{grid-template-columns:86px minmax(0,1fr);gap:8px 18px;margin:0;display:grid}.case-challenges dt{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;padding-top:3px;font:.58rem JetBrains Mono,monospace}.case-challenges dd{color:var(--muted);margin:0;font-size:.86rem;line-height:1.65}.case-outcomes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.case-outcomes li{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;padding:22px;display:flex}.case-outcomes li>span{color:var(--accent);font:600 .68rem JetBrains Mono,monospace}.case-outcomes p{margin:0;font-size:.9rem;line-height:1.65}.case-pager{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px;padding-top:32px;display:grid}.case-pager__link{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:8px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.case-pager__link:hover{border-color:var(--accent);transform:translateY(-2px)}.case-pager__link>span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:7px;font:.6rem JetBrains Mono,monospace;display:flex}.case-pager__link strong{letter-spacing:-.02em;font-size:.95rem;line-height:1.4}.case-pager__link--next{text-align:right;align-items:flex-end}.case-pager__link--next>span{justify-content:flex-end}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09090bb3;place-items:center;padding:20px;animation:.2s fade-in;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);border-radius:22px;width:min(620px,100%);max-height:min(82vh,700px);padding:32px;animation:.24s modal-in;position:relative;overflow-y:auto;box-shadow:0 40px 100px #00000080}.modal-close{border:1px solid var(--border);background:var(--surface-2);width:38px;height:38px;color:var(--muted);border-radius:999px;place-items:center;transition:color .2s,border-color .2s;display:grid;position:absolute;top:16px;right:16px}.modal-close:hover{color:var(--text);border-color:var(--accent)}.modal-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font:.62rem JetBrains Mono,monospace}.modal h3{letter-spacing:-.04em;margin:8px 0 12px;font-size:1.9rem}.modal>p{color:var(--muted);margin:0 0 16px;font-size:.86rem;line-height:1.7}.modal h4{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:22px 0 10px;font:.64rem JetBrains Mono,monospace}.modal-highlights{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.modal-highlights li{align-items:flex-start;gap:9px;font-size:.82rem;line-height:1.55;display:flex}.modal-highlights svg{color:var(--live);flex:none;margin-top:2px}.modal-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.modal-actions .button{min-height:42px;padding:0 15px;font-size:.78rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}.experience-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:48px;display:grid}.timeline{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.timeline li{grid-template-columns:118px minmax(0,1fr);gap:24px;padding-bottom:30px;display:grid;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--border);width:1px;position:absolute;top:8px;bottom:-2px;left:130px}.timeline li:last-child:before{display:none}.timeline li:after{content:"";background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;position:absolute;top:6px;left:126px}.timeline-date{color:var(--muted);padding-top:1px;font:.62rem/1.5 JetBrains Mono,monospace}.timeline-content h3{letter-spacing:-.02em;margin:0 0 3px;font-size:1.02rem}.timeline-org{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin:0 0 6px;font:.6rem JetBrains Mono,monospace}.timeline-content>p:last-child{color:var(--muted);margin:0;font-size:.82rem;line-height:1.65}.stack{gap:12px;display:grid}.stack-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px 20px}.stack-head{align-items:center;gap:9px;margin-bottom:12px;display:flex}.stack-head svg{color:var(--accent)}.stack-head h3{letter-spacing:-.01em;margin:0;font-size:.85rem}.stack-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stack-item{justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;display:flex}.stack-item strong{font-weight:500}.stack-item span{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font:.55rem JetBrains Mono,monospace}.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cert-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:10px;padding:18px 20px;transition:border-color .2s,transform .2s;display:flex}.cert-card:hover{border-color:var(--accent);transform:translateY(-2px)}.cert-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cert-issuer{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.cert-issuer svg{color:var(--accent);flex:none}.cert-date{border:1px solid var(--border);color:var(--muted);letter-spacing:.06em;border-radius:999px;flex:none;padding:3px 10px;font:.66rem JetBrains Mono,monospace}.cert-card h3{letter-spacing:-.01em;margin:0;font-size:1rem}.cert-meta{color:var(--muted);margin:0;font-size:.82rem}.cert-links{align-items:center;gap:14px;margin-top:auto;padding-top:4px;display:flex}.cert-link{color:var(--accent);align-items:center;gap:4px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.cert-link:hover{text-decoration:underline}.cert-link--muted{color:var(--muted)}.guestbook-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start;gap:16px;display:grid}.contact-card,.guestbook-card{border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:30px}.contact-card{flex-direction:column;display:flex}.contact-card h3,.guestbook-card h3{letter-spacing:-.03em;margin:0 0 8px;font-size:1.25rem}.contact-card>p{color:var(--muted);margin:0 0 20px;font-size:.86rem;line-height:1.7}.contact-card .button{width:100%}.contact-card .copy-email{justify-content:center;margin-top:6px}.contact-details{border-top:1px solid var(--border);color:var(--muted);flex-direction:column;gap:8px;margin-top:22px;padding-top:20px;font-size:.76rem;display:flex}.contact-details span{align-items:center;gap:8px;display:inline-flex}.contact-details svg{color:var(--accent)}.socials{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.socials a{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);border-radius:11px;place-items:center;transition:color .2s,border-color .2s,background .2s;display:grid}.socials a:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.guestbook-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.local-badge{background:var(--live-soft);color:var(--live);text-transform:uppercase;letter-spacing:.07em;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font:.58rem JetBrains Mono,monospace;display:inline-flex}.local-badge .dot{width:6px;height:6px}.guestbook-desc{color:var(--muted);margin:2px 0 18px;font-size:.8rem;line-height:1.6}.guestbook-form{gap:11px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:.6rem JetBrains Mono,monospace}.field input,.field textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:10px;outline:none;padding:11px 12px;font-size:.84rem;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{resize:vertical;min-height:92px;max-height:200px}.form-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.char-count{color:var(--muted);font:.58rem JetBrains Mono,monospace}.form-footer .button{min-height:40px;padding:0 14px;font-size:.75rem}.form-error{color:#f87171;margin:0;font-size:.74rem}.form-success{color:var(--live);margin:0;font-size:.74rem}.guestbook-list{border-top:1px solid var(--border);scrollbar-width:thin;flex-direction:column;gap:14px;max-height:300px;margin:20px 0 0;padding:18px 0 0;list-style:none;display:flex;overflow-y:auto}.guestbook-entry{align-items:flex-start;gap:11px;display:flex}.avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:0 0 34px;place-items:center;font-size:.78rem;font-weight:700;display:grid}.entry-body{flex:1;min-width:0}.entry-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.entry-top strong{font-size:.8rem}.entry-top time{color:var(--muted);white-space:nowrap;font:.56rem JetBrains Mono,monospace}.entry-body p{color:var(--muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8rem;line-height:1.55}.guestbook-empty{color:var(--muted);text-align:center;padding:10px 0;font-size:.8rem}.footer{border-top:1px solid var(--border);color:var(--muted);padding:28px 0;font-size:.7rem}.footer-inner{justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-brand{color:var(--text);font-size:1.25rem}.footer p{margin:0}.terminal-body::-webkit-scrollbar{width:6px}.guestbook-list::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.guestbook-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}@media (width<=1080px){.nav-status{display:none}.hero-grid{gap:36px}.experience-grid{gap:32px}}@media (width<=900px){.hero{min-height:auto;padding-top:130px}.hero-grid{grid-template-columns:1fr}.bento{grid-template-columns:repeat(2,1fr)}.bento-card--activity,.bento-card--building{grid-column:span 2}.bento-card--languages,.bento-card--repos{grid-column:span 1}.experience-grid,.guestbook-grid,.cert-grid{grid-template-columns:1fr}.case-page{padding:122px 0 72px}.case-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.case-section{grid-template-columns:1fr;gap:20px;padding:36px 0}.case-section__label{flex-direction:row;align-items:baseline;gap:10px;position:static}.case-section__label h2{font-size:1rem}.case-decision-grid{grid-template-columns:1fr}.case-cover{aspect-ratio:4/3}}@media (width<=820px){html{scroll-padding-top:90px}.nav-links{display:none}.menu-button{display:grid}.section{padding:84px 0}.section-heading{grid-template-columns:1fr;align-items:start;gap:16px;margin-bottom:32px}.project-card{grid-template-columns:1fr}.project-cover{min-height:220px}.bento-card--building{flex-direction:column;align-items:flex-start}.timeline li{grid-template-columns:1fr;gap:6px;padding-left:24px}.timeline li:before{top:10px;bottom:0;left:3px}.timeline li:after{top:8px;left:-1px}.footer-inner{flex-direction:column;align-items:flex-start;gap:10px}.footer p{order:3}}@media (width<=560px){.container{width:calc(100% - 32px)}.nav{gap:10px;height:58px;padding:0 12px}.brand{font-size:1.3rem}.lang-switch{min-height:38px;padding:0 9px}.icon-button{width:38px;height:38px;min-height:38px}.hero{padding-top:110px}.hero h1{font-size:clamp(2.25rem,10.5vw,3rem)}.hero-intro{gap:12px}.hero-avatar{border-radius:22px;width:76px;height:76px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-meta{gap:10px}.terminal-body{min-height:280px;max-height:340px;padding:16px 14px 10px;font-size:.7rem}.terminal-hints{padding:0 14px 14px}.section{padding:74px 0}.section-heading h2{font-size:clamp(1.9rem,8.5vw,2.5rem)}.bento{grid-template-columns:1fr}.bento-card--activity,.bento-card--languages,.bento-card--repos,.bento-card--building{grid-column:span 1}.contact-card,.guestbook-card,.project-body{padding:22px}.project-cover{min-height:190px}.project-title-row{flex-direction:column;gap:8px}.project-actions .button{width:100%}.modal{padding:26px 20px}.activity-item{flex-wrap:wrap}.activity-time{margin-left:42px}.guestbook-list{max-height:260px}.case-page{padding:108px 0 64px}.case-eyebrow{font-size:.58rem}.case-hero h1{max-width:none;font-size:clamp(2.2rem,11vw,3.2rem)}.case-lead{margin:20px 0 24px}.case-cover{border-radius:18px;margin-top:30px}.case-cover--mark{aspect-ratio:4/3;padding:22px}.case-snapshot{grid-template-columns:1fr;gap:16px;padding:20px}.case-snapshot>div{flex-direction:row;justify-content:space-between;gap:16px}.case-snapshot strong{text-align:right}.case-challenges article{grid-template-columns:1fr;gap:10px}.case-challenges dl{grid-template-columns:1fr;gap:4px}.case-challenges dt{margin-top:8px}.case-outcomes,.case-pager{grid-template-columns:1fr}.case-pager__link--next{text-align:left;align-items:flex-start}.case-pager__link--next>span{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
