.WelcomeRotator-module__IuoN5a__welcomeContainer{vertical-align:middle;min-height:1.15em;display:inline-block;position:relative}.WelcomeRotator-module__IuoN5a__welcomeText{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1);display:inline-block}.WelcomeRotator-module__IuoN5a__fadeIn{opacity:1;transform:translateY(0)scale(1)}.WelcomeRotator-module__IuoN5a__fadeOut{opacity:0;transform:translateY(-8px)scale(.98)}
.page-module___8aEwW__page{overflow-x:hidden}.page-module___8aEwW__hero{min-height:calc(100vh - var(--navbar-height));padding:var(--space-16) 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.page-module___8aEwW__heroContent{text-align:center;max-width:800px;margin:0 auto;animation:.8s page-module___8aEwW__fadeInUp;position:relative}.page-module___8aEwW__heroTag{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--accent);margin-bottom:var(--space-8);display:inline-flex}.page-module___8aEwW__heroDot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite page-module___8aEwW__pulse}.page-module___8aEwW__heroTitle{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:var(--fw-extrabold);letter-spacing:-.02em;margin-bottom:var(--space-4);line-height:1.1}.page-module___8aEwW__heroName{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.page-module___8aEwW__heroTyping{font-family:var(--font-serif);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:var(--fw-medium);color:var(--text-secondary);margin-bottom:var(--space-6);justify-content:center;align-items:center;min-height:2.2em;display:flex}.page-module___8aEwW__heroSubtitle{font-size:var(--fs-md);color:var(--text-secondary);max-width:600px;margin:0 auto var(--space-10);line-height:var(--lh-relaxed)}.page-module___8aEwW__heroCta{gap:var(--space-4);margin-bottom:var(--space-16);justify-content:center;display:flex}.page-module___8aEwW__heroStats{justify-content:center;align-items:center;gap:var(--space-8);display:flex}.page-module___8aEwW__stat{align-items:center;gap:var(--space-1);flex-direction:column;display:flex}.page-module___8aEwW__statNumber{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary)}.page-module___8aEwW__statLabel{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.page-module___8aEwW__statDivider{background:var(--border);width:1px;height:40px}.page-module___8aEwW__portfolioSection{background:var(--bg-secondary)}.page-module___8aEwW__portfolioHeader{margin-bottom:var(--space-10);justify-content:space-between;align-items:flex-end;display:flex}.page-module___8aEwW__portfolioSubtitle{font-size:var(--fs-md);color:var(--text-secondary);margin-top:var(--space-2)}.page-module___8aEwW__portfolioEmpty{text-align:center;padding:var(--space-16) var(--space-8);background:var(--bg-primary);border:1px dashed var(--border);border-radius:var(--radius-lg)}.page-module___8aEwW__portfolioEmptyIcon{margin-bottom:var(--space-4);font-size:3rem}.page-module___8aEwW__portfolioEmpty h3{font-size:var(--fs-xl);margin-bottom:var(--space-2)}.page-module___8aEwW__portfolioEmpty p{color:var(--text-tertiary)}.page-module___8aEwW__portfolioGrid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.page-module___8aEwW__portfolioCard{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);transition:all var(--transition-base);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.page-module___8aEwW__portfolioCard:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-4px)}.page-module___8aEwW__portfolioCard:hover .page-module___8aEwW__portfolioCardImg{transform:scale(1.05)}.page-module___8aEwW__portfolioCard:hover .page-module___8aEwW__portfolioCardOverlay{opacity:1}.page-module___8aEwW__portfolioCardImage{width:100%;padding-top:65%;position:relative;overflow:hidden}.page-module___8aEwW__portfolioCardImg{object-fit:cover;transition:transform var(--transition-slow)}.page-module___8aEwW__portfolioCardOverlay{padding:var(--space-4);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000 40%,#0009);align-items:flex-end;display:flex;position:absolute;inset:0}.page-module___8aEwW__portfolioCardCategory{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:#fff3}.page-module___8aEwW__portfolioCardBody{padding:var(--space-5);flex-direction:column;flex:1;display:flex}.page-module___8aEwW__portfolioCardTitle{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.page-module___8aEwW__portfolioCardDesc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.page-module___8aEwW__portfolioCardTags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.page-module___8aEwW__blogHeader{margin-bottom:var(--space-10);justify-content:space-between;align-items:flex-end;display:flex}.page-module___8aEwW__blogSubtitle{font-size:var(--fs-md);color:var(--text-secondary);margin-top:var(--space-2)}.page-module___8aEwW__blogEmpty{text-align:center;padding:var(--space-16) var(--space-8);background:var(--bg-secondary);border:1px dashed var(--border);border-radius:var(--radius-lg)}.page-module___8aEwW__blogEmptyIcon{margin-bottom:var(--space-4);font-size:3rem}.page-module___8aEwW__blogEmpty h3{font-size:var(--fs-xl);margin-bottom:var(--space-2)}.page-module___8aEwW__blogEmpty p{color:var(--text-tertiary)}.page-module___8aEwW__blogGrid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.page-module___8aEwW__blogCard{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);transition:all var(--transition-base);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.page-module___8aEwW__blogCard:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-4px)}.page-module___8aEwW__blogCard:hover .page-module___8aEwW__blogCardImg{transform:scale(1.05)}.page-module___8aEwW__blogCardImage{width:100%;padding-top:56%;position:relative;overflow:hidden}.page-module___8aEwW__blogCardImg{object-fit:cover;transition:transform var(--transition-slow)}.page-module___8aEwW__blogCardBody{padding:var(--space-5);flex-direction:column;flex:1;display:flex}.page-module___8aEwW__blogCardMeta{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.page-module___8aEwW__blogCardMetaDot{color:var(--text-tertiary)}.page-module___8aEwW__blogCardTitle{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-2);line-height:var(--lh-tight);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.page-module___8aEwW__blogCardExcerpt{font-size:var(--fs-sm);color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.page-module___8aEwW__blogCardTags{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.page-module___8aEwW__ctaSection{padding:var(--space-24) 0}.page-module___8aEwW__ctaCard{text-align:center;padding:var(--space-20) var(--space-8);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);position:relative;overflow:hidden}.page-module___8aEwW__ctaGlow{background:var(--accent-gradient);filter:blur(120px);opacity:.1;pointer-events:none;width:500px;height:300px;position:absolute;bottom:-20%;left:50%;transform:translate(-50%)}.page-module___8aEwW__ctaTitle{font-size:var(--fs-3xl);margin-bottom:var(--space-4);position:relative}.page-module___8aEwW__ctaDesc{font-size:var(--fs-md);color:var(--text-secondary);max-width:500px;margin:0 auto var(--space-8);position:relative}.page-module___8aEwW__ctaActions{position:relative}@media (max-width:1024px){.page-module___8aEwW__portfolioGrid,.page-module___8aEwW__blogGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-module___8aEwW__heroTitle{font-size:2.5rem}.page-module___8aEwW__heroTyping{flex-direction:column;align-items:center;gap:.1em}.page-module___8aEwW__heroCta{flex-direction:column;align-items:center}.page-module___8aEwW__heroStats{gap:var(--space-6)}.page-module___8aEwW__portfolioGrid,.page-module___8aEwW__blogGrid{grid-template-columns:1fr}.page-module___8aEwW__blogHeader,.page-module___8aEwW__portfolioHeader{align-items:flex-start;gap:var(--space-4);flex-direction:column}}@media (max-width:480px){.page-module___8aEwW__heroTitle{font-size:2rem}.page-module___8aEwW__heroStats{gap:var(--space-4)}.page-module___8aEwW__statNumber{font-size:var(--fs-xl)}}
