.ds1-portfolio *,.ds1-portfolio :after,.ds1-portfolio :before{box-sizing:border-box;margin:0;padding:0}.ds1-portfolio{--blue:#3b82f6;--blue-dk:#1d4ed8;--blue-lt:#7dd3fc;--ink:#0f172a;--muted:#64748b;--border:#e2ecf8;position:relative;background:#fff;color:var(--ink);padding:90px 0 120px;overflow:hidden;font-family:inherit}.ds1-portfolio__bg{position:absolute;inset:0;pointer-events:none;z-index:0}.ds1-portfolio__bg-orb{position:absolute;border-radius:50%;filter:blur(80px)}.ds1-portfolio__bg-orb--1{width:1100px;height:520px;top:-200px;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(96,165,250,.13) 0,rgba(59,130,246,.06) 40%,transparent 72%);animation:dpf-pulse 9s ease-in-out infinite alternate}.ds1-portfolio__bg-orb--2{width:1300px;height:260px;bottom:0;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(125,211,252,.07) 0,transparent 68%)}.ds1-portfolio__bg-grid{position:absolute;inset:-40px;background-image:linear-gradient(rgba(59,130,246,.03) 1px,transparent 0),linear-gradient(90deg,rgba(59,130,246,.03) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 90% 45% at 50% 18%,#000 0,transparent 78%);mask-image:radial-gradient(ellipse 90% 45% at 50% 18%,#000 0,transparent 78%)}@keyframes dpf-pulse{0%{opacity:.7;transform:translateX(-50%) scale(1)}to{opacity:1;transform:translateX(-50%) scale(1.06)}}@keyframes dpf-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes dpf-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.ds1-portfolio .page-width{position:relative;z-index:1}.ds1-portfolio__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;font-size:13px;font-weight:800;color:var(--ink);background:linear-gradient(135deg,rgba(125,211,252,.28),rgba(59,130,246,.14));border:1px solid rgba(59,130,246,.14);box-shadow:0 4px 16px rgba(59,130,246,.09);margin-bottom:16px}.ds1-portfolio__pulse{width:7px;height:7px;border-radius:50%;background:var(--blue);flex-shrink:0;animation:dpf-bp 2.2s ease-in-out infinite}@keyframes dpf-bp{0%,to{box-shadow:0 0 0 2px rgba(59,130,246,.3)}50%{box-shadow:0 0 0 5px rgba(59,130,246,.08)}}.ds1-portfolio__hero{max-width:760px;margin:0 auto 56px;text-align:center;opacity:0;animation:dpf-up .7s cubic-bezier(.22,1,.36,1) .1s forwards}.ds1-portfolio__hero h1{font-size:clamp(36px,5vw,58px);line-height:1.04;letter-spacing:-.045em;color:var(--ink);margin:0 0 16px}.ds1-portfolio__accent{background:linear-gradient(135deg,#60a5fa 0,var(--blue) 40%,var(--blue-dk) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ds1-portfolio__hero p{font-size:17px;line-height:1.82;color:#475569;margin-bottom:28px}.ds1-portfolio__hero-stats{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}.ds1-portfolio__stat{text-align:center}.ds1-portfolio__stat strong{display:block;font-size:28px;font-weight:900;color:var(--ink);letter-spacing:-.04em;line-height:1}.ds1-portfolio__stat span{font-size:13px;color:var(--muted);font-weight:600}.ds1-portfolio__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:64px}.ds1-portfolio__card{position:relative;border-radius:28px;background:#fff;border:1px solid var(--border);box-shadow:0 16px 52px rgba(15,23,42,.06);overflow:hidden;transition:transform .35s cubic-bezier(.34,1.2,.64,1),box-shadow .35s,border-color .25s,opacity .3s,max-height .3s;opacity:0;animation:dpf-up .65s cubic-bezier(.22,1,.36,1) forwards}.ds1-portfolio__card:first-child{animation-delay:.3s}.ds1-portfolio__card:nth-child(2){animation-delay:.45s}.ds1-portfolio__card:nth-child(3){animation-delay:.6s}.ds1-portfolio__card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 32px 80px rgba(15,23,42,.1);border-color:rgba(59,130,246,.18)}.ds1-portfolio__card--featured{border-color:rgba(59,130,246,.22);box-shadow:0 0 0 1px rgba(59,130,246,.08),0 24px 70px rgba(59,130,246,.12)}.ds1-portfolio__card-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,hsla(0,0%,100%,.3) 50%,transparent 65%);opacity:0;transform:translateX(-100%);pointer-events:none;z-index:5}.ds1-portfolio__card:hover .ds1-portfolio__card-shine{opacity:1;transform:translateX(100%);transition:transform .6s ease,opacity .05s}.ds1-portfolio__card-img{position:relative;height:300px;overflow:hidden}.ds1-portfolio__card-img-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#0a0f1a,#111827)}.ds1-portfolio__card-tag{left:14px;border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.15)}.ds1-portfolio__card-tag,.ds1-portfolio__card-wip{position:absolute;top:14px;z-index:10;padding:6px 12px;font-size:12px;font-weight:800;color:#fff}.ds1-portfolio__card-wip{right:14px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 14px rgba(245,158,11,.35)}.ds1-portfolio__link--disabled{display:inline-flex;align-items:center;padding:8px 14px;border-radius:12px;font-size:13px;font-weight:800;color:var(--muted);background:rgba(100,116,139,.07);border:1px solid rgba(100,116,139,.15);white-space:nowrap;flex-shrink:0;cursor:default}.ds1-portfolio__browser{width:100%;max-width:440px;border-radius:12px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.1)}.ds1-browser__bar{display:flex;align-items:center;gap:6px;padding:9px 14px;background:#1c1f2e;border-bottom:1px solid hsla(0,0%,100%,.06)}.ds1-browser__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.ds1-browser__dot:first-child{background:#ef4444}.ds1-browser__dot:nth-child(2){background:#f59e0b}.ds1-browser__dot:nth-child(3){background:#22c55e}.ds1-browser__url{flex:1;margin:0 8px;padding:4px 10px;border-radius:6px;background:hsla(0,0%,100%,.07);color:hsla(0,0%,100%,.5);font-size:10px;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds1-browser__screen{display:block;width:100%;max-height:220px;overflow:hidden;line-height:0}.ds1-browser__screen img{display:block;width:100%;height:auto;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;transition:transform .6s ease}.ds1-portfolio__card:hover .ds1-browser__screen img{transform:translateY(-8%)}.ds1-portfolio__card-body{padding:22px 24px 24px}.ds1-portfolio__card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.ds1-portfolio__card-header h2{font-size:22px;font-weight:800;color:var(--ink);line-height:1.1;margin-bottom:4px}.ds1-portfolio__card-location{font-size:13px;color:var(--muted);font-weight:500}.ds1-portfolio__link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-size:13px;font-weight:800;color:var(--blue);background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.12);text-decoration:none;white-space:nowrap;transition:all .25s;flex-shrink:0}.ds1-portfolio__link:hover{background:rgba(59,130,246,.14);transform:translateY(-2px)}.ds1-portfolio__card-body p{font-size:14px;line-height:1.75;color:#475569;margin-bottom:14px}.ds1-portfolio__tags{display:flex;flex-wrap:wrap;gap:7px}.ds1-portfolio__tags span{padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;color:var(--blue-dk);background:rgba(59,130,246,.07);border:1px solid rgba(59,130,246,.1)}.ds1-portfolio__card--soon{display:flex;align-items:center;justify-content:center;min-height:300px;background:linear-gradient(135deg,rgba(125,211,252,.08),rgba(59,130,246,.05));border:2px dashed rgba(59,130,246,.18);box-shadow:none}.ds1-portfolio__card--soon:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(59,130,246,.08);border-color:rgba(59,130,246,.3)}.ds1-portfolio__card-soon-inner{text-align:center;padding:32px}.ds1-portfolio__soon-icon{font-size:36px;margin-bottom:16px;animation:dpf-float 3s ease-in-out infinite}.ds1-portfolio__card--soon h3{font-size:22px;font-weight:800;color:var(--ink);margin-bottom:10px}.ds1-portfolio__card--soon p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:20px}.ds1-portfolio__soon-btn{display:inline-flex;align-items:center;padding:11px 20px;border-radius:14px;font-size:14px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--blue-lt) 0,var(--blue) 55%,var(--blue-dk) 100%);text-decoration:none;box-shadow:0 10px 28px rgba(59,130,246,.24);transition:transform .25s,box-shadow .25s}.ds1-portfolio__soon-btn:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(59,130,246,.34)}.ds1-portfolio__cta{position:relative;padding:52px;border-radius:36px;background:linear-gradient(135deg,rgba(125,211,252,.14),rgba(59,130,246,.09) 45%,rgba(29,78,216,.07));border:1px solid rgba(59,130,246,.13);box-shadow:0 26px 72px rgba(59,130,246,.09);overflow:hidden;text-align:center;transition:transform .35s,box-shadow .35s}.ds1-portfolio__cta:hover{transform:translateY(-4px);box-shadow:0 36px 90px rgba(59,130,246,.13)}.ds1-portfolio__cta-orb{position:absolute;border-radius:50%;filter:blur(55px);pointer-events:none}.ds1-portfolio__cta-orb--1{bottom:-60px;right:-60px;width:260px;height:260px;background:radial-gradient(circle,rgba(59,130,246,.14) 0,transparent 70%);animation:dpf-float 8s ease-in-out infinite alternate}.ds1-portfolio__cta-orb--2{top:-40px;left:-40px;width:180px;height:180px;background:radial-gradient(circle,rgba(125,211,252,.13) 0,transparent 70%);animation:dpf-float 6s ease-in-out infinite alternate-reverse}.ds1-portfolio__cta-content{position:relative;z-index:1;max-width:680px;margin:0 auto}.ds1-portfolio__cta-content h2{font-size:clamp(26px,3.2vw,42px);line-height:1.07;letter-spacing:-.04em;color:var(--ink);margin:12px 0 10px}.ds1-portfolio__cta-content p{font-size:16px;line-height:1.8;color:#475569;margin-bottom:26px}.ds1-portfolio__cta-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:18px}.ds1-portfolio__cta-micro{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--muted)}.ds1-portfolio__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 22px;border-radius:18px;text-decoration:none;font-size:15px;font-weight:800;transition:transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .3s}.ds1-portfolio__btn:hover{transform:translateY(-3px) scale(1.02)}.ds1-portfolio__btn--primary{color:#fff;background:linear-gradient(135deg,var(--blue-lt) 0,var(--blue) 55%,var(--blue-dk) 100%);box-shadow:0 14px 34px rgba(59,130,246,.26)}.ds1-portfolio__btn--primary:hover{box-shadow:0 22px 50px rgba(59,130,246,.38)}.ds1-portfolio__btn--ghost{color:var(--ink);background:hsla(0,0%,100%,.8);border:1.5px solid rgba(59,130,246,.16);backdrop-filter:blur(8px)}.ds1-portfolio__btn--ghost:hover{background:#fff;border-color:rgba(59,130,246,.28)}.ds1-portfolio__filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;opacity:0;animation:dpf-up .6s cubic-bezier(.22,1,.36,1) .25s forwards}.ds1-filter__btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:999px;font-size:14px;font-weight:700;border:1.5px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;transition:all .25s cubic-bezier(.34,1.2,.64,1);white-space:nowrap}.ds1-filter__btn:hover{border-color:rgba(59,130,246,.3);color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 20px rgba(59,130,246,.1)}.ds1-filter__btn--active{background:linear-gradient(135deg,var(--blue-lt) 0,var(--blue) 55%,var(--blue-dk) 100%);color:#fff;border-color:transparent;box-shadow:0 10px 28px rgba(59,130,246,.24)}.ds1-filter__btn--active:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(59,130,246,.34)}.ds1-portfolio__card.ds1-hidden{opacity:0;pointer-events:none;transform:scale(.95)}@media screen and (max-width:990px){.ds1-portfolio__grid{grid-template-columns:1fr}.ds1-portfolio{padding:60px 0 80px}}@media screen and (max-width:768px){.ds1-portfolio{padding:48px 0 64px}.ds1-portfolio__cta{padding:32px 22px;border-radius:26px}.ds1-portfolio__cta-btns{flex-direction:column}.ds1-portfolio__btn{width:100%}}