:root{--portfolio-primary:#7a30d8;--portfolio-purple-grad:linear-gradient(135deg, #7a30d8 0%, #4c11a6 100%);--portfolio-secondary:#ff8c00;--portfolio-bg-white:#fff;--portfolio-bg-slate:#fcfbfa;--portfolio-text-dark:#080810;--portfolio-text-muted:#5e6b7e;--portfolio-border:#7a30d81f;--portfolio-primary-rgb:122, 48, 216}.portfolio-page{color:var(--portfolio-text-dark);background-color:var(--portfolio-bg-white);min-height:100vh;font-family:Outfit,sans-serif;overflow-x:hidden}.portfolio-section{z-index:10;padding:100px 8%;position:relative}.section-bg-slate{background-color:var(--portfolio-bg-slate)}.section-bg-purple{background:var(--portfolio-purple-grad);color:#fff}.section-tag{color:var(--portfolio-primary);letter-spacing:2px;text-transform:uppercase;margin-bottom:15px;font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:700;display:inline-block}.section-bg-purple .section-tag{color:var(--portfolio-secondary)}.section-title{letter-spacing:-.02em;color:var(--portfolio-text-dark);margin-bottom:24px;font-family:Space Grotesk,sans-serif;font-size:clamp(2.2rem,3.5vw,3.8rem);font-weight:800;line-height:1.15}.section-bg-purple .section-title{color:#fff}.section-desc{color:var(--portfolio-text-muted);text-align:center;max-width:700px;margin:0 auto 50px;font-size:1.15rem;line-height:1.6}.section-bg-purple .section-desc{color:#fffc}.p-btn-primary{background-color:var(--portfolio-primary);color:#fff;cursor:pointer;box-shadow:0 4px 14px rgba(var(--portfolio-primary-rgb), .25);border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.p-btn-primary:hover{box-shadow:0 6px 20px rgba(var(--portfolio-primary-rgb), .35);background-color:#5a1fc8;transform:translateY(-2px)}.p-btn-outline{color:var(--portfolio-primary);border:2px solid var(--portfolio-primary);cursor:pointer;background-color:#0000;border-radius:999px;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex}.p-btn-outline:hover{background-color:rgba(var(--portfolio-primary-rgb), .04);transform:translateY(-2px)}.portfolio-hero-container{grid-template-columns:1fr;align-items:center;gap:60px;padding-top:160px;display:grid}@media (min-width:1024px){.portfolio-hero-container{grid-template-columns:1.15fr .85fr}}.hero-text-wrap{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.hero-heading{letter-spacing:-.02em;color:var(--portfolio-text-dark);margin-bottom:20px;font-family:Space Grotesk,sans-serif;font-size:clamp(2.6rem,4.5vw,4.2rem);font-weight:800;line-height:1.1}.hero-desc{color:var(--portfolio-text-muted);max-width:620px;margin-bottom:35px;font-size:1.2rem;line-height:1.6}.hero-ctas{flex-wrap:wrap;gap:16px;display:flex}.hero-screens-wrap{justify-content:center;align-items:center;width:100%;height:400px;display:flex;position:relative}.screen-laptop{border:1px solid var(--portfolio-border);z-index:5;background:#080810;border-radius:12px;width:280px;height:175px;position:relative;box-shadow:0 25px 50px #00000026}.screen-tablet{border:1px solid var(--portfolio-border);z-index:3;background:#fff;border-radius:16px;width:140px;height:220px;position:absolute;top:10%;left:10%;box-shadow:0 20px 40px #0000001a}.screen-phone{border:1px solid var(--portfolio-border);z-index:8;background:#080810;border-radius:16px;width:90px;height:180px;position:absolute;bottom:12%;right:12%;overflow:hidden;box-shadow:0 15px 35px #0000001f}.stats-grid{border:1px solid var(--portfolio-border);text-align:center;background:#fff;border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:30px;padding:40px;display:grid;box-shadow:0 15px 40px #0000000f}.stat-item h3{color:var(--portfolio-primary);margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:800}.stat-item p{color:var(--portfolio-text-muted);font-size:.95rem;font-weight:600}.filter-tabs{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:45px;display:flex}.filter-tab{border:1px solid var(--portfolio-border);cursor:pointer;color:var(--portfolio-text-muted);background:#fff;border-radius:99px;padding:10px 20px;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s}.filter-tab:hover,.filter-tab.active{background:var(--portfolio-primary);color:#fff;border-color:var(--portfolio-primary);box-shadow:0 4px 14px rgba(var(--portfolio-primary-rgb), .25)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:32px;display:grid}.project-card{border:1px solid var(--portfolio-border);text-align:left;background:#fff;border-radius:20px;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden}.project-card:hover{box-shadow:0 20px 45px rgba(var(--portfolio-primary-rgb), .08);border-color:rgba(var(--portfolio-primary-rgb), .2);transform:translateY(-6px)}.project-img-holder{width:100%;height:220px;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-img{transform:scale(1.05)}.project-badge{background:var(--portfolio-primary);color:#fff;z-index:5;border-radius:99px;padding:4px 12px;font-size:.75rem;font-weight:700;position:absolute;top:16px;right:16px}.project-body{flex-direction:column;flex:1;gap:12px;padding:24px;display:flex}.project-industry{text-transform:uppercase;letter-spacing:.05em;color:var(--portfolio-secondary);font-size:.8rem;font-weight:700}.project-title{color:var(--portfolio-text-dark);font-family:Space Grotesk,sans-serif;font-size:1.35rem;font-weight:700}.project-desc{color:var(--portfolio-text-muted);font-size:.95rem;line-height:1.5}.project-tech-tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;display:flex}.tech-tag{background:var(--portfolio-bg-slate);border:1px solid var(--portfolio-border);color:var(--portfolio-text-muted);border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.tech-category-card{border:1px solid var(--portfolio-border);text-align:left;background:#fff;border-radius:16px;padding:24px}.tech-category-title{color:var(--portfolio-primary);border-bottom:2px solid var(--portfolio-border);margin-bottom:16px;padding-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700}.tech-list{flex-wrap:wrap;gap:8px;display:flex}.industries-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;display:grid}.industry-card{border:1px solid var(--portfolio-border);text-align:center;background:#fff;border-radius:16px;padding:24px;transition:all .25s}.industry-card:hover{border-color:var(--portfolio-primary);box-shadow:0 10px 25px rgba(var(--portfolio-primary-rgb), .05);transform:translateY(-4px)}.industry-icon{margin-bottom:12px;font-size:1.8rem;display:block}.industry-title{color:var(--portfolio-text-dark);font-family:Space Grotesk,sans-serif;font-weight:700}.timeline-wrap{max-width:900px;margin:0 auto;position:relative}.timeline-wrap:before{content:"";background:var(--portfolio-border);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (max-width:768px){.timeline-wrap:before{left:20px}}.timeline-item{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px;display:grid;position:relative}@media (max-width:768px){.timeline-item{grid-template-columns:1fr;gap:16px;padding-left:50px}}.timeline-node{background:var(--portfolio-primary);z-index:5;border:4px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;top:0;left:50%;transform:translate(-50%)}@media (max-width:768px){.timeline-node{left:20px}}.timeline-content{border:1px solid var(--portfolio-border);text-align:left;background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px #00000005}.timeline-item:nth-child(2n) .timeline-content{grid-column:2}.timeline-item:nth-child(odd) .timeline-content{grid-column:1}@media (max-width:768px){.timeline-item:nth-child(odd) .timeline-content,.timeline-item:nth-child(2n) .timeline-content{grid-column:1}}.timeline-step{color:var(--portfolio-secondary);text-transform:uppercase;margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:.85rem;font-weight:700}.timeline-title{margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700}
