.nx-portfolio{--nx-bg:#090810;--nx-purple:#8063ff;--nx-cyan:#60f2e8;--nx-white:#faf9ff;--nx-muted:#a4a0b8;background:var(--nx-bg);color:var(--nx-white);font-family:Poppins,Inter,Arial,sans-serif;min-height:100vh;position:relative;isolation:isolate}.nx-portfolio *{box-sizing:border-box}.nx-portfolio button,.nx-portfolio input,.nx-portfolio select{font:inherit}.nx-portfolio a{text-decoration:none;color:inherit}.nx-inner{width:min(1320px,calc(100% - 72px));margin:auto}.nx-main{position:relative;background:radial-gradient(ellipse 70% 24% at 75% 8%,#26104d 0%,transparent 80%),#090810}.nx-portfolio:not(.nx-ready)>.nx-main{opacity:0}.nx-portfolio.nx-ready>.nx-main{opacity:1;transition:opacity .75s ease}.nx-intro-lock{overflow:hidden}.nx-intro{position:fixed;z-index:999999;inset:0;background:radial-gradient(circle at 50% 50%,#151039 0%,#040409 62%);color:#fff;display:flex;justify-content:center;align-items:center;overflow:hidden}.nx-intro[hidden]{display:none!important}.nx-intro-content{text-align:center;position:relative}.nx-intro-kicker{font-size:12px;letter-spacing:.36em;color:#bcb7d7;opacity:0}.nx-xo{font-size:clamp(110px,25vw,290px);font-weight:900;line-height:1;letter-spacing:-.13em;white-space:nowrap;position:relative;text-shadow:0 0 40px #5c4dee65}.nx-x,.nx-o{display:inline-block;color:transparent;background:linear-gradient(110deg,#62f1e9,#709fff 48%,#8358fa);background-clip:text;-webkit-background-clip:text;opacity:0}.nx-o{padding-right:.17em}.nx-trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.nx-trail path{stroke:url(#none);stroke:#6d90ff;fill:none;stroke-width:2;stroke-dasharray:600;stroke-dashoffset:600;filter:drop-shadow(0 0 9px #6d85ff);opacity:.8}.nx-intro-logo{font-size:clamp(42px,8vw,110px);font-weight:900;letter-spacing:-.06em;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.85);opacity:0;white-space:nowrap}.nx-intro-logo span{background:linear-gradient(110deg,#5ef1e8,#855bff);color:transparent;background-clip:text;-webkit-background-clip:text}.nx-intro-end{letter-spacing:.4em;color:#aaa4c8;font-size:11px;opacity:0}.nx-skip{position:absolute;right:28px;bottom:24px;color:#bbb5cd;border:1px solid #514b6e;border-radius:40px;padding:10px 18px;background:transparent;cursor:pointer;z-index:3}.nx-skip:hover{border-color:var(--nx-cyan);color:#fff}.nx-intro-play .nx-intro-kicker{animation:nxFadeIn .7s .1s forwards}.nx-intro-play .nx-trail path{animation:nxDraw 1.55s .15s forwards}.nx-intro-play .nx-x{animation:nxX .8s .7s forwards}.nx-intro-play .nx-o{animation:nxX .8s .95s forwards}.nx-intro-play .nx-intro-logo{animation:nxLogo 1.2s 2.05s forwards}.nx-intro-play .nx-intro-end{animation:nxFadeIn .6s 2.55s forwards}.nx-intro-exit{opacity:0;pointer-events:none;transition:opacity .6s ease}@keyframes nxDraw{to{stroke-dashoffset:0}}@keyframes nxFadeIn{to{opacity:1}}@keyframes nxX{from{opacity:0;transform:scale(.75) rotate(-8deg);filter:blur(10px)}to{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}@keyframes nxLogo{0%{opacity:0;transform:translate(-50%,-50%) scale(.75);filter:blur(12px)}45%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.nx-hero{min-height:480px;display:flex;align-items:center;justify-content:space-between;gap:4%;padding:68px 20px 32px;overflow:hidden;position:relative}.nx-hero-copy{z-index:2;width:min(610px,60%)}.nx-eyebrow{font-size:10px!important;letter-spacing:.24em;color:#c5bfe4!important;font-weight:700;margin:0 0 22px!important}.nx-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--nx-cyan);box-shadow:0 0 13px var(--nx-cyan);margin-right:8px}.nx-hero h1,.nx-case h1{color:#fff!important;font-size:clamp(56px,8vw,110px)!important;letter-spacing:-.075em;line-height:.96!important;font-weight:850;margin:0 0 22px!important;max-width:700px}.nx-hero h1::first-line{color:#fff}.nx-subtitle{font-size:clamp(14px,1.5vw,18px)!important;line-height:1.7!important;color:#c4c0d3!important;max-width:540px}.nx-scroll-cue{display:block;margin-top:46px;letter-spacing:.18em;color:#8d87ac;font-size:10px}.nx-hero-art{height:380px;width:430px;position:relative;flex:none;display:grid;place-items:center;filter:drop-shadow(0 0 40px #7b49ff33)}.nx-hero-art:before{content:'';position:absolute;inset:18%;border-radius:45%;background:conic-gradient(from 50deg,#7f52fa,#253b8a,#58f2e5,#5a34c8,#7f52fa);filter:blur(35px);opacity:.85}.nx-hero-art .nx-orbit{position:absolute;inset:12%;border-radius:50%;border:35px solid transparent;box-shadow:inset 17px 8px 35px #59e9ec9c,20px 0 40px #8c55ff88,-12px 6px 20px #3773ff80;transform:rotate(-35deg) skew(15deg,8deg);background:linear-gradient(#080710,#080710) padding-box,linear-gradient(35deg,#59f1ef,#7961ff,#100b29,#e9c1ff) border-box}.nx-hero-art .nx-orbit-two{inset:22%;border-width:17px;transform:rotate(42deg) skew(8deg,10deg);opacity:.8}.nx-hero-art>span{font-size:90px;font-weight:900;color:#ffffff0d;z-index:2}.nx-toolbar{display:flex;gap:15px;align-items:center;border:1px solid #353047;background:#16141fe8;border-radius:14px;padding:16px;margin:14px 0 45px;flex-wrap:wrap}.nx-tabs{display:flex;gap:4px;flex-wrap:wrap}.nx-tabs button{background:transparent;border:1px solid #393445;color:#ddd7ec;border-radius:25px;padding:12px 21px;font-size:12px;cursor:pointer}.nx-tabs button.is-active{border-color:transparent;color:#fff;background:linear-gradient(105deg,#536df1,#7b52f9);box-shadow:0 2px 20px #6654f450}.nx-filter-group{display:flex;flex:1;gap:10px;min-width:240px}.nx-filter-group label{flex:1;min-width:110px;font-size:10px;color:#b4aec7;background:#201e29;border:1px solid #343044;border-radius:9px;padding:7px 10px}.nx-filter-group label span{display:block;font-size:9px;color:#88829f}.nx-filter-group select{max-width:100%;width:100%;background:transparent;border:0;color:#f5f2ff;font-size:12px;outline-offset:5px}.nx-filter-group option{color:#17121f}.nx-search{flex:1;min-width:130px}.nx-search input{width:100%;border:1px solid #343044;background:#201e29;color:#fff;border-radius:9px;padding:15px;font-size:12px}.nx-results-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.nx-results-heading h2{font-size:clamp(23px,3vw,34px)!important;letter-spacing:-.035em;color:#fff!important;margin:0!important}.nx-clear{background:transparent;border:0;color:#a4a0b7;cursor:pointer;font-size:12px}.nx-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;min-height:150px}.nx-project-card{min-width:0;position:relative;overflow:hidden;border:1px solid #353044;border-radius:13px;background:#121019;transition:border-color .25s,transform .3s}.nx-project-card:hover{border-color:#8b71ff;transform:translateY(-4px)}.nx-project-featured:first-child{grid-row:span 2}.nx-project-link{display:flex;flex-direction:column;height:100%}.nx-project-visual{aspect-ratio:1/1;position:relative;overflow:hidden;background:linear-gradient(145deg,#261648,#070810)}.nx-project-featured:first-child .nx-project-visual{flex:1;min-height:340px}.nx-project-visual img,.nx-project-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,opacity .3s}.nx-project-preview{opacity:0;pointer-events:none}.nx-project-card:hover .nx-project-preview{opacity:1}.nx-project-card:hover .nx-project-img{transform:scale(1.045)}.nx-project-index{position:absolute;top:12px;left:13px;font-size:10px;text-shadow:0 1px 4px #000}.nx-project-arrow{position:absolute;top:10px;right:11px;font-size:22px;border:1px solid #ffffff8a;background:#10101c80;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.nx-placeholder{height:100%;display:grid;place-items:center;font-size:36px;font-weight:900;color:#fff}.nx-purple{color:#8063ff}.nx-card-caption{padding:15px}.nx-card-caption h3{font-size:16px!important;color:#fff!important;margin:0 0 4px!important}.nx-card-caption span{font-size:10px;letter-spacing:.08em;color:#aaa3be;text-transform:uppercase}.nx-pagination{text-align:center;padding:40px 0 75px}.nx-load-more{background:transparent;color:#eee9fc;border:1px solid #8868ff;border-radius:30px;cursor:pointer;padding:13px 42px;font-size:12px}.nx-load-more:disabled{opacity:.5;cursor:default}.nx-empty{grid-column:1/-1;text-align:center;color:#c1bdd4;padding:35px}.nx-grid[aria-busy=true]{opacity:.65;transition:opacity .2s}
.nx-case-wrap{padding:28px 0 80px}.nx-case-top{display:flex;justify-content:space-between;font-size:12px;color:#aaa4c1;margin:15px 0 70px}.nx-case-heading{margin-bottom:34px}.nx-case-heading h1{max-width:1000px}.nx-case-hero{width:100%;background:#161121;border-radius:16px;overflow:hidden;min-height:240px}.nx-case-hero img,.nx-case-hero video{width:100%;max-height:680px;object-fit:cover;display:block}.nx-video-link{padding:100px;text-align:center}.nx-video-link a{border:1px solid #8e77ff;padding:15px 25px;border-radius:30px}.nx-case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;border-bottom:1px solid #39324d;padding:35px 0}.nx-case-meta div{display:flex;flex-direction:column;gap:8px}.nx-case-meta small{color:#85809e;font-size:10px;letter-spacing:.13em}.nx-case-meta strong{color:#f9f6ff;font-weight:500;font-size:14px}.nx-case-body{padding:60px 0;font-size:17px;line-height:1.8;color:#ddd8eb}.nx-case-body h2,.nx-case-body h3{color:#fff}.nx-case-body .wp-block-image img{height:auto}.nx-case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.nx-case-gallery img{width:100%;height:auto;border-radius:8px}.nx-next-project{border-top:1px solid #343044;display:flex;flex-direction:column;gap:14px;margin:75px 0 0;padding:35px 0}.nx-next-project span{font-size:11px;color:#8d85a7}.nx-next-project strong{font-size:clamp(25px,5vw,65px);line-height:1.1}.nx-case a:hover{color:#7f7aff}
@media(max-width:1100px){.nx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nx-hero-art{width:320px;height:320px}.nx-hero h1{font-size:75px!important}.nx-project-featured:first-child .nx-project-visual{min-height:260px}}@media(max-width:760px){.nx-inner{width:calc(100% - 32px)}.nx-hero{padding:65px 0 15px;min-height:390px;display:block}.nx-hero-copy{width:100%}.nx-hero h1,.nx-case h1{font-size:clamp(50px,12vw,76px)!important}.nx-hero-art{position:absolute;right:-120px;top:0;opacity:.38;width:310px;height:310px;pointer-events:none}.nx-scroll-cue{margin-top:25px}.nx-toolbar{padding:12px;margin:20px 0 32px;display:block}.nx-tabs{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;padding-bottom:12px}.nx-tabs button{padding:11px 13px;font-size:11px;flex:none}.nx-filter-group{margin:4px 0 12px}.nx-search{display:block}.nx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nx-project-featured:first-child{grid-row:auto;grid-column:span 2}.nx-project-featured:first-child .nx-project-visual{height:290px}.nx-card-caption{padding:10px}.nx-card-caption h3{font-size:13px!important}.nx-card-caption span{font-size:9px}.nx-case-top{margin-bottom:40px}.nx-case-meta{grid-template-columns:repeat(2,1fr)}.nx-case-body{padding:35px 0}}@media(max-width:480px){.nx-grid{grid-template-columns:1fr}.nx-project-featured:first-child{grid-column:auto}.nx-project-visual{aspect-ratio:4/3}.nx-project-featured:first-child .nx-project-visual{height:300px}.nx-case-gallery{grid-template-columns:1fr}.nx-intro-logo{font-size:48px}}
@media(prefers-reduced-motion:reduce){.nx-portfolio *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.nx-intro{display:none!important}.nx-portfolio>.nx-main{opacity:1!important}}

/* v1.0.1 safe visual patch: intentionally preserve V1 grid, filters, dimensions and spacing. */
.nx-portfolio{background:#020204!important}
.nx-portfolio>.nx-main{background:#020204!important;isolation:isolate}
.nx-portfolio>.nx-main::before{content:"";position:absolute;inset:0 0 auto;min-height:610px;pointer-events:none;z-index:0;background:radial-gradient(ellipse 42% 48% at 7% 55%,rgba(49,190,204,.15),transparent 78%),radial-gradient(ellipse 44% 52% at 78% 38%,rgba(115,76,237,.23),transparent 82%),radial-gradient(ellipse 30% 35% at 96% 66%,rgba(189,62,244,.09),transparent 86%),linear-gradient(180deg,#020204 0%,#040309 18%,#05040c 52%,#020204 100%)}
.nx-portfolio>.nx-main>.nx-inner{position:relative;z-index:1}
.nx-portfolio .nx-hero-art{background:transparent!important;filter:none!important}
.nx-portfolio .nx-hero-art:before{inset:16%!important;background:radial-gradient(circle at 55% 50%,rgba(117,77,245,.25),rgba(44,133,207,.10) 48%,transparent 72%)!important;filter:blur(33px)!important;opacity:.65!important;pointer-events:none}
.nx-portfolio .nx-hero-art .nx-glass-orb{position:relative;display:block;width:min(100%,410px);height:auto;max-height:100%;object-fit:contain;background:none!important;box-shadow:none!important;filter:drop-shadow(0 14px 30px rgba(3,2,14,.32));animation:nx-safe-orb 6s ease-in-out infinite alternate}
@keyframes nx-safe-orb{from{transform:translateY(3px)}to{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.nx-portfolio .nx-hero-art .nx-glass-orb{animation:none!important}}

/* v1.0.2: two-level category filters; archive cards and hero dimensions unchanged */
.nx-portfolio .nx-toolbar-v2{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px;position:relative;isolation:isolate;background:linear-gradient(145deg,rgba(26,22,42,.8),rgba(12,10,21,.76))!important;border:1px solid rgba(170,159,255,.19);box-shadow:inset 0 1px rgba(255,255,255,.065),0 22px 48px rgba(0,0,0,.18);backdrop-filter:blur(20px)}
.nx-toolbar-v2 .nx-primary-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-bottom:1px solid rgba(255,255,255,.11);padding-bottom:13px}
.nx-toolbar-v2 .nx-primary-tabs button{padding:11px 19px}
.nx-toolbar-v2 .nx-subtabs{min-height:38px}
.nx-toolbar-v2 .nx-subtab-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nx-toolbar-v2 .nx-subtab-row[hidden]{display:none!important}
.nx-toolbar-v2 .nx-chip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);padding:9px 15px;border-radius:30px;color:#d8d3eb;font:inherit;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}
.nx-toolbar-v2 .nx-chip:hover{border-color:rgba(105,238,233,.45);transform:translateY(-1px)}
.nx-toolbar-v2 .nx-chip.is-active{background:rgba(107,104,255,.22);border-color:rgba(142,129,255,.85);color:white;box-shadow:inset 0 0 16px rgba(122,91,255,.08)}
.nx-toolbar-v2 .nx-toolbar-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px}
.nx-toolbar-v2 .nx-search{display:block;width:min(360px,100%);margin:0}
.nx-toolbar-v2 .nx-search input{width:100%;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px;background:rgba(8,8,19,.44)!important;color:#fff!important;padding:12px 16px!important;box-shadow:none!important}
.nx-toolbar-v2 .nx-clear{padding:10px;border:0;background:transparent;white-space:nowrap;color:#b3acd0;cursor:pointer}
.nx-portfolio .nx-hero-art .nx-glass-orb{transform-origin:center center;will-change:transform;animation:nx-orb-motion 8s ease-in-out infinite!important}
@keyframes nx-orb-motion{0%,100%{transform:translate3d(0,3px,0) rotate(-5deg) scale(1)}50%{transform:translate3d(0,-11px,0) rotate(6deg) scale(1.035)}}
@media(max-width:760px){.nx-portfolio .nx-toolbar-v2{display:flex;padding:14px;gap:12px}.nx-toolbar-v2 .nx-primary-tabs{flex-wrap:nowrap;overflow-x:auto}.nx-toolbar-v2 .nx-subtab-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.nx-toolbar-v2 .nx-toolbar-bottom{flex-wrap:wrap}.nx-toolbar-v2 .nx-search{width:100%}.nx-toolbar-v2 .nx-clear{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.nx-portfolio .nx-hero-art .nx-glass-orb{animation:none!important}}

/* v1.0.4 — isolated project card layout patch; no hero, intro or tabs changes */
@media (min-width: 1001px){
  .nx-portfolio .nx-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.nx-portfolio .nx-grid .nx-project-card,
.nx-portfolio .nx-grid .nx-project-featured:first-child{
  grid-column:auto;grid-row:auto;height:380px;min-height:0;
}
.nx-portfolio .nx-grid .nx-project-link{height:100%;display:flex;flex-direction:column;}
.nx-portfolio .nx-grid .nx-project-visual,
.nx-portfolio .nx-grid .nx-project-featured:first-child .nx-project-visual{
  flex:1 1 auto; min-height:0; height:auto; aspect-ratio:auto; overflow:hidden;
}
.nx-portfolio .nx-grid .nx-card-caption{
  flex:0 0 82px;min-height:82px;box-sizing:border-box;
  padding:14px 17px 12px;display:flex;flex-direction:column;justify-content:center;gap:8px;
}
.nx-portfolio .nx-grid .nx-card-caption h3{
  margin:0!important;font-size:17px!important;line-height:1.2!important;
  text-overflow:ellipsis;white-space:nowrap;overflow:hidden;
}
.nx-portfolio .nx-grid .nx-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;}
.nx-portfolio .nx-grid .nx-card-meta span{font-size:11px;line-height:1.3;letter-spacing:.03em;color:#aba4c0;}
.nx-portfolio .nx-grid .nx-card-industry{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%;}
.nx-portfolio .nx-grid .nx-card-year{flex:0 0 auto;color:#cfc7e2!important;font-variant-numeric:tabular-nums;}
@media(max-width:1000px) and (min-width:601px){.nx-portfolio .nx-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){
  .nx-portfolio .nx-grid{grid-template-columns:1fr;}
  .nx-portfolio .nx-grid .nx-project-card, .nx-portfolio .nx-grid .nx-project-featured:first-child{height:355px;}
}
