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

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

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

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

html body.runcible-public-homepage #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-homepage.admin-bar .site-head {
  top: 32px;
}

body.runcible-public-homepage.admin-bar .story-rail {
  top: 110px;
}

body.runcible-public-homepage .brand,
body.runcible-public-homepage .frame,
body.runcible-public-homepage .coda,
body.runcible-public-homepage .section h1,
body.runcible-public-homepage .section h2,
body.runcible-public-homepage .section h3,
body.runcible-public-homepage .kicker,
body.runcible-public-homepage .seal,
body.runcible-public-homepage .promise,
body.runcible-public-homepage .saying,
body.runcible-public-homepage .record-foot strong,
body.runcible-public-homepage .deeper strong {
  font-family: var(--slab) !important;
}

body.runcible-public-homepage .main-nav,
body.runcible-public-homepage .review-tag,
body.runcible-public-homepage .story-rail,
body.runcible-public-homepage .coordinate,
body.runcible-public-homepage .eyebrow,
body.runcible-public-homepage .button,
body.runcible-public-homepage .hero-system,
body.runcible-public-homepage .product-number,
body.runcible-public-homepage .product-foot,
body.runcible-public-homepage .record-head,
body.runcible-public-homepage .pane-label,
body.runcible-public-homepage .record-foot small,
body.runcible-public-homepage .audience,
body.runcible-public-homepage .loop,
body.runcible-public-homepage .site-foot {
  font-family: var(--mono) !important;
}

/* Preserve reading continuity on wide displays rather than stretching the story to the viewport. */
body.runcible-public-homepage .section-inner {
  width: min(1120px, 100%);
}

body.runcible-public-homepage .section h1 {
  max-width: 920px;
}

@media (min-width: 1600px) {
  body.runcible-public-homepage .section {
    padding-inline: clamp(28px, 10vw, 180px);
  }
}

.product-card a.product-foot {
  color: inherit;
  text-decoration: none;
}

.product-card a.product-foot:hover,
.product-card a.product-foot:focus-visible {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: .3rem;
}

/* The category block bridges the institutional promise and product explanation. */
body.runcible-public-homepage #category {
  position: relative;
  background:
    linear-gradient(135deg, rgba(212, 166, 61, .13), transparent 44rem),
    var(--paper-2);
  box-shadow: inset 0 1px 0 rgba(145, 107, 29, .34), inset 0 -1px 0 rgba(20, 23, 22, .13);
}

body.runcible-public-homepage .category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 55px;
  border-top: 1px solid rgba(20, 23, 22, .22);
  border-left: 1px solid rgba(20, 23, 22, .22);
}

body.runcible-public-homepage .category-card {
  min-height: 255px;
  padding: clamp(26px, 3.2vw, 42px);
  border-right: 1px solid rgba(20, 23, 22, .22);
  border-bottom: 1px solid rgba(20, 23, 22, .22);
  background: rgba(255, 253, 247, .40);
}

body.runcible-public-homepage .category-card:nth-child(2),
body.runcible-public-homepage .category-card:nth-child(3) {
  background: rgba(255, 253, 247, .68);
}

body.runcible-public-homepage .category-card h3 {
  margin-top: 28px;
}

body.runcible-public-homepage .category-card p {
  max-width: 48ch;
  color: #4e514e;
}

body.runcible-public-homepage .category-bridge {
  max-width: 78ch;
  margin-top: 38px;
  padding-left: 18px;
  border-left: 3px solid var(--gold-dark);
  color: var(--muted-dark);
  font-family: var(--slab);
  font-size: clamp(1.12rem, 1.45vw, 1.35rem);
  font-weight: 600;
}

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

  body.runcible-public-homepage.admin-bar .story-rail {
    top: 124px;
  }
}

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

  body.runcible-public-homepage .category-grid {
    grid-template-columns: 1fr;
  }

  body.runcible-public-homepage .category-card {
    min-height: auto;
  }
}

:root {
      --ink: #101211;
      --coal: #171a19;
      --coal-2: #222523;
      --paper: #f2ecdf;
      --paper-2: #e8dfcf;
      --white: #fffdf7;
      --muted: #8e908a;
      --muted-dark: #555b58;
      --gold: #d4a63d;
      --gold-dark: #916b1d;
      --red: #b63830;
      --red-light: #dc6a61;
      --teal: #2d6670;
      --rule: rgba(20, 23, 22, .17);
      --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.55;
      text-rendering: optimizeLegibility;
    }
    a { color: inherit; }
    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: 78px;
      padding: 14px clamp(22px, 5vw, 76px);
      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.75rem;
      font-weight: 800;
      text-decoration: none;
    }
    .brand img {
      width: 22px;
      height: 40px;
      object-fit: contain;
      filter: brightness(0) invert(1);
    }
    .main-nav {
      display: flex;
      align-items: center;
      gap: clamp(14px, 2.1vw, 30px);
      color: #d6d4ce;
      font-family: var(--mono);
      font-size: .67rem;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .main-nav a { text-decoration: none; }
    .main-nav a:hover { color: var(--gold); }
    .review-tag {
      padding: 9px 12px;
      border: 1px solid rgba(212, 166, 61, .7);
      color: var(--gold);
    }

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

    .section {
      position: relative;
      padding: clamp(74px, 9vw, 148px) clamp(22px, 8vw, 132px);
      overflow: hidden;
    }
    .section-inner {
      width: min(1240px, 100%);
      margin: 0 auto;
    }
    .coordinate, .eyebrow {
      font-family: var(--mono);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .coordinate { color: var(--gold); }
    .eyebrow { margin-top: 44px; color: var(--red); }
    .frame, .coda {
      max-width: 880px;
      margin: 28px 0 38px;
      padding: 6px 0 6px 24px;
      border-left: 5px solid var(--red);
      font-family: var(--slab);
      font-size: clamp(1.3rem, 2.2vw, 2rem);
      font-style: italic;
      font-weight: 600;
      line-height: 1.38;
    }
    .section h1, .section h2, .section h3 {
      margin: 0;
      font-family: var(--slab);
      line-height: 1.04;
      letter-spacing: -.045em;
    }
    .section h1 {
      max-width: 1050px;
      font-size: clamp(4rem, 8.5vw, 8rem);
      font-weight: 700;
    }
    .section h2 {
      max-width: 1050px;
      font-size: clamp(2.5rem, 5.3vw, 5.2rem);
      font-weight: 700;
    }
    .section h3 {
      font-size: clamp(1.5rem, 2.3vw, 2.15rem);
      font-weight: 650;
      line-height: 1.12;
    }
    .kicker {
      max-width: 1030px;
      margin: 28px 0 0;
      color: var(--gold);
      font-family: var(--slab);
      font-size: clamp(1.3rem, 2.5vw, 2.2rem);
      font-weight: 600;
      line-height: 1.32;
    }
    .lede {
      max-width: 920px;
      margin-top: 34px;
      font-size: clamp(1.1rem, 1.45vw, 1.3rem);
      line-height: 1.62;
    }
    .seal {
      margin-top: 30px;
      font-family: var(--slab);
      font-size: 1.2rem;
      font-weight: 700;
    }
    .actions {
      display: flex;
      flex-wrap: wrap;
      gap: 13px;
      margin-top: 38px;
    }
    .button {
      display: inline-flex;
      align-items: center;
      min-height: 48px;
      padding: 12px 18px;
      border: 1px solid currentColor;
      font-family: var(--mono);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .07em;
      text-decoration: none;
      text-transform: uppercase;
    }
    .button.primary { color: var(--ink); background: var(--gold); border-color: var(--gold); }
    .button.secondary { color: inherit; background: transparent; }

    .hero {
      min-height: calc(100vh - 126px);
      color: var(--white);
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
        radial-gradient(circle at 88% 12%, rgba(182,56,48,.19), transparent 30rem),
        var(--ink);
      background-size: 52px 52px, 52px 52px, auto, auto;
    }
    .hero h1 span { display: block; }
    .hero h1 span:nth-child(2) { color: var(--gold); }
    .hero .lede { color: #d8d6d0; }
    .hero .frame { color: #f0eadf; }
    .hero-system {
      display: grid;
      grid-template-columns: repeat(7, auto);
      align-items: stretch;
      gap: 0;
      margin-top: clamp(64px, 9vw, 118px);
      border-top: 1px solid var(--rule-dark);
      border-bottom: 1px solid var(--rule-dark);
    }
    .hero-system div {
      display: grid;
      place-items: center;
      min-height: 92px;
      padding: 16px 12px;
      border-right: 1px solid var(--rule-dark);
      color: #f4eee2;
      font-family: var(--mono);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-align: center;
      text-transform: uppercase;
    }
    .hero-system .arrow { color: var(--gold); font-size: 1.3rem; }

    .products { background: var(--paper); }
    .products .intro { color: var(--muted-dark); }
    .product-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 55px;
    }
    .product-card {
      display: flex;
      flex-direction: column;
      min-height: 530px;
      padding: clamp(26px, 3.2vw, 44px);
      border: 1px solid var(--rule);
      background: rgba(255, 253, 247, .55);
    }
    .product-card:nth-child(2) { background: var(--white); }
    .product-card:nth-child(3) { color: var(--white); background: var(--coal); }
    .product-card .product-number {
      color: var(--red);
      font-family: var(--mono);
      font-size: .68rem;
      letter-spacing: .12em;
      text-transform: uppercase;
    }
    .product-card h3 { margin-top: 45px; }
    .product-card .promise {
      margin-top: 18px;
      color: var(--gold-dark);
      font-family: var(--slab);
      font-size: 1.13rem;
      font-weight: 700;
    }
    .product-card:nth-child(3) .promise { color: var(--gold); }
    .product-card p { color: #4e514e; }
    .product-card:nth-child(3) p { color: #cdcec9; }
    .product-card .product-foot {
      margin-top: auto;
      padding-top: 28px;
      border-top: 1px solid var(--rule);
      font-family: var(--mono);
      font-size: .67rem;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .product-card:nth-child(3) .product-foot { border-color: var(--rule-dark); }
    .saying {
      max-width: 1080px;
      margin: 70px 0 0;
      padding: 7px 0 7px 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: 650;
      line-height: 1.4;
    }

    .matter {
      color: var(--white);
      background:
        radial-gradient(circle at 82% 20%, rgba(45,102,112,.28), transparent 34rem),
        var(--coal);
    }
    .matter .lede { color: #d7d4cb; }
    .claim {
      margin: 40px 0 0;
      font-family: var(--slab);
      font-size: clamp(2rem, 4vw, 4rem);
      font-weight: 700;
      line-height: 1.1;
    }
    .record {
      display: grid;
      grid-template-columns: 1fr 1fr;
      margin-top: 58px;
      border: 1px solid rgba(255,255,255,.25);
      background: #f8f2e7;
      color: var(--ink);
      box-shadow: 0 28px 80px rgba(0,0,0,.28);
    }
    .record-head {
      grid-column: 1 / -1;
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding: 18px 24px;
      border-bottom: 1px solid #cbc1b1;
      background: #e9dfcf;
      font-family: var(--mono);
      font-size: .65rem;
      letter-spacing: .07em;
      text-transform: uppercase;
    }
    .record-pane { padding: clamp(26px, 4vw, 48px); }
    .record-pane + .record-pane { border-left: 1px solid #cbc1b1; }
    .record-pane .pane-label {
      color: var(--red);
      font-family: var(--mono);
      font-size: .66rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .record-pane h3 { margin-top: 20px; }
    .record-pane ul { margin: 24px 0 0; padding: 0; list-style: none; }
    .record-pane li {
      padding: 10px 0;
      border-bottom: 1px solid #ddd3c4;
      color: #444945;
    }
    .record-foot {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      border-top: 1px solid #cbc1b1;
      background: var(--white);
    }
    .record-foot div { padding: 21px 24px; border-right: 1px solid #d9cebd; }
    .record-foot div:last-child { border-right: 0; }
    .record-foot small {
      display: block;
      color: var(--red);
      font-family: var(--mono);
      font-size: .58rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .record-foot strong { display: block; margin-top: 7px; font-family: var(--slab); }

    .consequence { background: var(--white); }
    .consequence-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      margin-top: 62px;
      border: 1px solid var(--rule);
    }
    .consequence-card {
      min-height: 330px;
      padding: clamp(28px, 4vw, 52px);
      border-right: 1px solid var(--rule);
      border-bottom: 1px solid var(--rule);
    }
    .consequence-card:nth-child(2n) { border-right: 0; }
    .consequence-card:nth-child(n+3) { border-bottom: 0; }
    .consequence-card .audience {
      color: var(--red);
      font-family: var(--mono);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .consequence-card h3 { margin-top: 34px; max-width: 520px; }
    .consequence-card p { color: #505551; }
    .consequence .seal {
      max-width: 1040px;
      margin-top: 54px;
      font-size: clamp(1.4rem, 2.6vw, 2.3rem);
    }

    .difference {
      color: var(--white);
      background: var(--teal);
    }
    .difference .eyebrow, .difference .coordinate { color: #f0c663; }
    .difference .lede { color: #e2e8e5; }
    .loop {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 8px;
      margin-top: 58px;
    }
    .loop div {
      display: grid;
      place-items: center;
      min-height: 118px;
      padding: 18px 12px;
      border: 1px solid rgba(255,255,255,.3);
      font-family: var(--mono);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .05em;
      text-align: center;
      text-transform: uppercase;
    }
    .loop .loop-arrow { border: 0; color: #f0c663; font-size: 1.2rem; }
    .difference .seal { color: #fff3d3; }

    .close {
      color: var(--white);
      background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        var(--ink);
      background-size: 52px 52px;
    }
    .close .coda {
      max-width: 1120px;
      color: #f4eee3;
      font-size: clamp(1.6rem, 3vw, 2.8rem);
      font-style: normal;
      line-height: 1.36;
    }
    .deeper {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      margin-top: 70px;
      border-top: 1px solid var(--rule-dark);
      border-left: 1px solid var(--rule-dark);
    }
    .deeper a {
      min-height: 190px;
      padding: 28px 24px;
      border-right: 1px solid var(--rule-dark);
      border-bottom: 1px solid var(--rule-dark);
      text-decoration: none;
    }
    .deeper a:hover { background: rgba(212,166,61,.08); }
    .deeper strong {
      display: block;
      color: var(--gold);
      font-family: var(--slab);
      font-size: 1.15rem;
    }
    .deeper span { display: block; margin-top: 12px; color: #bcbdb8; font-size: .92rem; }
    .site-foot {
      display: flex;
      justify-content: space-between;
      gap: 30px;
      margin-top: 72px;
      padding-top: 28px;
      border-top: 1px solid var(--rule-dark);
      color: #8e908a;
      font-family: var(--mono);
      font-size: .62rem;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    @media (max-width: 1050px) {
      .main-nav a:not(.review-tag) { display: none; }
      .story-rail { grid-template-columns: 1.3fr repeat(3, 1fr); }
      .story-rail span:nth-child(5), .story-rail span:nth-child(6) { display: none; }
      .product-grid { grid-template-columns: 1fr; }
      .product-card { min-height: auto; }
      .loop { grid-template-columns: 1fr; }
      .loop div { min-height: 76px; }
      .loop .loop-arrow { min-height: 30px; }
      .deeper { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 720px) {
      body { font-size: 16px; }
      .site-head { min-height: 66px; }
      .brand { font-size: 1.45rem; }
      .brand img { width: 18px; height: 34px; }
      .review-tag { display: none; }
      .story-rail { top: 66px; grid-template-columns: 1fr 1fr; }
      .story-rail span { display: none; }
      .story-rail .rail-title, .story-rail .active { display: block; }
      .story-rail .rail-title { padding-left: 18px; }
      .section { padding: 70px 20px; }
      .section h1 { font-size: clamp(3.2rem, 15vw, 5rem); }
      .hero-system { grid-template-columns: 1fr; }
      .hero-system div { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--rule-dark); }
      .hero-system .arrow { min-height: 34px; }
      .record { grid-template-columns: 1fr; }
      .record-pane + .record-pane { border-left: 0; border-top: 1px solid #cbc1b1; }
      .record-foot { grid-template-columns: 1fr; }
      .record-foot div { border-right: 0; border-bottom: 1px solid #d9cebd; }
      .consequence-grid { grid-template-columns: 1fr; }
      .consequence-card { min-height: auto; border-right: 0; border-bottom: 1px solid var(--rule); }
      .consequence-card:nth-child(n+3) { border-bottom: 1px solid var(--rule); }
      .consequence-card:last-child { border-bottom: 0; }
      .deeper { grid-template-columns: 1fr; }
      .site-foot { flex-direction: column; }
    }


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