/* ============================================================
   mn-theme.css — Agentic brand theme layer
   ------------------------------------------------------------
   Restyles the WHOLE site by overriding the design tokens that
   lib.css already declares. No markup changes, no JS changes.

   Roll out:  add ONE line to the shared <head>, after site.css
       <link rel="stylesheet" href="/brand/mn-theme.css">
   Roll back: remove that line.

   Load it as a real <link> — never @import (an import waterfall
   cost this site ~4s FCP once before).
   ============================================================ */

@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/hs-assets/7a5fa400-6409-4911-8325-847716d5f5d7.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/hs-assets/3ed9881e-0c9f-450b-b64a-24c52d1c1a36.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/hs-assets/e0f2dc7f-ec01-4309-9c2f-893faa89fd3b.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/hs-assets/75954124-c23c-45d0-8919-e0fffe53a967.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- LIGHT (default) ---------- */
:root, [data-theme="light"]{
  /* surfaces: cream -> clean blue-white */
  --paper-0:#FFFFFF;
  --paper-1:#FFFFFF;
  --paper-2:#F6F8FC;
  --paper-3:#EEF2F9;

  /* text: warm near-black -> blue-biased ink */
  --ink-0:#141a2b;
  --ink-1:#5a6478;
  --ink-2:#6b7280;
  --ink-3:#a7b0c0;

  /* lines */
  --line:#E5E9F0;
  --line-strong:#D6DEEA;

  /* accent: olive -> Mentionova blue. These are the homepage's own values;
     do not invent new ones or pages drift away from the reference. */
  --signal:#0070f3;
  --signal-deep:#0B62D6;
  --signal-ink:#FFFFFF;
  --mark-bg:#E7EFFE;
  --mark-text:#0A3C93;

  /* --primary stays the site's near-black, exactly as the homepage has it */

  --focus-ring:rgba(0,112,243,0.45);
  --shadow-signal:0 12px 30px -12px rgba(20,80,220,0.60);

  /* type: serif display -> Instrument Sans throughout */
  --font-display:'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-sans:'Instrument Sans', 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* brand gradients (new — used by the opt-in classes below) */
  --mn-g-backdrop:linear-gradient(135deg,#eef4ff 0%,#bcd2fb 55%,#7ea0ef 100%);
  --mn-g-band:linear-gradient(175deg,#F4F7FF 0%,#DFE9FF 34%,#B7CDF9 100%);
  --mn-g-tile:linear-gradient(160deg,#CFE3FF 0%,#1D84F7 45%,#0B62D6 100%);
  --mn-g-head:linear-gradient(100deg,#0A3C93 0%,#0F52C4 52%,#1A6FE0 100%);
  --mn-h1-size:clamp(32px,4.4vw,48px);
}

/* ---------- DARK ----------
   In this system [data-theme="dark"] only re-tints the accent — surfaces stay
   white. Pale accents would be unreadable, so dark keeps the same blue. */
[data-theme="dark"]{
  --signal:#0070f3;
  --signal-deep:#0B62D6;
  --signal-ink:#FFFFFF;
  --mark-bg:#E7EFFE;
  --mark-text:#0A3C93;
  --focus-ring:rgba(0,112,243,0.45);
  --shadow-signal:0 12px 30px -12px rgba(0,112,243,0.45);
}

/* ---------- headings ----------
   Every page ships its own hero rules in an inline <style> using a local
   class (.hero h1, .rhub-hero h1, .disp ...). Those load AFTER this file
   and there is no finite list of them across 357 pages, so this is the one
   place a theme layer legitimately needs !important: it is overriding
   third-party-ish page CSS, not fighting its own rules. */
body h1,
body .hero h1,
body .disp,
body .art-hero h1,
body .sec-hd h2{
  font-family:var(--font-display) !important;
  font-weight:700 !important;
  letter-spacing:-.035em !important;
  line-height:1.14 !important;
}
body h1,
body .hero h1{font-size:var(--mn-h1-size) !important}
body h2,
body .sec-hd h2{letter-spacing:-.03em !important;font-weight:700 !important}

/* emphasis inside a heading is the brand gradient, never an italic serif */
/* Emphasis inside a heading uses one of three conventions across the site:
   <em>, <span class="sig"> and <em class="sig">. All three get the gradient. */
body h1 em, body h2 em,
body h1 .sig, body h2 .sig,
body .hero h1 em, body .hero h1 .sig,
body .disp em, body .disp .sig,
body .art-hero h1 em, body .art-hero h1 .sig,
body .sec-hd h2 em, body .sec-hd h2 .sig{
  font-style:normal !important;
  font-weight:inherit !important;
  /* the shorthand carries !important, so background-clip must too or the
     shorthand's border-box wins and the gradient paints as a solid block */
  background-image:var(--mn-g-head) !important;
  background-color:transparent !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;color:transparent !important;
}

/* eyebrows read as mono labels in the new system */
.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--signal)}

/* ---------- component nudges ----------
   Small corrections where the old palette assumed a warm ground. */
.dtable th,.dtable-wrap th{background:var(--paper-2)}
.dtable td:first-child{color:var(--ink-0)}
.pcard{border-color:var(--line)}
.ptier{border-color:var(--line)}
.ptier.is-featured,.ptier[data-featured]{border-color:var(--signal);box-shadow:var(--shadow-signal)}
.crow.head .ccell h3{color:var(--ink-0)}
.ccell.col-us{background:var(--mark-bg)}
.sb-toggle[aria-expanded="true"]{color:var(--signal)}
.range::-webkit-slider-thumb{background:var(--signal)}
.range::-moz-range-thumb{background:var(--signal)}
.out-tile{border-color:var(--line)}
.figbox{border-color:var(--line);background:var(--paper-1)}

/* opt-in helpers so new sections can use the brand gradients
   without pulling in the whole kit */
.mn-band-bg{background:var(--mn-g-band);border-radius:22px}
.mn-backdrop-bg{background:var(--mn-g-backdrop)}
.mn-tile-bg{background:var(--mn-g-tile)}


/* ---------- logo wall ----------
   Pages carry data-theme="dark", which flips client logos to white via
   `filter: brightness(0) invert(1)`. Surfaces are white in this system, so
   that renders them invisible. Force the light treatment the homepage uses. */
.ll-item img,
.logowall img,
.ll-marq img{
  filter:brightness(0) !important;
  opacity:.6 !important;
}
.ll-item img:hover,
.logowall img:hover{opacity:.9 !important}

/* ---------- display weight ----------
   These components were tuned for Geist. Instrument Sans reads noticeably
   lighter at the same numeric weight, so display type needs a bump to hold
   the hierarchy it had before. */
body .pt-name,
body .pt-price,
body .pt-price .pt-per,
body .stat .num,
body .kpi b,
body .ring .num b{font-weight:700}
body .pt-name{font-size:22px;letter-spacing:-.02em}
body .pt-desc,
body .pt-row{font-weight:400}
body .ptier .btn,
body .pt-cta{font-weight:600}
