.hero-inner{align-items:flex-start;gap:2rem;display:flex}.hero-avatar{object-fit:cover;border:2px solid var(--border);width:96px;height:96px;transition:border-color var(--duration-fast) var(--ease);border-radius:50%;flex-shrink:0;margin-top:.25rem}.hero-avatar:hover{border-color:var(--accent)}.hero-text{flex:1;min-width:0}.hero-badge-row{margin-bottom:1rem}.hero-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-size:.75rem;display:inline-flex}.hero-badge-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}.hero-tagline{color:var(--text-primary);font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600;line-height:1.4}.hero-tagline strong{color:var(--accent);font-weight:700}.hero-subtagline{color:var(--text-secondary);max-width:540px;margin-top:.5rem;font-size:.95rem;line-height:1.6}.hero-stack{flex-wrap:wrap;gap:.4rem;margin-top:1.25rem;display:flex}.stack-chip{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease);border-radius:3px;padding:.2rem .55rem;font-size:.75rem}.stack-chip:hover{border-color:var(--chip-color);color:var(--chip-color)}.hero-cta{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.hero-cta .primary-link{color:#fff;background:var(--text-primary);transition:all var(--duration-fast) var(--ease);border-radius:6px;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.hero-cta .primary-link:hover{opacity:.85;transform:translateY(-1px)}.hero-cta .resume-link{color:var(--text-secondary);border:1px solid var(--border);transition:all var(--duration-fast) var(--ease);border-radius:6px;align-items:center;gap:.35rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.hero-cta .resume-link:hover{border-color:var(--text-primary);color:var(--text-primary)}.hero-socials{gap:.5rem;margin-top:1.5rem;display:flex}.social-icon-link{width:36px;height:36px;color:var(--text-secondary);border:1px solid var(--border);transition:all var(--duration-fast) var(--ease);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:flex}.social-icon-link:hover{color:var(--text-primary);border-color:var(--text-secondary);transform:translateY(-2px)}.hero-scroll{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);opacity:.5;align-items:center;gap:.4rem;margin-top:2.5rem;font-size:.72rem;animation:2s ease-in-out infinite bounce-scroll;display:inline-flex}@keyframes bounce-scroll{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:.8;transform:translateY(4px)}}@media (width<=640px){.hero-inner{text-align:center;flex-direction:column;align-items:center}.hero-cta,.hero-stack,.hero-socials{justify-content:center}.hero-avatar{width:72px;height:72px}.hero-subtagline{max-width:100%}.hero-scroll{display:none}}.about-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:3rem;display:grid}.about-text p{color:var(--text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.8}.about-text strong{color:var(--text-primary);font-weight:600}.about-stats{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.stat-item{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.2rem;padding:.75rem 1rem;display:flex}.stat-number{font-family:var(--font-display);color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);font-size:.78rem;line-height:1.3}@media (width<=640px){.about-grid{grid-template-columns:1fr;gap:2rem}}.entry-title-group{align-items:center;gap:.6rem;display:flex}.entry-icon{opacity:.7;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.entry-icon svg{width:18px;height:18px}.exp-logo-wrap{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.exp-logo{object-fit:contain;width:100%;height:100%;display:block}.edu-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.edu-card{border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.edu-logo{object-fit:contain;flex-shrink:0;width:24px;height:24px;margin-top:.15rem}.edu-body{flex-direction:column;gap:.15rem;display:flex}.edu-name{color:var(--text-primary);font-size:.9rem;font-weight:600}.edu-name a{color:inherit;text-decoration:none}.edu-name a:hover{color:var(--accent)}.edu-degree{color:var(--text-secondary);font-size:.85rem}.edu-meta{color:var(--text-secondary);font-size:.78rem;font-family:var(--font-mono);align-items:center;gap:.75rem;display:flex}.edu-honors{border:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.1rem .4rem;font-size:.7rem}.award-list{flex-wrap:wrap;gap:.4rem;display:flex}.award-chip{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);border-radius:3px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.award-title{color:var(--accent);font-weight:600}.award-desc{color:var(--text-secondary)}.feat-list{flex-direction:column;gap:.5rem;display:flex}.feat-item{border:1px solid var(--border);transition:all var(--duration-fast) var(--ease);border-radius:6px;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;text-decoration:none;display:flex}.feat-item:hover{border-color:var(--text-secondary)}.feat-thumb{object-fit:cover;border:1px solid var(--border);border-radius:4px;flex-shrink:0;width:60px;height:60px}.feat-body{flex:1;min-width:0}.feat-source{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.15rem;font-size:.7rem}.feat-title{color:var(--text-primary);margin-bottom:.15rem;font-size:.9rem;font-weight:500}.feat-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.5;display:-webkit-box;overflow:hidden}@media (width<=640px){.edu-grid{grid-template-columns:1fr}}.wf-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.wf-step{border:1px solid var(--border);border-radius:6px;gap:1rem;padding:1.25rem;display:flex}.wf-num{font-family:var(--font-display);color:var(--accent);opacity:.5;flex-shrink:0;min-width:2rem;font-size:1.5rem;font-weight:700;line-height:1}.wf-body{flex-direction:column;gap:.35rem;display:flex}.wf-title{color:var(--text-primary);font-size:.95rem;font-weight:600}.wf-desc{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.6}@media (width<=640px){.wf-grid{grid-template-columns:1fr}}.skill-bars .cap-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;display:grid}.skill-row{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.skill-name{font-family:var(--font-mono);color:var(--text-secondary);flex-shrink:0;min-width:100px;font-size:.78rem}.skill-bar-track{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.skill-bar-fill{height:100%;transition:width var(--duration-normal) var(--ease);border-radius:2px}.skill-pct{font-family:var(--font-mono);color:var(--text-secondary);text-align:right;min-width:32px;font-size:.7rem}.cert-list{flex-wrap:wrap;gap:.4rem;display:flex}.cert-badge{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease);border-radius:3px;padding:.25rem .6rem;font-size:.75rem;display:inline-block}.cert-badge a{color:inherit;text-decoration:none}.cert-badge:hover{border-color:var(--accent);color:var(--accent)}@media (width<=640px){.skill-bars .cap-grid{grid-template-columns:1fr}.skill-name{min-width:80px;font-size:.75rem}}.connect-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.contact-form{flex-direction:column;gap:.75rem;display:flex}.form-group{flex-direction:column;gap:.3rem;display:flex}.form-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.72rem}.form-input{font-size:.9rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);transition:border-color var(--duration-fast) var(--ease);border-radius:4px;outline:none;padding:.55rem .75rem}.form-input:focus{border-color:var(--text-secondary)}.form-textarea{resize:vertical;min-height:80px}.form-submit{font-family:var(--font-sans);color:var(--bg);background:var(--text-primary);cursor:pointer;transition:opacity var(--duration-fast) var(--ease);border:none;border-radius:4px;align-self:flex-start;padding:.5rem 1.25rem;font-size:.88rem;font-weight:500}.form-submit:hover{opacity:.85}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-status{border-radius:4px;padding:.5rem .75rem;font-size:.85rem;line-height:1.5}.form-status-success{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.form-status-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}[data-theme=dark] .form-status-success{color:#bbf7d0;background:#052e16;border-color:#166534}[data-theme=dark] .form-status-error{color:#fecaca;background:#450a0a;border-color:#991b1b}.contact-links-stack{flex-direction:column;gap:.35rem;display:flex}.contact-link-item{color:var(--text-secondary);transition:all var(--duration-fast) var(--ease);border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.85rem;text-decoration:none;display:inline-flex}.contact-link-item:hover{border-color:var(--border);color:var(--text-primary)}.contact-link-item svg{opacity:.6;flex-shrink:0}.avail-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);border-radius:3px;padding:.2rem .55rem;font-size:.72rem}@media (width<=640px){.connect-grid{grid-template-columns:1fr}}.chatbot-trigger{cursor:pointer;z-index:9995;color:#fff;width:44px;height:44px;box-shadow:0 4px 20px oklch(var(--color-primary) / .35);background:linear-gradient(135deg,#4f7df3,#6c5ce7);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275);animation:3s ease-in-out infinite chat-pulse-glow;display:flex;position:fixed;bottom:2rem;right:2rem}.chatbot-trigger.chatbot-raised{bottom:7rem}.chatbot-trigger:hover{box-shadow:0 8px 30px oklch(var(--color-primary) / .5);transform:scale(1.08)}.chatbot-trigger.chatbot-hidden{opacity:0;pointer-events:none;transform:scale(.8)}.chatbot-tooltip{z-index:9998;cursor:pointer;opacity:0;transition:bottom .3s cubic-bezier(.175,.885,.32,1.275);animation:3.5s ease-out 3s forwards chat-tooltip-in;position:fixed;bottom:5.5rem;right:2rem;transform:translateY(10px)}.chatbot-tooltip.chatbot-raised{bottom:10.5rem}.chatbot-tooltip-hidden{opacity:0!important;pointer-events:none!important;animation:none!important;transform:translateY(10px)!important}.chatbot-tooltip-text{background:oklch(var(--color-base-100));border:1px solid oklch(var(--color-primary) / .2);color:oklch(var(--color-base-content) / .9);white-space:nowrap;border-radius:12px;padding:.6rem 1rem;font-size:.88rem;font-weight:500;display:block;position:relative;box-shadow:0 8px 25px #0000001a}.chatbot-tooltip-arrow{background:oklch(var(--color-base-100));border-right:1px solid oklch(var(--color-primary) / .2);border-bottom:1px solid oklch(var(--color-primary) / .2);width:10px;height:10px;position:absolute;bottom:-6px;right:24px;transform:rotate(45deg)}@keyframes chat-tooltip-in{0%{opacity:0;transform:translateY(10px)}14%{opacity:1;transform:translateY(0)}86%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes chat-pulse-glow{0%,to{box-shadow:0 4px 20px oklch(var(--color-primary) / .3)}50%{box-shadow:0 4px 30px oklch(var(--color-primary) / .5)}}.chatbot-panel{z-index:9996;border:1px solid oklch(var(--color-base-content) / .1);background:oklch(var(--color-base-100));border-radius:16px;flex-direction:column;width:380px;height:60vh;max-height:560px;transition:all .35s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:7.5rem;right:2rem;overflow:hidden;box-shadow:0 16px 50px #00000026}.chatbot-panel.chatbot-hidden{opacity:0;pointer-events:none;transform:translateY(20px)scale(.95)}.chatbot-header{border-bottom:1px solid oklch(var(--color-base-content) / .08);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.chatbot-header-info{align-items:center;gap:.75rem;display:flex}.chatbot-header-icon{color:#fff;background:linear-gradient(135deg,#4f7df3,#6c5ce7);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.chatbot-header-title{margin:0;font-size:.95rem;font-weight:700;line-height:1.3}.chatbot-header-sub{opacity:.5;font-size:.72rem;font-family:var(--font-mono);margin:0}.chatbot-close{cursor:pointer;width:32px;height:32px;color:oklch(var(--color-base-content) / .4);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.chatbot-close:hover{border-color:oklch(var(--color-base-content) / .1);color:oklch(var(--color-base-content) / .8);background:oklch(var(--color-base-content) / .04)}.chatbot-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:.75rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-track{background:0 0}.chatbot-messages::-webkit-scrollbar-thumb{background:oklch(var(--color-base-content) / .1);border-radius:4px}.chatbot-msg{white-space:pre-wrap;word-wrap:break-word;border-radius:12px;max-width:88%;padding:.65rem 1rem;font-size:.88rem;line-height:1.55;animation:.25s ease-out chat-fade-in}.chatbot-user{color:#fff;background:linear-gradient(135deg,#4f7df3,#6c5ce7);border-bottom-right-radius:4px;align-self:flex-end}.chatbot-bot{background:oklch(var(--color-base-200));border:1px solid oklch(var(--color-base-content) / .06);color:oklch(var(--color-base-content) / .85);border-bottom-left-radius:4px;align-self:flex-start}.chatbot-bot p{margin:0 0 .5rem}.chatbot-bot p:last-child{margin-bottom:0}.chatbot-bot strong{color:oklch(var(--color-base-content));font-weight:700}.chatbot-bot em{font-style:italic}.chatbot-bot ul,.chatbot-bot ol{margin:.25rem 0;padding-left:1.25rem}.chatbot-bot li{margin-bottom:.2rem}.chatbot-bot code{font-family:var(--font-mono);background:oklch(var(--color-base-content) / .06);color:oklch(var(--color-primary));border-radius:4px;padding:.1rem .35rem;font-size:.82rem}.chatbot-bot pre{border-radius:8px;margin:.5rem 0;overflow-x:auto}.chatbot-bot pre code{background:oklch(var(--color-base-300));white-space:pre;padding:.75rem;font-size:.8rem;line-height:1.5;display:block}.chatbot-bot a{color:oklch(var(--color-primary));text-decoration:underline}.chatbot-bot h3,.chatbot-bot h4{margin:.75rem 0 .25rem;font-weight:700}.chatbot-bot h3{font-size:.95rem}.chatbot-bot h4{font-size:.9rem}.chatbot-bot hr{border:none;border-top:1px solid oklch(var(--color-base-content) / .1);margin:.5rem 0}@keyframes chat-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chatbot-typing{align-items:center;gap:5px;padding:.85rem 1.25rem;display:flex}.dot-pulse{background:oklch(var(--color-base-content) / .3);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite chat-dot-pulse}.dot-pulse:nth-child(2){animation-delay:.2s}.dot-pulse:nth-child(3){animation-delay:.4s}@keyframes chat-dot-pulse{0%,80%,to{opacity:.3;transform:scale(.6)}40%{opacity:.8;transform:scale(1)}}.chatbot-suggestions{flex-wrap:wrap;gap:.4rem;display:flex}.chatbot-suggestion{cursor:pointer;border:1px solid oklch(var(--color-primary) / .15);background:oklch(var(--color-primary) / .04);color:oklch(var(--color-primary));font-size:.78rem;font-weight:500;font-family:var(--font-mono);white-space:nowrap;border-radius:6px;padding:.35rem .75rem;transition:all .2s}.chatbot-suggestion:hover{background:oklch(var(--color-primary) / .1);border-color:oklch(var(--color-primary) / .3);transform:translateY(-1px)}.chatbot-inputbar{border-top:1px solid oklch(var(--color-base-content) / .08);background:oklch(var(--color-base-200) / .3);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.chatbot-input{border:1px solid oklch(var(--color-base-content) / .1);font-size:.88rem;font-family:var(--font-sans);background:oklch(var(--color-base-100));color:oklch(var(--color-base-content));border-radius:10px;outline:none;flex:1;padding:.6rem .85rem;transition:border-color .2s}.chatbot-input:focus{border-color:oklch(var(--color-primary) / .4);box-shadow:0 0 0 3px oklch(var(--color-primary) / .06)}.chatbot-input::placeholder{color:oklch(var(--color-base-content) / .3)}.chatbot-send{cursor:pointer;color:#fff;background:linear-gradient(135deg,#4f7df3,#6c5ce7);border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.chatbot-send:hover{box-shadow:0 4px 12px oklch(var(--color-primary) / .3);transform:scale(1.05)}.chatbot-send:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=768px){.chatbot-panel{width:auto;max-height:65vh;bottom:6rem;left:.75rem;right:.75rem}.chatbot-trigger{width:40px;height:40px;bottom:2rem;right:.75rem}.chatbot-trigger.chatbot-raised{bottom:6rem}.chatbot-tooltip{bottom:5rem;right:.75rem}.chatbot-tooltip.chatbot-raised{bottom:9rem}.chatbot-msg{max-width:92%}}
