
/* WordPress isolation for the public Runcible Solutions review route. */
body.runcible-public-solutions {
  margin: 0 !important;
  font-family: var(--sans) !important;
}

body.runcible-public-solutions > .wp-site-blocks > header.wp-block-template-part,
body.runcible-public-solutions > .wp-site-blocks > footer.wp-block-template-part,
body.runcible-public-solutions .wp-block-post-title {
  display: none !important;
}

body.runcible-public-solutions .wp-site-blocks,
body.runcible-public-solutions .wp-block-post-content {
  margin: 0 !important;
  padding: 0 !important;
}

body.runcible-public-solutions #wp--skip-link--target > .wp-block-group {
  padding: 0 !important;
}

html body.runcible-public-solutions #wp--skip-link--target .entry-content.alignfull.wp-block-post-content {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-inline: calc(50% - 50vw) !important;
}

body.runcible-public-solutions.admin-bar .site-head {
  top: 32px;
}

body.runcible-public-solutions.admin-bar .story-rail {
  top: 106px;
}

@media (max-width: 782px) {
  body.runcible-public-solutions.admin-bar .site-head {
    top: 46px;
  }

  body.runcible-public-solutions.admin-bar .story-rail {
    top: 120px;
  }
}

@media (max-width: 720px) {
  body.runcible-public-solutions.admin-bar .story-rail {
    top: 112px;
  }
}

:root {
      --ink: #101211;
      --coal: #191c1b;
      --paper: #f2ecdf;
      --paper-2: #e8dfcf;
      --white: #fffdf7;
      --muted: #666a66;
      --gold: #d4a63d;
      --red: #b63830;
      --teal: #2d6670;
      --sage: #76826b;
      --rule: rgba(16, 18, 17, .16);
      --rule-dark: rgba(255, 253, 247, .16);
      --sans: "Source Sans 3", sans-serif;
      --slab: "Roboto Slab", Georgia, serif;
      --mono: "IBM Plex Mono", monospace;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: var(--sans);
      font-size: 18px;
      line-height: 1.58;
      text-rendering: optimizeLegibility;
    }
    a { color: inherit; }
    code { padding: .08em .3em; background: rgba(16, 18, 17, .08); font-family: var(--mono); font-size: .82em; }
    p { max-width: 72ch; }
    h1, h2, h3, p { text-wrap: balance; }

    .site-head {
      position: sticky;
      top: 0;
      z-index: 20;
      display: flex;
      align-items: center;
      justify-content: space-between;
      min-height: 76px;
      padding: 13px clamp(20px, 5vw, 74px);
      border-bottom: 1px solid var(--rule-dark);
      color: var(--white);
      background: rgba(16, 18, 17, .97);
      backdrop-filter: blur(14px);
    }
    .brand {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      font-family: var(--slab);
      font-size: 1.72rem;
      font-weight: 800;
      text-decoration: none;
    }
    .brand img { width: 21px; height: 39px; object-fit: contain; filter: brightness(0) invert(1); }
    .main-nav { display: flex; gap: clamp(13px, 1.8vw, 27px); font-family: var(--mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
    .main-nav a { color: #d7d5cf; text-decoration: none; }
    .main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--gold); }
    .review-tag { padding: 8px 11px; border: 1px solid rgba(212, 166, 61, .7); color: var(--gold); }

    .story-rail {
      position: sticky;
      top: 76px;
      z-index: 15;
      display: grid;
      grid-template-columns: 1.25fr repeat(6, 1fr);
      border-bottom: 1px solid #cfc3af;
      background: rgba(242, 236, 223, .97);
      backdrop-filter: blur(10px);
    }
    .story-rail span { padding: 11px 12px; border-right: 1px solid #d7cdbc; color: #6d675c; font-family: var(--mono); font-size: .55rem; font-weight: 600; letter-spacing: .07em; text-align: center; text-transform: uppercase; }
    .story-rail .rail-title { padding-left: clamp(20px, 5vw, 74px); color: var(--red); text-align: left; }
    .story-rail .active { color: var(--white); background: var(--ink); box-shadow: inset 0 -4px 0 var(--gold); }

    .section { position: relative; padding: clamp(72px, 8vw, 124px) clamp(22px, 8vw, 128px); overflow: hidden; }
    .inner { width: min(1180px, 100%); margin: 0 auto; }
    .coordinate, .eyebrow, .mini-label { font-family: var(--mono); font-size: .66rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
    .coordinate { color: var(--gold); }
    .eyebrow { margin: 34px 0 20px; color: var(--red); }
    .question { max-width: 850px; margin: 0 0 32px; padding-left: 22px; border-left: 4px solid var(--red); font-family: var(--slab); font-size: clamp(1.2rem, 2vw, 1.75rem); font-style: italic; font-weight: 600; line-height: 1.4; }
    h1, h2, h3 { margin: 0; font-family: var(--slab); letter-spacing: -.035em; }
    h1 { max-width: 1030px; font-size: clamp(3.4rem, 6.7vw, 6.45rem); line-height: 1.01; }
    h2 { max-width: 990px; font-size: clamp(2.25rem, 4.2vw, 4.2rem); line-height: 1.06; }
    h3 { font-size: clamp(1.35rem, 2vw, 1.9rem); line-height: 1.17; }
    .kicker { max-width: 980px; margin: 28px 0 0; color: var(--gold); font-family: var(--slab); font-size: clamp(1.3rem, 2.35vw, 2.05rem); font-weight: 600; line-height: 1.35; }
    .lede { max-width: 890px; margin-top: 32px; font-size: clamp(1.08rem, 1.35vw, 1.26rem); line-height: 1.65; }
    .body-copy { margin-top: 34px; columns: 2; column-gap: 58px; }
    .body-copy p { margin: 0 0 1.25em; }
    .seal { max-width: 900px; margin-top: 38px; padding: 22px 25px; border-left: 5px solid var(--gold); background: rgba(212, 166, 61, .1); font-family: var(--slab); font-size: clamp(1.15rem, 1.8vw, 1.55rem); font-weight: 650; }
    .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
    .button { display: inline-flex; align-items: center; min-height: 47px; padding: 11px 17px; border: 1px solid currentColor; font-family: var(--mono); font-size: .66rem; font-weight: 600; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
    .button.primary { color: var(--ink); background: var(--gold); border-color: var(--gold); }

    .hero {
      min-height: calc(100vh - 118px);
      color: var(--white);
      background:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px),
        radial-gradient(circle at 88% 15%, rgba(182,56,48,.19), transparent 30rem),
        var(--ink);
      background-size: 52px 52px, 52px 52px, auto, auto;
    }
    .hero .question { color: #eee7da; }
    .hero .lede { color: #d8d6d0; }
    .hero .hero-line { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: clamp(60px, 8vw, 100px); border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); }
    .hero-line div { min-height: 126px; padding: 22px 18px; border-right: 1px solid var(--rule-dark); }
    .hero-line div:last-child { border-right: 0; }
    .hero-line span { display: block; color: var(--gold); font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
    .hero-line strong { display: block; margin-top: 11px; font-family: var(--slab); font-size: 1.05rem; line-height: 1.25; }

    .object { background: var(--white); }
    .label-scene { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(34px, 6vw, 86px); margin-top: 52px; align-items: start; }
    .label-card { position: sticky; top: 164px; padding: 28px; border: 1px solid var(--rule); background: var(--ink); color: var(--white); box-shadow: 12px 12px 0 var(--gold); }
    .label-card .id { color: var(--gold); font-family: var(--mono); font-size: .65rem; letter-spacing: .12em; }
    .label-card blockquote { margin: 64px 0 76px; font-family: var(--slab); font-size: clamp(1.8rem, 3.4vw, 3.1rem); font-weight: 700; line-height: 1.1; }
    .label-card footer { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--rule-dark); color: #c9c7c1; font-family: var(--mono); font-size: .62rem; text-transform: uppercase; }
    .scene-copy > p:first-child { margin-top: 0; }
    .benefit-list { display: grid; gap: 0; margin-top: 32px; border-top: 1px solid var(--rule); }
    .benefit-list div { display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 17px 0; border-bottom: 1px solid var(--rule); }
    .benefit-list b { color: var(--red); font-family: var(--mono); font-size: .66rem; }
    .benefit-list p { margin: 0; }

    .leaders { background: var(--paper-2); }
    .operating-window { display: grid; grid-template-columns: .85fr 1.15fr; gap: 22px; margin-top: 52px; }
    .report, .reality { padding: 28px; border: 1px solid var(--rule); }
    .report { color: #5f625e; background: rgba(255,255,255,.32); }
    .reality { color: var(--white); background: var(--ink); }
    .operating-window .mini-label { color: var(--red); }
    .reality .mini-label { color: var(--gold); }
    .operating-window h3 { margin: 13px 0 24px; }
    .facts { display: grid; gap: 11px; }
    .facts div { display: flex; justify-content: space-between; gap: 20px; padding-top: 10px; border-top: 1px solid currentColor; font-size: .92rem; }
    .facts span { opacity: .68; }
    .role-band { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 48px; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
    .role-band article { padding: 24px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
    .role-band span { color: var(--red); font-family: var(--mono); font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
    .role-band p { margin: 10px 0 0; font-size: .96rem; }

    .members { color: var(--white); background: var(--teal); }
    .members .eyebrow, .members .coordinate { color: #f2c65e; }
    .members .body-copy { color: #ecf0eb; }
    .member-field { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 46px; border-top: 1px solid rgba(255,255,255,.28); border-left: 1px solid rgba(255,255,255,.28); }
    .member-field article { min-height: 190px; padding: 24px; border-right: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
    .member-field span { color: #f2c65e; font-family: var(--mono); font-size: .62rem; letter-spacing: .09em; }
    .member-field h3 { margin-top: 13px; font-size: 1.3rem; }
    .member-field p { margin: 12px 0 0; color: #dce5e1; font-size: .92rem; }
    .members .seal { border-color: var(--white); background: rgba(255,255,255,.08); }

    .reliance { background: var(--white); }
    .matter-strip { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 38px; }
    .matter-strip span { padding: 9px 12px; border: 1px solid var(--rule); background: var(--paper); font-family: var(--mono); font-size: .63rem; text-transform: uppercase; }
    .reciprocal { display: grid; grid-template-columns: 1fr 92px 1fr; align-items: stretch; margin-top: 48px; }
    .reciprocal article { padding: 28px; border: 1px solid var(--rule); background: var(--paper); }
    .reciprocal .exchange { display: grid; place-items: center; color: var(--red); font-family: var(--mono); font-size: 1.3rem; }
    .reciprocal h3 { margin: 11px 0; }
    .reciprocal p { margin-bottom: 0; }

    .compound { color: var(--white); background: var(--ink); }
    .compound .eyebrow { color: var(--gold); }
    .causal-chain { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 54px; border-top: 1px solid var(--rule-dark); border-left: 1px solid var(--rule-dark); }
    .causal-chain div { min-height: 178px; padding: 22px 17px; border-right: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); }
    .causal-chain span { color: var(--gold); font-family: var(--mono); font-size: .58rem; letter-spacing: .1em; }
    .causal-chain strong { display: block; margin-top: 13px; font-family: var(--slab); font-size: 1.2rem; }
    .causal-chain p { margin: 9px 0 0; color: #c9cbc6; font-size: .85rem; }
    .counterforce { max-width: 900px; margin-top: 48px; padding: 28px; border: 1px solid rgba(182,56,48,.75); background: rgba(182,56,48,.1); }
    .counterforce h3 { color: #e48880; }
    .counterforce p:last-child { margin-bottom: 0; }

    .choices { background: var(--paper); }
    .product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 50px; }
    .product-card { display: flex; flex-direction: column; min-height: 590px; padding: 28px; border: 1px solid var(--rule); background: var(--white); }
    .product-card.featured { color: var(--white); background: var(--ink); box-shadow: inset 0 6px 0 var(--gold); }
    .product-card .mini-label { color: var(--red); }
    .product-card.featured .mini-label { color: var(--gold); }
    .product-card h3 { margin-top: 18px; font-size: clamp(1.55rem, 2.3vw, 2.25rem); }
    .product-card .value { margin-top: auto; padding-top: 24px; border-top: 1px solid var(--rule); }
    .product-card.featured .value { border-color: var(--rule-dark); }
    .product-card .value strong { display: block; color: var(--red); font-family: var(--mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
    .product-card.featured .value strong { color: var(--gold); }

    .conditions { background: var(--white); }
    .condition-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 34px; margin-top: 44px; }
    .condition-list article { display: grid; grid-template-columns: 45px 1fr; gap: 14px; padding: 20px 0; border-top: 1px solid var(--rule); }
    .condition-list b { color: var(--red); font-family: var(--mono); font-size: .68rem; }
    .condition-list p { margin: 0; }

    .proof { background: var(--paper-2); }
    .proof-object { margin-top: 48px; padding: 29px; border: 1px solid var(--rule); background: var(--white); }
    .proof-object header { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--rule); font-family: var(--mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
    .proof-object header b { color: var(--red); }
    .proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 24px; border-top: 1px solid var(--rule); border-left: 1px solid var(--rule); }
    .proof-grid div { padding: 20px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
    .proof-grid span { display: block; color: var(--red); font-family: var(--mono); font-size: .58rem; letter-spacing: .08em; }
    .proof-grid strong { display: block; margin-top: 9px; font-family: var(--slab); line-height: 1.25; }

    .closing { color: var(--white); background: var(--coal); }
    .closing h2 { color: var(--gold); }
    .closing .coda { max-width: 980px; margin-top: 42px; padding-left: 26px; border-left: 5px solid var(--red); font-family: var(--slab); font-size: clamp(1.35rem, 2.4vw, 2.2rem); font-style: italic; font-weight: 600; line-height: 1.4; }
    .route-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--rule-dark); border-left: 1px solid var(--rule-dark); }
    .route-grid a { min-height: 112px; padding: 22px; border-right: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); font-family: var(--slab); font-size: 1.18rem; font-weight: 650; text-decoration: none; }
    .route-grid a:hover { color: var(--gold); background: rgba(255,255,255,.035); }
    .signature { display: flex; align-items: center; gap: 12px; margin-top: 70px; font-family: var(--slab); font-size: 1.5rem; font-weight: 800; }
    .signature img { width: 18px; height: 40px; object-fit: contain; filter: brightness(0) invert(1); }
    .signature small { margin-left: 8px; color: #a9aaa5; font-family: var(--mono); font-size: .58rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }

    @media (max-width: 1060px) {
      .main-nav a:nth-child(n+5):not(.review-tag) { display: none; }
      .story-rail { grid-template-columns: 1.2fr repeat(6, 1fr); }
      .story-rail span { padding-inline: 7px; font-size: .48rem; }
      .hero-line { grid-template-columns: repeat(3, 1fr) !important; }
      .hero-line div:nth-child(3) { border-right: 0; }
      .hero-line div:nth-child(n+4) { border-top: 1px solid var(--rule-dark); }
      .role-band { grid-template-columns: repeat(2, 1fr); }
      .member-field { grid-template-columns: repeat(2, 1fr); }
      .causal-chain { grid-template-columns: repeat(3, 1fr); }
      .product-grid { grid-template-columns: 1fr; }
      .product-card { min-height: 0; }
      .product-card .value { margin-top: 24px; }
    }

    @media (max-width: 720px) {
      body { font-size: 17px; }
      .site-head { min-height: 66px; }
      .brand { font-size: 1.45rem; }
      .brand img { width: 18px; height: 34px; }
      .main-nav a:not(.review-tag) { display: none; }
      .story-rail { top: 66px; display: flex; overflow-x: auto; }
      .story-rail span { flex: 0 0 auto; min-width: 90px; }
      .story-rail .rail-title { padding-left: 18px; }
      .section { padding: 66px 20px; }
      h1 { font-size: clamp(2.65rem, 12.6vw, 3.55rem); }
      h2 { font-size: clamp(1.9rem, 8.8vw, 2.8rem); }
      .body-copy { columns: 1; }
      .hero { min-height: auto; }
      .hero-line { grid-template-columns: 1fr !important; }
      .hero-line div { min-height: 0; border-right: 0; border-top: 1px solid var(--rule-dark); }
      .label-scene, .operating-window { grid-template-columns: 1fr; }
      .label-card { position: relative; top: auto; }
      .role-band, .member-field, .condition-list, .proof-grid, .route-grid { grid-template-columns: 1fr; }
      .reciprocal { grid-template-columns: 1fr; }
      .reciprocal .exchange { min-height: 68px; transform: rotate(90deg); }
      .causal-chain { grid-template-columns: repeat(2, 1fr); }
      .signature { align-items: flex-start; flex-wrap: wrap; }
      .signature small { width: 100%; margin-left: 30px; }
    }


/* Public navigation keeps the current route visible when space becomes constrained. */
@media (max-width: 1050px) {
  body.runcible-public-solutions .main-nav a { display: none !important; }
  body.runcible-public-solutions .main-nav a.active-nav { display: block !important; color: var(--gold) !important; }
}
