.nw-portfolio{z-index:var(--z-content);padding-bottom:var(--space-10);position:relative}.nw-portfolio-wrap{max-width:var(--container-max);padding-inline:var(--gutter);margin-left:auto;margin-right:auto}.nw-portfolio-head{padding-block:var(--space-9) var(--space-7)}.nw-portfolio-eyebrow{margin:0 0 var(--space-3);font:600 var(--fs-caption) / 1.2 var(--font-display), sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.nw-portfolio-title{font:700 var(--fs-display) / 1.08 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--text-1);margin:0}.nw-portfolio-title .grad{background:var(--grad-head);color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}[dir=rtl] .nw-portfolio-title .grad{background-image:var(--grad-head-rtl);-webkit-background-clip:text;background-clip:text}.nw-portfolio-lede{margin:var(--space-4) 0 0;max-width:62ch;font:var(--fs-body-lg) / calc(1.6 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2)}.nw-portfolio-empty{padding-block:var(--space-5) var(--space-8);font:var(--fs-body) / calc(1.6 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2);margin:0}.nw-portfolio-subhead{margin:var(--space-9) 0 var(--space-4);font:600 var(--fs-caption) / 1.2 var(--font-display), sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.nw-portfolio-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.nw-portfolio-cats{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.nw-portfolio-cat{padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--r-lg);background:var(--glass-bg);box-shadow:inset 0 1px 0 var(--glass-light), var(--card-emboss);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);text-decoration:none;display:block}.nw-portfolio-cat:hover{border-color:var(--azure-400);transform:translateY(-2px)}.nw-portfolio-cat h3{font:600 var(--fs-h4) / 1.25 var(--font-display), sans-serif;color:var(--text-1);margin:0}.nw-portfolio-cat p{margin:var(--space-2) 0 0;font:var(--fs-small) / calc(1.5 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2)}.nw-projectcard{border:1px solid var(--glass-border);border-radius:var(--r-lg);background:var(--glass-bg);height:100%;box-shadow:inset 0 1px 0 var(--glass-light), var(--card-emboss), var(--shadow-raise);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.nw-projectcard:hover{border-color:var(--azure-400);transform:translateY(-3px)}.nw-projectcard-cover{aspect-ratio:16/9;background:var(--surface-1);align-items:center;justify-items:center;display:grid;position:relative;overflow:hidden}.nw-projectcard-cover img{object-fit:cover}.nw-projectcard-ph{stroke-width:1.4px;height:34px;width:34px;color:var(--text-3)}.nw-projectcard-body{gap:var(--space-2);padding:var(--space-4);flex-direction:column;display:flex}.nw-projectcard-chip{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--chip-scrim);font:600 var(--fs-caption) / 1.4 var(--font-display), sans-serif;color:var(--text-2);align-self:start;padding:3px 10px;text-decoration:none}.nw-projectcard-title{font:600 var(--fs-h4) / 1.25 var(--font-display), sans-serif;color:var(--text-1);margin:0}.nw-projectcard-ex{font:var(--fs-small) / calc(1.5 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.nw-projectcard-more{font:600 var(--fs-small) / 1.2 var(--font-display), sans-serif;color:var(--link);align-items:center;gap:6px;margin-top:auto;padding-top:var(--space-2);display:inline-flex}.nw-projectcard-more svg{height:16px;width:16px}[dir=rtl] .nw-projectcard-more svg{transform:scaleX(-1)}[dir=rtl] .nw-project-link svg{transform:scaleX(-1)}[dir=rtl] .nw-project-back svg{transform:scaleX(-1)}.nw-project{z-index:var(--z-content);max-width:760px;padding:var(--space-9) var(--gutter) var(--space-10);margin-left:auto;margin-right:auto;position:relative}.nw-project-head{text-align:center}.nw-project-crumbs,.nw-project-links{justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3);display:flex}.nw-project-title{font:700 var(--fs-h1) / 1.12 var(--font-display), sans-serif;letter-spacing:-.02em;color:var(--text-1);margin:0}.nw-project-links{margin-block:var(--space-4) 0}.nw-project-link{border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);font:600 var(--fs-small) / 1.2 var(--font-display), sans-serif;color:var(--link);transition:border-color var(--dur-fast) var(--ease-out);align-items:center;gap:7px;padding:7px 14px;text-decoration:none;display:inline-flex}.nw-project-link:hover{border-color:var(--azure-400)}.nw-project-link svg,.nw-project-link-ico svg,.nw-project-link-ico{height:15px;width:15px}.nw-project-hero{margin-block:var(--space-6)}.nw-project-hero figure{border:1px solid var(--glass-border);border-radius:var(--r-lg);margin:0;overflow:hidden}.nw-project-hero img{height:auto;width:100%;display:block}.nw-project-lede{margin:0 0 var(--space-5);font:var(--fs-body-lg) / calc(1.6 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2)}.nw-project .prose{font:var(--fs-body) / calc(1.6 + var(--lh-add)) var(--font-body), sans-serif;color:var(--text-2)}.nw-project .prose :-webkit-any(h2,h3,h4){margin:var(--space-6) 0 var(--space-3);font-family:var(--font-display), sans-serif;color:var(--text-1)}.nw-project .prose :-moz-any(h2,h3,h4){margin:var(--space-6) 0 var(--space-3);font-family:var(--font-display), sans-serif;color:var(--text-1)}.nw-project .prose :is(h2,h3,h4){margin:var(--space-6) 0 var(--space-3);font-family:var(--font-display), sans-serif;color:var(--text-1)}.nw-project .prose h2{font-size:var(--fs-h2)}.nw-project .prose h3{font-size:var(--fs-h3)}.nw-project .prose h4{font-size:var(--fs-h4)}.nw-project .prose p{margin:0 0 var(--space-4)}.nw-project .prose :-webkit-any(ul,ol){margin:0 0 var(--space-4)}.nw-project .prose :-moz-any(ul,ol){margin:0 0 var(--space-4)}.nw-project .prose :is(ul,ol){margin:0 0 var(--space-4)}.nw-project .prose :-webkit-any(ul,ol):not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:var(--space-5)}.nw-project .prose :-moz-any(ul,ol):not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:var(--space-5)}.nw-project .prose :is(ul,ol):not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:var(--space-5)}.nw-project .prose :-webkit-any(ul,ol):-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:var(--space-5)}.nw-project .prose :-moz-any(ul,ol):-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:var(--space-5)}.nw-project .prose :is(ul,ol):is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:var(--space-5)}.nw-project .prose li{margin-bottom:var(--space-2)}.nw-project .prose img{border-radius:var(--r-md);height:auto;max-width:100%}.nw-project-foot{border-top:1px solid var(--glass-border);margin-top:var(--space-8);padding-top:var(--space-5)}.nw-project-back{font:600 var(--fs-small) / 1.2 var(--font-display), sans-serif;color:var(--link);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.nw-project-back svg{height:16px;width:16px}.nw-gallery{margin-block:var(--space-6);gap:var(--space-3);display:grid}.nw-gallery-featured,.nw-gallery-cell{border:1px solid var(--glass-border);border-radius:var(--r-lg);background:var(--surface-1);cursor:zoom-in;padding:0;display:block;position:relative;overflow:hidden}.nw-gallery-featured img,.nw-gallery-cell img{height:auto;width:100%;display:block}.nw-gallery-cell{aspect-ratio:4/3}.nw-gallery-cell img{object-fit:cover;height:100%}.nw-gallery-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.nw-gallery-cap{background:var(--scrim);font:var(--fs-caption) / 1.35 var(--font-body), sans-serif;color:var(--void-950);padding:8px 12px;position:absolute;bottom:0;left:0;right:0}.nw-gallery-cap:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.nw-gallery-cap:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.nw-gallery-cap:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.nw-gallery-cap:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.nw-gallery-cap:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.nw-gallery-cap:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.nw-gallery-lightbox{z-index:var(--z-popup);padding:var(--space-5);align-items:center;justify-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.nw-gallery-veil{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:absolute;top:0;bottom:0;left:0;right:0}.nw-gallery-figure{max-width:min(92vw,1200px);margin:0;position:relative}.nw-gallery-figure-img{object-fit:contain;border-radius:var(--r-md);height:auto;max-height:82vh;width:100%;display:block}.nw-gallery-figcap{font:var(--fs-small) / 1.5 var(--font-body), sans-serif;color:var(--chrome-200);text-align:center;margin-top:var(--space-3);display:block}.nw-gallery-close,.nw-gallery-nav{border:1px solid var(--glass-border);background:var(--glass-bg-strong);height:42px;width:42px;color:var(--chrome-100);cursor:pointer;border-radius:50%;align-items:center;justify-items:center;display:grid;position:absolute}.nw-gallery-close{top:var(--space-4)}.nw-gallery-close:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-close:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-close:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-close:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}.nw-gallery-close:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}.nw-gallery-close:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}.nw-gallery-nav{top:50%;transform:translateY(-50%)}.nw-gallery-nav.is-prev:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--space-4)}.nw-gallery-nav.is-prev:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--space-4)}.nw-gallery-nav.is-prev:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--space-4)}.nw-gallery-nav.is-prev:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--space-4)}.nw-gallery-nav.is-prev:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--space-4)}.nw-gallery-nav.is-prev:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--space-4)}.nw-gallery-nav.is-next:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-nav.is-next:not(:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-nav.is-next:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--space-4)}.nw-gallery-nav.is-next:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}.nw-gallery-nav.is-next:-moz-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}.nw-gallery-nav.is-next:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--space-4)}[dir=rtl] .nw-gallery-nav svg{transform:scaleX(-1)}.nw-gallery-close svg,.nw-gallery-nav svg{height:20px;width:20px}@media (prefers-reduced-motion:reduce){.nw-projectcard,.nw-portfolio-cat{transition:none}.nw-projectcard:hover,.nw-portfolio-cat:hover{transform:none}}
