.hero[data-astro-cid-bbe6dxrz]{padding:160px 0 120px;border-bottom:1px solid var(--border)}.hero-inner[data-astro-cid-bbe6dxrz]{max-width:800px}.hero-tag[data-astro-cid-bbe6dxrz]{display:inline-block;font-family:var(--font-mono);font-size:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:24px}.hero-title[data-astro-cid-bbe6dxrz]{font-size:clamp(3rem,8vw,5.5rem);margin-bottom:20px}.hero-sub[data-astro-cid-bbe6dxrz]{font-family:var(--font-mono);font-size:.95rem;color:var(--fg-muted);max-width:520px;margin-bottom:40px}.hero-actions[data-astro-cid-bbe6dxrz]{display:flex;gap:16px}.hero-cta[data-astro-cid-bbe6dxrz]{display:inline-block;font-family:var(--font-mono);font-size:.85rem;color:var(--accent);border:1px solid var(--accent);padding:12px 28px;transition:background .1s,color .1s}.hero-cta[data-astro-cid-bbe6dxrz]:hover{background:var(--accent);color:var(--bg)}.hero-cta-ghost[data-astro-cid-bbe6dxrz]{border-color:var(--border);color:var(--fg-muted)}.hero-cta-ghost[data-astro-cid-bbe6dxrz]:hover{border-color:var(--accent);color:var(--accent);background:transparent}@media(max-width:640px){.hero[data-astro-cid-bbe6dxrz]{padding:100px 0 80px}}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.about-bio[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{font-size:.95rem;color:var(--fg);line-height:1.75;margin-bottom:16px}.about-bio[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]:last-child{margin-bottom:0}.about-side[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.edu-card[data-astro-cid-v2cbyr3p]{display:flex;gap:20px;align-items:flex-start;padding:28px;border-bottom:1px solid var(--border)}.edu-card[data-astro-cid-v2cbyr3p]:last-child{border-bottom:none}.edu-icon[data-astro-cid-v2cbyr3p]{font-family:var(--font-mono);font-size:.75rem;color:var(--accent);border:1px solid var(--border);padding:8px;flex-shrink:0;line-height:1;display:flex;align-items:center;justify-content:center;min-width:36px}.edu-degree[data-astro-cid-v2cbyr3p]{font-size:.95rem;margin-bottom:4px}.edu-school[data-astro-cid-v2cbyr3p]{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted);margin-bottom:2px}.edu-details[data-astro-cid-v2cbyr3p]{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted)}@media(max-width:640px){.about-grid[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr;gap:40px}}.exp-list[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.exp-card[data-astro-cid-xpq65ryk]{padding:40px;border-bottom:1px solid var(--border)}.exp-card[data-astro-cid-xpq65ryk]:last-child{border-bottom:none}.exp-header[data-astro-cid-xpq65ryk]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:24px}.exp-role[data-astro-cid-xpq65ryk]{font-size:1.25rem;margin-bottom:4px}.exp-company[data-astro-cid-xpq65ryk]{font-family:var(--font-mono);font-size:.85rem;color:var(--accent)}.exp-meta[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.exp-period[data-astro-cid-xpq65ryk]{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted)}.exp-location[data-astro-cid-xpq65ryk]{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.exp-bullets[data-astro-cid-xpq65ryk]{list-style:none;margin-bottom:24px}.exp-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]{font-size:.85rem;color:var(--fg-muted);line-height:1.7;padding:4px 0 4px 16px;position:relative}.exp-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk]:before{content:"—";position:absolute;left:0;color:var(--border)}.exp-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk].highlight{color:var(--fg);border-left:2px solid var(--accent);padding-left:14px;margin-left:0}.exp-bullets[data-astro-cid-xpq65ryk] li[data-astro-cid-xpq65ryk].highlight:before{display:none}.exp-tags[data-astro-cid-xpq65ryk]{display:flex;flex-wrap:wrap;gap:8px}.tag[data-astro-cid-xpq65ryk]{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);border:1px solid var(--border);padding:4px 10px}@media(max-width:640px){.exp-header[data-astro-cid-xpq65ryk]{flex-direction:column}.exp-meta[data-astro-cid-xpq65ryk]{align-items:flex-start}}.projects-grid[data-astro-cid-amng4zvp]{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--border)}.project-card[data-astro-cid-amng4zvp]{padding:40px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden;transition:background .1s;display:flex;flex-direction:column}.project-card[data-astro-cid-amng4zvp]:last-child{border-right:none}.project-card[data-astro-cid-amng4zvp]:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .15s ease}.project-card[data-astro-cid-amng4zvp]:hover:after{transform:scaleX(1)}.project-card[data-astro-cid-amng4zvp]:hover{background:#7fffb408}.project-num[data-astro-cid-amng4zvp]{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-muted);margin-bottom:16px}.project-name[data-astro-cid-amng4zvp]{font-size:1.5rem;margin-bottom:12px}.project-desc[data-astro-cid-amng4zvp]{font-size:.85rem;color:var(--fg-muted);line-height:1.6;margin-bottom:20px;flex:1}.project-tags[data-astro-cid-amng4zvp]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag[data-astro-cid-amng4zvp]{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);border:1px solid var(--border);padding:4px 10px}.project-link[data-astro-cid-amng4zvp]{font-family:var(--font-mono);font-size:.8rem;color:var(--fg-muted);transition:color .1s}.project-card[data-astro-cid-amng4zvp]:hover .project-link[data-astro-cid-amng4zvp]{color:var(--accent)}@media(max-width:640px){.projects-grid[data-astro-cid-amng4zvp]{grid-template-columns:1fr}.project-card[data-astro-cid-amng4zvp]{border-right:none}}.skills-grid[data-astro-cid-ab4ihpzs]{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}.skills-col[data-astro-cid-ab4ihpzs]{padding:40px;border-right:1px solid var(--border)}.skills-col[data-astro-cid-ab4ihpzs]:last-child{border-right:none}.skills-title[data-astro-cid-ab4ihpzs]{font-size:1.1rem;margin-bottom:24px;color:var(--accent)}.skills-list[data-astro-cid-ab4ihpzs]{list-style:none}.skills-list[data-astro-cid-ab4ihpzs] li[data-astro-cid-ab4ihpzs]{font-size:.85rem;color:var(--fg-muted);padding:8px 0;border-bottom:1px solid var(--border)}.skills-list[data-astro-cid-ab4ihpzs] li[data-astro-cid-ab4ihpzs]:last-child{border-bottom:none}@media(max-width:640px){.skills-grid[data-astro-cid-ab4ihpzs]{grid-template-columns:1fr}.skills-col[data-astro-cid-ab4ihpzs]{border-right:none;border-bottom:1px solid var(--border)}.skills-col[data-astro-cid-ab4ihpzs]:last-child{border-bottom:none}}.contact-grid[data-astro-cid-xmivup5a]{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.contact-heading[data-astro-cid-xmivup5a]{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:16px}.contact-sub[data-astro-cid-xmivup5a]{font-size:.9rem;color:var(--fg-muted)}.contact-right[data-astro-cid-xmivup5a]{display:flex;flex-direction:column;gap:0;border:1px solid var(--border)}.contact-link[data-astro-cid-xmivup5a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);font-size:.85rem;transition:background .1s}.contact-link[data-astro-cid-xmivup5a]:last-child{border-bottom:none}.contact-link[data-astro-cid-xmivup5a]:hover{background:#7fffb408}.contact-link-label[data-astro-cid-xmivup5a]{color:var(--fg-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.contact-link[data-astro-cid-xmivup5a] span[data-astro-cid-xmivup5a]:last-child{color:var(--accent)}.footer[data-astro-cid-xmivup5a]{padding:24px 0;border-top:1px solid var(--border)}.footer-inner[data-astro-cid-xmivup5a]{text-align:center;font-size:.75rem;color:var(--fg-muted)}@media(max-width:640px){.contact-grid[data-astro-cid-xmivup5a]{grid-template-columns:1fr;gap:40px}}
