main[data-astro-cid-j7pv25f6]{position:relative;z-index:1;opacity:1;transition:opacity .3s ease}main[data-astro-cid-j7pv25f6].loading{opacity:0}.hero[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;text-align:center;position:relative}.hero-content[data-astro-cid-j7pv25f6]{max-width:800px}.scroll-hint[data-astro-cid-j7pv25f6]{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:1.25rem;animation:bounce 2.5s ease-in-out infinite}.greeting[data-astro-cid-j7pv25f6]{font-size:clamp(2.5rem,6vw,4rem);font-weight:600;margin-bottom:1rem;letter-spacing:-.02em;line-height:1.1}.name[data-astro-cid-j7pv25f6]{color:var(--text-primary)}.cursor[data-astro-cid-j7pv25f6]{display:inline-block;width:4px;height:1.2em;background-color:var(--text-secondary);margin-left:6px;vertical-align:text-bottom;animation:blink 1s step-end infinite}.subtitle[data-astro-cid-j7pv25f6]{font-size:clamp(1.125rem,2vw,1.5rem);color:var(--text-secondary);letter-spacing:.02em;margin-top:1rem}.about[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.about-text[data-astro-cid-j7pv25f6]{padding:6rem 3rem 6rem 4rem;display:flex;flex-direction:column;justify-content:center;max-width:640px;margin-left:auto}.about-image[data-astro-cid-j7pv25f6]{position:relative;overflow:hidden}.about-image[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.section-title[data-astro-cid-j7pv25f6]{font-family:IBM Plex Mono,monospace;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:2rem}.about-content[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:1.5rem}.about-content[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--text-secondary);line-height:1.8}.services[data-astro-cid-j7pv25f6]{padding:7rem 2rem;max-width:1000px;margin:0 auto;width:100%}.services-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.service-card[data-astro-cid-j7pv25f6]{background-color:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;text-align:left;transition:all .3s ease}.service-card[data-astro-cid-j7pv25f6]:hover{background-color:var(--surface-hover);border-color:var(--accent);transform:translateY(-2px)}.service-card[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;color:var(--text-primary);margin-bottom:1rem}.service-card[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:clamp(.95rem,1.2vw,1.05rem);color:var(--text-secondary);line-height:1.7}.contact[data-astro-cid-j7pv25f6]{padding:7rem 2rem 10rem;text-align:center}.contact-text[data-astro-cid-j7pv25f6]{font-size:clamp(1.125rem,2vw,1.5rem);color:var(--text-secondary)}.footer[data-astro-cid-j7pv25f6]{position:fixed;bottom:0;left:0;right:0;padding:2rem;display:flex;justify-content:center;background:linear-gradient(to top,var(--bg) 80%,transparent);z-index:10;pointer-events:none}.status[data-astro-cid-j7pv25f6]{display:inline-flex;align-items:center;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.status[data-astro-cid-j7pv25f6]:before{content:"";width:6px;height:6px;background-color:#22c55e;border-radius:50%;animation:pulse 2s ease-in-out infinite}@media(max-width:768px){.about[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}.about-image[data-astro-cid-j7pv25f6]{height:420px;order:-1}.about-text[data-astro-cid-j7pv25f6]{padding:3rem 1.5rem 4rem;max-width:100%;margin-left:0}.services[data-astro-cid-j7pv25f6]{padding:4rem 1.5rem}.services-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:1rem}.service-card[data-astro-cid-j7pv25f6]{padding:1.5rem}.contact[data-astro-cid-j7pv25f6]{padding:4rem 1.5rem 10rem}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0);opacity:.4}50%{transform:translate(-50%) translateY(6px);opacity:1}}
