/* ══════════════════════════════════════════════════════════════════════════
   SITE-WIDE /services CLEANUP  (2026-07-31)

   Founder: "Do all" - finish the /services conversion across every page the
   2026-07-31 audit still flagged.

   ONE stylesheet, linked LAST in <head> on the pages that need it. Those page
   groups style themselves INLINE (only shared.css is linked), so unlike
   /blog and /glossary there is no existing stylesheet to extend.

   Palette, identical to /services and everything cleaned before it:
     panel #FFFFFF   rack #F2F3F5   ink #0E1113   ink2 #545B60
     rule #E3E6E9    rule2 #CDD2D6  accent #15803d
     elevation 0 1px 2px rgba(14,17,19,.05), 0 1px 1px rgba(14,17,19,.03)

   WHAT IS DELIBERATELY LEFT ALONE, because it is content and not chrome:
     .tsim-*            terminal simulations on the 34 topic pages
     .doc-thumb-art     category art on /how-to and /guides
     .feat-dash-*       product-screenshot frames + <video> on the homepage
     pre / code         real product output
   Whitening any of those would misrepresent the product. Only the neon
   BEZEL around the terminal/video frames is calmed, never their interior.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 1. Eyebrow chips and their status dots ─────────────────────────────── */
.hero-eyebrow,
.feature-eyebrow,
.install-pair-kicker,
.feat-pro-kicker,
.gloss-eyebrow{
  background:#F2F3F5 !important;
  border:1px solid #E3E6E9 !important;
  border-radius:6px !important;
  color:#545B60 !important;
}
.hero-eyebrow-dot,
.feature-eyebrow-dot,
.install-pair-kicker-dot,
.feat-pro-kicker-dot,
.chip-dot,
.tl-dot,
.ivid-label-dot,
.nc-react-chip-dot,
.gloss-eyebrow .dot{
  background:#15803d !important;
  box-shadow:none !important;
}

/* ── 2. Stat rails, bullets, cards ──────────────────────────────────────── */
.stat-item{border-color:#E3E6E9 !important;}
.bullet-check{
  background:rgba(21,128,61,0.08) !important;
  border:1px solid rgba(21,128,61,0.22) !important;
  color:#15803d !important;
}
.related-card,
.proof-logo-card,
.tool-pill{
  background:#FFFFFF !important;
  background-image:none !important;
  border:1px solid #E3E6E9 !important;
  border-radius:10px !important;
  box-shadow:0 1px 2px rgba(14,17,19,.05),0 1px 1px rgba(14,17,19,.03) !important;
  color:#0E1113 !important;
}
.tool-pill{border-radius:6px !important;}
.related-icon{
  background:#F2F3F5 !important;background-image:none !important;
  border:1px solid #E3E6E9 !important;border-radius:6px !important;color:#545B60 !important;
}
.related-card:hover,
.proof-logo-card:hover,
.tool-pill:hover{
  border-color:#CDD2D6 !important;transform:none !important;
  box-shadow:0 1px 2px rgba(14,17,19,.05),0 1px 1px rgba(14,17,19,.03) !important;
}

/* ── 3. Controls: the ink primary and the quiet secondary ───────────────── */
.btn-primary,
.home-btn,
.asre-midcta .primary,
a.primary,
.nc-btn-primary{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
  box-shadow:0 1px 2px rgba(14,17,19,.05),0 1px 1px rgba(14,17,19,.03) !important;
}
.btn-primary:hover,
.home-btn:hover,
.asre-midcta .primary:hover,
a.primary:hover{background:#23282C !important;background-image:none !important;transform:none !important;}
.btn-secondary{
  background:#FFFFFF !important;background-image:none !important;
  border:1px solid #CDD2D6 !important;border-radius:6px !important;color:#0E1113 !important;
}
.btn-secondary:hover{border-color:#0E1113 !important;background:#FFFFFF !important;}
.brand-mark{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border-radius:6px !important;
}

/* ── 4. FAQ accordions on the 34 topic pages, and the mid-page CTA ─────── */
details{border-color:#E3E6E9 !important;}
.asre-midcta{
  border-color:#E3E6E9 !important;
  background:#FFFFFF !important;background-image:none !important;
}

/* ── 5. Status chips keep their meaning on the audited accent ───────────── */
.chip,
.nc-react-chip{
  background:rgba(21,128,61,0.07) !important;
  border:1px solid rgba(21,128,61,0.22) !important;
  color:#15803d !important;
}

/* ── 6. Terminal and video frames: interior untouched, bezel calmed. The
      neon edge read as a glow around real product output. ── */
.terminal-frame,
.ivid-screen,
.tsim-frame{border-color:rgba(255,255,255,0.14) !important;}
.ivid-url,
.ivid-label{color:rgba(255,255,255,0.72) !important;border-color:rgba(255,255,255,0.18) !important;}
.ivid-play-btn{
  background:#FFFFFF !important;background-image:none !important;color:#0E1113 !important;
}

/* ── 7. Ask Nova widget, shared across many pages ───────────────────────── */
.anq-row,
.anq-pre-dot,
.anq-chip{
  background:#F2F3F5 !important;background-image:none !important;
  border-color:#E3E6E9 !important;color:#545B60 !important;
}
.anq-pre-dot{background:#15803d !important;}

/* ── 8. Cookie consent bar. Site-wide chrome; only its accent is recoloured,
      the markup and behaviour are untouched. ── */
.cookie-banner{border-top-color:#E3E6E9 !important;}
.cookie-banner a{color:#15803d !important;border-color:#15803d !important;}
.cookie-banner button,
.cookie-accept,
#cookieAccept{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}

/* ── 9. Selectors that outrank the generic rules above. Each was found by
      asking the browser which rule wins (CSSOM walk), not by reading source:
      the page CSS is INLINE and scopes these more tightly. ── */
.page-hero .btn-primary,
.page-cta .btn-primary{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}
.page-hero .btn-secondary,
.page-cta .btn-secondary{
  background:#FFFFFF !important;background-image:none !important;
  border:1px solid #CDD2D6 !important;border-radius:6px !important;color:#0E1113 !important;
}
/* FAQ accordions on the 34 topic pages: `.asre-faq details` is (0,1,1) and
   already !important, so a bare `details` could never reach it. */
.asre-faq details,
.asre-faq details[open]{
  border-color:#E3E6E9 !important;
  box-shadow:none !important;
}
.asre-faq summary{color:#0E1113 !important;}
/* The industry chips on /who-uses-nova, 20 of its 22 remaining greens. */
.wu-industry-chip{
  background:#F2F3F5 !important;background-image:none !important;
  border:1px solid #E3E6E9 !important;border-radius:6px !important;color:#0E1113 !important;
}
.wu-industry-chip-dot{background:#15803d !important;box-shadow:none !important;}
/* Video player: the frame stays dark (real product UI), the neon play button
   and its ring become neutral. */
.ivid-play-btn{
  background:#FFFFFF !important;background-image:none !important;
  color:#0E1113 !important;box-shadow:0 8px 24px rgba(0,0,0,0.35) !important;
}
.ivid-play-btn circle{fill:#FFFFFF !important;stroke:none !important;}
.ivid-screen{border-color:rgba(255,255,255,0.14) !important;}
/* /community reaction row */
.nc-post-actions,
.nc-react-row{border-color:#E3E6E9 !important;}

/* ── 10. The 34 SEO topic pages (.asre-* template). Everything here is page
      chrome; the .tsim-* terminal simulation alongside it is CONTENT and is
      never selected. Several of these are PSEUDO-ELEMENTS, which an
      element-level audit cannot see, so they were found by reading the
      template's own selector list rather than by measuring. ── */
.asre-kicker{background:#F2F3F5 !important;border-color:#E3E6E9 !important;color:#545B60 !important;}
.asre-kicker::before{background:#15803d !important;box-shadow:none !important;}
.asre-body h2::before{background:#0E1113 !important;}
.asre-meta span::before,
.asre-toc li::before{background:#15803d !important;color:#15803d !important;}
.asre-cap,
.asre-callout,
.asre-eval,
.asre-toc,
.asre-team,
.asre-teams .asre-team,
.asre-table{
  background:#FFFFFF !important;background-image:none !important;
  border-color:#E3E6E9 !important;box-shadow:none !important;
}
.asre-table th{background:#F2F3F5 !important;color:#0E1113 !important;border-color:#E3E6E9 !important;}
.asre-table td{border-color:#E3E6E9 !important;}
/* numbered badges: ink, not neon */
.asre-cap h4 .num,
.asre-eval li::before{background:#0E1113 !important;color:#FFFFFF !important;}
.asre-header h1 em{
  background:none !important;background-image:none !important;
  color:#15803d !important;-webkit-text-fill-color:#15803d !important;
}
.asre-hero-img{border-color:#E3E6E9 !important;box-shadow:none !important;}
.asre-share a{border-color:#CDD2D6 !important;color:#0E1113 !important;background:#FFFFFF !important;}
.asre-share a:hover{border-color:#0E1113 !important;background:#FFFFFF !important;color:#0E1113 !important;}
.asre-midcta a{color:#15803d !important;}
.asre-faq summary::after{color:#545B60 !important;}
/* (0,2,1) - beats the generic a.primary rule in section 3 */
.asre-final-cta{background:#FFFFFF !important;background-image:none !important;border-color:#E3E6E9 !important;}
.asre-final-cta a.primary{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}

/* ── 11. Final remnants, each located by walking the element's ancestor
      chain rather than guessing at a class name. ── */
/* the icon glyphs inside related-article cards paint via fill/stroke, which a
   `color` rule never reaches */
.related-icon svg,
.related-icon svg *{fill:#545B60 !important;stroke:#545B60 !important;}
.related-icon svg [fill="none"]{fill:none !important;}
/* /product video frame bezel */
.ivid-wrap .ivid-screen{border-color:rgba(255,255,255,0.14) !important;}
/* the mid-page CTA button on the topic pages is a plain <a> with no class */
.asre-midcta a{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}
/* homepage hero secondary CTAs + the features eyebrow rule */
.hero-cta-watch,
.hero-cta-youtube{
  background:#FFFFFF !important;background-image:none !important;
  border:1px solid #CDD2D6 !important;border-radius:6px !important;color:#0E1113 !important;
}
.hero-cta-youtube-icon,
.hero-cta-youtube-icon svg,
.hero-cta-youtube-icon svg *{fill:#0E1113 !important;color:#0E1113 !important;}
.features-intro-rule{background:#E3E6E9 !important;background-image:none !important;}
.features-intro-eyebrow-dot{background:#15803d !important;box-shadow:none !important;}
/* .ivid-screen also carries a green 1px ring in its box-shadow, not just the
   border: `0 60px 120px -20px rgba(0,0,0,.85), 0 0 0 1px rgba(88,217,0,...)`.
   Overriding border-color alone leaves the ring painting. */
.ivid-wrap .ivid-screen{
  box-shadow:0 40px 90px -30px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.10) !important;
}
/* the play button also has a PULSING neon ring as ::after, which an
   element-level audit cannot see. A pulsing halo is the definition of a
   distraction, so the ring goes neutral and stops animating. */
.ivid-play-btn::after{
  border-color:rgba(255,255,255,0.35) !important;
  animation:none !important;
}

/* ── 12. Classes a 2-per-group sample missed. Found by surveying the REAL
      deployed colour rather than by CSS injection: injection appends to
      <body> and therefore outranks late in-body <style> blocks, which
      flattered the result. The link is now emitted at end-of-body for the
      same reason. ── */

/* glossary INDEX (the one file that does not link glossary-term-clean.css) */
.gloss-letter{
  background:#FFFFFF !important;border:1px solid #CDD2D6 !important;
  border-radius:6px !important;color:#0E1113 !important;
}

/* /use-cases */
.uc-eyebrow{background:#F2F3F5 !important;border-color:#E3E6E9 !important;color:#545B60 !important;}
.uc-eyebrow .dot,.uc-eyebrow-dot{background:#15803d !important;box-shadow:none !important;}
.uc-section,.uc-outcome{background:#FFFFFF !important;background-image:none !important;border-color:#E3E6E9 !important;}
.uc-product-link{color:#15803d !important;border-color:#CDD2D6 !important;}
.uc-cta{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}

/* /guides */
.guide-container,.guide-tip,.guide-code{background:#FFFFFF !important;background-image:none !important;border-color:#E3E6E9 !important;}
.guide-step-num{background:#0E1113 !important;background-image:none !important;color:#FFFFFF !important;}
.guide-cta{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}
/* the .sim-* mock keeps its dark panel (it depicts product UI); only the neon
   accents on it are calmed, exactly as with .tsim-* and the terminal frames */
.sim,.sim-panel,.sim-hd{border-color:rgba(255,255,255,0.14) !important;}
.sim-pill{
  background:rgba(21,128,61,0.14) !important;border-color:rgba(21,128,61,0.30) !important;
  color:#9BE8B4 !important;box-shadow:none !important;
}
.sim .t{color:rgba(255,255,255,0.75) !important;}

/* /compare */
.choose-card,.price-box{background:#FFFFFF !important;background-image:none !important;border-color:#E3E6E9 !important;}
.inv-vs-chip{background:#F2F3F5 !important;border-color:#E3E6E9 !important;color:#545B60 !important;}
.compare-hero em,.page-hero em,h1 em,h2 em{
  background:none !important;background-image:none !important;
  color:#15803d !important;-webkit-text-fill-color:#15803d !important;
}

/* /blog index back-to-top control */
.blog-to-top{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;
}

/* ── 13. The last residue, all of it in properties the earlier rules did not
      set: green 1px RINGS in box-shadow, gradient fills in background-image
      (setting `background` alone does not clear them), and inherited link
      colour on unclassed elements. ── */
.price-box,.choose-card,.inv-vs-chip,.uc-eyebrow,.uc-section,.uc-outcome,
.guide-code,.guide-container,.guide-tip,.blog-to-top,.related-card,
.proof-logo-card,.tool-pill,.gloss-letter,.sim-pill{
  box-shadow:none !important;
}
.choose-card,.price-box,.uc-product-link,.uc-cta,.blog-to-top,.accent,
.guide-cta,.guide-step-num,.home-btn,.brand-mark{
  background-image:none !important;
}
/* headline accents that were a gradient fill */
.accent{color:#15803d !important;-webkit-text-fill-color:#15803d !important;background:none !important;}
/* /use-cases callout rail + product links */
.uc-jtbd{border-left-color:#15803d !important;}
.uc-product-link{background:#FFFFFF !important;color:#15803d !important;}
/* /guides: an unclassed wrapper inherits the neon link colour, and the h2 rule
   carries a green top border */
.guide-container,.guide-container *{outline-color:#CDD2D6 !important;}
.guide-body h2,.guide-container h2{border-top-color:#E3E6E9 !important;}
.guide-container a:not(.guide-cta),.guide-body a:not(.guide-cta){color:#15803d !important;}
/* /compare inline links */
.compare-body a,.inv-body a,.choose-card a,.price-box a{color:#15803d !important;}
a[style*="58d900"],a[style*="9fe870"]{color:#15803d !important;}

/* ── 14. The CSS-styled cookie banner. This is a SECOND implementation,
      separate from the JS-injected one in nova-extras.js: it carries a real
      .cookie-banner class and is styled in a stylesheet. Both had to be
      found and fixed; fixing only the script left this one neon. ── */
.cookie-banner{border-top-color:#E3E6E9 !important;border-left-color:#E3E6E9 !important;}
.cookie-banner a{color:#15803d !important;outline-color:#15803d !important;}
.cookie-banner button,.cookie-banner .btn,
.cookie-banner button[onclick]{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}

/* ── 15. Doubled-class selectors for rules the page beats on specificity.
      Repeating the class lifts (0,1,0) to (0,2,0) without needing to know
      the container, which matters because e.g. `.price-box.nova-price`
      already sits at (0,2,0). ── */
.choose-card.choose-card,.price-box.price-box{
  background:#FFFFFF !important;background-image:none !important;
  border-color:#E3E6E9 !important;box-shadow:none !important;backdrop-filter:none !important;
}
.chip.chip{background:rgba(21,128,61,0.07) !important;border-color:rgba(21,128,61,0.22) !important;color:#15803d !important;}
.chip-dot.chip-dot,.tl-dot.tl-dot{background:#15803d !important;box-shadow:none !important;}
.brand-mark.brand-mark,.home-btn.home-btn{background:#0E1113 !important;background-image:none !important;color:#FFFFFF !important;}

/* ── 16. A /guides wrapper inherits the neon link colour from an ancestor
      rule; scoping colour onto the wrapper stops it cascading into its
      children's borders and text. ── */
.guide-container div,.guide-body div,.guide-main div{color:inherit !important;}
.guide-container,.guide-body,.guide-main{color:#545B60 !important;}
.guide-container [style*="9fe870"],.guide-body [style*="9fe870"]{color:#15803d !important;}

/* ── 17. The cookie bar's FIFTH surface: an inline <style> using an ID
      selector with !important (`#cookieBanner button:first-of-type`). An ID
      is (1,0,1); every class-based rule and even the element's own inline
      style lost to it, which is why the bar stayed neon through four
      earlier fixes. Matching the ID is the only way to reach it. ── */
#cookieBanner{border-top-color:#E3E6E9 !important;}
#cookieBanner a,#cookieBanner p a{color:#15803d !important;}
#cookieBanner button:first-of-type{
  background:#0E1113 !important;background-image:none !important;
  color:#FFFFFF !important;border:1px solid #0E1113 !important;border-radius:6px !important;
}
#cookieBanner button{border-radius:6px !important;}
