/* setudcode portfolio upgrade */
body{font-family:'Vazirmatn',system-ui,sans-serif}
.pf-search{position:relative;max-width:560px;margin:0 auto 1.25rem}
.pf-search i{position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted,#94a3b8)}
.pf-search input{width:100%;padding:.85rem 2.75rem .85rem 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:rgba(255,255,255,.06);color:inherit;font:inherit}
.pf-search input:focus{outline:2px solid var(--primary);outline-offset:2px}
.pf-techs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:0 0 2rem}
.pf-chip{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.82rem;border:1px solid rgba(148,163,184,.3);color:var(--text-secondary);text-decoration:none;transition:.2s;direction:ltr}
.pf-chip:hover,.pf-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.pf-chip--sm{font-size:.72rem;padding:.15rem .55rem}
.pf-live{color:#22c55e;font-size:.78rem}.pf-live i{font-size:.5rem;vertical-align:middle;animation:pfp 1.6s infinite}
@keyframes pfp{50%{opacity:.3}}
.pf-browser{position:relative;padding-top:26px!important;background:#1e293b}
.pf-dots{position:absolute;top:0;inset-inline:0;height:26px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#0f172a;z-index:2;direction:ltr}
.pf-dots i{width:9px;height:9px;border-radius:50%;background:#ef4444}.pf-dots i:nth-child(2){background:#f59e0b}.pf-dots i:nth-child(3){background:#22c55e}
.pf-dots em{font-style:normal;font-size:.72rem;color:#94a3b8;margin-inline-start:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-browser img{object-position:top center}
.pf-browser--lg{padding-top:32px!important}.pf-browser--lg .pf-dots{height:32px}
.portfolio-card:hover .pf-browser img{transform:scale(1.04)}
.pf-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.pf-avatar{aspect-ratio:1;max-width:340px;border-radius:28px;display:grid;place-items:center;font-size:5rem;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-light,#f97316))}
.pf-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.pf-skill-head{display:flex;justify-content:space-between;margin-bottom:.4rem}
.pf-bar{height:8px;border-radius:99px;background:rgba(148,163,184,.2);overflow:hidden}
.pf-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--primary),var(--primary-light,#f97316))}
.pf-skill small{color:var(--text-muted,#94a3b8)}
.pf-resume{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2.5rem}
.pf-h2{font-size:1.3rem;margin-bottom:1.25rem}.pf-h2 i{color:var(--primary);margin-inline-end:.4rem}
.pf-timeline{list-style:none;padding:0;margin:0;border-inline-start:2px solid rgba(148,163,184,.3)}
.pf-timeline li{position:relative;padding:0 1.5rem 1.6rem}
.pf-timeline li::before{content:"";position:absolute;inset-inline-start:-7px;top:.35rem;width:12px;height:12px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px rgba(234,88,12,.2)}
.pf-when{font-size:.8rem;color:var(--primary);font-weight:600}
.pf-timeline h3{font-size:1.05rem;margin:.2rem 0}.pf-at{color:var(--text-secondary);font-size:.9rem}
.pf-timeline p{color:var(--text-secondary);line-height:1.9}
.pf-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.pf-service{padding:1.6rem;border-radius:var(--radius,16px);margin:0}
.pf-service>i{font-size:1.6rem;color:var(--primary);margin-bottom:.75rem}
.pf-service p{color:var(--text-secondary);line-height:1.9}
.pf-form{max-width:820px;margin:0 auto;padding:2rem;border-radius:var(--radius-lg,20px)}
.pf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}
.pf-form-grid label{display:flex;flex-direction:column;gap:.4rem;font-weight:500}
.pf-form-grid .full{grid-column:1/-1}
.pf-form-grid input,.pf-form-grid textarea{padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.05);color:inherit;font:inherit}
.pf-form-grid input:focus,.pf-form-grid textarea:focus{outline:2px solid var(--primary);outline-offset:1px}
.pf-form .err{color:#ef4444}
.pf-hp{position:absolute!important;left:-9999px!important;height:0;width:0;opacity:0}
@media(max-width:640px){.pf-form-grid{grid-template-columns:1fr}.pf-form{padding:1.25rem}.pf-resume{grid-template-columns:1fr}}
