.blog-card[data-astro-cid-f45vxlzk]{border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-bg-secondary);padding:1rem;display:grid;gap:.6rem}.blog-date[data-astro-cid-f45vxlzk]{margin:0;color:var(--color-accent);font-size:.86rem}h3[data-astro-cid-f45vxlzk]{margin:0;color:var(--color-text-primary);font-size:1.05rem}p[data-astro-cid-f45vxlzk]{margin:0}.blog-tags[data-astro-cid-f45vxlzk]{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.blog-tags[data-astro-cid-f45vxlzk] li[data-astro-cid-f45vxlzk]{border:1px solid var(--color-border);border-radius:999px;padding:.18rem .5rem;font-size:.8rem}.experience-timeline[data-astro-cid-tpf24scq]{list-style:none;margin:0;padding:0;border-left:1px solid var(--color-border);display:grid;gap:1rem}.experience-item[data-astro-cid-tpf24scq]{margin-left:1rem;padding:.2rem 0 .2rem 1rem;border-left:2px solid var(--color-accent)}.experience-period[data-astro-cid-tpf24scq]{margin:0;color:var(--color-accent);font-size:.86rem}h3[data-astro-cid-tpf24scq]{margin:.25rem 0;color:var(--color-text-primary);font-size:1.05rem}p[data-astro-cid-tpf24scq]{margin:0}.hero-section[data-astro-cid-bbe6dxrz]{padding-top:5.5rem}.hero-inner[data-astro-cid-bbe6dxrz]{display:grid;gap:1.2rem}.hero-tagline[data-astro-cid-bbe6dxrz]{margin:0;color:var(--color-accent);font-size:.95rem}h1[data-astro-cid-bbe6dxrz]{margin:0;color:var(--color-text-primary);font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}.hero-summary[data-astro-cid-bbe6dxrz]{margin:0;max-width:42rem;font-size:1.05rem}.hero-actions[data-astro-cid-bbe6dxrz],.hero-social[data-astro-cid-bbe6dxrz]{display:flex;flex-wrap:wrap;gap:.9rem}.hero-actions[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz],.hero-social[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]{border:1px solid var(--color-border);border-radius:.55rem;padding:.55rem .9rem;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.cta-primary[data-astro-cid-bbe6dxrz]{color:var(--color-bg-primary);border-color:var(--color-accent);background:var(--color-accent);font-weight:600}.cta-primary[data-astro-cid-bbe6dxrz]:hover,.cta-primary[data-astro-cid-bbe6dxrz]:focus-visible{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.cta-secondary[data-astro-cid-bbe6dxrz]{color:var(--color-text-primary)}.cta-secondary[data-astro-cid-bbe6dxrz]:hover,.cta-secondary[data-astro-cid-bbe6dxrz]:focus-visible,.hero-social[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover,.hero-social[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}.homelab-diagram[data-astro-cid-nmudyzsi]{border:1px solid var(--color-border);border-radius:.9rem;background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-primary));padding:1rem;display:grid;gap:.8rem}.homelab-label[data-astro-cid-nmudyzsi]{margin:0;color:var(--color-accent);font-size:.9rem}.homelab-image[data-astro-cid-nmudyzsi]{width:100%;height:auto;border:1px solid var(--color-border);border-radius:.7rem;background:var(--color-bg-primary)}.homelab-note[data-astro-cid-nmudyzsi]{margin:0;font-size:.95rem}.homelab-services[data-astro-cid-wio5dm6a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.service-card[data-astro-cid-wio5dm6a]{border:1px solid var(--color-border);border-radius:.75rem;background:var(--color-bg-secondary);padding:1rem}h3[data-astro-cid-wio5dm6a]{margin:0 0 .5rem;color:var(--color-text-primary);font-size:1rem}p[data-astro-cid-wio5dm6a]{margin:0}.project-card[data-astro-cid-mspuyifq]{border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-bg-secondary);padding:1.2rem;display:grid;gap:.75rem}.project-card-header[data-astro-cid-mspuyifq]{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}h3[data-astro-cid-mspuyifq]{margin:0;color:var(--color-text-primary);font-size:1.1rem}.project-date[data-astro-cid-mspuyifq]{margin:0;color:var(--color-text-muted);font-size:.9rem}.project-role[data-astro-cid-mspuyifq]{margin:0;color:var(--color-accent);font-size:.95rem}.project-card[data-astro-cid-mspuyifq] p[data-astro-cid-mspuyifq]{margin:0}.project-metrics[data-astro-cid-mspuyifq],.project-tech[data-astro-cid-mspuyifq]{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.project-tech[data-astro-cid-mspuyifq]{list-style:none;padding-left:0;display:flex;flex-wrap:wrap;gap:.5rem}.project-tech[data-astro-cid-mspuyifq] li[data-astro-cid-mspuyifq]{border:1px solid var(--color-border);border-radius:999px;padding:.2rem .55rem;font-size:.83rem;color:var(--color-text-primary)}.skills-grid[data-astro-cid-blvdc6do]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.skills-group[data-astro-cid-blvdc6do]{border:1px solid var(--color-border);border-radius:.75rem;padding:1rem;background:var(--color-bg-secondary)}h3[data-astro-cid-blvdc6do]{margin:0 0 .7rem;color:var(--color-text-primary);font-size:1rem}ul[data-astro-cid-blvdc6do]{margin:0;padding-left:1rem;display:grid;gap:.3rem}.section-stack[data-astro-cid-j7pv25f6]{display:grid;gap:1rem}.card-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.contact-form{display:grid;gap:1rem;max-width:40rem}.field-group{display:grid;gap:.5rem}.field-group label{color:var(--color-text-primary);font-weight:600}.field-group input,.field-group textarea{width:100%;border:1px solid var(--color-border);border-radius:.5rem;padding:.75rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit}.field-group input:focus-visible,.field-group textarea:focus-visible{border-color:var(--color-accent);outline:none}.contact-form button{width:-moz-fit-content;width:fit-content;border:1px solid var(--color-accent);border-radius:.5rem;padding:.65rem 1rem;background:transparent;color:var(--color-accent);font-weight:600;cursor:pointer}.contact-form button:hover,.contact-form button:focus-visible{border-color:var(--color-accent-hover);color:var(--color-accent-hover)}.form-error{margin:0;color:#f87171;font-size:.9rem}.contact-form a{color:var(--color-accent)}.contact-form a:hover,.contact-form a:focus-visible{color:var(--color-accent-hover)}
