/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}}:root{--bg:#0d1117;--bg-deep:#090d16;--bg-secondary:#161b22;--bg-elev:#161b22;--bg-elev-2:#21262d;--border:#30363d;--border-soft:#21262d;--text:#e6edf3;--muted:#8b949e;--faint:#8b949e;--green:#39d353;--green-bright:#46ef63;--green-dim:#39d3531f;--success:#39d353;--success-bright:#46ef63;--blue:#58a6ff;--purple:#bc8cff;--yellow:#e3b341;--orange:#f78166;--red:#f85149;--cyan:#58a6ff;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sans-ui:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--maxw:1000px;--nav-h:60px;--radius:12px;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}body{background:radial-gradient(ellipse 75% 45% at 50% -12%,#39d35317,transparent 70%),radial-gradient(ellipse 50% 35% at 100% 8%,#58a6ff0d,transparent 70%),var(--bg);min-width:320px;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{border:2px solid var(--bg-deep);background:#30363d;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#8b949e}.skip-link{z-index:300;background:var(--green);color:#0d1117;font-family:var(--mono);border-radius:6px;padding:.5rem .9rem;font-size:.75rem;font-weight:600;transition:top .2s;position:fixed;top:-60px;left:1rem}.skip-link:focus{top:.6rem}.site-header{z-index:200;height:var(--nav-h);border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(14px);background:#0d1117d1;transition:box-shadow .25s,border-color .25s;position:fixed;inset:0 0 auto}.site-header.is-scrolled{border-bottom-color:var(--border);box-shadow:0 8px 30px #00000073}.nav-inner{justify-content:space-between;align-items:center;gap:1.25rem;max-width:1120px;height:100%;margin:0 auto;padding:0 1.5rem;display:flex}.brand{font-family:var(--mono);color:var(--green);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:.2rem;font-size:.92rem;font-weight:600;display:inline-flex}.brand .prompt,.brand .brand-path{color:var(--muted);font-weight:400}.brand:hover .brand-name{color:var(--green-bright)}.nav-links{align-items:center;gap:1.4rem;list-style:none;display:flex}.nav-links a{font-family:var(--mono);color:var(--muted);letter-spacing:.01em;padding:.35rem 0;font-size:.875rem;transition:color .2s;display:inline-block;position:relative}.nav-links a:after{content:"";background:var(--green);transform-origin:0;border-radius:2px;height:1.5px;transition:transform .22s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.nav-links a.active{color:var(--green-bright)}.nav-cv{border:1px solid var(--border);background:var(--green-dim);border-radius:6px;align-items:center;gap:.35rem;display:inline-flex;color:var(--green)!important;padding:.38rem .7rem!important;font-size:.75rem!important;transition:border-color .2s,background .2s!important}.nav-cv:after{display:none}.nav-cv:hover{background:#39d3532e;border-color:#39d3538c!important}.nav-toggle{border:1px solid var(--border);width:38px;height:38px;color:var(--text);background:var(--bg-elev);border-radius:7px;place-items:center;display:none}.nav-toggle svg{width:18px;height:18px}.mobile-menu{top:var(--nav-h);z-index:199;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d1117f7;padding:.85rem 1.25rem 1.2rem;animation:.22s menu-in;display:none;position:fixed;left:0;right:0}.mobile-menu.open{display:block}.mobile-menu ul{flex-direction:column;list-style:none;display:flex}.mobile-menu a{border-bottom:1px solid var(--border-soft);font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:.7rem .25rem;font-size:.8rem;display:flex}.mobile-menu a:hover,.mobile-menu a.active{color:var(--green-bright)}.mobile-menu .mobile-cv{background:var(--green-dim);color:var(--green);border:1px solid #39d35366;border-radius:6px;justify-content:center;margin-top:.9rem}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.hero{min-height:100vh;padding:calc(var(--nav-h) + 3.5rem) 2rem 4.5rem;align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#30363d38 1px,#0000 1px),linear-gradient(90deg,#30363d38 1px,#0000 1px);background-size:44px 44px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(65% 60% at 50% 35%,#000 10%,#0000 75%);mask-image:radial-gradient(65% 60% at 50% 35%,#000 10%,#0000 75%)}.hero-inner{z-index:1;width:100%;max-width:var(--maxw);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:3.5rem;margin:0 auto;display:grid;position:relative}.hero-pills{flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem;display:flex}.pill{border:1px solid var(--border);font-family:var(--mono);color:var(--muted);letter-spacing:.02em;background:#161b22bf;border-radius:999px;align-items:center;gap:.45rem;padding:.32rem .62rem;font-size:.75rem;line-height:1.5;display:inline-flex}.pill .dot{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;animation:2.4s ease-in-out infinite pulse-dot;box-shadow:0 0 0 3px #39d35324,0 0 8px #39d353cc}.pill .pill-sep{color:var(--border)}.hero-tag{font-family:var(--mono);color:var(--green);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.hero-tag:before{content:"";background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}.hero-role{min-height:1.8em;font-family:var(--mono);color:var(--cyan);margin-bottom:1.5rem;font-size:clamp(1rem,2.5vw,1.3rem)}.hero-role .cursor{vertical-align:middle;background:var(--cyan);width:2px;height:1.1em;margin-left:2px;animation:1.06s step-end infinite blink;display:inline-block}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.btn{font-family:var(--sans);letter-spacing:0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:600;transition:transform .18s,background .2s,border-color .2s,box-shadow .2s,color .2s;display:inline-flex}.btn svg{width:14px;height:14px}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);border-color:var(--green);color:var(--bg);font-weight:600}.btn-primary:hover{background:var(--green-bright);border-color:var(--green-bright);color:var(--bg);box-shadow:0 8px 24px #39d35340}.btn-ghost{background:var(--bg-elev);border-color:var(--border);color:var(--text)}.hero-visual{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.portrait{aspect-ratio:4/5;background:var(--bg-elev);border:1px solid #39d35359;border-radius:22px;width:min(310px,100%);position:relative;overflow:hidden;box-shadow:0 0 0 1px #39d35314,0 20px 60px #0000008c,0 0 80px #39d3531f}.portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 54%,#090d16b8);position:absolute;top:0;right:0;bottom:0;left:0}.portrait img{object-fit:cover;object-position:center 15%;filter:saturate(.94)contrast(1.02);width:100%;height:100%;transition:transform .5s}.portrait:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 1px #ffffff0a}.terminal{border:1px solid var(--border);background:#161b22f2;border-radius:12px;width:100%;max-width:310px;overflow:hidden;box-shadow:0 12px 40px #00000059}.terminal-bar{border-bottom:1px solid var(--border);background:var(--bg-elev-2);align-items:center;gap:5px;padding:.5rem .9rem;display:flex}.terminal-bar i{background:var(--border);border-radius:50%;width:9px;height:9px}.terminal-bar i:first-child{background:#39d353}.terminal-bar i:nth-child(2){background:#58a6ff}.terminal-bar i:nth-child(3){background:#8b949e}.terminal-bar span{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:.75rem}.terminal-body{font-family:var(--mono);color:var(--muted);padding:.85rem 1rem;font-size:.75rem;line-height:1.85}.t-prompt{color:var(--green)}.t-path{color:var(--blue)}.t-cmd{color:var(--text)}.t-out{color:var(--muted)}.t-ok{color:var(--green-bright)}.t-dim{color:var(--faint)}.t-cursor{vertical-align:-1px;background:var(--green);width:6px;height:10px;margin-left:3px;animation:1.1s step-end infinite blink;display:inline-block}.scroll-hint{z-index:1;font-family:var(--mono);color:var(--faint);letter-spacing:.22em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.3rem;font-size:.75rem;animation:2.6s ease-in-out infinite float;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.scroll-hint svg{width:13px;height:13px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.45}}@keyframes float{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,5px)}}.section{max-width:var(--maxw);border-top:1px solid var(--border);margin:0 auto;padding:5rem 2rem}.section-label{font-family:var(--mono);color:var(--green);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.5rem;font-size:.78rem}.section-title{letter-spacing:-.02em;font-size:2rem;font-weight:700;line-height:1.15}.about-grid{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.about-photo{background:var(--bg-elev);border:3px solid #39d35366;border-radius:50%;flex:none;width:140px;height:140px;overflow:hidden;box-shadow:0 0 0 6px #39d35314,0 12px 32px #0006}.about-photo img{object-fit:cover;object-position:center 18%;border-radius:50%;width:100%;height:100%}.about-copy{max-width:70ch}.about-copy p{color:var(--muted);margin-bottom:.95rem;font-size:.89rem;line-height:1.82}.about-copy strong{color:var(--text);font-weight:500}.about-now{border:1px solid var(--border-soft);border-left:3px solid var(--green);background:var(--bg-deep);color:var(--muted);border-radius:6px;margin-top:1rem;padding:.8rem .9rem;font-size:.875rem;line-height:1.65}.about-now-label{font-family:var(--mono);color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-right:.55rem;font-size:.75rem;display:inline-block}.about-copy code{border:1px solid var(--border-soft);background:var(--bg-deep);font-family:var(--mono);color:var(--green-bright);border-radius:4px;padding:.08rem .3rem;font-size:.75rem}.about-links{flex-wrap:wrap;gap:.7rem;margin-top:1.15rem;display:flex}.about-link{font-family:var(--mono);color:var(--blue);align-items:center;gap:.3rem;font-size:.75rem;display:inline-flex}.about-link:hover{color:var(--green-bright)}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.skill-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s,border-color .2s;display:flex}.skill-card:hover{border-color:var(--cyan);transform:translateY(-3px)}.skill-title{font-family:var(--mono);color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;line-height:1.3;display:flex}.skill-title:before{content:"#";color:var(--green)}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{border:1px solid var(--border);background:var(--bg-elev-2);font-family:var(--mono);color:var(--muted);border-radius:4px;padding:.3rem .7rem;font-size:.75rem;transition:color .18s,border-color .18s}.skill-tag:hover{color:var(--green);border-color:var(--green)}.timeline{padding-left:2rem;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom,var(--green),transparent);width:2px;position:absolute;top:4px;bottom:0;left:0}.timeline-item{padding-bottom:2.5rem;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{border:2px solid var(--bg);background:var(--green);width:10px;height:10px;box-shadow:0 0 0 2px var(--green);border-radius:50%;position:absolute;top:.4rem;left:-2.45rem}.tl-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.tl-role{letter-spacing:-.01em;font-size:1.05rem;font-weight:600}.tl-when{border:1px solid var(--border);background:var(--bg-elev);font-family:var(--mono);color:var(--muted);white-space:nowrap;border-radius:4px;padding:.2rem .6rem;font-size:.875rem}.tl-org{color:var(--cyan);align-items:center;gap:.45rem;margin-top:.2rem;font-size:.9rem;font-weight:600;display:flex}.tl-org:before{content:"▸";color:var(--green);font-size:.75rem}.tl-list{flex-direction:column;gap:.3rem;margin-top:.6rem;list-style:none;display:flex}.tl-list li{color:var(--muted);padding-left:1rem;font-size:.9rem;line-height:1.75;position:relative}.tl-list li:before{content:"▸";color:var(--green);position:absolute;left:0}.certs-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.cert-card{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:.75rem;padding:1.5rem;transition:transform .2s,border-color .2s;display:flex}.cert-card:hover{border-color:var(--yellow);transform:translateY(-3px)}.cert-icon{background:var(--bg-elev-2);width:44px;height:44px;color:var(--yellow);border-radius:8px;flex:none;place-items:center;display:grid}.cert-name{font-size:.95rem;font-weight:600;line-height:1.45}.cert-issuer{color:var(--muted);font-size:.875rem}.cert-kind{font-family:var(--mono);color:var(--yellow);font-size:.75rem}.cert-link{color:var(--cyan);align-items:center;gap:.3rem;margin-top:auto;padding-top:.2rem;font-size:.875rem;display:inline-flex}.cert-link:hover{color:var(--green)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.project-card{scroll-margin-top:calc(var(--nav-h) + 20px);border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:.75rem;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.project-icon{background:var(--bg-elev-2);width:40px;height:40px;color:var(--purple);border:1px solid #39d35340;border-radius:8px;place-items:center;line-height:1;display:grid}.project-evidence{border:1px solid var(--border-soft);background:var(--bg-deep);border-radius:6px;flex-direction:column;gap:.2rem;padding:.6rem .75rem;list-style:none;display:flex}.project-evidence li{font-family:var(--mono);color:var(--muted);padding-left:.85rem;font-size:.875rem;line-height:1.55;position:relative}.project-evidence li:before{content:"›";color:var(--green);position:absolute;left:0}.project-name{font-size:1rem;font-weight:600;line-height:1.42}.project-desc{color:var(--muted);flex:1;font-size:.87rem;line-height:1.7}.project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.project-tag{background:var(--bg-elev-2);font-family:var(--mono);color:var(--purple);border:1px solid #39d35340;border-radius:3px;padding:.2rem .55rem;font-size:.75rem}.project-links{border-top:1px solid var(--border-soft);flex-wrap:wrap;gap:.9rem;margin-top:.2rem;padding-top:.75rem;display:flex}.project-link{font-family:var(--mono);color:var(--cyan);align-items:center;gap:.28rem;font-size:.75rem;display:inline-flex}.project-link:hover{color:var(--green)}.project-link svg{width:11px;height:11px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.note-card{border:1px solid var(--border);background:var(--bg-elev);scroll-margin-top:calc(var(--nav-h) + 20px);border-radius:12px;padding:1.3rem}.note-heading{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.note-anchor{border:1px solid var(--border);width:28px;height:28px;color:var(--faint);border-radius:5px;flex:none;place-items:center;transition:color .18s,border-color .18s;display:grid}.note-anchor:hover{color:var(--green);border-color:var(--green)}.note-related{color:var(--cyan);margin-top:.65rem;font-size:.875rem;line-height:1.5;display:inline-block}.note-related:hover{color:var(--green)}.note-meta{font-family:var(--mono);color:var(--faint);flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.6rem;font-size:.875rem;display:flex}.note-meta .tag{border:1px solid var(--border-soft);color:var(--muted);border-radius:3px;padding:.1rem .32rem}.note-title{letter-spacing:-.01em;font-size:.98rem;font-weight:600;line-height:1.45}.note-summary{color:var(--muted);margin-top:.5rem;font-size:.875rem;line-height:1.68}.note-card details{border-top:1px solid var(--border-soft);margin-top:.9rem;padding-top:.8rem}.note-card summary{font-family:var(--mono);color:var(--green);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.75rem;list-style:none;display:flex}.note-card summary::-webkit-details-marker{display:none}.note-card summary:before{content:"+";border:1px solid #39d35359;border-radius:3px;place-items:center;width:14px;height:14px;font-size:.75rem;line-height:1;display:inline-grid}.note-card details[open] summary:before{content:"−"}.note-card summary:hover{color:var(--green-bright)}.note-body{flex-direction:column;gap:.75rem;padding-top:.9rem;display:flex}.note-body h4{font-family:var(--mono);color:var(--text);font-size:.875rem;font-weight:500}.note-body p{color:var(--muted);font-size:.875rem;line-height:1.75}.note-body ul{flex-direction:column;gap:.3rem;padding-left:0;list-style:none;display:flex}.note-body li{color:var(--muted);padding-left:.9rem;font-size:.875rem;line-height:1.65;position:relative}.note-body li:before{content:"▹";color:var(--green);position:absolute;left:0}.note-body pre{border:1px solid var(--border-soft);background:var(--bg-deep);border-radius:6px;margin:0;padding:.7rem .8rem;overflow-x:auto}.note-body code{font-family:var(--mono);color:var(--green-bright);font-size:.75rem;line-height:1.7}.faq-list{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem .15rem;font-size:.89rem;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";border:1px solid var(--border);width:20px;height:20px;font-family:var(--mono);color:var(--green);border-radius:4px;flex:none;place-items:center;font-size:.75rem;transition:border-color .2s,background .2s;display:grid}.faq-item[open] summary:after{content:"−";background:var(--green-dim);border-color:#39d35366}.faq-item summary:hover:after{border-color:#39d35380}.faq-item p{max-width:780px;color:var(--muted);padding:0 2rem 1.1rem .15rem;font-size:.875rem;line-height:1.75}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start;gap:3rem;display:grid}.contact-copy p{color:var(--muted);margin-bottom:2rem;font-size:.9rem;line-height:1.8}.contact-copy p strong{color:var(--text);font-weight:500}.contact-copy .contact-availability{font-family:var(--mono);color:var(--green);align-items:center;gap:.45rem;margin-bottom:1.7rem;font-size:.875rem;display:flex}.contact-availability .dot{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #39d35324}.contact-links{flex-direction:column;gap:.8rem;display:flex}.contact-link{color:var(--muted);align-items:center;gap:.75rem;font-size:.9rem;transition:color .2s;display:flex}.contact-link:hover{color:var(--green)}.contact-link .ico{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;flex:none;place-items:center;width:36px;height:36px;font-size:1rem;display:grid}.contact-link .arrow{color:var(--faint);margin-left:auto;font-size:.75rem}.contact-form{border:1px solid var(--border);background:var(--bg-elev);border-radius:10px;flex-direction:column;gap:.9rem;padding:2rem;display:flex}.form-group{flex-direction:column;gap:.3rem;display:flex}.botcheck{display:none}.form-group label{font-family:var(--mono);color:var(--muted);font-size:.875rem}.form-group label:before{content:"// ";color:var(--faint)}.form-group input,.form-group textarea{border:1px solid var(--border);background:var(--bg-elev-2);width:100%;color:var(--text);font-family:var(--sans);border-radius:6px;padding:.7rem 1rem;font-size:.9rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--faint)}.form-group input:focus,.form-group textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #39d35321}.form-group textarea{resize:vertical;min-height:118px}.form-submit{border:1px solid var(--green);background:var(--green);width:100%;color:var(--bg);font-family:var(--sans);border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem;font-size:.95rem;font-weight:700;transition:background .2s,transform .18s,box-shadow .2s;display:inline-flex}.form-submit:hover{background:var(--green-bright);transform:translateY(-1px);box-shadow:0 6px 22px #39d35340}.form-submit:disabled{opacity:.6;cursor:wait;transform:none}.form-note{font-family:var(--mono);color:var(--faint);text-align:center;font-size:.75rem}.form-success{font-family:var(--mono);color:var(--success-bright);background:#39d3531a;border:1px solid #39d35359;border-radius:7px;padding:.7rem .8rem;font-size:.875rem;line-height:1.6}.form-error{font-family:var(--mono);color:var(--red);background:#f8514914;border:1px solid #f8514966;border-radius:7px;padding:.7rem .8rem;font-size:.875rem;line-height:1.6}.site-footer{border-top:1px solid var(--border);background:var(--bg-deep)}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:3rem 2rem 1.8rem}.footer-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:2rem;display:grid}.footer-brand .brand{margin-bottom:.7rem}.footer-desc{max-width:320px;color:var(--muted);font-size:.875rem;line-height:1.75}.footer-col h3{font-family:var(--mono);color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.8rem;font-size:.75rem;font-weight:500}.footer-col ul{flex-direction:column;gap:.45rem;list-style:none;display:flex}.footer-col a{color:var(--muted);align-items:center;gap:.35rem;font-size:.875rem;transition:color .18s;display:inline-flex}.footer-col a:hover{color:var(--green-bright)}.footer-bottom{border-top:1px solid var(--border-soft);font-family:var(--mono);color:var(--faint);grid-template-columns:1fr auto 1fr;align-items:center;gap:.7rem;margin-top:2.4rem;padding-top:1.3rem;font-size:.75rem;display:grid}.footer-copyright{text-align:left;grid-column:1;justify-self:start}.footer-copy{text-align:center;grid-column:2;justify-self:center}.footer-top{grid-column:3;justify-self:end}.footer-bottom a{color:var(--muted);align-items:center;gap:.18rem;display:inline-flex}.footer-bottom a:hover{color:var(--green-bright)}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.22,.61,.36,1);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}@media(max-width:980px){.hero-inner{gap:2.6rem}.about-grid{grid-template-columns:auto minmax(0,1fr);gap:1.8rem}.projects-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.hero{padding-top:calc(var(--nav-h) + 3rem)}.hero-inner{grid-template-columns:minmax(0,1fr);gap:2.5rem}.hero-content{text-align:center;flex-direction:column;align-items:center;max-width:none;display:flex}.hero-pills,.hero-actions{justify-content:center}.hero-desc{max-width:600px}.hero-visual{order:-1;align-items:center}.portrait{width:min(240px,68vw)}.terminal,.scroll-hint{display:none}.contact-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem}.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.8rem}}@media(max-width:860px){.nav-links{display:none}.nav-toggle{display:grid}}@media(max-width:700px){.section{padding:3.6rem 1.25rem}.hero{padding-left:1.25rem;padding-right:1.25rem}.about-grid{text-align:center;grid-template-columns:minmax(0,1fr);gap:1.5rem}.about-photo{margin:0 auto}.about-links{justify-content:center}.certs-grid,.notes-grid{grid-template-columns:minmax(0,1fr)}.footer-inner{padding:2.4rem 1.25rem 1.6rem}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-brand{grid-column:1/-1}}@media(max-width:600px){.projects-grid,.skills-grid{grid-template-columns:minmax(0,1fr)}.hero-actions{width:100%}.hero-actions .btn{flex:calc(50% - .5rem)}.nav-inner{padding:0 1rem}.brand{font-size:.78rem}.footer-grid{grid-template-columns:minmax(0,1fr)}.faq-item p{padding-right:.5rem}}@media(max-width:400px){.pill{font-size:.75rem}}@keyframes ambient-drift{0%{transform:translate(-1.5%,-1%)scale(1.02)}to{transform:translate(1.5%,1.5%)scale(1.08)}}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}:root{--bg:#0d1117;--bg-deep:#090d16;--bg-secondary:#161b22;--bg-elev:#161b22;--bg-elev-2:#21262d;--border:#30363d;--border-soft:#21262d;--text:#e6edf3;--muted:#8b949e;--faint:#8b949e;--green:#39d353;--green-bright:#46ef63;--green-dim:#39d3531f;--success:#39d353;--success-bright:#46ef63;--blue:#58a6ff;--cyan:#58a6ff;--purple:#bc8cff;--yellow:#e3b341;--orange:#f78166;--red:#f85149;--maxw:1000px;--radius:10px;--glass:#161b22;--glass-border:#30363d;--shadow-card:0 10px 28px #0000003d}#root{z-index:1;position:relative}body{background:var(--bg);position:relative}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 12%,#39d35321,#0000 38%),radial-gradient(circle at 88% 8%,#58a6ff17,#0000 38%),radial-gradient(circle at 50% 100%,#39d3530f,#0000 42%);animation:18s ease-in-out infinite alternate ambient-drift;position:fixed;top:-12%;right:-12%;bottom:-12%;left:-12%}body:after{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#e6edf306 1px,#0000 1px),linear-gradient(90deg,#e6edf306 1px,#0000 1px);background-size:56px 56px;position:fixed;top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(80% 75% at 50% 0,#000 0%,#0000 78%);mask-image:radial-gradient(80% 75% at 50% 0,#000,#0000 78%)}::selection{color:#fff;background:#39d35347}.site-header{height:var(--nav-h);-webkit-backdrop-filter:none;background:0 0;border-bottom:0}.site-header.is-scrolled{border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(18px);background:#0d1117c2;box-shadow:0 12px 36px #00000052}.nav-inner{max-width:1000px;padding:0 2rem}.brand{font-family:var(--mono);color:var(--green);letter-spacing:.03em;gap:0;font-size:1rem;font-weight:700}.brand .prompt,.brand .brand-path{color:var(--muted)}.nav-links a{font-family:var(--sans-ui);color:var(--muted);font-size:.86rem;font-weight:500}.nav-links a:after{background:linear-gradient(90deg,var(--green),var(--blue));height:2px}.nav-cv{background:var(--green);font-family:var(--sans-ui);box-shadow:none;border:0;border-radius:6px;font-weight:700;color:#0d1117!important;padding:.5rem .9rem!important;font-size:.78rem!important}.nav-cv:hover{background:#46ef63;border:0!important}.nav-toggle{background:var(--glass);border-color:var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px}.mobile-menu{border-bottom-color:var(--glass-border);background:#161b22f5}.hero{min-height:100vh;padding:calc(var(--nav-h) + 4rem) 1.5rem 5rem}.hero:before{opacity:.65;background-size:48px 48px}.hero-inner{max-width:calc(var(--maxw) - 4rem);grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(2.5rem,5vw,5.5rem)}.hero-pills{margin-bottom:1.4rem}.pill{font-family:var(--sans);color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#39d35312;border-color:#39d3533d;padding:.5rem .9rem;font-size:.78rem}.pill strong{color:var(--text);font-weight:600}.hero-title{letter-spacing:-.04em;color:var(--text);margin-bottom:.3rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1}.hero-role{font-family:var(--mono);color:var(--blue);margin:.4rem 0 1.35rem;font-size:clamp(1rem,2vw,1.2rem)}.hero-role .typed{color:var(--blue)}.hero-role .cursor{background:var(--blue)}.hero-desc{max-width:610px;color:var(--muted);margin-bottom:2rem;font-size:1.02rem;line-height:1.8}.hero-desc strong{color:var(--text);font-weight:600}.hero-actions{gap:.85rem;margin-bottom:2.5rem}.btn{border-radius:6px;padding:.82rem 1.35rem;font-size:.9rem;font-weight:600}.btn-primary{background:var(--green);color:#0d1117;box-shadow:none;border:0}.btn-primary:hover{color:#0d1117;background:#46ef63;transform:translateY(-2px);box-shadow:0 8px 24px #39d35340}.btn-ghost{border-color:var(--glass-border);color:var(--text);-webkit-backdrop-filter:none;background:0 0}.btn-ghost:hover{color:var(--green-bright);background:#21262dcc;border-color:#39d35373}.hero-stats{flex-wrap:wrap;gap:2.4rem;display:flex}.hero-stat{flex-direction:column;gap:.2rem;display:flex}.hero-stat strong{color:var(--green);background:linear-gradient(135deg,var(--green),var(--blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.9rem;font-weight:700;line-height:1}.hero-stat span{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:.72rem;font-weight:600}.hero-visual{justify-content:center;align-items:center;display:flex}.portrait-wrap{aspect-ratio:1;place-items:center;width:min(380px,100%);display:grid;position:relative}.portrait-wrap:before{content:"";filter:blur(28px);background:radial-gradient(circle,#39d3531f,#0000 66%);border-radius:50%;position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px}.portrait-wrap:after{content:"";background:conic-gradient(from 120deg,var(--green),transparent 32%,var(--blue) 52%,transparent 76%,var(--green));border-radius:50%;animation:16s linear infinite ring-spin;position:absolute;top:0;right:0;bottom:0;left:0}.portrait{z-index:1;aspect-ratio:1;border:6px solid var(--bg);border-radius:50%;width:calc(100% - 18px);height:calc(100% - 18px);position:relative;box-shadow:0 22px 60px #00000080,0 0 28px #39d35314}.portrait:after{background:linear-gradient(#0000 45%,#090d1657)}.portrait img{object-position:center 18%;filter:saturate(.95)contrast(1.02)}.portrait:hover img{transform:scale(1.04)}.tech-chip{z-index:2;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);width:42px;height:42px;color:var(--cyan);background:#161b22e6;border-radius:50%;place-items:center;transition:color .2s,border-color .2s,box-shadow .2s;animation:6s ease-in-out infinite chip-float;display:grid;position:absolute;box-shadow:0 10px 30px #00000047}.tech-chip:before{content:"";width:19px;height:19px;-webkit-mask:var(--tech-icon) center / contain no-repeat;mask:var(--tech-icon) center / contain no-repeat;background:currentColor}.tech-chip:hover{color:var(--green-bright);border-color:var(--green);box-shadow:0 10px 30px #0000004d,0 0 18px #39d3532e}.chip-aws{--tech-icon:url(/brand-icons/aws.svg);top:5%;left:2%}.chip-k8s{--tech-icon:url(/brand-icons/kubernetes.svg);animation-delay:-1.5s;top:5%;right:2%}.chip-docker{--tech-icon:url(/brand-icons/docker.svg);animation-delay:-3s;bottom:5%;left:2%}.chip-gha{--tech-icon:url(/brand-icons/github-actions.svg);animation-delay:-4.5s;bottom:5%;right:2%}.scroll-hint{font-family:var(--sans);letter-spacing:.12em;color:var(--faint);text-transform:uppercase;font-size:.75rem;font-weight:600}.section{max-width:var(--maxw);border-top:0;padding:5rem 2rem}.section-label{font-family:var(--mono);letter-spacing:.15em;text-align:left;color:var(--green);margin-bottom:.7rem;font-size:.78rem;font-weight:400}.section-title{letter-spacing:-.035em;text-align:left;color:var(--text);margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;line-height:1.15}.section-description{text-align:left;max-width:680px;color:var(--muted);margin:0 0 1.2rem;font-size:.98rem;line-height:1.7}.section-divider{background:linear-gradient(90deg,var(--green),var(--blue));border-radius:999px;width:72px;height:3px;margin:0 0 3rem}.skill-card,.cert-card,.project-card,.timeline-item,.about-copy,.contact-copy,.contact-form{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px)}.about-copy{max-width:880px;margin:0 auto;padding:2rem 2.2rem}.about-copy p{margin-bottom:1rem;font-size:.98rem;line-height:1.8}.about-copy p:last-of-type{margin-bottom:0}.about-links{gap:.6rem;margin-top:1.4rem}.about-link{border:1px solid var(--glass-border);font-family:var(--sans);color:var(--text);background:#ffffff05;border-radius:10px;padding:.5rem .75rem;font-size:.8rem;font-weight:600;transition:color .2s,border-color .2s,transform .2s}.about-link:hover{color:var(--green-bright);border-color:#39d35366;transform:translateY(-1px)}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.skill-card{text-align:center;align-items:center;gap:.8rem;padding:2rem 1.5rem;transition:transform .22s,border-color .22s,box-shadow .22s}.skill-card:hover{border-color:#39d35357;transform:translateY(-6px);box-shadow:0 20px 45px #00000052}.skill-icon{width:62px;height:62px;color:var(--green-bright);background:linear-gradient(135deg,#39d3532e,#58a6ff1f);border:1px solid #39d35340;border-radius:18px;place-items:center;margin-bottom:.35rem;display:grid}.skill-title{font-family:var(--sans);letter-spacing:0;text-transform:none;color:var(--text);font-size:1.05rem;font-weight:600;display:block}.skill-title:before{display:none}.skill-desc{color:var(--muted);font-size:.86rem;line-height:1.65}.skill-tags{justify-content:center;gap:.4rem;margin-top:.35rem}.skill-tag{font-family:var(--sans);color:var(--muted);background:#39d3530f;border-color:#39d3532e;border-radius:999px;padding:.3rem .65rem;font-size:.72rem}.skill-tag:hover{color:var(--green-bright);background:#39d35324;border-color:#39d35366}.timeline{padding-left:2.2rem}.timeline:before{background:linear-gradient(to bottom,var(--green),#39d35300)}.timeline-item{margin-bottom:1.2rem;padding:1.6rem 1.7rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{border-color:var(--bg);background:var(--green);width:12px;height:12px;top:1.9rem;left:-2.62rem;box-shadow:0 0 0 4px #39d35324,0 0 18px #39d35373}.tl-role{font-size:1.15rem;font-weight:600}.tl-when{font-family:var(--sans);color:var(--green-bright);background:#39d35314;border:1px solid #39d35340;border-radius:999px;padding:.28rem .62rem;font-size:.72rem;font-weight:600}.tl-org{color:var(--blue);margin:.35rem 0 .8rem;font-size:.9rem;font-weight:500}.tl-list{gap:.4rem}.tl-list li{color:var(--muted);font-size:.88rem;line-height:1.65}.certs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.cert-card{padding:1.5rem;transition:transform .22s,border-color .22s,box-shadow .22s}.cert-card:hover{border-color:#39d35357;transform:translateY(-5px);box-shadow:0 20px 45px #00000052}.cert-icon{width:48px;height:48px;color:var(--green-bright);background:linear-gradient(135deg,#39d3532e,#58a6ff1f);border:1px solid #39d35340;border-radius:14px;place-items:center;display:grid}.cert-name{margin-top:.75rem;font-size:1rem;font-weight:600}.cert-issuer{font-size:.82rem}.cert-kind{width:fit-content;color:var(--blue);font-family:var(--sans);background:#58a6ff14;border:1px solid #58a6ff33;border-radius:999px;font-size:.7rem}.cert-link{font-family:var(--sans);color:var(--green);font-size:.76rem;font-weight:600}.projects-grid{gap:1.35rem}.project-card{padding:1.75rem;transition:transform .22s,border-color .22s,box-shadow .22s}.project-card:hover{border-color:#39d35357;transform:translateY(-6px);box-shadow:0 20px 45px #00000052}.project-icon{width:56px;height:56px;color:var(--green-bright);background:linear-gradient(135deg,#39d3532e,#58a6ff1f);border:1px solid #39d35340;border-radius:16px;place-items:center;display:grid}.project-name{letter-spacing:-.01em;font-size:1.18rem;font-weight:600}.project-desc{font-size:.9rem;line-height:1.7}.project-evidence li{font-size:.78rem;line-height:1.6}.project-tag{font-family:var(--sans);color:var(--blue);background:#58a6ff14;border-color:#58a6ff33;border-radius:999px;font-size:.7rem}.project-link{font-family:var(--sans);color:var(--green);font-size:.76rem;font-weight:600}.contact-grid{align-items:stretch;gap:2rem}.contact-copy{padding:2rem}.contact-copy p{margin-bottom:1.4rem;font-size:.95rem;line-height:1.75}.contact-copy .contact-availability{font-family:var(--sans);margin-bottom:1.4rem;font-size:.82rem;font-weight:600}.contact-links{gap:.65rem}.contact-link{background:#ffffff05;border:1px solid #0000;border-radius:12px;padding:.6rem .75rem;font-size:.86rem}.contact-link:hover{color:var(--green-bright);background:#39d3530f;border-color:#39d35333}.contact-link .ico{color:var(--green);background:#39d35314;border-color:#39d35333;border-radius:10px}.contact-form{gap:1rem;padding:2rem}.form-group label{font-family:var(--sans);color:var(--muted);font-size:.8rem;font-weight:600}.form-group label:before{display:none}.form-group input,.form-group textarea{border-color:var(--glass-border);background:#090d1680;border-radius:10px;padding:.8rem 1rem;font-size:.9rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #39d35321}.form-submit{background:linear-gradient(135deg,var(--green),#46ef63);color:#0d1117;border:0;border-radius:12px;padding:.85rem}.form-submit:hover{background:linear-gradient(135deg,var(--green-bright),var(--green));box-shadow:0 8px 28px #39d35347}.site-footer{border-top-color:var(--glass-border);-webkit-backdrop-filter:blur(18px);background:#161b22b8;margin-top:2rem}.footer-inner{max-width:var(--maxw);padding:3.5rem 2rem 1.8rem}.footer-brand .brand{font-family:var(--mono);margin-bottom:.8rem;font-size:1.1rem}.footer-col h3{font-family:var(--mono);letter-spacing:.1em;color:#475569;font-size:.68rem;font-weight:600}.footer-col a{font-size:.86rem}.footer-bottom{border-top-color:var(--glass-border)}@media(max-width:980px){.hero-inner{text-align:center;grid-template-columns:minmax(0,1fr);gap:3rem}.hero-content{flex-direction:column;align-items:center;display:flex}.hero-desc{margin-left:auto;margin-right:auto}.hero-actions,.hero-stats{justify-content:center}.portrait-wrap{width:min(320px,82vw)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.section{padding:4.5rem 1.1rem}.nav-inner{padding:0 1.1rem}.footer-inner{padding-left:1.1rem;padding-right:1.1rem}.hero{padding:calc(var(--nav-h) + 3rem) 1.1rem 4rem}.hero-title{font-size:clamp(2.8rem,14vw,4rem)}.hero-stats{gap:1.6rem}.tech-chip{width:36px;height:36px}.tech-chip:before{width:16px;height:16px}.skills-grid,.certs-grid,.projects-grid{grid-template-columns:minmax(0,1fr)}.timeline{padding-left:1.5rem}.timeline-item{padding:1.3rem}.timeline-dot{left:-1.95rem}.about-copy,.contact-copy,.contact-form{padding:1.4rem}.about-links{justify-content:flex-start}.footer-inner{padding:2.8rem 1.1rem 1.4rem}}@media(max-width:480px){.hero-actions{width:100%}.hero-actions .btn{flex:100%}.hero-stat strong{font-size:1.65rem}.portrait-wrap{width:min(280px,82vw)}.tech-chip{width:32px;height:32px}.tech-chip:before{width:14px;height:14px}}@media(prefers-reduced-motion:reduce){body:before,.portrait-wrap:after,.tech-chip{animation:none}}.pill .dot,.contact-availability .dot{background:var(--success);box-shadow:0 0 0 3px #39d35324,0 0 8px #39d3538c}.contact-copy .contact-availability{color:var(--success-bright)}.nav-links{gap:.95rem}.nav-links a{font-size:.85rem}.hero-terminal{border:1px solid var(--glass-border);background:#161b22;border-radius:10px;width:min(334px,100%);overflow:hidden;box-shadow:0 18px 44px #0000004d}.hero-terminal-bar{border-bottom:1px solid var(--border-soft);background:#21262dc7;align-items:center;gap:5px;padding:.5rem .75rem;display:flex}.hero-terminal-bar i{background:var(--border);border-radius:50%;width:7px;height:7px}.hero-terminal-bar i:first-child{background:var(--green)}.hero-terminal-bar i:nth-child(2){background:var(--blue)}.hero-terminal-bar i:nth-child(3){background:var(--muted)}.hero-terminal-bar span{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:.65rem}.hero-terminal-body{font-family:var(--mono);color:var(--muted);padding:.8rem .9rem;font-size:.69rem;line-height:1.85}.hero-terminal-prompt{color:var(--green)}.hero-terminal-out{color:var(--blue);padding-left:.85rem}.hero-terminal-cursor{vertical-align:-1px;background:var(--green);width:5px;height:9px;animation:1.1s step-end infinite blink;display:inline-block}.about-layout{grid-template-columns:minmax(0,1.55fr) minmax(220px,.65fr);align-items:start;gap:1rem;display:grid}.about-portrait{box-shadow:var(--shadow-card);background:linear-gradient(145deg,#39d35324,#58a6ff0f);border:1px solid #39d35347;border-radius:26px;padding:.55rem;position:relative}.about-portrait picture{aspect-ratio:4/5;background:var(--bg-elev);border-radius:20px;display:block;overflow:hidden}.about-portrait img{object-fit:cover;object-position:center 16%;filter:saturate(.95)contrast(1.02);width:100%;height:100%}.about-portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000 58%,#090d168f);border-radius:20px;position:absolute;top:.55rem;right:.55rem;bottom:.55rem;left:.55rem}.about-portrait-badge{z-index:1;font-family:var(--mono);color:var(--text);-webkit-backdrop-filter:blur(10px);background:#0d1117d1;border:1px solid #39d35342;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .65rem;font-size:.66rem;display:inline-flex;position:absolute;bottom:1.2rem;left:1.2rem}.about-layout .about-copy{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass);max-width:none;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);margin:0;padding:clamp(1.5rem,3vw,2.2rem)}.about-layout .about-stats{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);align-self:stretch;gap:.85rem;margin-top:0}.about-layout .about-stat{justify-content:center;gap:.3rem}.about-kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:.7rem;font-size:.7rem;display:inline-block}.about-copy h3{letter-spacing:-.02em;margin-bottom:.9rem;font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:650;line-height:1.35}.about-availability{align-items:flex-start;gap:.45rem;font-weight:600;display:flex;color:var(--success-bright)!important;margin:1.05rem 0 0!important;font-size:.82rem!important}.about-availability .dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px;margin-top:.5rem;box-shadow:0 0 0 3px #39d35324,0 0 8px #39d35380}.about-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1.1rem;display:grid}.about-stat{text-align:center;flex-direction:column;gap:.25rem;padding:1rem 1.05rem;display:flex}.about-stat strong{min-width:5rem;color:var(--green-bright);text-shadow:0 0 20px #39d3532e;background:#39d3530d;border:1px solid #39d3534d;border-radius:10px;justify-content:center;align-self:center;align-items:center;padding:.5rem 1rem;font-size:1.55rem;font-weight:700;line-height:1.1;display:inline-flex}.about-stat span{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-size:.68rem;font-weight:600}.skills-stack{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.skill-category{border:1px solid var(--border);background:var(--bg-secondary);box-shadow:none;border-radius:10px;padding:1.5rem;transition:border-color .2s,transform .2s}.skill-category:hover{border-color:var(--cyan);transform:translateY(-3px)}.skill-cat-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:400;line-height:1.3;display:flex}.skill-cat-title:before{content:"#";color:var(--green)}.skill-category .skill-tags{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin-top:0;display:flex}.skill-category .skill-tag{border:1px solid var(--border);background:var(--bg-elev-2);font-family:var(--mono);color:var(--muted);border-radius:4px;padding:.3rem .7rem;font-size:.75rem;transition:all .2s}.skill-category .skill-tag:hover{border-color:var(--green);background:var(--bg-elev-2);color:var(--green)}.project-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.project-index{font-family:var(--mono);color:var(--green-bright);background:#39d3530f;border:1px solid #39d35338;border-radius:999px;padding:.18rem .5rem;font-size:.62rem}.project-cta{border:1px solid var(--glass-border);background:radial-gradient(circle at 88% 20%,#58a6ff1f,transparent 42%),var(--glass);box-shadow:var(--shadow-card);border-radius:20px;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.5rem;padding:1.6rem 1.8rem;display:flex}.project-cta-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-bottom:.35rem;font-size:.68rem;display:block}.project-cta h3{margin-bottom:.35rem;font-size:1.15rem;font-weight:600}.project-cta p{max-width:560px;color:var(--muted);font-size:.86rem;line-height:1.65}.project-links-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.project-link-card{border:1px solid var(--glass-border);background:#161b22b3;border-radius:14px;align-items:flex-start;gap:.65rem;padding:.9rem;transition:transform .2s,border-color .2s;display:flex}.project-link-card:hover{border-color:#39d3535c;transform:translateY(-3px)}.project-link-icon{width:34px;height:34px;color:var(--green);background:#39d35312;border:1px solid #39d35333;border-radius:10px;flex:none;place-items:center;display:grid}.project-link-card h4{margin-bottom:.18rem;font-size:.82rem;font-weight:600}.project-link-card p{color:var(--muted);font-size:.72rem;line-height:1.5}.project-link-card>svg{color:var(--faint);flex:none;margin-left:auto}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.contact-link{overflow-wrap:anywhere;min-width:0;font-size:.8rem}.footer-grid{grid-template-columns:minmax(0,1.55fr) repeat(3,minmax(0,.85fr))}.footer-socials{gap:.4rem;margin-top:1rem;display:flex}.footer-socials a{border:1px solid var(--glass-border);width:32px;height:32px;color:var(--muted);background:#ffffff05;border-radius:9px;place-items:center;transition:color .2s,border-color .2s,transform .2s;display:grid}.footer-socials a:hover{color:var(--green-bright);border-color:#39d35361;transform:translateY(-2px)}@media(max-width:1100px){.nav-links{gap:.7rem}.nav-links a{font-size:.74rem}}@media(max-width:980px){.about-layout{grid-template-columns:minmax(0,1fr)}.about-portrait{width:min(300px,78vw);margin:0 auto}.about-layout .about-copy{text-align:left}.project-links-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}@media(max-width:700px){.hero-terminal{display:none}.skills-stack,.contact-links{grid-template-columns:minmax(0,1fr)}.project-cta{flex-direction:column;align-items:flex-start}.project-links-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-brand{grid-column:auto}.footer-bottom{grid-template-columns:minmax(0,1fr) auto}.footer-copyright{text-align:left;grid-area:1/1;justify-self:start}.footer-top{grid-area:1/2;justify-self:end}.footer-copy{text-align:center;grid-area:2/1/auto/-1;justify-self:center}}@media(max-width:700px){.hero{min-height:100svh;padding:calc(var(--nav-h) + 1.25rem) max(1.1rem,env(safe-area-inset-left)) 2rem}.hero-inner{gap:1.35rem}.hero-visual{order:-1;margin-top:.25rem}.portrait-wrap{width:158px}.portrait-wrap:before{filter:blur(18px);top:-12px;right:-12px;bottom:-12px;left:-12px}.portrait{border-width:4px;box-shadow:0 14px 36px #00000073,0 0 22px #39d3531a}.hero-pills{margin-bottom:.9rem}.pill{text-align:center;gap:.35rem;max-width:100%;padding:.4rem .7rem;font-size:.68rem;line-height:1.4}.hero-title{margin-bottom:.1rem;font-size:clamp(2.35rem,11vw,3rem)}.hero-role{margin:.2rem 0 .9rem;font-size:.92rem}.hero-desc{max-width:340px;margin-bottom:1.25rem;font-size:.9rem;line-height:1.65}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;max-width:360px;margin-bottom:0;display:grid}.hero-actions .btn{white-space:nowrap;justify-content:center;width:100%;min-width:0;padding:.78rem .5rem;font-size:.84rem}.about-layout .about-stats{gap:.65rem}}
