.portfolio_intro__SRr1c{position:relative;padding-top:var(--nav-height);padding-bottom:80px;overflow:hidden;min-height:50vh;display:flex;align-items:flex-end;background:var(--bg-2);border-bottom:1px solid var(--border)}.portfolio_introBg__TRhSi{position:absolute;inset:0;pointer-events:none}.portfolio_introOrb__4kk56{position:absolute;top:-20%;right:-5%;width:60vw;max-width:600px;aspect-ratio:1;background:radial-gradient(circle,rgba(29,63,163,.07) 0,transparent 65%);border-radius:50%;animation:portfolio_orb__MxlJR 20s ease-in-out infinite}.portfolio_introGrid__3ehp0{position:absolute;inset:0;background-image:linear-gradient(rgba(29,63,163,.04) 1px,transparent 0),linear-gradient(90deg,rgba(29,63,163,.04) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 100%);mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 100%)}.portfolio_introInner__S3bIa{position:relative;z-index:1;padding-top:60px}.portfolio_introHeading__lpo6b{font-size:clamp(32px,4.5vw,60px);margin-block:20px 16px;line-height:1.35;font-weight:900;color:var(--text)}.portfolio_introSub__hYuad{font-size:17px;color:var(--text-2);margin:0}.portfolio_sectionHead__lJbv0{margin-bottom:52px}.portfolio_sectionHeading__nsWN_{font-size:clamp(24px,2.8vw,36px);margin-top:16px;line-height:1.4;color:var(--text)}.portfolio_sectionLead__cP5fd{margin-top:12px;font-size:15px;color:var(--text-2);line-height:1.85}.portfolio_appsSection__55Ynf{background:var(--bg)}.portfolio_appGrid___5YcQ{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.portfolio_appCard__6_sZ3{background:var(--bg-2);border:1.5px solid var(--border);border-top:3px solid var(--accent);display:flex;flex-direction:column;transition:border-color .3s,transform .3s,box-shadow .3s;overflow:hidden}.portfolio_appCard__6_sZ3:hover{border-color:var(--border-hover);border-top-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 48px rgba(29,63,163,.1)}.portfolio_appThumb__rRDzM{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-3);flex-shrink:0}.portfolio_appThumbImg__O_ZdA{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .4s var(--ease)}.portfolio_appCard__6_sZ3:hover .portfolio_appThumbImg__O_ZdA{transform:scale(1.03)}.portfolio_appThumbWip__Rq1pR{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,var(--bg-3),var(--bg-3) 8px,rgba(29,63,163,.04) 8px,rgba(29,63,163,.04) 16px)}.portfolio_appThumbWipText__yesy4{font-family:var(--font-mono);font-size:10px;letter-spacing:.25em;color:var(--text-3)}.portfolio_liveBadge__C0dSX{color:#16a34a;border:1px solid rgba(22,163,74,.4);border-radius:20px}.portfolio_liveBadge__C0dSX,.portfolio_wipBadge__d_RPU{position:absolute;top:10px;right:10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;background:rgba(255,255,255,.95);padding:3px 9px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio_wipBadge__d_RPU{color:var(--text-3);border:1px solid var(--border);border-radius:20px}.portfolio_appBody__JTp0f{padding:28px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1 1}.portfolio_appTop__16pNF{display:flex;align-items:center;gap:10px}.portfolio_appNum__dH_be{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--text-3);line-height:1}.portfolio_appLabel__PeSt1{font-family:var(--font-mono);font-size:9px;letter-spacing:.2em;color:var(--text-3);text-transform:uppercase}.portfolio_appName__vW5Qo{font-size:20px;font-weight:700;color:var(--text);line-height:1.3;margin-top:2px}.portfolio_appTagline__wdOur{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:var(--accent);margin-top:-4px}.portfolio_appDesc__AtRq0{font-size:14px;color:var(--text-2);line-height:1.85;flex:1 1}.portfolio_appTags__olZ97{display:flex;flex-wrap:wrap;gap:7px}.portfolio_appTag__WPsI3{font-family:var(--font-mono);font-size:10px;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(29,63,163,.2);padding:3px 9px;border-radius:2px}.portfolio_appFooter__l7OPN{padding-top:14px;border-top:1px solid var(--border);margin-top:4px}.portfolio_appLink__f7NV6{font-size:11px!important;padding:9px 18px!important}.portfolio_wipNote__Ed_QM{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--text-3)}.portfolio_photoSection__N4cF2{background:var(--bg-2)}.portfolio_photoGrid__EJ_v4{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:22px;gap:22px}.portfolio_photoCard__60XRi{display:block;border:1.5px solid var(--border);border-top:3px solid var(--accent);background:var(--bg);overflow:hidden;text-decoration:none;transition:border-color .3s,transform .3s,box-shadow .3s}.portfolio_photoCard__60XRi:hover{border-color:var(--border-hover);border-top-color:var(--accent);transform:translateY(-4px);box-shadow:0 16px 48px rgba(29,63,163,.1)}.portfolio_photoCard__60XRi:hover .portfolio_photoThumbImg__JSePn{transform:scale(1.04)}.portfolio_photoThumb__LbfmT{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg-3)}.portfolio_photoThumbImg__JSePn{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}.portfolio_photoOverlay__IcPih{position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,27,53,.3),transparent 50%)}.portfolio_photoInfo__olgAX{padding:24px 28px 26px}.portfolio_photoMeta__kdnrt{display:flex;align-items:center;gap:16px;margin-bottom:12px}.portfolio_photoNum___io2W{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text-3);line-height:1;flex-shrink:0}.portfolio_photoName__TCd_A{font-size:22px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:4px}.portfolio_photoSub__6otQO{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--text-3);text-transform:uppercase}.portfolio_photoDesc__QN_fL{font-size:14px;color:var(--text-2);line-height:1.85;margin:0}.portfolio_backWrap__8CI_r{background:var(--bg);padding-block:40px 60px}@media(max-width:960px){.portfolio_appGrid___5YcQ{grid-template-columns:1fr 1fr}}@media(max-width:640px){.portfolio_appGrid___5YcQ,.portfolio_photoGrid__EJ_v4{grid-template-columns:1fr}}