/* ============================================================
   NEXORA AERO — BRAND LAYER v1.0 (V2026.182)
   Source of truth: Nexora Aero Brand Guidelines v1.0 (2026).
   Loaded LAST on every page. Encodes the "MUST" rules:
     · Nexora Black #050505 · Paper #F7F6F2 · Pure White #FFF
     · one Lime #DAFF03 (automation / action) · one Purple #B003E8
       (marketplace / people) — never on the same element
     · Space Grotesk (display) · IBM Plex Sans (text) · IBM Plex Mono (signal)
     · square corners, 1px hairlines, no drop shadows
     · 120 / 220 / 450 ms on one curve: cubic-bezier(.2,0,0,1)
     · focus = 2px Lime Deep outline at 2px offset, never removed
   The :not(#_) chains raise specificity above the per-page inline
   <style> blocks so the rules hold everywhere without editing 190 files.
   ============================================================ */

/* ---------- 1 · TYPEFACES (self-hosted, SIL OFL) ---------- */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/space-grotesk-400.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/space-grotesk-500.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/space-grotesk-600.woff2) format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700 900;font-display:swap;src:url(/assets/fonts/space-grotesk-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:100 300;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-300.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-400-italic.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600 900;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-600.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:100 400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500 900;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500.woff2) format('woff2')}
/* Legacy family names still referenced by scripts and older inline styles
   resolve to the brand faces, so nothing ever falls back to a 4th font. */
@font-face{font-family:'Inter';font-weight:100 500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-weight:600 900;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-600.woff2) format('woff2')}

/* ---------- 2 · TOKENS ---------- */
:root{
  /* core */
  --nx-black:#050505; --nx-paper:#F7F6F2; --nx-pure:#FFFFFF;
  --nx-lime:#DAFF03; --nx-lime-deep:#3B4500; --nx-lime-mid:#A3BF02; --nx-lime-10:#F2FFC2;
  --nx-purple:#B003E8; --nx-purple-deep:#7A02A2; --nx-purple-light:#D98BFF; --nx-purple-10:#F7E3FE;
  /* neutral scale — structure, never decoration */
  --nx-carbon:#121212; --nx-graphite:#3A3A38; --nx-steel:#6B6B67; --nx-ash:#B4B4AE; --nx-hairline:#E4E3DD;
  /* system states — UI only */
  --nx-ok:#17694A; --nx-pending:#9A5A0A; --nx-error:#C4362F;
  /* type */
  --nx-display:'Space Grotesk','IBM Plex Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  --nx-text:'IBM Plex Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
  --nx-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  /* motion */
  --nx-ease:cubic-bezier(.2,0,0,1); --nx-t-micro:120ms; --nx-t-std:220ms; --nx-t-narr:450ms;

  /* legacy aliases used across style.css / kyma.css / nx-system.css */
  --font-display:var(--nx-display); --font-sans:var(--nx-text); --font-mono:var(--nx-mono);
  --sans:var(--nx-text); --mono:var(--nx-mono); --font:var(--nx-text);
  --nx-ink:#050505; --nx-ink-2:#121212; --nx-muted:#3A3A38; --nx-muted-2:#6B6B67;
  --nx-bg:#F7F6F2; --nx-soft:#EFEEE8; --nx-white:#F7F6F2;
  --nx-line:#E4E3DD; --nx-line-soft:rgba(5,5,5,.08);
  --nx-green:#DAFF03; --nx-radius:0px; --nx-radius-sm:2px;
  --nx-shadow-card:none; --nx-shadow-hover:none; --nx-shadow-glass:none;
}

/* ---------- 3 · BASE ---------- */
html{background:var(--nx-paper);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html:not(#_) body{font-family:var(--nx-text);font-size:16px;line-height:1.65;font-feature-settings:"kern" 1}
:where(body) :where(p,li,dd,td,th,label,input,textarea,select,button,small,figcaption,blockquote):where(:not(#heroBlock *)){font-family:var(--nx-text)}
:where(body) :where(h1,h2,h3,h4,h5,h6,.nx-display):where(:not(#heroBlock *)){font-family:var(--nx-display);font-style:normal;text-wrap:balance}
:where(body) :where(h1,h2):where(:not(#heroBlock *)){letter-spacing:-.03em}
:where(body) :where(h3,h4){letter-spacing:-.012em}
:where(body) :where(code,kbd,samp,pre,.mono,[class*="mono"],[class*="eyebrow"],[class*="-ey"],[class*="kicker"],[class*="price"] b):where(:not(#heroBlock *)){font-family:var(--nx-mono)}
html:not(#_) body p{text-wrap:pretty}
/* numerals: tabular in data, prices, stats */
html:not(#_) body :is(table,[class*="price"],[class*="stat"],[class*="count"],[class*="num"]){font-variant-numeric:tabular-nums}
::selection{background:var(--nx-lime);color:var(--nx-black)}
html:not(#_) body em,html:not(#_) body i{font-style:normal}               /* italics only for quoted buyer words */
html:not(#_) body blockquote em,html:not(#_) body q,html:not(#_) body blockquote i{font-style:italic}

/* ---------- 4 · EDGES — square, hairline, no shadow ---------- */
html:not(#_):not(#_) body *:not(#heroBlock *),
html:not(#_):not(#_) body *:not(#heroBlock *)::before,
html:not(#_):not(#_) body *:not(#heroBlock *)::after{border-radius:0!important;box-shadow:none!important;text-shadow:none!important}
/* 2px only on inputs and small controls */
html:not(#_):not(#_) body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){border-radius:2px!important}
/* the only round things allowed: people (avatars) and status dots */
html:not(#_):not(#_) body :is([class*="avatar"],[class*="Avatar"],.nx-av,.av,[class*="-dot"],[class*="dot-"],.dot,.nx-live-dot,.live-dot,[class*="presence"],img[src*="googleusercontent"],img[src*="gravatar"],img[src*="avatars.githubusercontent"],input[type=radio]){border-radius:50%!important}
html:not(#_):not(#_) body [class*="avatar"] img{border-radius:50%!important}
/* frosted glass is a shadow by another name — flatten it */
html:not(#_) body *:not(#heroBlock *){-webkit-backdrop-filter:none;backdrop-filter:none}
html:not(#_) body .nx-header{-webkit-backdrop-filter:saturate(1.2) blur(12px)!important;backdrop-filter:saturate(1.2) blur(12px)!important}

/* ---------- 5 · FOCUS — never removed ---------- */
html:not(#_):not(#_) body :focus{outline:none}
html:not(#_):not(#_) body :focus-visible{outline:2px solid var(--nx-lime-deep)!important;outline-offset:2px!important}
html:not(#_):not(#_) body :is(.nx-header,footer,[class*="dark"],.nx-film,.nxh-showcase,.nxh-sol,#heroBlock,[data-theme=dark]) :focus-visible{outline-color:var(--nx-lime)!important}
.nx-skip{position:absolute;left:-9999px;top:8px;z-index:10000;background:var(--nx-lime);color:var(--nx-black);font:500 15px/1 var(--nx-text);padding:14px 18px;text-decoration:none}
.nx-skip:focus{left:8px}

/* ---------- 6 · BUTTONS — square, 44px, sentence case, 15/500 ---------- */
html:not(#_) body :is(.nx-cta,.nx-cta-blue,.nx-cta-ghost,.nx-btn,.btn,.nx-pkg-cta,.nx-nav-subscribe,button.nx-tag-btn,[class*="-btn-primary"],[class*="-cta"] > a,a[class*="btn"],button[class*="btn"]):not(#heroBlock *){
  text-transform:none!important;letter-spacing:0!important;font-family:var(--nx-text)!important;font-weight:500!important;
  transition:background-color var(--nx-t-micro) var(--nx-ease),color var(--nx-t-micro) var(--nx-ease),border-color var(--nx-t-micro) var(--nx-ease)!important}
html:not(#_) body :is(.nx-cta,.nx-cta-blue,.nx-cta-ghost,.nx-btn,.nx-pkg-cta):not(#heroBlock *){min-height:44px;font-size:15px!important}
html:not(#_) body :is(.nx-cta,.nx-cta-blue,.nx-cta-ghost,.nx-btn,.btn,a[class*="btn"],button[class*="btn"]):not(#heroBlock *):hover{transform:none!important}
/* primary on paper = black; hover lifts to lime */
html:not(#_) body :is(.nx-cta-blue,.nx-pkg-cta):not(#heroBlock *){background:var(--nx-black)!important;color:var(--nx-paper)!important;border:1px solid var(--nx-black)!important}
html:not(#_) body :is(.nx-cta-blue,.nx-pkg-cta):not(#heroBlock *):hover{background:var(--nx-lime)!important;color:var(--nx-black)!important;border-color:var(--nx-black)!important}
/* secondary = outline black; hover fills black */
html:not(#_) body .nx-cta-ghost:not(#heroBlock *){background:transparent!important;color:var(--nx-black)!important;border:1px solid var(--nx-black)!important}
html:not(#_) body .nx-cta-ghost:not(#heroBlock *):hover{background:var(--nx-black)!important;color:var(--nx-paper)!important}
/* on black grounds lime becomes the primary fill */
html:not(#_) body :is(.nxh-showcase,.nx-film,.nxh-sol,.nxh-cta,footer,[data-theme=dark]) :is(.nx-cta-blue,.nx-pkg-cta){background:var(--nx-lime)!important;color:var(--nx-black)!important;border-color:var(--nx-lime)!important}
html:not(#_) body :is(.nxh-showcase,.nx-film,.nxh-sol,.nxh-cta,footer,[data-theme=dark]) :is(.nx-cta-blue,.nx-pkg-cta):hover{background:var(--nx-paper)!important;border-color:var(--nx-paper)!important}
html:not(#_) body :is(.nxh-showcase,.nx-film,.nxh-sol,.nxh-cta,footer,[data-theme=dark]) .nx-cta-ghost{color:var(--nx-paper)!important;border-color:rgba(247,246,242,.55)!important}
html:not(#_) body :is(.nxh-showcase,.nx-film,.nxh-sol,.nxh-cta,footer,[data-theme=dark]) .nx-cta-ghost:hover{background:var(--nx-paper)!important;color:var(--nx-black)!important;border-color:var(--nx-paper)!important}
/* disabled: 40% and no arrow */
html:not(#_) body :is(button,.nx-cta,.btn):is(:disabled,[aria-disabled=true],.is-disabled){opacity:.4!important;cursor:not-allowed}

/* ---------- 7 · FORMS ---------- */
html:not(#_) body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]),textarea,select){font-size:max(16px,1em);transition:border-color var(--nx-t-micro) var(--nx-ease)}
html:not(#_) body :is(input,textarea)::placeholder{color:var(--nx-steel);opacity:1}
html:not(#_) body :is(input,textarea,select)[aria-invalid=true]{border-color:var(--nx-error)!important}
html:not(#_) body input[type=checkbox],html:not(#_) body input[type=radio]{accent-color:var(--nx-black)}

/* ---------- 8 · LABELS & CHIPS — Plex Mono, uppercase, tracked ---------- */
html:not(#_) body :is(.nx-eyebrow,.nxh-ey,[class*="eyebrow"],[class*="kicker"]){font-family:var(--nx-mono)!important;font-weight:500!important;font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase}
html:not(#_) body .nx-eyebrow::before{animation:none!important}
/* chips: square, hairline — never pills */
html:not(#_) body :is([class*="chip"],[class*="pill"],[class*="tag"]:not([class*="tagline"]):not(tag),[class*="badge"]):not(#heroBlock *){border-radius:0!important}

/* ---------- 9 · PALETTE DISCIPLINE ---------- */
/* No gradients as backgrounds: hero scrims become a flat 60% black field */
/* Lime text never sits on light grounds (1.1:1) — force Lime Deep */
html:not(#_) body :is(main,section,article):not([class*="dark"]):not(#heroBlock):not(.nxh-showcase):not(.nx-film):not(.nxh-sol) :is(a,span,b,strong)[style*="color:#DAFF03"]{color:var(--nx-lime-deep)!important}
/* links in running copy: black with a lime-deep rule on paper */
html:not(#_) body :is(main,article) p a:not([class]){color:var(--nx-black);text-decoration:underline;text-decoration-color:var(--nx-lime-deep);text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--nx-t-micro) var(--nx-ease)}
html:not(#_) body :is(main,article) p a:not([class]):hover{color:var(--nx-lime-deep)}

/* ---------- 10 · MOTION — short, linear-ish, never bouncy ---------- */
html:not(#_) body :is(a,button,[role=button],input,select,textarea,summary){transition-timing-function:var(--nx-ease)}
@media (prefers-reduced-motion:reduce){
  html:not(#_):not(#_) body *,html:not(#_):not(#_) body *::before,html:not(#_):not(#_) body *::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
  html:not(#_) body video[autoplay]{display:none!important}
}

/* ---------- 11 · IMAGERY ---------- */
html:not(#_) body img{max-width:100%}
html:not(#_) body :is(img,video){image-rendering:auto}

/* ---------- 12 · LAYOUT — 1280 max, 48 margin, 12/6/4 grid ---------- */
:root{--nx-max:1280px;--nx-gutter:24px;--nx-margin:48px}
@media (max-width:767px){:root{--nx-margin:16px;--nx-gutter:16px}}
html,body{overflow-x:clip}

/* ---------- 13 · PRINT ---------- */
@media print{
  html:not(#_) body{background:#fff!important;color:#050505!important}
  .nx-header,.nx-footer,footer,.nx-trend-strip,.nxa-announce,[class*="fab"],[class*="toast"],video{display:none!important}
}

/* ---------- 14 · SHELL COMPONENTS ---------- */
/* header is a Black ground: ghost buttons reverse, primary is Lime */
html:not(#_):not(#_):not(#_) body .nx-header .nx-cta-ghost{background:transparent!important;color:var(--nx-paper)!important;border:1px solid rgba(247,246,242,.45)!important}
html:not(#_):not(#_):not(#_) body .nx-header .nx-cta-ghost:hover{background:var(--nx-paper)!important;color:var(--nx-black)!important;border-color:var(--nx-paper)!important}
html:not(#_):not(#_):not(#_) body .nx-header .nx-cta:not(.nx-cta-ghost){background:var(--nx-paper)!important;color:var(--nx-black)!important;border:1px solid var(--nx-paper)!important}
html:not(#_):not(#_):not(#_) body .nx-header .nx-cta:not(.nx-cta-ghost):hover{background:var(--nx-lime)!important;border-color:var(--nx-lime)!important}
/* active nav: a 2px lime rule (was an inset shadow) */
html:not(#_) body .nx-nav > a.active,html:not(#_) body .nx-nav > a:hover,html:not(#_) body .nx-trend-strip .nx-trend-chip.is-active{text-decoration:none;background-image:linear-gradient(var(--nx-lime),var(--nx-lime));background-size:100% 2px;background-position:0 100%;background-repeat:no-repeat}
/* matchmaker button: Black + Lime only (Purple never touches Lime) */
html:not(#_) body .nx-mm-btn{background:var(--nx-black)!important;color:var(--nx-paper)!important;border:1px solid rgba(247,246,242,.22)!important;font:500 14px/1 var(--nx-text)!important;letter-spacing:0!important;min-height:44px}
html:not(#_) body .nx-mm-btn .ico{background:var(--nx-lime)!important;color:var(--nx-black)!important;font:500 11px/1 var(--nx-mono)!important}
html:not(#_) body .nx-mm-btn .dot{display:none!important}
html:not(#_) body .nx-mm-btn:hover{border-color:var(--nx-lime)!important}
/* floating orbs / helpers: square, black, no glow */
html:not(#_) body :is(.nxp-orb,[class*="to-top"],[class*="totop"],[id*="toTop"]){background:var(--nx-black)!important;border:1px solid rgba(247,246,242,.22)!important;filter:none!important}
/* dropdown panels: paper, hairline */
html:not(#_) body :is(.nx-nav-menu,.nx-mega-floating,.nx-trend-mega,[class*="-pop"]:not(.nx-mm-shell)){border:1px solid var(--nx-black)!important}

/* ---------- 15 · CARDS — listing card is the marketplace's atom ---------- */
html:not(#_) body :is(.nx-gig,.nx-gig-card,.gig-card,[class*="gig-card"],.nx-card,.fx-card){background:var(--nx-pure);border:1px solid var(--nx-hairline)!important;transition:border-color var(--nx-t-micro) var(--nx-ease)!important}
html:not(#_) body :is(.nx-gig,.nx-gig-card,.gig-card,[class*="gig-card"],.nx-card,.fx-card):hover{border-color:var(--nx-black)!important;transform:none!important}

/* ---------- 16 · TERTIARY LINKS & PAGE FIXES ---------- */
html:not(#_) body .nx-promo{background:var(--nx-paper)!important}
html:not(#_) body .nx-promo-badge{background:var(--nx-black)!important;color:var(--nx-paper)!important;font:500 10px/1 var(--nx-mono)!important;letter-spacing:.16em!important}
html:not(#_) body .nx-promo-cta{background:none!important;border:0!important;padding:0!important;min-height:0!important;color:var(--nx-lime-deep)!important;font:500 15px/1.3 var(--nx-text)!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap;border-bottom:1px solid var(--nx-lime-deep)!important}

/* ---------- 17 · HOMEPAGE COMPONENT CORRECTIONS ---------- */
/* section numbers: mono, Lime Deep on paper / Lime on black — no filled box */
html:not(#_):not(#_) body :is(.nxh-ey,.nx-eyebrow)::before{background:none!important;color:var(--nx-lime-deep)!important;padding:0!important;font:500 11px/1 var(--nx-mono)!important}
html:not(#_):not(#_) body :is(.nx-film,.nxh-showcase,.nxh-cta,.nxh-sol,#heroBlock,footer) :is(.nxh-ey,.nx-eyebrow)::before{color:var(--nx-lime)!important}
html:not(#_) body :is(.nxh-ey,.nx-eyebrow)::after{content:none!important}
/* decoration that moves without a user action, or glows — removed */
html:not(#_) body :is(.nx-film-aurora,.nxp-orb-ring,.nx-mesh,.nxv-how-video,.nxv-how-glass,.nxflow-dot){display:none!important}
html:not(#_) body .nxflow-dash{animation:none!important;stroke:#050505!important;stroke-dasharray:none!important;stroke-width:1!important}
html:not(#_):not(#_) body .nxflow-ring::before,html:not(#_):not(#_) body .nxflow-ring::after{content:none!important}
html:not(#_) body .nxflow-ring{background:var(--nx-black)!important;width:72px!important;height:72px!important}
html:not(#_) body .nxflow-ico{width:28px!important;height:28px!important;color:var(--nx-lime)!important}
html:not(#_) body .nxflow-chips span{color:var(--nx-graphite)!important}
html:not(#_) body .nxv-step-no{background:none!important;-webkit-text-fill-color:currentColor!important;color:var(--nx-black)!important;font-family:var(--nx-display)!important;font-weight:500!important}
html:not(#_) body :is(.nxv-body,.nxv-steps .nxv-body){-webkit-mask:none!important;mask:none!important}
html:not(#_) body .nxv-chips span{background:var(--nx-pure)!important;border:1px solid var(--nx-hairline)!important}
/* third-party logos: their own monochrome marks, equal optical weight */
html:not(#_) body .nxh-brand img,html:not(#_) body .nxh-brand svg{filter:grayscale(1) brightness(0) invert(.92)!important}
/* FAQ + all running text: left-aligned, ragged right */
html:not(#_) body .nxv-faq :is(summary,button,h3,p,div,span){text-align:left!important}
/* dark-band CTA link: sentence case, not a shouting mono bar */
html:not(#_) body .nxh-showcase a.cta,html:not(#_) body .nxh-cta-btns a{font:500 15px/1 var(--nx-text)!important;text-transform:none!important;letter-spacing:0!important;min-height:48px;padding:16px 24px!important;transform:none!important}
html:not(#_) body .nxh-cta-btns a.primary{background:var(--nx-lime)!important;color:var(--nx-black)!important}
html:not(#_) body .nxh-cta-btns a.ghost{background:transparent!important;color:var(--nx-paper)!important;border:1px solid rgba(247,246,242,.55)!important}
/* featured listing cards: flat, hairline, white */
html:not(#_) body #featuredGrid .nx-card{background:var(--nx-pure)!important;border:1px solid var(--nx-hairline)!important;padding:0!important}
html:not(#_) body #featuredGrid .nx-card:hover{transform:none!important;border-color:var(--nx-black)!important}

/* ---------- 18 · PAGE HEROES — keep their original background videos (owner request) ---------- */
html:not(#_) body .nx-doc-hero{background:var(--nx-black)!important;color:var(--nx-paper)}
html:not(#_) body .nx-doc-hero :is(p,li,span:not([class*="ey"])){color:#B4B4AE}
html:not(#_) body .nx-doc-hero :is(h1,h2,b,strong){color:var(--nx-paper)}

/* ---------- 19 · BLOG — hire CTA is a Black panel ---------- */
html:not(#_) body .nx-hire-cta{background:var(--nx-black)!important;color:var(--nx-paper)!important;border:0!important}
html:not(#_) body .nx-hire-cta :is(h2,h3,h4,b,strong){color:var(--nx-paper)!important}
html:not(#_) body .nx-hire-cta :is(p,li,span){color:#B4B4AE!important}
html:not(#_) body .nx-hire-cta a{color:var(--nx-lime)!important;text-decoration:underline;text-underline-offset:3px}
html:not(#_) body .nx-hire-cta a[class]{background:var(--nx-lime)!important;color:var(--nx-black)!important;text-decoration:none}
html:not(#_) body article pre{background:var(--nx-black)!important;color:var(--nx-paper)!important}
html:not(#_) body article pre code{color:inherit!important;background:none!important}
html:not(#_) body .nx-header :is(.nx-cta,.nx-cta-ghost){white-space:nowrap}
/* page-guide strip + breadcrumb row removed site-wide (owner request) */
html:not(#_) body :is(.nxg-strip,.nxg-crumb){display:none!important}
html:not(#_):not(#_):not(#_) body .nxfs-cta .nx-cta-ghost{color:var(--nx-paper)!important;border-color:rgba(247,246,242,.55)!important}
html:not(#_) body .nx-preview-cover{background:var(--nx-black)!important}

/* ---------- HOMEPAGE HERO — kept exactly as designed (owner request) ----------
   The hero keeps its original typefaces, video, pills and glass. The global
   rules above skip it via :not(#heroBlock *). */
html:not(#_) body #heroBlock{--font-display:'TASA Orbiter Display','Space Grotesk',sans-serif;--font-sans:'TASA Orbiter','TASA Orbiter Display','Space Grotesk',sans-serif;--font-mono:'JetBrains Mono','IBM Plex Mono',monospace;font-family:var(--font-sans)}
/* decorative ring bullets before nav items — decoration, removed */
html:not(#_):not(#_) body :is(.nx-nav > a,.nx-nav .nx-nav-trigger)::before{content:none!important;display:none!important}
/* Tool market nav highlight — Lime tag = action */
html:not(#_) body .nx-nav a.nx-nav-market{display:inline-flex;align-items:center;gap:6px}
html:not(#_) body .nx-nav-new{font:500 9.5px/1 var(--nx-mono);letter-spacing:.14em;text-transform:uppercase;background:var(--nx-lime);color:var(--nx-black);padding:3px 5px}
/* seller profile — phone layout */
@media (max-width:640px){
  html:not(#_) body .nx-prof-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  html:not(#_) body :is(.nx-prof-grid,.nx-services.three){grid-template-columns:minmax(0,1fr)!important}
  html:not(#_) body .nx-prof-grid > *{min-width:0}
  html:not(#_) body :is(.nx-prof-side,.nx-prof-side-card){min-width:0;max-width:100%}
  html:not(#_) body .nx-prof-side{width:auto!important}
}

/* ---------- 20 · TYPOGRAPHY CORRECTIONS (audit 2026-09-26) ---------- */
/* header: nav 13px, tags never below 10px */
html:not(#_) body .nx-header .nx-nav > a,html:not(#_) body .nx-header .nx-nav .nx-nav-trigger{font-size:13px!important}
html:not(#_) body .nx-header :is(.nx-nav-ai-badge,.nx-nav-tag,.nx-nav-new){font-size:10px!important;letter-spacing:.12em!important}
html:not(#_) body .nx-header .nx-link-btn{font-size:13px!important}
html:not(#_) body .nxa-announce :is(.nxa-announce-tag){font-size:10px!important}
/* table heads are mono labels */
html:not(#_) body :is(thead th,.nx-cmp-table th){font-family:var(--nx-mono)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase}
/* card/box titles that are designed as labels */
html:not(#_) body :is(.nx-tldr,.nx-toc,.nx-doc-toc,.nx-filter-group,.nx-contact-card,.nx-prof-side-card,.nx-roi-card,.atlas-row-detail) h4{font-family:var(--nx-mono)!important;font-size:11px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase}
/* sans/display text is never uppercase — only Plex Mono labels are */
html:not(#_) body :is(button,label,.nx-tag-btn,.nxp-stream-share):not([class*="mono"]):not(#heroBlock *){text-transform:none}
html:not(#_) body .nxp-stream-share{font:500 12px/1 var(--nx-text)!important;letter-spacing:0!important}
/* running text: 60–75 characters */
html:not(#_) body :is(main,article,section) p:not([class]):not(#heroBlock *){max-width:75ch}
html:not(#_) body :is(.nxp-prompt,.pulse-prose,.sub,.lead):not(#heroBlock *){max-width:75ch}
/* blog "hire" box body copy uses the text face */
html:not(#_) body .nx-hire-cta p{font-family:var(--nx-text)!important;font-weight:400!important}
html:not(#_) body .nx-hire-cta :is(h2,h3){font-weight:600!important}
/* display face is for headlines only — body paragraphs use Plex Sans */
html:not(#_) body p:not(#heroBlock *):not(.nx-display){font-family:var(--nx-text)}
html:not(#_):not(#_) body :is(.nx-hire-cta,.gp-desc,.cnst-proc-foot) p,html:not(#_):not(#_) body p.gp-desc{font-family:var(--nx-text)!important}
/* minimum sizes: controls 13px, mono tags 10px */
html:not(#_) body :is(button,.nx-tag-btn,[class*="-btn"]:not(.nx-mm-btn),.nxp-launch):not(#heroBlock *){font-size:max(13px,1em)}
html:not(#_) body :is(.nx-tag-btn,.nxa-copy-btn,.nxim-btn,.nx-adm-btn,.nxd-saved-btn){font-size:13px!important}
html:not(#_) body .nx-header .nx-logo-block span,html:not(#_) body .nx-header [class*="descriptor"]{font-size:10px!important}
html:not(#_) body :is(.nx-foot2 .tag,.nxd-promo-tag,.ec,.cat,.nxd-tag){font-size:max(10px,1em)!important}
html:not(#_) body :is(.stw-fee-label,.nx-pkg-second){text-transform:none!important}
html:not(#_) body .kyma-util span{font-size:10px!important;letter-spacing:.14em!important}
/* segmented controls and filter rows wrap on phones instead of spilling off-screen */
@media (max-width:640px){
  html:not(#_) body :is(.nxd-seg,#ordersFilter,.nx-tag-row,.nx-filter-row){flex-wrap:wrap!important}
  html:not(#_) body .nxd-seg > button{flex:1 1 auto;min-width:0}
}
