
/* Parsa Taheri portfolio refinements */
:root { --pt-theme: #00BC91; --pt-soft: rgba(0,188,145,.10); }
.sidebar-tech-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; margin-top:1rem; }
.sidebar-tech { height:2.65rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(148,163,184,.28); border-radius:.8rem; background:rgba(255,255,255,.58); }
.dark .sidebar-tech { background:rgba(255,255,255,.035); border-color:rgba(255,255,255,.08); }
.sidebar-tech i { font-size:1.45rem; }
.hero-focus-strip { display:flex; flex-wrap:wrap; gap:.65rem; padding-top:1rem; border-top:1px solid rgba(148,163,184,.22); }
.hero-focus-strip span { display:inline-flex; align-items:center; gap:.5rem; padding:.58rem .8rem; border:1px solid rgba(148,163,184,.25); border-radius:999px; font-size:.78rem; color:#52525b; }
.dark .hero-focus-strip span { color:#d4d4d8; border-color:rgba(255,255,255,.10); }
.hero-focus-strip i { color:var(--pt-theme); }
.professional-tags { display:flex; flex-wrap:wrap; gap:.65rem; }
.professional-tags span { padding:.55rem .85rem; border-radius:999px; border:1px dashed rgba(148,163,184,.45); color:#27272a; font-size:.8rem; }
.dark .professional-tags span { color:#e4e4e7; border-color:rgba(255,255,255,.14); }
.contact-facts li { display:grid; grid-template-columns:6rem 1fr; gap:.9rem; align-items:center; }
.contact-facts li > span:first-child { color:#71717a; }
.contact-facts a { color:#18181b; transition:.2s; overflow-wrap:anywhere; }
.dark .contact-facts a { color:#f4f4f5; }
.contact-facts a:hover { color:var(--pt-theme); }
.credibility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.credibility-grid > div { padding:1rem; border:1px solid rgba(148,163,184,.22); border-radius:1rem; background:linear-gradient(145deg,rgba(0,188,145,.055),transparent 55%); }
.credibility-grid strong { display:block; color:#18181b; font-size:.95rem; margin-bottom:.25rem; }
.credibility-grid span { display:block; font-size:.73rem; line-height:1.45; color:#71717a; }
.dark .credibility-grid strong { color:white; }
.dark .credibility-grid > div { border-color:rgba(255,255,255,.08); background:linear-gradient(145deg,rgba(0,188,145,.08),transparent 60%); }
.service-modern-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.service-modern-card { position:relative; padding:1.35rem; border:1px solid rgba(148,163,184,.24); border-radius:1.15rem; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; overflow:hidden; }
.service-modern-card:before { content:''; position:absolute; width:7rem; height:7rem; border-radius:50%; right:-3rem; top:-3rem; background:var(--pt-soft); }
.service-modern-card:hover { transform:translateY(-3px); border-color:rgba(0,188,145,.55); box-shadow:0 12px 30px rgba(0,0,0,.06); }
.dark .service-modern-card { border-color:rgba(255,255,255,.08); }
.service-modern-card h4 { margin:.8rem 0 .55rem; color:#18181b; font-size:1.05rem; font-weight:600; }
.dark .service-modern-card h4 { color:white; }
.service-modern-card p { font-size:.82rem; line-height:1.7; }
.service-number { font-size:.76rem; letter-spacing:.12em; color:#71717a; }
.service-icon { position:absolute; right:1.2rem; top:1.2rem; color:var(--pt-theme); font-size:1.35rem; }
.skills-subheading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1rem; padding-bottom:.8rem; border-bottom:1px solid rgba(148,163,184,.18); }
.skills-subheading span { color:#18181b; font-size:1.05rem; font-weight:600; }
.dark .skills-subheading span { color:#fff; }
.skills-subheading small { color:#71717a; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.skills-subheading-spaced { margin-top:2.7rem; }
.tech-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.tech-card { min-height:6.15rem; display:flex; align-items:center; gap:.8rem; padding:.9rem; border:1px solid rgba(148,163,184,.22); border-radius:1rem; background:rgba(255,255,255,.38); transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.tech-card:hover { transform:translateY(-2px); border-color:rgba(0,188,145,.48); background:rgba(0,188,145,.035); }
.dark .tech-card { background:rgba(255,255,255,.015); border-color:rgba(255,255,255,.075); }
.tech-logo-shell { flex:0 0 2.75rem; width:2.75rem; height:2.75rem; border-radius:.85rem; display:flex; align-items:center; justify-content:center; background:#f7f7f8; border:1px solid #ececef; }
.dark .tech-logo-shell { background:#f5f5f5; border-color:#e4e4e7; }
.tech-logo-shell i { font-size:1.85rem; }
.tech-logo-shell .tech-logo-img { width:1.9rem; height:1.9rem; display:block; object-fit:contain; }
.tech-card strong { display:block; font-size:.86rem; color:#18181b; line-height:1.2; }
.dark .tech-card strong { color:#f4f4f5; }
.tech-card span { display:block; font-size:.67rem; color:#71717a; margin-top:.25rem; line-height:1.25; }
.capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.capability-card { padding:1rem 1.05rem; border-left:2px solid rgba(0,188,145,.65); background:rgba(148,163,184,.055); border-radius:.3rem .85rem .85rem .3rem; }
.dark .capability-card { background:rgba(255,255,255,.025); }
.capability-card h4 { color:#18181b; font-size:.88rem; font-weight:600; margin-bottom:.25rem; }
.dark .capability-card h4 { color:#fff; }
.capability-card p { font-size:.72rem; line-height:1.55; color:#71717a; }
.security-knowledge { margin-top:2.8rem; padding:1.15rem; display:grid; grid-template-columns:1.1fr 1.4fr; gap:1.2rem; border:1px solid rgba(148,163,184,.18); border-radius:1rem; background:rgba(148,163,184,.035); }
.dark .security-knowledge { border-color:rgba(255,255,255,.06); background:rgba(255,255,255,.015); }
.security-kicker { display:block; color:#71717a; font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; }
.security-knowledge h3 { color:#27272a; font-size:.92rem; font-weight:600; margin:.25rem 0 .25rem; }
.dark .security-knowledge h3 { color:#e4e4e7; }
.security-knowledge p { font-size:.7rem; line-height:1.55; color:#71717a; }
.security-tags { display:flex; flex-wrap:wrap; align-content:start; gap:.45rem; }
.security-tags span { padding:.42rem .62rem; border:1px solid rgba(148,163,184,.2); border-radius:999px; font-size:.66rem; color:#71717a; }
.dark .security-tags span { border-color:rgba(255,255,255,.08); color:#a1a1aa; }
.contact-status { display:none; padding:.85rem 1rem; border-radius:.8rem; margin-bottom:1rem; font-size:.8rem; }
.contact-status.is-visible { display:block; }
.contact-status.success { border:1px solid rgba(0,188,145,.4); background:rgba(0,188,145,.09); color:#047857; }
.dark .contact-status.success { color:#6ee7b7; }
.contact-status.error { border:1px solid rgba(239,68,68,.28); background:rgba(239,68,68,.07); color:#b91c1c; }
.dark .contact-status.error { color:#fca5a5; }
.contact-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; pointer-events:none !important; }
@media (max-width: 900px) { .tech-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width: 640px) { .credibility-grid,.service-modern-grid,.capability-grid,.security-knowledge { grid-template-columns:1fr; } .tech-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .contact-facts li { grid-template-columns:5rem 1fr; } }
