.portfolio-page{min-height:100vh}.page-hero{background:var(--bg-dark);padding:140px 0 80px;position:relative;overflow:hidden}.page-hero__bg{pointer-events:none;position:absolute;inset:0}.page-hero__grid{background-image:linear-gradient(#6366f10a 1px,#0000 1px),linear-gradient(90deg,#6366f10a 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 75%);mask-image:radial-gradient(#000 30%,#0000 75%)}.page-hero__orb{filter:blur(80px);border-radius:50%;position:absolute}.page-hero__orb--1{background:radial-gradient(circle,#6366f12e 0%,#0000 70%);width:500px;height:500px;top:-150px;right:-100px}.page-hero__orb--2{background:radial-gradient(circle,#8b5cf61f 0%,#0000 70%);width:350px;height:350px;bottom:0;left:10%}.page-hero__inner{z-index:1;position:relative}.page-hero__content{max-width:680px;margin:24px 0 0}.page-hero__title{margin:12px 0 16px;font-size:clamp(36px,5vw,64px);font-weight:900;line-height:1.2}.page-hero__subtitle{color:var(--text-secondary);font-size:clamp(15px,2vw,18px);line-height:1.8}.portfolio-section{background:var(--bg-dark-2)}.filter-tabs{border:1px solid var(--border);border-radius:var(--radius-xl);background:#ffffff08;flex-wrap:wrap;gap:8px;width:fit-content;margin-bottom:40px;padding:6px;display:flex}.filter-tab{border-radius:var(--radius-lg);color:var(--text-secondary);transition:var(--transition);white-space:nowrap;align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:500;display:flex}.filter-tab:hover{color:#fff;background:#ffffff0d}.filter-tab.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}.filter-tab__count{border-radius:var(--radius-full);background:#ffffff26;padding:2px 8px;font-size:11px}.portfolio__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:var(--transition);cursor:pointer;overflow:hidden}.project-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-6px)}.project-card__visual{justify-content:center;align-items:center;height:200px;display:flex;position:relative;overflow:hidden}.project-card__img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-card__img{opacity:.6;transform:scale(1.05)}.project-card__overlay{opacity:0;transition:var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-card__overlay{opacity:1}.project-card__view-btn{color:#1a1a2e;border-radius:var(--radius-full);background:#fffffff2;align-items:center;gap:8px;padding:10px 22px;font-size:14px;font-weight:700;display:flex}.project-card__info{padding:24px}.project-card__top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.project-card__cat{border-radius:var(--radius-full);color:var(--primary-light);background:#6366f11f;border:1px solid #6366f133;padding:4px 12px;font-size:11px;font-weight:700}.project-card__year{color:var(--text-muted);font-size:12px}.project-card__title{color:#fff;margin-bottom:8px;font-size:17px;font-weight:700}.project-card__desc{color:var(--text-secondary);margin-bottom:14px;font-size:13px;line-height:1.7}.project-card__tags{flex-wrap:wrap;gap:6px;display:flex}.project-tag{border-radius:var(--radius-full);color:var(--text-muted);border:1px solid var(--border);background:#ffffff0d;padding:3px 10px;font-size:11px}.portfolio-grid-move,.portfolio-grid-enter-active,.portfolio-grid-leave-active{transition:all .4s}.portfolio-grid-enter-from,.portfolio-grid-leave-to{opacity:0;transform:scale(.9)}.stats-section{background:var(--bg-dark)}.stats__grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;transition:var(--transition);padding:32px 24px}.stat-card:hover{border-color:var(--border-accent);transform:translateY(-4px)}.stat-card__icon{justify-content:center;margin-bottom:14px;display:flex}.stat-card__val{margin-bottom:8px;font-size:40px;font-weight:900;line-height:1}.stat-card__label{color:var(--text-secondary);font-size:14px}.testimonials-section{background:var(--bg-dark-2)}.testimonials__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testimonial-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);transition:var(--transition);padding:28px}.testimonial-card:hover{border-color:var(--border-accent);transform:translateY(-4px)}.testimonial-card__stars{color:var(--accent);letter-spacing:2px;margin-bottom:14px;font-size:16px}.testimonial-card__text{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.8}.testimonial-card__author{align-items:center;gap:12px;display:flex}.testimonial-card__avatar{color:#ffffffe6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:flex}.testimonial-card__name{color:#fff;font-size:15px;font-weight:700}.testimonial-card__role{color:var(--text-muted);font-size:12px}.portfolio-cta{background:var(--bg-dark)}.cta-box{background:var(--gradient-primary);border-radius:var(--radius-xl);text-align:center;padding:72px 48px;position:relative;overflow:hidden}.cta-box__dots{pointer-events:none;background-image:radial-gradient(circle,#ffffff14 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0}.cta-box__content{z-index:1;position:relative}.cta-box__content h2{color:#fff;margin-bottom:12px;font-size:clamp(24px,4vw,44px);font-weight:900}.cta-box__content p{color:#fffc;margin-bottom:32px;font-size:16px}.cta-box__btns{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cta-box__btns .btn-primary{color:var(--primary-dark);background:#fff}.cta-box__btns .btn-outline{color:#fff;border-color:#fff6}.cta-box__btns .btn-outline:hover{background:#ffffff1a;border-color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-dark-2);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:90vh;position:relative;overflow-y:auto}.modal-close{width:36px;height:36px;color:var(--text-secondary);transition:var(--transition);z-index:1;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;left:14px}.modal-close:hover{color:#fff;background:#ffffff26}.modal-visual{border-radius:var(--radius-xl) var(--radius-xl) 0 0;justify-content:center;align-items:center;height:220px;display:flex}.modal-info{padding:32px}.modal-meta{align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-title{color:#fff;margin-bottom:14px;font-size:26px;font-weight:800}.modal-desc{color:var(--text-secondary);margin-bottom:20px;font-size:15px;line-height:1.8}.modal-tags{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.modal-results{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);gap:24px;margin-bottom:28px;padding:20px;display:flex}.modal-result{text-align:center;flex:1}.modal-result__val{margin-bottom:4px;font-size:24px;font-weight:900;display:block}.modal-result__label{color:var(--text-muted);font-size:12px}.modal-enter-active,.modal-leave-active{transition:all .3s}.modal-enter-from,.modal-leave-to{opacity:0}.scroll-top-btn{background:var(--gradient-primary);color:#fff;width:48px;height:48px;box-shadow:var(--shadow-primary);z-index:100;transition:var(--transition);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:28px;left:28px}.scroll-top-btn:hover{transform:translateY(-3px)}.fade-scale-enter-active,.fade-scale-leave-active{transition:opacity .3s,transform .3s}.fade-scale-enter-from,.fade-scale-leave-to{opacity:0;transform:scale(.8)}@media (max-width:1024px){.portfolio__grid,.stats__grid{grid-template-columns:repeat(2,1fr)}.testimonials__grid{grid-template-columns:1fr}}@media (max-width:768px){.page-hero{padding:120px 0 60px}.portfolio__grid{grid-template-columns:1fr}.filter-tabs{justify-content:flex-start;width:100%;overflow-x:auto}.cta-box{padding:40px 24px}.cta-box__btns{flex-direction:column}.cta-box__btns .btn{justify-content:center;width:100%}.modal-results{flex-direction:column;gap:12px}}
