@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--nexo-green:#b9ddaf;--nexo-green-d:#9cc894;--nexo-ink:#000;--paper:#eef1ee;--nexo-mono:"Atkinson Hyperlegible Mono", "SFMono-Regular", ui-monospace, "Roboto Mono", Menlo, Consolas, monospace}.nexo-stage{background:var(--nexo-green);color:var(--nexo-ink);font-family:var(--nexo-mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;position:fixed;inset:0;overflow:hidden}.nexo-stage *,.nexo-stage :before,.nexo-stage :after{box-sizing:border-box}.nexo-stage .word{z-index:2;justify-content:center;align-items:center;gap:clamp(2px,1vw,22px);display:flex;position:absolute;inset:0}.nexo-stage .word.single{gap:0}.nexo-stage .glyph{aspect-ratio:1;will-change:transform;flex:none;height:min(46vh,22vw);position:relative}.nexo-stage .word.single .glyph{aspect-ratio:auto;width:auto;height:auto;position:absolute;inset:clamp(40px,6vh,90px) clamp(60px,7vw,140px)}.nexo-stage .glyph-vid{object-fit:cover;filter:grayscale()contrast(1.08)brightness(1.02);width:100%;height:100%;display:block}.nexo-stage .veil{z-index:3;pointer-events:none;mix-blend-mode:overlay;opacity:.35;background:repeating-linear-gradient(0deg,#ffffff0d 0 1px,#0000 1px 3px);position:absolute;inset:0}.nexo-stage .veil:after{content:"";mix-blend-mode:multiply;background:radial-gradient(130% 120% at 50% 42%,#0000 55%,#00000073 100%);position:absolute;inset:0}.nexo-stage .chrome{z-index:5;pointer-events:none;position:absolute;inset:0}.nexo-stage .chrome a{pointer-events:auto}.nexo-stage .mark{color:var(--nexo-ink);align-items:center;gap:clamp(12px,1.2vw,18px);display:flex;position:absolute;top:clamp(20px,3.4vw,46px);left:clamp(20px,3.4vw,46px)}.nexo-stage .mark svg{width:clamp(34px,3.4vw,50px);height:auto;display:block}.nexo-stage .mark .wordmark{letter-spacing:.34em;text-transform:uppercase;color:var(--nexo-ink);white-space:nowrap;padding-left:.18em;font-size:clamp(13px,1.05vw,16px);font-weight:700;overflow:hidden}.nexo-stage .coming-soon{z-index:5;pointer-events:none;letter-spacing:.24em;text-transform:uppercase;color:color-mix(in srgb, var(--nexo-ink) 90%, transparent);align-items:center;gap:.65em;margin:0;font-size:clamp(15px,1.35vw,22px);display:flex;position:absolute;top:calc(50% + min(23vh,11vw) + clamp(18px,2.4vw,32px));left:50%;transform:translate(-50%)}.nexo-stage .status{letter-spacing:.26em;text-transform:uppercase;color:color-mix(in srgb, var(--nexo-ink) 82%, transparent);align-items:center;gap:.6em;font-size:clamp(11px,.86vw,13px);display:flex;position:absolute;top:clamp(22px,3.4vw,48px);right:clamp(20px,3.4vw,46px)}.nexo-stage .status .dot,.nexo-stage .coming-soon .dot{background:var(--nexo-ink);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--nexo-ink) 60%, transparent);border-radius:50%;flex-shrink:0;animation:2.4s ease-out infinite nexo-pulse}.nexo-stage .coming-soon .dot{width:10px;height:10px}@keyframes nexo-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--nexo-ink) 55%, transparent)}70%{box-shadow:0 0 0 9px #0000}to{box-shadow:0 0 #0000}}.nexo-stage .contacts{text-align:right;letter-spacing:.02em;flex-direction:column;gap:.5em;font-size:clamp(12px,.95vw,15px);line-height:1.35;display:flex;position:absolute;bottom:clamp(20px,3.4vw,44px);right:clamp(20px,3.4vw,46px)}.nexo-stage .contacts .label{letter-spacing:.32em;text-transform:uppercase;color:color-mix(in srgb, var(--nexo-ink) 55%, transparent);margin-bottom:.35em;font-size:clamp(10px,.72vw,11px)}.nexo-stage .contacts a{color:var(--nexo-ink);width:max-content;margin-left:auto;text-decoration:none;transition:opacity .2s;position:relative}.nexo-stage .contacts a:after{content:"";background:currentColor;height:1px;transition:right .28s cubic-bezier(.5,0,.1,1);position:absolute;bottom:-2px;left:0;right:100%}.nexo-stage .contacts a:hover{opacity:.85}.nexo-stage .contacts a:hover:after{right:0}.nexo-stage .contacts .contact-line{color:color-mix(in srgb, var(--nexo-ink) 82%, transparent);width:max-content;margin-left:auto}.nexo-stage .caption{letter-spacing:.04em;max-width:34ch;color:color-mix(in srgb, var(--nexo-ink) 68%, transparent);font-size:clamp(11px,.82vw,13px);line-height:1.5;position:absolute;bottom:clamp(20px,3.4vw,44px);left:clamp(20px,3.4vw,46px)}.nexo-stage .caption b{color:var(--nexo-ink);font-weight:700}.nexo-stage .switch{background:color-mix(in srgb, var(--nexo-ink) 16%, transparent);z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;gap:1px;padding:3px;display:flex;position:absolute;bottom:clamp(18px,2.6vw,30px);left:50%;transform:translate(-50%)}.nexo-stage .switch a{pointer-events:auto;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb, var(--nexo-ink) 70%, transparent);white-space:nowrap;border-radius:999px;padding:.6em 1.1em;font-size:clamp(10px,.78vw,12px);text-decoration:none;transition:all .2s}.nexo-stage .switch a.active{color:var(--nexo-ink);background:#fff;font-weight:700}.nexo-stage .switch a:not(.active):hover{color:var(--nexo-ink)}.nexo-stage .seq-index{z-index:5;letter-spacing:.3em;gap:.85em;font-size:clamp(11px,.86vw,13px);font-weight:700;display:flex;position:absolute;top:clamp(16px,3vw,42px);left:50%;transform:translate(-50%)}.nexo-stage .seq-index span{color:color-mix(in srgb, var(--nexo-ink) 32%, transparent);transition:color .25s}.nexo-stage .seq-index span.on{color:var(--nexo-ink)}.nexo-stage .flash{z-index:4;pointer-events:none;opacity:0;mix-blend-mode:screen;background:linear-gradient(90deg,#7fe3c400 0%,#7fe3c459 50%,#7fe3c400 100%);position:absolute;inset:0}.nexo-stage.has-reel{--p:0;--q:0}.nexo-stage.has-reel .glyph{height:min(30vh,15vw)}.nexo-stage.has-reel .word{transform:translateY(calc(var(--q,0) * -27vh)) scale(calc(1 - var(--q,0) * .6))}.nexo-stage.has-reel .mark{gap:calc(clamp(12px, 1.2vw, 18px) * (1 - var(--t,0)));left:calc((1 - var(--t,0)) * clamp(20px, 3.4vw, 46px) + var(--t,0) * 50%);transform:translateX(calc(var(--t,0) * -50%)) scale(calc(1 - var(--t,0) * .58));transform-origin:50%}.nexo-stage.has-reel .mark .wordmark{max-width:calc((1 - var(--t,0)) * 8rem);opacity:calc(1 - var(--t,0) * 1.6);padding-left:calc(.18em * (1 - var(--t,0)))}.nexo-stage.has-reel .caption,.nexo-stage.has-reel .contacts{opacity:calc(1 - var(--p,0) * 1.6);bottom:calc(clamp(20px,3.4vw,44px) + 10vh)}.nexo-stage.has-reel .switch{opacity:calc(1 - var(--p,0) * 1.6);bottom:calc(clamp(18px,2.6vw,30px) + 10vh)}.nexo-stage.reel-hot .caption,.nexo-stage.reel-hot .contacts,.nexo-stage.reel-hot .switch{opacity:.1;transition:opacity .35s}.nexo-stage .reel{z-index:4;--ih:20vh;height:0;position:absolute;top:100%;left:0;right:0}.nexo-stage .reel-track{will-change:transform;--push:0px;align-items:flex-start;gap:clamp(10px,1.1vw,22px);padding:0 clamp(10px,1.1vw,22px);display:flex}.nexo-stage .reel-item{height:var(--ih);aspect-ratio:3/4;background:var(--paper);cursor:pointer;transform-origin:50% 0;flex:none;transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s;position:relative;overflow:hidden}.nexo-stage .reel-item img,.nexo-stage .reel-item picture{width:100%;height:100%;display:block}.nexo-stage .reel-item img{object-fit:cover;filter:none}.nexo-stage .reel-item .ph,.nexo-stage .gallery-grid .ph{letter-spacing:.22em;text-transform:uppercase;color:#04150f66;background:linear-gradient(160deg,#f4f6f4 0%,#dfe3df 55%,#cfd4d0 100%);justify-content:flex-start;align-items:flex-end;padding:.7em;font-size:10px;display:flex;position:absolute;inset:0}.nexo-stage .reel-item.hot{z-index:3;box-shadow:0 3vh 7vh #00000057}.nexo-stage .reel-item.push-prev{transform:translateX(calc(-1 * var(--push,0px)))}.nexo-stage .reel-item.push-next{transform:translateX(var(--push,0px))}.nexo-stage .reel-info{z-index:7;pointer-events:none;opacity:0;letter-spacing:.16em;text-transform:uppercase;color:var(--nexo-ink);max-width:26ch;font-size:clamp(10px,.74vw,12px);line-height:1.6;transition:opacity .3s,transform .3s;position:absolute;top:0;transform:translateY(6px)}.nexo-stage .reel-info.on{opacity:1;transform:translateY(0)}.nexo-stage .reel-info .ri-num{color:color-mix(in srgb, var(--nexo-ink) 70%, transparent);margin-bottom:1.4em;display:block}.nexo-stage .reel-nav{display:none}.nexo-stage.reel-open .reel-nav{display:contents}.nexo-stage .reel-prev,.nexo-stage .reel-next{z-index:6;background:var(--nexo-ink);width:48px;min-width:48px;height:48px;min-height:48px;color:var(--nexo-green);cursor:pointer;pointer-events:auto;bottom:calc(clamp(16px, 3.6vh, 40px) + env(safe-area-inset-bottom,0px));border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:none;position:fixed}.nexo-stage.reel-open .reel-prev,.nexo-stage.reel-open .reel-next{display:flex}.nexo-stage .reel-prev{left:calc(clamp(12px, 2vw, 28px) + env(safe-area-inset-left,0px))}.nexo-stage .reel-next{right:calc(clamp(12px, 2vw, 28px) + env(safe-area-inset-right,0px))}.nexo-stage .reel-prev svg,.nexo-stage .reel-next svg,.nexo-stage .lightbox-prev svg,.nexo-stage .lightbox-next svg{width:22px;height:22px;display:block}.nexo-stage .reel-prev:focus-visible,.nexo-stage .reel-next:focus-visible,.nexo-stage .lightbox-close:focus-visible,.nexo-stage .lightbox-prev:focus-visible,.nexo-stage .lightbox-next:focus-visible{outline-offset:3px;outline:2px solid #fff}.nexo-stage .project-view{z-index:12;background:#000000c7;justify-content:center;align-items:center;padding:clamp(16px,3vw,40px);display:flex;position:absolute;inset:0;overflow:auto}.nexo-stage .project-view-panel{width:min(92vw,960px);max-height:92vh;padding:56px 28px 28px;position:relative;overflow:auto}.nexo-stage .project-view-title{color:#fff;text-align:center;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.4em;font-size:clamp(13px,1.1vw,18px);font-weight:400;line-height:1.5}.nexo-stage .project-view-photos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.nexo-stage .project-view-photo{background:var(--paper);cursor:pointer;aspect-ratio:4/3;border:0;width:100%;margin:0;padding:0;display:block;overflow:hidden}.nexo-stage .project-view-photo picture,.nexo-stage .project-view-photo img{object-fit:cover;filter:none;width:100%;height:100%;display:block}.nexo-stage .project-view-close{width:44px;height:44px;color:var(--nexo-ink);cursor:pointer;font:inherit;z-index:2;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;font-size:28px;line-height:1;display:flex;position:absolute;top:0;right:0}.nexo-stage .project-view-close:focus-visible{outline-offset:3px;outline:2px solid #fff}.nexo-stage .lightbox{z-index:13;background:#000000c7;justify-content:center;align-items:center;padding:clamp(16px,3vw,40px);display:flex;position:absolute;inset:0}.nexo-stage .lightbox-panel{touch-action:pan-y;justify-content:center;align-items:center;width:min(92vw,1120px);max-height:92vh;display:flex;position:relative}.nexo-stage .lightbox-figure{flex-direction:column;align-items:center;gap:1em;max-width:100%;margin:0 56px;display:flex}.nexo-stage .lightbox-figure picture,.nexo-stage .lightbox-figure img{object-fit:contain;filter:none;width:auto;max-width:min(80vw,960px);height:auto;max-height:72vh;display:block}.nexo-stage .lightbox-figure figcaption{color:#fff;text-align:center;letter-spacing:.14em;text-transform:uppercase;max-width:42ch;font-size:clamp(11px,.85vw,14px);line-height:1.5}.nexo-stage .lightbox-close,.nexo-stage .lightbox-prev,.nexo-stage .lightbox-next{color:var(--nexo-ink);cursor:pointer;font:inherit;background:#fff;border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.nexo-stage .lightbox-close{z-index:2;border-radius:999px;width:44px;height:44px;font-size:28px;line-height:1;top:0;right:0}.nexo-stage .lightbox-prev,.nexo-stage .lightbox-next{border-radius:999px;width:44px;height:44px;top:50%;transform:translateY(-50%)}.nexo-stage .lightbox-prev{left:0}.nexo-stage .lightbox-next{right:0}.nexo-stage .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nexo-stage.has-reel{touch-action:none;overscroll-behavior:none}body.lightbox-open .nexo-stage .reel-prev,body.lightbox-open .nexo-stage .reel-next{display:none}@media (width<=720px){.nexo-stage.has-reel .glyph{height:min(18vh,20vw)}.nexo-stage.has-reel .word{transform:translateY(calc(var(--q,0) * -16vh)) scale(calc(1 - var(--q,0) * .4))}.nexo-stage.has-reel .caption,.nexo-stage.has-reel .contacts,.nexo-stage.has-reel .switch{bottom:calc(12px + 16vh + env(safe-area-inset-bottom,0px))}.nexo-stage .mark{top:max(12px, env(safe-area-inset-top,0px));gap:8px;left:14px}.nexo-stage.has-reel .mark{left:calc((1 - var(--t,0)) * 14px + var(--t,0) * 50%);top:max(12px, env(safe-area-inset-top,0px))}.nexo-stage .mark svg{width:28px}.nexo-stage .mark .wordmark{letter-spacing:.28em;font-size:11px}.nexo-stage .status{top:max(14px, env(safe-area-inset-top,0px));font-size:10px;right:14px}.nexo-stage .caption{max-width:48vw;font-size:10px;line-height:1.4;left:14px}.nexo-stage .contacts{gap:.28em;font-size:10px;right:14px}.nexo-stage .contacts .contact-line{display:none}.nexo-stage .reel-info{letter-spacing:.12em;max-width:calc(100vw - 28px);font-size:10px}.nexo-stage .reel-prev,.nexo-stage .reel-next{width:56px;min-width:56px;height:56px;min-height:56px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}.nexo-stage .reel-prev{left:calc(12px + env(safe-area-inset-left,0px))}.nexo-stage .reel-next{right:calc(12px + env(safe-area-inset-right,0px))}.nexo-stage .reel-prev svg,.nexo-stage .reel-next svg{width:24px;height:24px}.nexo-stage .project-view{padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px));align-items:flex-start}.nexo-stage .project-view-panel{width:100%;max-height:none;padding:56px 8px 24px}.nexo-stage .project-view-photos{grid-template-columns:1fr}.nexo-stage .lightbox{padding:16px 12px calc(16px + env(safe-area-inset-bottom,0px))}.nexo-stage .lightbox-figure{margin:52px 0 0}.nexo-stage .lightbox-figure picture,.nexo-stage .lightbox-figure img{max-width:86vw;max-height:58vh}.nexo-stage .lightbox-close,.nexo-stage .lightbox-prev,.nexo-stage .lightbox-next{min-width:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){.nexo-stage .status .dot,.nexo-stage .coming-soon .dot{animation:none}}
