.tech-card[data-v-2e241345]{background:#fff;border:1px solid #e8edf5;border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:transform .25s ease,box-shadow .25s ease;height:100%}.tech-card[data-v-2e241345]:hover{transform:translateY(-6px);box-shadow:0 12px 32px #00000014}.tech-icon-wrap[data-v-2e241345]{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin:0 auto 1.25rem;border-radius:20px;background:linear-gradient(135deg,#f0f4ff,#e8edf5);transition:background .25s ease}.tech-card:hover .tech-icon-wrap[data-v-2e241345]{background:linear-gradient(135deg,#e0e8ff,#d0d8f0)}.tech-icon[data-v-2e241345]{width:38px;height:38px}.tech-name[data-v-2e241345]{font-size:1.05rem;font-weight:700;margin-bottom:.75rem;color:#1a1a2e}.tech-desc[data-v-2e241345]{font-size:.875rem;color:#6c757d;line-height:1.5;margin:0}.tech-pills[data-v-2e241345]{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.tech-pill[data-v-2e241345]{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:999px;background:#f4f6fb;border:1px solid #e8edf5;font-size:.9rem;font-weight:600;color:#2a2f3a;cursor:default;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.tech-pill[data-v-2e241345]:hover{background:#fff;border-color:#191970;box-shadow:0 4px 14px #1919701f;transform:translateY(-1px)}.tech-pill-icon[data-v-2e241345]{width:20px;height:20px}.article-card[data-v-d58d2add]{transition:transform .2s ease,box-shadow .2s ease;border-radius:12px;overflow:hidden}.article-card[data-v-d58d2add]:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a!important}.card-img-wrap[data-v-d58d2add]{height:180px;overflow:hidden;background:#f0f0f0}.card-img-wrap img[data-v-d58d2add]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.article-card:hover .card-img-wrap img[data-v-d58d2add]{transform:scale(1.05)}.card-title[data-v-d58d2add]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.card-text[data-v-d58d2add]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.search-devto[data-v-d58d2add]{text-align:center}.search-devto-link[data-v-d58d2add]{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.5rem;border-radius:999px;background:#f8f9fc;border:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .25s ease}.search-devto-link[data-v-d58d2add]:hover{background:#fff;border-color:#191970;color:#191970;box-shadow:0 4px 16px #1919701a;transform:translateY(-1px)}.search-devto-icon[data-v-d58d2add]{opacity:.6;transition:opacity .25s ease}.search-devto-link:hover .search-devto-icon[data-v-d58d2add]{opacity:1}.search-devto-arrow[data-v-d58d2add]{opacity:0;transform:translate(-4px);transition:all .25s ease}.search-devto-link:hover .search-devto-arrow[data-v-d58d2add]{opacity:1;transform:translate(0)}.contact-card[data-v-39e33a70]{background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:2.5rem 2rem;text-align:center;transition:transform .25s ease,box-shadow .25s ease;height:100%}.contact-card[data-v-39e33a70]:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000000f}.contact-icon-wrap[data-v-39e33a70]{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto 1.25rem;border-radius:50%;background:linear-gradient(135deg,#f0f4ff,#e8edf5);transition:background .25s ease}.contact-card:hover .contact-icon-wrap[data-v-39e33a70]{background:linear-gradient(135deg,#e0e8ff,#d0d8f0)}.contact-label[data-v-39e33a70]{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;color:#1a1a2e}.contact-text[data-v-39e33a70]{font-size:.9rem;color:#6c757d;line-height:1.6;margin-bottom:1.25rem}.contact-btn[data-v-39e33a70]{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:999px;background:#25d366;color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.contact-btn[data-v-39e33a70]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #25d3664d;color:#fff}.portfolio-btn[data-v-39e33a70]{background:#1a1a2e}.portfolio-btn[data-v-39e33a70]:hover{background:#2d2d5e;box-shadow:0 4px 12px #1a1a2e4d}
