/* ===== 1stNlast · Navigation v2 (scoped: nx-) · dark + light ===== */
:root{--nx-bg:rgba(9,12,24,.72);--nx-tx:#e8edf7;--nx-mut:#93a0b8;--nx-line:rgba(255,255,255,.09);--nx-hov:rgba(255,255,255,.06);--nx-panel:#0c1122;--nx-shadow:0 24px 60px rgba(0,0,0,.55);--nx-acc:#22e6c3;--nxh:110px}
html[data-theme="light"]{--nx-bg:rgba(255,255,255,.82);--nx-tx:#0f172a;--nx-mut:#64748b;--nx-line:rgba(15,23,42,.09);--nx-hov:rgba(15,23,42,.05);--nx-panel:#fff;--nx-shadow:0 24px 60px rgba(15,23,42,.14);--nx-acc:#0d9488}
html{scroll-padding-top:calc(var(--nxh) + 12px)}

.nx{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.nx.nx-hide{transform:translateY(-115%)}
.nx a,.nx-drawer a{text-decoration:none}

/* top strip */
.nx-top{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;height:34px;padding:0 44px;font-size:12.5px;color:#fff;background:linear-gradient(90deg,#7c3aed,#db2777,#0d9488,#7c3aed);background-size:300% 100%;animation:nxFlow 18s linear infinite;overflow:hidden;transition:margin .35s,opacity .35s}
.nx-top b{font-variant-numeric:tabular-nums}
.nx-top a{color:#fff;font-weight:700;opacity:.9;white-space:nowrap}
.nx-top a:hover{opacity:1;text-decoration:underline}
.nx-top-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:nxPing 1.8s infinite}
.nx-top-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer}
.nx.scrolled .nx-top,.nx.no-top .nx-top{margin-top:-34px;opacity:0}
@keyframes nxFlow{to{background-position:300% 0}}
@keyframes nxPing{0%{box-shadow:0 0 0 0 rgba(255,255,255,.8)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* bar */
.nx-bar{padding:10px 16px 0;transition:padding .3s}
.nx.scrolled .nx-bar{padding-top:8px}
.nx-in{position:relative;max-width:var(--max,1240px);margin:0 auto;display:flex;align-items:center;gap:14px;height:64px;padding:0 10px 0 18px;border-radius:18px;background:var(--nx-bg);border:1px solid var(--nx-line);-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px);box-shadow:0 6px 24px rgba(0,0,0,.06);transition:height .3s,box-shadow .3s,background .3s}
.nx.scrolled .nx-in{height:58px;box-shadow:var(--nx-shadow)}
.nx-prog{position:absolute;left:18px;right:18px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,#22e6c3,#a78bfa,#f472b6);transform-origin:left;transform:scaleX(0)}

/* logo */
.nx-logo{display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;font-weight:800;font-size:19px;letter-spacing:-.4px;color:var(--nx-tx);white-space:nowrap}
.nx-logo sup{font-size:9px;color:var(--nx-mut)}
.nx-dot{width:26px;height:26px;border-radius:50%;background:conic-gradient(from 90deg,#22e6c3,#38bdf8,#a78bfa,#f472b6,#22e6c3);box-shadow:0 0 16px rgba(34,230,195,.45);animation:nxSpin 8s linear infinite}
@keyframes nxSpin{to{transform:rotate(1turn)}}

/* links */
.nx nav{flex:1;display:flex;justify-content:center;min-width:0}
.nx-links{position:relative;display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nx-links>li{position:relative;list-style:none}
.nx-links>li>a{display:flex;align-items:center;gap:6px;padding:10px 13px;border-radius:11px;font-size:14px;font-weight:600;color:var(--nx-mut);white-space:nowrap;transition:color .2s,background .2s}
.nx-links>li>a i{font-size:9px;opacity:.7;transition:transform .25s}
.nx-links>li:hover>a,.nx-links>li.open>a,.nx-links>li:focus-within>a,.nx-links>li.active>a{color:var(--nx-tx)}
.nx-links>li:hover>a,.nx-links>li.open>a{background:var(--nx-hov)}
.nx-links>li:hover>a i,.nx-links>li.open>a i{transform:rotate(180deg)}
.nx-links>li.nx-ink{position:absolute;left:0;bottom:2px;width:0;height:3px;margin:0;padding:0;list-style:none;border-radius:3px;background:linear-gradient(90deg,#22e6c3,#a78bfa,#f472b6);opacity:0;pointer-events:none;transform:translateX(var(--ix,0px));transition:transform .35s cubic-bezier(.2,.8,.2,1),width .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
@media (max-width:1100px){.nx-links>li.nx-ink{display:none}}
/* mega panel */
.nx-mega{position:absolute;top:calc(100% + 14px);left:50%;z-index:5;width:max-content;max-width:min(680px,92vw);display:grid;grid-template-columns:minmax(300px,1fr) 210px;gap:10px;padding:10px;border-radius:20px;background:var(--nx-panel);border:1px solid var(--nx-line);box-shadow:var(--nx-shadow);opacity:0;visibility:hidden;transform:translate(calc(-50% + var(--sx,0px)),10px) scale(.98);transform-origin:top center;transition:opacity .22s,transform .22s,visibility .22s}
.nx-mega:before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.nx-mega:after{content:"";position:absolute;top:-7px;left:calc(50% - var(--sx,0px));width:14px;height:14px;background:var(--nx-panel);border-left:1px solid var(--nx-line);border-top:1px solid var(--nx-line);transform:translateX(-50%) rotate(45deg)}
.nx-links>li:hover>.nx-mega,.nx-links>li.open>.nx-mega,.nx-links>li:focus-within>.nx-mega{opacity:1;visibility:visible;transform:translate(calc(-50% + var(--sx,0px)),0) scale(1)}
.nx-grid{display:grid;gap:2px}
.nx-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:13px;transition:background .2s}
.nx-item:hover,.nx-item.cur{background:var(--nx-hov)}
.nx-item>i{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:11px;font-size:15px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);transition:transform .25s}
.nx-item:hover>i{transform:scale(1.08) rotate(-6deg)}
.nx-item b{display:block;font-size:14px;color:var(--nx-tx)}
.nx-item small{display:block;margin-top:2px;font-size:12.3px;line-height:1.35;color:var(--nx-mut)}
.nx-promo{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:16px;border-radius:14px;overflow:hidden;color:#fff;background:radial-gradient(circle at 80% 0,rgba(244,114,182,.55),transparent 55%),linear-gradient(160deg,#1e1b4b,#0b0d1a 70%)}
.nx-promo:before{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;border:1px dashed rgba(255,255,255,.25)}
.nx-promo .k{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;opacity:.75}
.nx-promo b{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}
.nx-promo p{margin:0;font-size:12.3px;opacity:.8}
.nx-promo a{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12.5px;font-weight:700;color:#22e6c3}

/* actions */
.nx-act{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.nx-ic{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--nx-line);background:transparent;color:var(--nx-tx);font-size:16px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.nx-ic:hover{background:var(--nx-hov);border-color:color-mix(in srgb,var(--nx-acc) 45%,transparent)}
.nx-pin{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 12px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--nx-acc) 55%,transparent);background:color-mix(in srgb,var(--nx-acc) 8%,transparent);color:var(--nx-tx);font:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}
.nx-pin i{color:var(--nx-acc)}
.nx-pin.set{border-style:solid}

/* theme toggle: shows the theme you will switch TO */
.nx-theme i{position:absolute;transition:transform .5s cubic-bezier(.3,1.4,.5,1),opacity .3s}
.nx-theme .fa-sun{color:#f59e0b}
.nx-theme .fa-moon{color:#8b5cf6}
html[data-theme="light"] .nx-theme .fa-sun,html:not([data-theme="light"]) .nx-theme .fa-moon{opacity:0;transform:rotate(-90deg) scale(.4)}

/* account menu */
.nx-accw{position:relative}
.nx-accm{position:absolute;right:0;top:calc(100% + 12px);z-index:5;min-width:230px;padding:8px;border-radius:16px;background:var(--nx-panel);border:1px solid var(--nx-line);box-shadow:var(--nx-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}
.nx-accw.open .nx-accm{opacity:1;visibility:visible;transform:none}
.nx-accm-h{padding:8px 10px 10px;margin-bottom:6px;border-bottom:1px solid var(--nx-line)}
.nx-accm-h b{display:block;font-size:14px;color:var(--nx-tx)}
.nx-accm-h small{font-size:12px;color:var(--nx-mut)}
.nx-accm a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--nx-tx)}
.nx-accm a i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--nx-hov);color:var(--nx-acc)}
.nx-accm a:hover{background:var(--nx-hov)}

/* CTA */
.nx-cta{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:12px;overflow:hidden;font-size:13.5px;font-weight:800;white-space:nowrap;color:#fff!important;background:linear-gradient(135deg,#7c3aed,#db2777);box-shadow:0 10px 24px rgba(219,39,119,.3);transition:transform .2s,box-shadow .2s}
.nx-cta:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:nxShine 4s infinite}
@keyframes nxShine{0%,70%{left:-60%}100%{left:130%}}
.nx-cta:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(219,39,119,.4)}
.nx-live{width:8px;height:8px;border-radius:50%;background:#fff;animation:nxPing 1.6s infinite}

/* burger */
.nx-burger{display:none;position:relative;width:44px;height:44px;border-radius:12px;border:1px solid var(--nx-line);background:transparent;cursor:pointer}
.nx-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--nx-tx);transition:.3s}
.nx-burger span:nth-child(1){top:15px}
.nx-burger span:nth-child(2){top:21px}
.nx-burger span:nth-child(3){top:27px;right:18px}
.nx.nx-open .nx-burger span:nth-child(1){top:21px;transform:rotate(45deg)}
.nx.nx-open .nx-burger span:nth-child(2){opacity:0}
.nx.nx-open .nx-burger span:nth-child(3){top:21px;right:12px;transform:rotate(-45deg)}

/* drawer */
.nx-scrim{position:fixed;inset:0;z-index:1001;background:rgba(3,5,12,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.3s}
.nx-drawer{position:fixed;top:0;right:0;bottom:0;z-index:1002;width:min(400px,90vw);display:flex;flex-direction:column;color:var(--nx-tx);background:var(--nx-panel);border-left:1px solid var(--nx-line);box-shadow:var(--nx-shadow);transform:translateX(102%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
body.nx-lock{overflow:hidden}
body.nx-lock .nx-scrim{opacity:1;visibility:visible}
body.nx-lock .nx-drawer{transform:none}
.nx-dh{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--nx-line)}
.nx-db{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px calc(20px + env(safe-area-inset-bottom))}
.nx-dcd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-radius:16px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(244,114,182,.5),transparent 55%),linear-gradient(140deg,#1e1b4b,#0b0d1a)}
.nx-dcd span{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.75}
.nx-dcd b{font-size:22px;font-variant-numeric:tabular-nums}
.nx-dl{margin-top:12px}
.nx-dli{border-bottom:1px solid var(--nx-line);opacity:0;transform:translateX(20px);transition:opacity .35s,transform .35s;transition-delay:calc(var(--i,0)*45ms)}
body.nx-lock .nx-dli{opacity:1;transform:none}
.nx-dli>a,.nx-dli>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border:0;background:none;font:inherit;font-size:16px;font-weight:700;color:var(--nx-tx);text-align:left;cursor:pointer}
.nx-dli.active>a,.nx-dli.active>button{color:var(--nx-acc)}
.nx-dli>button i{font-size:12px;color:var(--nx-mut);transition:transform .3s}
.nx-dli.open>button i{transform:rotate(180deg)}
.nx-dsub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.nx-dli.open .nx-dsub{grid-template-rows:1fr}
.nx-dsub>div{overflow:hidden}
.nx-dsub .nx-item{padding:9px 6px}
.nx-dsub .nx-item:last-child{margin-bottom:10px}
.nx-drow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.nx-drow .nx-pin,.nx-tg{width:100%;height:48px;justify-content:center}
.nx-tg{display:inline-flex;align-items:center;gap:8px;border-radius:12px;border:1px solid var(--nx-line);background:var(--nx-hov);color:var(--nx-tx);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.nx-dacc{display:grid;gap:8px;margin-top:12px}
.nx-dacc a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--nx-line);font-size:14px;font-weight:600;color:var(--nx-tx)}
.nx-dacc i{width:18px;color:var(--nx-acc)}
.nx-db>.nx-cta{width:100%;height:50px;justify-content:center;margin-top:14px}
.nx-dsoc{display:flex;justify-content:center;gap:8px;margin-top:18px}
.nx-dsoc a{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--nx-line);color:var(--nx-tx)}

/* theme switch smoothing + circular reveal */
html.nx-theming,html.nx-theming *{transition:background-color .35s,color .35s,border-color .35s,fill .35s!important}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}

/* page offsets for the taller header */
.hs .hs-copy{padding-top:calc(var(--nxh) + 30px)}
.hs .hs-tag{top:calc(var(--nxh) + 14px)}
.ph{padding-top:calc(var(--nxh) + 44px)}

/* responsive */
@media (max-width:1280px){
  .nx-links>li>a{padding:10px;font-size:13.6px}
  .nx-act>.nx-pin{width:42px;padding:0;justify-content:center}
  .nx-act>.nx-pin span{display:none}
}
@media (max-width:1100px){
  .nx nav,.nx-act>.nx-pin,.nx-act>.nx-accw{display:none}
  .nx-burger{display:block}
  .nx-act{margin-left:auto}
}
@media (max-width:560px){
  .nx-bar{padding:8px 10px 0}
  .nx-in{height:58px;padding:0 8px 0 14px}
  .nx-act>.nx-cta{display:none}
  .nx-top{justify-content:flex-start;padding:0 40px 0 12px;font-size:11.5px}
  .nx-top a{display:none}
  .nx-logo{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  .nx *,.nx-drawer *{animation:none!important}
}
/* ---------- LOGO IMAGE ---------- */
.nx-logo{gap:10px}
.nx-logo-img{display:block;height:75px;width:auto;object-fit:contain;transition:height .3s,transform .3s,filter .3s;margin-left: -20px;}
.nx.scrolled .nx-logo-img{height:67px}
.nx-logo:hover .nx-logo-img{transform:scale(1.05) rotate(-2deg)}
.nx-word{display:inline-flex;align-items:baseline;font-weight:800;font-size:18px;letter-spacing:-.4px;color:var(--nx-tx)}
.nx-word sup{font-size:9px;color:var(--nx-mut);margin-left:1px}

/* dark theme: a soft light plate so dark parts of the artwork stay visible */

/* drawer */
.nx-drawer .nx-logo-img{height:44px}

/* on small screens show only the image */
@media (max-width:560px){
  .nx-logo-img{height:42px}
  .nx.scrolled .nx-logo-img{height:38px}
  .nx-word{display:none}
}

