/* Walk of Grit blog post styles (copied from walk-of-grit.html) */
    .hero-img img { background: #fff; }
    #grit-chapter-4 .hero-figure { margin: 0 0 1.25rem; }
    #view-grit #grit-chapter-4 .hero-img {
      margin-bottom: 0.4rem;
      border-radius: 16px;
    }
    #grit-chapter-4 .hero-caption {
      margin: 0;
      padding: 0;
      font-size: 0.84rem;
      font-style: italic;
      font-weight: 600;
      line-height: 1.35;
      color: #50565b;
      text-align: center;
      background: none;
      border: 0;
      border-radius: 0;
    }
    #grit-chapter-4 .author-details .info {
      display: flex;
      align-items: baseline;
      gap: 0.65rem;
      flex: 0 0 auto;
      flex-wrap: wrap;
    }
    #grit-chapter-4 .author-details .info .role { white-space: nowrap; }
    #grit-chapter-4 .content iframe {
      display: block;
      width: 100%;
      max-width: 100%;
      aspect-ratio: 16 / 9;
      height: auto;
      border: 0;
      margin: 0.85rem 0 1rem;
    }
    .feed-article { margin-bottom: 3.5rem; scroll-margin-top: 1.25rem; }
    .post-index {
      background: #fff;
      border: 1px solid #d9d9d9;
      border-radius: 10px;
      padding: 1rem;
      max-height: calc(100vh - 1.5rem);
      overflow-y: auto;
      scrollbar-gutter: stable;
    }
    .feed-sidebar { position: sticky; top: 0.75rem; }
    .post-index-title { font-size: 1.15rem; font-weight: 800; margin: 0 0 0.35rem; }
    .post-index-note { font-size: 0.9rem; font-weight: 700; color: #13171a; margin: 0 0 0.2rem; }
    .post-index-help { font-size: 0.9rem; color: #444; margin-bottom: 0.75rem; }
    .post-filter {
      width: 100%;
      min-height: 44px;
      padding: 0.6rem 0.75rem;
      border: 1px solid #bbb;
      border-radius: 6px;
      font-size: 1rem;
      margin-bottom: 0.85rem;
    }
    .post-index-list { list-style: none; padding: 0; margin: 0; counter-reset: post-nav; }
    .post-index-list li { counter-increment: post-nav; border-top: 1px solid #eee; }
    .post-index-list li:first-child { border-top: 0; }
    .post-index-list a {
      display: grid;
      grid-template-columns: 2rem 3.5rem 1fr;
      gap: 0.65rem;
      align-items: center;
      min-height: 52px;
      padding: 0.7rem 0.35rem;
      color: #111;
      text-decoration: none;
      border-radius: 6px;
    }
    .post-index-list a::before {
      content: counter(post-nav);
      font-weight: 800;
      color: #004aad;
      text-align: center;
    }
    .post-index-list a:hover,
    .post-index-list a:focus-visible {
      background: #eef4ff;
      outline: 2px solid #004aad;
      outline-offset: 1px;
    }
    .post-index-list img {
      width: 3.5rem;
      height: 3.5rem;
      object-fit: cover;
      border-radius: 6px;
    }
    .post-index-list .post-copy strong { display: block; font-size: 0.95rem; line-height: 1.3; }
    .post-index-list time { display: block; font-size: 0.8rem; color: #555; margin-top: 0.2rem; }
    .site-view { display: none !important; }
    .site-view.is-active { display: block !important; }
    #header .top-row { position: relative; min-height: 2.8rem; }
    #header .site-tabs {
      padding-top: 0.7rem;
      padding-bottom: 0.7rem;
    }
    #header .site-title {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      margin: 0;
      color: #202020;
      font-weight: 900;
      letter-spacing: 1px;
      line-height: 1;
      white-space: nowrap;
      font-size: 3rem;
    }
    @media (max-width: 600px) {
      #header .site-title { font-size: clamp(1.4rem, 5.5vw, 2.4rem); }
    }
    #view-grit > .container,
    #view-archive > .container {
      width: min(1120px, calc(100% - 2rem));
      max-width: none;
      margin-left: auto;
      margin-right: auto;
      padding-left: 0;
      padding-right: 0;
    }
    #view-grit .feed-article > .section,
    #view-archive .feed-article > .section {
      padding: 0;
    }
    #view-grit .feed-article,
    #view-archive .feed-article {
      margin-bottom: 0;
      padding: 0.85rem 0 1.15rem;
      border-bottom: 1px solid #e6eaf0;
    }
    #view-grit .col-lg-8 > .feed-article:last-child,
    #view-archive .col-lg-8 > .feed-article:last-child {
      border-bottom: 0;
      padding-bottom: 1.5rem;
    }
    #view-grit .blog-details .hero-img,
    #view-archive .blog-details .hero-img {
      margin-top: 0;
      margin-bottom: 1.25rem;
    }
    #view-grit .blog-details .article-content .content-header,
    #view-archive .blog-details .article-content .content-header {
      margin-bottom: 0.75rem !important;
    }
    #view-grit .blog-details .article-content .content-header .author-info,
    #view-archive .blog-details .article-content .content-header .author-info {
      gap: 0.45rem 1rem;
      padding-bottom: 0.7rem;
    }
    #view-grit .blog-details .article-content .content p,
    #view-grit .blog-details .article-content .content ul,
    #view-grit .blog-details .article-content .content ol,
    #view-archive .blog-details .article-content .content p,
    #view-archive .blog-details .article-content .content ul,
    #view-archive .blog-details .article-content .content ol {
      margin-bottom: 0.75rem;
    }
    #view-grit .blog-details .article-content .content li,
    #view-archive .blog-details .article-content .content li {
      margin-bottom: 0.28rem;
    }
    #view-grit .blog-details .article-content .content h2,
    #view-grit .blog-details .article-content .content h4,
    #view-archive .blog-details .article-content .content h2,
    #view-archive .blog-details .article-content .content h4 {
      margin: 1.05rem 0 0.4rem;
      font-size: 1.15rem;
      font-weight: 800;
      color: #13171a;
    }
    #view-grit .blog-details .article-content .content blockquote {
      margin: 0.9rem 0;
      padding: 0.75rem 1rem;
    }
    #view-grit .blog-details .article-content .content blockquote::before {
      font-size: 2.6rem;
      top: -0.15rem;
      left: 0.55rem;
    }
    #view-grit .content > p:has(.substack-read-btn) {
      margin-bottom: 0.75rem;
    }
    #view-grit .blog-details .article-content,
    #view-archive .blog-details .article-content { padding-left: 0; padding-right: 0; }
    .mobile-post-nav { margin: 0.85rem 0 1.25rem; }
    @media (min-width: 992px) { .mobile-post-nav { display: none; } }
    @media (min-width: 800px) {
      #view-grit > .container,
      #view-archive > .container { max-width: 100%; }
      #view-grit > .container > .row,
      #view-archive > .container > .row {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
      }
      #view-grit .col-lg-8,
      #view-archive .col-lg-8 {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
        min-width: 0;
        padding-left: 0;
      }
      #view-grit .col-lg-4,
      #view-archive .col-lg-4 {
        flex: 0 0 15.5rem;
        width: 15.5rem;
        max-width: 15.5rem;
        padding-right: 0;
      }
      #view-grit .feed-sidebar,
      #view-archive .feed-sidebar { display: block !important; }
      #view-grit .mobile-post-nav,
      #view-archive .mobile-post-nav { display: none !important; }
    }
    .blog-details .article-content .content-header { margin-bottom: 1.1rem; }
    .blog-details .title-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 0.75rem 1rem;
      margin-bottom: 0.7rem;
    }
    .blog-details .title-row .title {
      flex: 1 1 auto;
      min-width: 0;
      margin-bottom: 0 !important;
    }
    .blog-details .article-content .content-header .title {
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      margin-bottom: 0.7rem;
      color: #13171a;
    }
    .blog-details .title-row .substack-read-btn {
      flex: 0 0 auto;
      margin: 0.25rem 0 0 !important;
      white-space: nowrap;
    }
    @media (max-width: 560px) {
      .blog-details .title-row { flex-wrap: wrap; }
      .blog-details .title-row .substack-read-btn { margin-left: auto !important; }
    }
    .blog-details .article-content .content {
      font-size: 1rem;
      line-height: 1.6;
    }
    .blog-details .article-content .content h4 { font-size: 1.15rem; font-weight: 800; color: #13171a; }
    .post-index-list li.post-overflow { display: none; }
    .post-index.is-expanded .post-index-list li.post-overflow { display: list-item; }
    .blog-details a.substack-read-btn,
    .blog-details a.substack-read-btn:hover,
    .blog-details a.substack-read-btn:focus {
      display: inline-block;
      background: #fff;
      color: #004aad !important;
      font-weight: 700;
      font-size: 0.92rem;
      line-height: 1.2;
      border: 1px solid #d5d9e0;
      border-radius: 999px;
      padding: 0.4rem 0.85rem;
      text-decoration: none;
      margin: 0.1rem 0 0;
      box-shadow: none;
    }
    .blog-details a.substack-read-btn:hover,
    .blog-details a.substack-read-btn:focus-visible {
      background: #eef4ff;
      border-color: #004aad;
    }
    .reprint-card {
      border: 1px solid #d9d9d9;
      border-radius: 10px;
      overflow: hidden;
      background: #fff;
    }
    .reprint-card img { width: 100%; height: 220px; object-fit: cover; }
    .reprint-card .card-body { padding: 1.1rem 1.2rem 1.3rem; }
    .reprint-card a.read-link { color: #004aad; font-weight: 700; text-decoration: none; margin-right: 1.25rem; }
    .wog-results-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 0.35rem 0 1.35rem; }
    .wog-results-table th, .wog-results-table td { border: 1px solid #d9d9d9; padding: 0.45rem 0.65rem; text-align: left; }
    .wog-results-table th { background: #e8f1ff; font-weight: 700; }
    .wog-results-table tbody tr:nth-child(even) { background: #f7f9fc; }
    .table-scroll { overflow-x: auto; }
    .wog-chart { width: 100%; height: auto; margin: 0.35rem 0 1.4rem; border: 1px solid #e6e6e6; border-radius: 8px; background: #fff; }
    .content pre {
      background: #f4f7fb;
      border: 1px solid #d9d9d9;
      border-radius: 8px;
      padding: 0.75rem 1rem;
      overflow-x: auto;
      margin: 0.35rem 0 1.25rem;
    }
    .content pre code {
      color: #1a1a1a;
      font-size: 0.86rem;
      white-space: pre-wrap;
    }
    .wog-results-table caption {
      caption-side: top;
      text-align: left;
      font-weight: 700;
      color: #111;
      padding: 0.15rem 0.1rem 0.4rem;
      font-size: 0.92rem;
    }
    .wog-results-table caption span {
      display: block;
      margin-top: 0.12rem;
      font-weight: 500;
      font-size: 0.78rem;
      color: #333;
      line-height: 1.35;
    }
    .fig-id {
      margin: -1.05rem 0 1.25rem;
      font-size: 0.78rem;
      color: #333;
    }
    #view-grit #grit-chapter-3 .content h4 {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      margin: 1.85rem 0 0.65rem;
      color: #13171a;
      font-weight: 800;
    }
    #view-grit #grit-chapter-3 .content h4:first-child { margin-top: 0.15rem; }
    #grit-chapter-3 .content h4 i { color: #0052f2; font-size: 0.92em; }
    #grit-chapter-3 .epl-lead {
      margin: 0;
      color: #373d42;
      font-size: 0.95rem;
    }
    #grit-chapter-3 .epl-summary {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
      margin: 0 0 1.35rem;
    }
    #grit-chapter-3 .epl-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem 1rem;
      margin: 0 0 0.55rem;
      font-size: 0.78rem;
      font-weight: 800;
      color: #373d42;
    }
    #grit-chapter-3 .epl-legend i {
      display: inline-block;
      width: 0.72rem;
      height: 0.72rem;
      margin-right: 0.28rem;
      border-radius: 2px;
      vertical-align: -1px;
    }
    #grit-chapter-3 .epl-legend i.in,
    #grit-chapter-3 .epl-bar i.in,
    #grit-chapter-3 .epl-mini i.in { background: #0052f2; }
    #grit-chapter-3 .epl-legend i.out,
    #grit-chapter-3 .epl-bar i.out,
    #grit-chapter-3 .epl-mini i.out { background: #ff7d78; }
    #grit-chapter-3 .epl-board,
    #grit-chapter-3 .epl-medians {
      display: grid;
      gap: 0.55rem;
      margin: 0;
    }
    #grit-chapter-3 .epl-board { grid-template-columns: 1fr 1fr; }
    #grit-chapter-3 .epl-medians { grid-template-columns: repeat(4, 1fr); }
    #grit-chapter-3 .epl-card {
      display: flex;
      flex-direction: column;
      min-width: 0;
      padding: 0.65rem 0.7rem 0.7rem;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 10px;
      background: #fff;
    }
    #grit-chapter-3 .epl-card.out { border-left-color: #ff7d78; }
    #grit-chapter-3 .epl-card.stretch { border-left-color: #a373ff; background: #f7f4ff; }
    #grit-chapter-3 .epl-k {
      color: #697077;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.01em;
      line-height: 1.3;
    }
    #grit-chapter-3 .epl-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      margin-top: 0.4rem;
    }
    #grit-chapter-3 .epl-pair > div + div {
      border-left: 1px solid #e6eaf2;
      padding-left: 0.65rem;
    }
    #grit-chapter-3 .epl-pair b,
    #grit-chapter-3 .epl-card > b {
      display: block;
      color: #0052f2;
      font-size: 1.7rem;
      line-height: 1.05;
      white-space: nowrap;
    }
    #grit-chapter-3 .epl-pair .out b,
    #grit-chapter-3 .epl-card.out > b { color: #d23b48; }
    #grit-chapter-3 .epl-card.stretch { margin: 0; }
    #grit-chapter-3 .epl-card.stretch > b { color: #6b46c1; font-size: 1.85rem; }
    #grit-chapter-3 .epl-card.pool { border-left-color: #001a4f; }
    #grit-chapter-3 .epl-card.pool > b { color: #001a4f; }
    #grit-chapter-3 .epl-card.counter { border-left-color: #373d42; }
    #grit-chapter-3 .epl-card.counter > b { color: #373d42; }
    #grit-chapter-3 .epl-pair em,
    #grit-chapter-3 .epl-card em {
      display: block;
      margin-top: 0.15rem;
      color: #373d42;
      font-style: normal;
      font-size: 0.68rem;
      font-weight: 700;
      line-height: 1.25;
    }
    #grit-chapter-3 .epl-mini {
      display: flex;
      align-items: flex-end;
      gap: 0.45rem;
      height: 46px;
      margin-top: 0.55rem;
      border-bottom: 1px solid #d5d9e0;
    }
    #grit-chapter-3 .epl-mini i {
      display: block;
      flex: 1;
      border-radius: 4px 4px 2px 2px;
    }
    #grit-chapter-3 .epl-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.55rem;
      margin: 0;
    }
    #grit-chapter-3 .epl-panel {
      padding: 0.65rem 0.75rem 0.75rem;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      background: #f4f7ff;
    }
    #grit-chapter-3 .epl-panel.out { border-top-color: #ff7d78; background: #fff6f5; }
    #grit-chapter-3 .epl-panel h5 {
      margin: 0 0 0.45rem;
      color: #001a4f;
      font-size: 0.82rem;
      font-weight: 800;
    }
    #grit-chapter-3 .epl-row {
      display: grid;
      grid-template-columns: 6.7rem 1fr auto;
      gap: 0.45rem;
      align-items: center;
      margin-top: 0.38rem;
    }
    #grit-chapter-3 .epl-row span { font-size: 0.78rem; font-weight: 700; color: #242a2e; }
    #grit-chapter-3 .epl-row b { font-size: 0.78rem; color: #0052f2; }
    #grit-chapter-3 .epl-panel.out .epl-row b { color: #d23b48; }
    #grit-chapter-3 .epl-track {
      height: 8px;
      border-radius: 99px;
      background: #e6eaf2;
      overflow: hidden;
    }
    #grit-chapter-3 .epl-track i {
      display: block;
      height: 100%;
      border-radius: 99px;
      background: #0052f2;
    }
    #grit-chapter-3 .epl-panel.out .epl-track i { background: #ff7d78; }
    #grit-chapter-3 .epl-figure {
      margin: 0.35rem 0 1.15rem;
      padding: 0.35rem 0.4rem 0.15rem;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      background: #f4f7ff;
    }
    #grit-chapter-3 .epl-figure .wog-chart {
      margin: 0;
      border: 0;
      border-radius: 6px;
      background: #fff;
    }
    #grit-chapter-3 .epl-figure .fig-id { margin: 0.4rem 0.15rem 0.35rem; color: #697077; }
    #grit-chapter-3 .table-scroll {
      margin: 0.35rem 0 1rem;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      background: #fff;
      overflow-x: auto;
    }
    #grit-chapter-3 .table-scroll.tone-out { border-top-color: #ff7d78; }
    #grit-chapter-3 .table-scroll.tone-pool { border-top-color: #001a4f; }
    #grit-chapter-3 .wog-results-table { margin: 0; }
    #grit-chapter-3 .wog-results-table caption { padding: 0.65rem 0.75rem 0.35rem; color: #001a4f; }
    #grit-chapter-3 .wog-results-table caption span { color: #697077; }
    #grit-chapter-3 .wog-results-table th {
      background: #f4f7ff;
      color: #001a4f;
      border-color: #d5d9e0;
    }
    #grit-chapter-3 .wog-results-table td { border-color: #e6eaf2; }
    #grit-chapter-3 .wog-results-table td:not(:first-child),
    #grit-chapter-3 .wog-results-table th:not(:first-child) {
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    #grit-chapter-3 .content pre {
      margin: 0.35rem 0 0.85rem;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #001a4f;
      border-radius: 10px;
      background: #f7f8f9;
    }
    @media (max-width: 800px) {
      #grit-chapter-3 .epl-medians,
      #grit-chapter-3 .epl-split { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 560px) {
      #grit-chapter-3 .epl-board,
      #grit-chapter-3 .epl-medians,
      #grit-chapter-3 .epl-split { grid-template-columns: 1fr; }
    }
    #view-intuitive {
      background: #fff;
      padding-bottom: 16rem;
    }
    #view-intuitive .sql-wrap {
      width: min(1120px, calc(100% - 2rem));
      margin: 0.85rem auto 1.25rem;
    }
    #view-intuitive h1 {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      color: #13171a;
    }
    #view-intuitive h1 i,
    #view-intuitive h2 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    .site-nav-link i,
    .tab-cross-site i,
    .sql-tabs button i,
    .who-pills a i,
    .post-index-title i,
    .ref-label i,
    #view-resume .resume h2 i {
      margin-right: 0.35rem;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    .post-index-title i,
    .ref-label i {
      color: #0052f2;
    }
    #view-intuitive .sql-source {
      margin: 0.3rem 0 0.75rem;
      color: #50565b;
      font-size: 0.95rem;
      line-height: 1.4;
    }
    #view-intuitive .sql-nav {
      position: sticky;
      top: 0;
      z-index: 5;
      background: #fff;
      margin: 0 0 0.85rem;
      border-bottom: 1px solid #d5d9e0;
    }
    #view-intuitive .sql-groups,
    #view-intuitive .sql-tabs {
      display: flex;
      flex-wrap: nowrap;
      gap: 0.4rem;
      overflow-x: auto;
      background: #fff;
      padding: 0.4rem 0;
      -webkit-overflow-scrolling: touch;
    }
    #view-intuitive .sql-groups {
      padding-bottom: 0.15rem;
    }
    #view-intuitive .sql-tabs {
      margin: 0;
      border-bottom: 0;
      position: static;
    }
    #view-intuitive .sql-groups button,
    #view-intuitive .sql-tabs button {
      appearance: none;
      flex: 0 0 auto;
      margin: 0;
      padding: 0.35rem 0.7rem;
      border: 1px solid #d5d9e0;
      border-radius: 999px;
      background: #fff;
      color: #13171a;
      font-family: inherit;
      font-size: 0.84rem;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      cursor: pointer;
    }
    #view-intuitive .sql-groups button[aria-selected="true"],
    #view-intuitive .sql-tabs button[aria-selected="true"] {
      color: #fff;
      background: #0052f2;
      border-color: #0052f2;
      font-weight: 800;
    }
    #view-intuitive .sql-panel > h2:first-child {
      margin-top: 0.15rem;
    }
    #view-intuitive .sql-panel[hidden] {
      display: none !important;
    }
    #view-intuitive h2 {
      margin: 1.35rem 0 0.45rem;
      font-size: 1.25rem;
      font-weight: 800;
      line-height: 1.3;
      color: #13171a;
    }
    #view-intuitive p,
    #view-intuitive li {
      font-size: 1.05rem;
      line-height: 1.45;
      color: #13171a;
    }
    #view-intuitive ul {
      margin: 0.4rem 0 0.8rem;
      padding-left: 1.2rem;
    }
    #view-intuitive ol {
      margin: 0.4rem 0 0.8rem;
      padding-left: 1.4rem;
    }
    #view-intuitive li ul {
      margin: 0.15rem 0 0.35rem;
    }
    #view-intuitive .sql-table-wrap {
      overflow-x: auto;
      margin: 0.4rem 0 0.8rem;
    }
    #view-intuitive table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.95rem;
      line-height: 1.4;
    }
    #view-intuitive th,
    #view-intuitive td {
      border: 1px solid #d5d9e0;
      padding: 0.45rem 0.6rem;
      text-align: left;
      vertical-align: top;
      color: #13171a;
    }
    #view-intuitive th {
      background: #f2f4f8;
      font-weight: 800;
    }
    #view-intuitive pre {
      margin: 0.6rem 0 0.85rem;
      padding: 0.9rem 1rem;
      overflow-x: auto;
      background: #f2f4f8;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 0 10px 10px 0;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-size: 0.88rem;
      line-height: 1.45;
      color: #13171a;
      white-space: pre;
    }
    #view-intuitive .sql-note a {
      color: #0052f2;
    }
    #view-intuitive p code {
      font-size: 0.95em;
      color: #13171a;
    }
    #view-intuitive details.sql-drop {
      margin: 0.6rem 0 0.8rem;
    }
    #view-intuitive details.sql-drop summary {
      list-style: none;
      cursor: pointer;
      font-size: 1.05rem;
      line-height: 1.45;
      color: #13171a;
      padding: 0.55rem 0.9rem;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 0 10px 10px 0;
      background: #fff;
    }
    #view-intuitive details.sql-drop summary::-webkit-details-marker {
      display: none;
    }
    #view-intuitive details.sql-drop summary::before {
      content: "\25B8  ";
      color: #0052f2;
    }
    #view-intuitive details.sql-drop[open] summary::before {
      content: "\25BE  ";
    }
    #header .container-fluid.mt-1 {
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }
    #header .who-pills[hidden] { display: none !important; }
    #header .who-pills {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      width: 100%;
      gap: 0.4rem;
      padding: 0 0 0.7rem;
    }
    #header .who-pills a {
      appearance: none;
      flex: 0 0 auto;
      margin: 0;
      padding: 0.35rem 0.7rem;
      border: 1px solid #d5d9e0;
      border-radius: 999px;
      background: #fff;
      color: #13171a;
      font-family: inherit;
      font-size: 0.84rem;
      font-weight: 700;
      line-height: 1.2;
      white-space: nowrap;
      text-decoration: none;
    }
    #header .who-pills a[aria-current="page"] {
      color: #fff;
      background: #0052f2;
      border-color: #0052f2;
      font-weight: 800;
    }
    #view-about {
      background: #fff;
      padding-bottom: 16rem;
    }
    #view-about .about-wrap {
      width: min(1120px, calc(100% - 2rem));
      margin: 0.85rem auto 1.25rem;
    }
    #view-about .about-title-row {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      gap: 0.75rem;
    }
    #view-about .about-title-row > h1 {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      color: #13171a;
    }
    #view-about .about-title-row > h1 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    #view-about .about-title-row .about-story-title {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      color: #13171a;
    }
    #view-about .about-card {
      margin: 0.85rem 0 0;
      padding: 0.95rem 1.1rem;
      background: #fff;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 12px;
    }
    #view-about .about-card + .about-card {
      margin-top: 0.85rem;
    }
    #view-about .about-intro {
      display: block;
    }
    #view-about .about-intro-grid {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1rem 1.15rem;
      align-items: start;
    }
    #view-about .about-intro img {
      width: 7rem;
      height: 7rem;
      object-fit: cover;
      object-position: center 20%;
      border-radius: 50%;
      border: 1px solid #d5d9e0;
    }
    #view-about .about-card.about-intro h2 {
      margin: 1.05rem 0 0.55rem;
      font-size: 1.25rem;
      font-weight: 800;
      color: #13171a;
    }
    #view-about .about-intro .about-role {
      margin: 0.2rem 0 0.55rem;
      color: #50565b;
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.35;
    }
    #view-about .about-kicker {
      margin: 0 0 0.35rem;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #0052f2;
    }
    #view-about .about-card h2 {
      margin: 0 0 0.55rem;
      font-size: 1.25rem;
      font-weight: 800;
      color: #13171a;
    }
    #view-about .about-card h2 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    #view-about .about-card p {
      margin: 0 0 0.75rem;
      color: #13171a;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-about .about-card ul {
      list-style: disc;
      margin: 0 0 0.75rem;
      padding-left: 1.15rem;
      color: #13171a;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-about .about-card li {
      margin: 0 0 0.45rem;
    }
    #view-about .about-card li:last-child {
      margin-bottom: 0;
    }
    #view-about .about-card p:last-child {
      margin-bottom: 0;
    }
    #view-about .about-values {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    #view-about .about-values li {
      position: relative;
      margin: 0 0 0.65rem;
      padding-left: 1.1rem;
      color: #13171a;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-about .about-values li:last-child {
      margin-bottom: 0;
    }
    #view-about .about-values li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.55em;
      width: 0.45rem;
      height: 0.45rem;
      border-radius: 50%;
      background: #0052f2;
    }
    #view-about .about-links {
      margin-top: 0.75rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.55rem 0.85rem;
    }
    #view-about .about-links a {
      color: #004aad;
      font-weight: 700;
      text-decoration: none;
    }
    #view-about .about-links a:hover,
    #view-about .about-links a:focus-visible {
      text-decoration: underline;
    }
    @media (min-width: 860px) {
      #view-about { padding-bottom: 2.5rem; }
    }
    @media (max-width: 560px) {
      #view-about .about-intro-grid {
        grid-template-columns: 1fr;
        justify-items: start;
      }
    }
    #view-experience .about-card {
      margin: 0.85rem 0 0;
      padding: 0.95rem 1.1rem;
      background: #fff;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 12px;
    }
    #view-experience .about-card + .about-card {
      margin-top: 0.85rem;
    }
    #view-experience .about-card h2 {
      margin: 0 0 0.55rem;
      font-size: 1.25rem;
      font-weight: 800;
      color: #13171a;
    }
    #view-experience .about-card h2 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    #view-experience .about-card p {
      margin: 0 0 0.75rem;
      color: #13171a;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-experience .about-card p:last-child { margin-bottom: 0; }
    #view-experience .about-role {
      margin: 0.35rem 0 0;
      color: #50565b;
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.35;
    }
    #view-experience .about-values {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    #view-experience .about-values li {
      position: relative;
      margin: 0 0 0.65rem;
      padding-left: 1.1rem;
      color: #13171a;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-experience .about-values li:last-child { margin-bottom: 0; }
    #view-experience .about-values li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.55em;
      width: 0.45rem;
      height: 0.45rem;
      border-radius: 50%;
      background: #0052f2;
    }
    #view-experience {
      background: #fff;
      padding-bottom: 16rem;
    }
    #view-experience .exp-wrap {
      width: min(1120px, calc(100% - 2rem));
      margin: 0.85rem auto 1.25rem;
    }
    #view-experience .exp-wrap > h1 {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      color: #13171a;
    }
    #view-experience .exp-wrap > h1 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
      vertical-align: -0.08em;
    }
    #view-experience .exp-lead {
      margin: 0.35rem 0 0.85rem;
      color: #50565b;
      font-size: 1rem;
      line-height: 1.5;
    }
    #view-experience .exp-lead a {
      color: #004aad;
      font-weight: 700;
      text-decoration: none;
    }
    #view-experience .exp-lead a:hover,
    #view-experience .exp-lead a:focus-visible {
      text-decoration: underline;
    }
    #view-experience .exp-item {
      display: grid;
      grid-template-columns: 3.5rem 1fr;
      gap: 0.85rem 1rem;
      margin: 0;
      padding: 0.95rem 0;
      border-top: 1px solid #e6eaf0;
      background: transparent;
    }
    #view-experience .about-card + .exp-item,
    #view-experience .exp-item:first-of-type {
      border-top: 0;
      padding-top: 0.85rem;
    }
    #view-experience .exp-logo {
      width: 3.5rem;
      height: 3.5rem;
      object-fit: cover;
      border-radius: 8px;
      border: 1px solid #e6eaf0;
      background: #fff;
    }
    #view-experience .exp-logo.is-dot {
      width: 0.7rem;
      height: 0.7rem;
      margin: 0.55rem auto 0;
      border-radius: 50%;
      border: 0;
      background: #b0b7c3;
      justify-self: center;
    }
    #view-experience .exp-body {
      min-width: 0;
    }
    #view-experience .exp-body > h2 {
      margin: 0;
      font-size: 1.15rem;
      font-weight: 800;
      color: #13171a;
      line-height: 1.3;
    }
    #view-experience .exp-company-title {
      margin: 0;
      font-size: 1.15rem;
      font-weight: 800;
      color: #13171a;
      line-height: 1.3;
    }
    #view-experience .exp-line {
      margin: 0.15rem 0 0;
      color: #13171a;
      font-size: 0.95rem;
      line-height: 1.4;
    }
    #view-experience .exp-line.is-muted {
      color: #50565b;
    }
    #view-experience .exp-nested {
      position: relative;
      margin: 0.85rem 0 0;
      padding-left: 0.15rem;
    }
    #view-experience .exp-nested + .exp-nested {
      margin-top: 1rem;
      padding-top: 0.15rem;
    }
    #view-experience .exp-nested h3 {
      margin: 0;
      font-size: 1.05rem;
      font-weight: 800;
      color: #13171a;
      line-height: 1.3;
    }
    #view-experience .exp-body ul {
      list-style: disc;
      margin: 0.55rem 0 0;
      padding-left: 1.15rem;
    }
    #view-experience .exp-body li {
      margin: 0 0 0.45rem;
      color: #13171a;
      font-size: 0.98rem;
      line-height: 1.5;
    }
    #view-experience .exp-body li:last-child {
      margin-bottom: 0;
    }
    #view-experience .exp-body li b {
      font-weight: 800;
    }
    #view-experience .exp-skills {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.35rem 0.45rem;
      margin: 0.65rem 0 0;
      color: #13171a;
      font-size: 0.92rem;
      font-weight: 700;
      line-height: 1.35;
    }
    #view-experience .exp-skills i {
      color: #50565b;
      font-size: 0.85em;
    }
    @media (min-width: 860px) {
      #view-experience { padding-bottom: 2.5rem; }
    }
    #view-saas {
      background: #fff;
      padding-bottom: 16rem;
    }
    #view-saas .ref-wrap {
      width: min(1120px, calc(100% - 2rem));
      margin: 0.85rem auto 1.25rem;
      container-type: inline-size;
    }
    #view-saas .ref-head h1 {
      margin: 0;
      font-size: 1.7rem;
      font-weight: 800;
      line-height: 1.25;
      color: #13171a;
    }
    #view-saas .ref-head h1 i {
      margin-right: 0.35rem;
      color: #0052f2;
      font-size: 0.92em;
    }
    #view-saas .ref-head p {
      margin: 0.25rem 0 0;
      color: #50565b;
      font-size: 1rem;
    }
    #view-saas .ref-card {
      margin: 0 0 0.85rem;
      padding: 0.95rem 1.1rem 0.15rem;
      background: #fff;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 12px;
    }
    #view-saas .ref-top {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 0.75rem;
    }
    #view-saas .ref-top h2 {
      margin: 0;
      font-size: 1.25rem;
      font-weight: 800;
      color: #13171a;
    }
    #view-saas .ref-top time {
      color: #004aad;
      font-size: 0.92rem;
      font-weight: 700;
      font-variant-numeric: tabular-nums;
      white-space: nowrap;
    }
    #view-saas .ref-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      margin-top: 0.7rem;
    }
    #view-saas .ref-pair > div + div {
      border-left: 1px solid #d5d9e0;
      padding-left: 0.85rem;
    }
    #view-saas .ref-pair b {
      display: block;
      color: #000;
      font-size: 0.92rem;
      line-height: 1.3;
    }
    #view-saas .ref-pair em {
      display: block;
      margin-top: 0.15rem;
      color: #50565b;
      font-style: normal;
      font-size: 0.75rem;
      font-weight: 700;
    }
    #view-saas .ref-role {
      margin: 0.65rem 0 0;
      color: #000;
      font-weight: 700;
      line-height: 1.35;
    }
    #view-saas .ref-card blockquote {
      margin: 0.75rem 0 1rem;
      padding: 0.7rem 0.8rem;
      background: #fff;
      border: 1px solid #e6eaf2;
      border-radius: 8px;
    }
    #view-saas .ref-card blockquote p {
      margin: 0 0 0.65rem;
      color: #242a2e;
      font-size: 1rem;
      line-height: 1.6;
    }
    #view-saas .ref-card blockquote p:last-child { margin-bottom: 0; }
    #view-saas .ref-card blockquote p.ref-cut { color: #50565b; }
    #view-saas .ref-label {
      margin: 1.15rem 0 0.45rem;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #000;
    }
    #view-saas .ref-rel {
      margin: 0.35rem 0 0;
      color: #50565b;
      font-size: 0.92rem;
      line-height: 1.4;
    }
    @media (min-width: 860px) {
      #view-saas { padding-bottom: 2.5rem; }
    }
    @container (max-width: 640px) {
      #view-saas .ref-pair { grid-template-columns: 1fr; }
      #view-saas .ref-pair > div + div {
        border-left: 0;
        border-top: 1px solid #d5d9e0;
        margin-top: 0.55rem;
        padding-top: 0.55rem;
        padding-left: 0;
      }
    }
    @media (max-width: 560px) {
      #view-saas .ref-top { flex-direction: column; align-items: flex-start; gap: 0.15rem; }
    }
    #view-resume { position: relative; background: #fff; padding: 0.85rem 0 2.5rem; }
    #view-resume,
    #view-resume .resume,
    #view-resume .resume h1,
    #view-resume .resume h2,
    #view-resume .resume h3 {
      font-family: Calibri, Carlito, sans-serif;
    }
    #view-resume .resume {
      width: min(860px, calc(100% - 2rem));
      margin: 0 auto;
      color: #000;
    }
    #view-resume .resume h1 {
      margin: 0;
      text-align: center;
      font-size: 26pt;
      font-weight: 700;
      letter-spacing: 0;
      line-height: 1.1;
      color: #000;
    }
    #view-resume .resume-rule {
      border: 0;
      border-top: 1.5px solid #000;
      margin: 0.55rem 0 0.9rem;
    }
    #view-resume .resume h2 {
      margin: 1.05rem 0 0.4rem;
      padding-bottom: 0.12rem;
      border-bottom: 1px solid #000;
      font-size: 13pt;
      font-weight: 700;
      letter-spacing: 0.01em;
      text-transform: uppercase;
      color: #000;
    }
    #view-resume .resume > p,
    #view-resume .skill {
      margin: 0 0 0.35rem;
      line-height: 1.2;
    }
    #view-resume .resume > p:not(.skill):not(.role) { font-size: 10pt; }
    #view-resume .resume > p.skill { font-size: 11.5pt; }
    #view-resume .job-top,
    #view-resume .edu {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 1rem;
    }
    #view-resume .job-top { margin-top: 0.7rem; }
    #view-resume .edu { margin: 0.28rem 0; }
    #view-resume .job-top h3,
    #view-resume .edu b {
      margin: 0;
      font-size: 12pt;
      font-weight: 700;
      color: #000;
    }
    #view-resume .edu { font-size: 12pt; line-height: 1.25; }
    #view-resume .job-top time,
    #view-resume .edu time {
      font-weight: 700;
      color: #000;
      white-space: nowrap;
      font-size: 12pt;
    }
    #view-resume .role {
      margin: 0.05rem 0 0.2rem;
      font-size: 11.5pt;
      font-style: italic;
      font-weight: 400;
      color: #000;
    }
    #view-resume ul { margin: 0 0 0.3rem; padding-left: 1.15rem; }
    #view-resume li { margin: 0.16rem 0; font-size: 11pt; line-height: 1.2; color: #000; }
    #view-resume li strong,
    #view-resume .skill strong { font-weight: 700; color: #000; }
    #view-resume .resume,
    #view-resume .resume h1,
    #view-resume .resume h2,
    #view-resume .resume h3,
    #view-resume .resume p,
    #view-resume .resume li,
    #view-resume .resume span,
    #view-resume .resume strong,
    #view-resume .resume b,
    #view-resume .resume em,
    #view-resume .resume time,
    #view-resume .resume a,
    #view-resume .resume a:hover,
    #view-resume .resume a:visited {
      color: #000 !important;
      -webkit-text-fill-color: #000;
    }
    @media (max-width: 640px) {
      #view-resume .job-top,
      #view-resume .edu { flex-direction: column; align-items: flex-start; gap: 0.05rem; }
      #view-resume .job-top time,
      #view-resume .edu time { white-space: normal; }
    }
    .value {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.24rem 0.5rem;
      border: 1.5px solid #d5d9e0;
      border-radius: 8px;
      background: transparent;
      color: #373d42;
      font-weight: 700;
      font-size: 0.68rem;
      line-height: 1.2;
      letter-spacing: 0.01em;
      white-space: nowrap;
    }
    .obj {
      margin: 0 0 0.08rem;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #001a4f;
    }
    .say {
      margin: -0.4rem 0 0.6rem;
      max-width: 46rem;
      font-size: 0.98rem;
      font-weight: 650;
      line-height: 1.35;
      color: #242a2e;
    }
    .say i {
      margin-right: 0.3rem;
      font-size: 0.92em;
      color: #0052f2;
      vertical-align: -1px;
      font-weight: 400;
    }
    .school-card {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-top: 0.35rem;
      border: 1px solid #d5d9e0;
      border-top: 4px solid var(--fill, #0052f2);
      border-radius: 10px;
      padding: 1.15rem 1.2rem 1.25rem;
      background: var(--wash, #f4f7ff);
    }
    .school-card p {
      margin: 0;
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: #13171a;
      line-height: 1.25;
    }
    .school-card p + p {
      margin-top: 0.45rem;
      font-size: 1.15rem;
      font-weight: 650;
      color: #242a2e;
    }
    .id-block { margin: 0 0 0.55rem; }
    .id-line {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.5fr) auto;
      gap: 0.35rem 0.85rem;
      align-items: baseline;
      margin: 0;
      padding: 0.2rem 0;
      border-bottom: 1px solid #e6eaf2;
      color: #242a2e;
      font-size: 0.82rem;
    }
    .id-line span:last-child {
      color: #001a4f;
      font-weight: 700;
      white-space: nowrap;
      text-align: right;
    }
    .role-block {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
    }
    .role-block > :not(h2) {
      margin-top: 0.35rem;
    }
    .role-block + .role-block {
      margin-top: 0.9rem;
      padding-top: 0.85rem;
      border-top: 1px solid #d5d9e0;
    }
    .role-sum {
      list-style: none;
      margin: 0.15rem 0 0;
      padding: 0;
      display: grid;
      gap: 0.4rem;
      align-content: start;
      min-height: 0;
    }
    .role-sum li {
      margin: 0;
      padding: 0.1rem 0 0.1rem 0.7rem;
      border-left: 3px solid #0052f2;
      font-size: 0.95rem;
      line-height: 1.4;
      color: #13171a;
    }
    .role-sum b { font-weight: 800; }
    .path-row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.45rem;
      margin: 0.15rem 0 0.45rem;
    }
    .path-row span {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      min-height: 2.35rem;
      padding: 0.35rem 0.45rem;
      border: 1px solid #d5d9e0;
      border-radius: 8px;
      border-top: 3px solid var(--fill, #0052f2);
      background: var(--wash, #f4f7ff);
      color: #13171a;
      font-weight: 800;
      font-size: 0.78rem;
      line-height: 1.25;
    }
    .fill-grid {
      flex: 1;
      display: grid;
      gap: 0.55rem;
      min-height: 0;
    }
    .fill-grid.cols-2 { grid-template-columns: 0.9fr 1.1fr; }
    .fill-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
    .fill-grid.report { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr auto; }
    .fill-grid.report .wide { grid-column: 1 / -1; }
    .fill-grid.plan {
      grid-template-columns: 1.15fr 0.85fr;
      grid-template-rows: 1.2fr 0.8fr;
    }
    .fill-grid.plan .bars { grid-column: 1; grid-row: 1; height: 100%; }
    .fill-grid.plan .stat-row { grid-column: 2; grid-row: 1; height: 100%; margin: 0; grid-template-columns: 1fr; }
    .fill-grid.plan .ppt-points { grid-column: 1 / -1; grid-row: 2; }
    .fill-grid > .stat,
    .fill-grid > .bars,
    .fill-grid > .stat-row,
    .fill-grid > .ppt-points,
    .fill-grid > .flow { height: 100%; margin: 0; }
    .fill-grid.cols-2 > .stat-row { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
    .year-stack { flex: 1; min-height: 0; }
    .year-stack > div { flex: 1; display: flex; flex-direction: column; min-height: 0; }
    .year-stack .bars { flex: 1; height: auto; min-height: 92px; }
    .cust-list {
      list-style: none;
      margin: 0.15rem 0 0;
      padding: 0;
      display: grid;
      gap: 0.22rem;
    }
    .cust-list li {
      display: flex;
      justify-content: space-between;
      gap: 0.75rem;
      font-size: 0.92rem;
      font-weight: 650;
      line-height: 1.3;
      color: #13171a;
    }
    .cust-list li span:last-child {
      color: #0052f2;
      font-weight: 800;
      white-space: nowrap;
    }
    .stat-row {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 0.6rem;
      margin-bottom: 0.6rem;
    }
    .stat {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      padding: 0.65rem 0.75rem 0.7rem;
      background: #f4f7ff;
    }
    .stat:nth-child(4n+2) { border-top-color: #6980ff; background: #f3f5ff; }
    .stat:nth-child(4n+3) { border-top-color: #001a4f; background: #f2f4f8; }
    .stat:nth-child(4n+4) { border-top-color: #a373ff; background: #f7f4ff; }
    .stat svg { display: none; }
    .stat:nth-child(4n+2) svg { color: #5065da; }
    .stat:nth-child(4n+3) svg { color: #001a4f; }
    .stat:nth-child(4n+4) svg { color: #7a4fe0; }
    .stat b {
      display: block;
      font-size: 1.45rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: #0052f2;
      line-height: 1;
    }
    .tone-blue { --fill: #0052f2; --ink: #0052f2; --wash: #f4f7ff; }
    .tone-lilac { --fill: #6980ff; --ink: #3d4ec4; --wash: #f3f5ff; }
    .tone-violet { --fill: #a373ff; --ink: #6a3ad4; --wash: #f7f4ff; }
    .tone-navy { --fill: #001a4f; --ink: #001a4f; --wash: #eef1f6; }
    .tone-pink { --fill: #ff7d78; --ink: #d23b48; --wash: #fff4f3; }
    .stat.tone-blue, .stat.tone-lilac, .stat.tone-violet, .stat.tone-navy, .stat.tone-pink {
      border-top-color: var(--fill);
      background: var(--wash);
    }
    .stat.tone-blue b, .stat.tone-blue svg,
    .stat.tone-lilac b, .stat.tone-lilac svg,
    .stat.tone-violet b, .stat.tone-violet svg,
    .stat.tone-navy b, .stat.tone-navy svg,
    .stat.tone-pink b, .stat.tone-pink svg { color: var(--ink); }
    .stat span {
      font-size: 0.8rem;
      line-height: 1.3;
      color: #242a2e;
    }
    .team-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.4rem;
      flex: 0 0 auto;
      margin-top: 0.15rem;
    }
    .team-row span {
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      color: #001a4f;
      background: #f4f7ff;
      border-radius: 10px;
      padding: 0.45rem 0.55rem;
      font-weight: 800;
      text-align: center;
    }
    .team-row span:nth-child(2),
    .team-row span:nth-child(3),
    .team-row span:nth-child(4),
    .team-row span:nth-child(5),
    .team-row span:nth-child(6),
    .team-row span {
      border-top-color: #6980ff;
      background: #f3f5ff;
      color: #24308f;
    }
    .src {
      margin: 0.25rem 0 0;
      font-size: 0.68rem;
      line-height: 1.3;
      color: #697077;
    }
    .bridge {
      margin: 0.35rem 0 0;
      font-size: 0.78rem;
      font-weight: 700;
      line-height: 1.35;
      color: #001a4f;
    }
    .ppt-split {
      flex: 1;
      display: grid;
      grid-template-columns: 0.85fr 1.15fr;
      gap: 0.6rem;
      min-height: 0;
    }
    .ppt-split > .stat-row {
      grid-template-columns: 1fr;
      margin: 0;
    }
    .ppt-split .stat b { font-size: 1.85rem; }
    .ppt-points {
      display: grid;
      gap: 0.35rem;
      min-height: 0;
      align-content: start;
    }
    .ppt-points.cols-3 { grid-template-columns: repeat(3, 1fr); }
    .ppt-points.stack { grid-template-rows: auto; }
    .ppt-points span,
    .fill-grid > span {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      height: auto;
      padding: 0.38rem 0.55rem;
      border: 1px solid #d5d9e0;
      border-radius: 8px;
      border-top: 3px solid var(--fill, #0052f2);
      background: var(--wash, #f4f7ff);
      color: #13171a;
      font-weight: 800;
      font-size: 0.86rem;
      line-height: 1.25;
    }
    .stat-row.grow { flex: 1; align-content: stretch; }
    .stat-row.grow .stat { justify-content: center; }
    .year-stack { display: flex; flex-direction: column; gap: 0.15rem; }
    .year-stack h3 {
      margin: 0.45rem 0 0.3rem;
      font-size: 0.92rem;
      font-weight: 800;
      color: #001a4f;
    }
    .year-stack .bars { height: 112px; }
    .bars .col.is-empty i {
      height: 8px !important;
      background: transparent;
      border: 1.5px dashed var(--fill, #ff7d78);
    }
    .metric-split {
      display: grid;
      grid-template-columns: 1.35fr 0.85fr;
      gap: 0.6rem;
      margin-bottom: 0.6rem;
      align-items: stretch;
    }
    .bars {
      display: flex;
      align-items: flex-end;
      gap: 0.75rem;
      height: 132px;
      margin: 0;
      padding: 0.55rem 0.7rem 0.45rem;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      background: #f4f7ff;
    }
    .bars .col {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: center;
      height: 100%;
      min-width: 0;
    }
    .bars .col i {
      display: block;
      width: min(64px, 70%);
      border-radius: 6px 6px 2px 2px;
      background: var(--fill, #0052f2);
    }
    .bars .col b {
      margin-top: 0.28rem;
      color: var(--ink, #0052f2);
      font-size: 0.92rem;
      line-height: 1;
    }
    .bars .col em {
      margin-top: 0.15rem;
      font-style: normal;
      font-size: 0.68rem;
      line-height: 1.25;
      text-align: center;
      color: #373d42;
      max-width: 100%;
      overflow-wrap: break-word;
    }
    .stock-box {
      flex: 1;
      min-height: 132px;
      background: #f4f7ff;
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      padding: 0.3rem 0.35rem 0.15rem;
    }
    .stock {
      width: 100%;
      height: auto;
      display: block;
    }
    .shared {
      flex: 1;
      min-height: 0;
      background: #fff;
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 10px;
      padding: 0.25rem 0.35rem 0.15rem;
    }
    .shared svg { width: 100%; height: auto; display: block; }
    .stage-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.45rem;
      flex: 1 0 auto;
      min-height: auto;
    }
    .stage-grid article {
      border: 1px solid #d5d9e0;
      border-left: 6px solid #0052f2;
      border-radius: 0 8px 8px 0;
      padding: 0.35rem 0.5rem;
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .stage-grid b {
      color: #0052f2;
      font-size: 0.68rem;
      letter-spacing: 0.04em;
    }
    .stage-grid strong {
      display: block;
      margin-top: 0.08rem;
      font-size: 0.82rem;
      color: #13171a;
    }
    .stage-grid p {
      margin: 0.12rem 0 0;
      font-size: 0.72rem;
      font-weight: 650;
      line-height: 1.25;
      color: #242a2e;
    }
    .pair {
      flex: 0 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.4rem;
      align-items: start;
    }
    .pair .panel {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }
    .pair .panel > .stat,
    .pair .panel > .ppt-points,
    .pair .panel > .flow { flex: 0 0 auto; }
    .flow {
      display: grid;
      grid-template-columns: 1fr auto 1fr auto 1fr;
      gap: 0.35rem;
      align-items: stretch;
      margin: 0 0 0.6rem;
    }
    .flow .step {
      border: 1px solid #d5d9e0;
      border-top: 3px solid #0052f2;
      border-radius: 10px;
      padding: 0.55rem 0.55rem;
      background: #f4f7ff;
      color: #001a4f;
      font-weight: 800;
      font-size: 0.8rem;
      text-align: center;
    }
    .flow .step:nth-child(3) { border-top-color: #a373ff; background: #f7f4ff; color: #6a3ad4; }
    .flow .step:nth-child(5) { border-top-color: #ff7d78; background: #fff4f3; color: #d23b48; }
    .flow .arrow {
      align-self: center;
      color: #0052f2;
      font-weight: 800;
    }
    .impact {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.45rem;
      align-items: stretch;
    }
    .kr-col { display: flex; flex-direction: column; gap: 0.45rem; }
    .impact,
    .role-sum {
      min-width: 0;
    }
    .role-sum li,
    .src {
      overflow-wrap: break-word;
    }
    @container (max-width: 900px) {
      .role-sum li { font-size: 0.76rem; }
    }
    .slots {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      flex: 1 1 auto;
      min-height: 0;
    }
    .slot {
      flex: 1 1 auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin: 0;
      padding: 0.48rem 0.7rem 0.55rem;
      border-left: 6px solid #0052f2;
      background: #fff;
      border-radius: 0 8px 8px 0;
    }
    .slot-label {
      display: block;
      margin: 0 0 0.12rem;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--ink, #3d4ec4);
    }
    .slot p {
      margin: 0;
      font-size: 0.92rem;
      font-weight: 650;
      line-height: 1.3;
      color: #13171a;
    }
    .slot p + p { margin-top: 0.22rem; }
    .slot.align { --rule: #6980ff; --wash: #f3f5ff; --ink: #3d4ec4; }
    .slot.leverage { --rule: #001a4f; --wash: #eef1f6; --ink: #001a4f; }
    .slot.friction { --rule: #ff7d78; --wash: #fff4f3; --ink: #d23b48; }
    .slot.counter { --rule: #373d42; --wash: #f7f8f9; --ink: #373d42; }
    .slot.stretch { --rule: #a373ff; --wash: #f7f4ff; --ink: #6a3ad4; }
    .slot.stretch p:first-of-type {
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: -0.03em;
      color: #13171a;
    }
    @media (max-width: 800px) {
      .id-line { grid-template-columns: 1fr; }
      .id-line span:last-child { text-align: left; }
      .stat-row,
      .team-row,
      .metric-split,
      .flow,
      .ppt-split,
      .ppt-points.cols-3,
      .path-row,
      .pair,
      .fill-grid.cols-2,
      .fill-grid.report,
      .fill-grid.plan { grid-template-columns: 1fr; }
      .fill-grid.plan .bars, .fill-grid.plan .stat-row, .fill-grid.plan .ppt-points, .fill-grid.report .wide { grid-column: auto; grid-row: auto; }
      .flow .arrow { display: none; }
      .stage-grid { grid-template-columns: 1fr; }
    }
  
    .wog-wide { width: min(1160px, calc(100% - 2rem)); margin-left: auto; margin-right: auto; }
    .wog-hero { background: linear-gradient(135deg, #004aad 0%, #12366f 55%, #2d465e 100%); color: #fff; border-radius: 18px; padding: clamp(1.6rem, 4vw, 3rem); box-shadow: 0 14px 34px rgba(0, 45, 110, 0.22); position: relative; overflow: hidden; }
    .wog-hero::after { content: ""; position: absolute; right: -6rem; top: -6rem; width: 18rem; height: 18rem; border-radius: 50%; background: rgba(255, 255, 255, 0.07); }
    .wog-eyebrow { font-family: var(--nav-font, "Poppins", sans-serif); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.78rem; font-weight: 700; opacity: 0.85; margin: 0 0 0.6rem; }
    .wog-hero h2 { font-family: var(--heading-font, "Nunito", sans-serif); font-weight: 800; font-size: clamp(1.7rem, 4vw, 2.7rem); color: #fff; margin: 0 0 0.6rem; line-height: 1.15; }
    .wog-hero .wog-lead { font-size: clamp(1.02rem, 1.6vw, 1.22rem); max-width: 46rem; color: rgba(255, 255, 255, 0.92); margin: 0 0 1.4rem; }
    .wog-hero .wog-by { font-size: 0.92rem; color: rgba(255, 255, 255, 0.8); margin: 0 0 1.4rem; }
    .wog-btn { display: inline-flex; align-items: center; gap: 0.45rem; font-family: var(--nav-font, "Poppins", sans-serif); font-weight: 700; font-size: 0.95rem; padding: 0.7rem 1.3rem; border-radius: 999px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
    .wog-btn:hover { transform: translateY(-1px); }
    .wog-btn-light { background: #fff; color: #004aad !important; box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18); }
    .wog-btn-ghost { border: 1.5px solid rgba(255, 255, 255, 0.7); color: #fff !important; margin-left: 0.5rem; }
    .wog-btn-solid { background: #004aad; color: #fff !important; box-shadow: 0 6px 16px rgba(0, 74, 173, 0.25); }
    .wog-section { margin: 2.6rem auto 0; }
    .wog-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
    .wog-section-head h2 { font-family: var(--heading-font, "Nunito", sans-serif); font-weight: 800; color: #2d465e; font-size: clamp(1.25rem, 2.2vw, 1.6rem); margin: 0; }
    .wog-section-head p, .wog-section-head a { margin: 0; color: #5b6777; font-size: 0.95rem; }
    .wog-section-head a { color: #004aad; font-weight: 700; text-decoration: none; }
    .wog-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
    .wog-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
    .wog-card { background: #fff; border: 1px solid #e3e8f1; border-radius: 14px; box-shadow: 0 6px 18px rgba(18, 38, 70, 0.07); }
    .wog-stat { display: block; padding: 1.35rem 1.4rem 1.25rem; border-top: 5px solid #004aad; text-decoration: none; color: #212529; transition: transform .15s ease, box-shadow .15s ease; }
    .wog-stat:hover, .wog-post:hover, .wog-tile:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(18, 38, 70, 0.13); }
    .wog-stat b { display: block; font-family: var(--heading-font, "Nunito", sans-serif); font-size: clamp(2.3rem, 4vw, 3rem); font-weight: 900; color: #004aad; line-height: 1; }
    .wog-stat strong { display: block; font-family: var(--heading-font, "Nunito", sans-serif); color: #2d465e; font-size: 1.08rem; margin: 0.45rem 0 0.2rem; }
    .wog-stat small { color: #5b6777; font-size: 0.9rem; }
    .wog-quote { margin: 1.1rem 0 0; color: #5b6777; font-style: italic; }
    .wog-post { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: #212529; background: #fff; border: 1px solid #e3e8f1; border-radius: 14px; box-shadow: 0 6px 18px rgba(18, 38, 70, 0.07); transition: transform .15s ease, box-shadow .15s ease; }
    .wog-post-img { display: block; aspect-ratio: 16 / 9; background: #e8f1ff; overflow: hidden; }
    .wog-post-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .wog-post-body { padding: 0.95rem 1.1rem 1.15rem; }
    .wog-post time, .wog-note time { display: block; font-family: var(--nav-font, "Poppins", sans-serif); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #004aad; margin-bottom: 0.35rem; }
    .wog-post strong { font-family: var(--heading-font, "Nunito", sans-serif); font-size: 1.08rem; color: #2d465e; line-height: 1.3; }
    .wog-tile { display: flex; gap: 0.85rem; align-items: flex-start; padding: 1.05rem 1.1rem; text-decoration: none; color: #212529; background: #fff; border: 1px solid #e3e8f1; border-left: 4px solid #004aad; border-radius: 12px; box-shadow: 0 4px 14px rgba(18, 38, 70, 0.06); transition: transform .15s ease, box-shadow .15s ease; }
    .wog-tile.is-field { border-left-color: #8bb4ea; background: #f5f9ff; }
    .wog-tile > i { font-size: 1.35rem; color: #004aad; line-height: 1; margin-top: 0.1rem; }
    .wog-tile strong { display: block; font-family: var(--heading-font, "Nunito", sans-serif); color: #2d465e; font-size: 1.02rem; }
    .wog-tile small { display: block; color: #5b6777; font-size: 0.88rem; margin-top: 0.15rem; }
    .wog-theme { padding: 1.25rem 1.35rem; }
    .wog-theme h3 { font-family: var(--heading-font, "Nunito", sans-serif); font-weight: 800; color: #004aad; font-size: 1.1rem; margin: 0 0 0.35rem; }
    .wog-theme p { margin: 0; color: #3d4756; }
    .wog-band { margin: 2.8rem auto 2.4rem; background: #eef4ff; border: 1px solid #d5e3fa; border-radius: 18px; padding: clamp(1.4rem, 3vw, 2.2rem); display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; flex-wrap: wrap; }
    .wog-band h2 { font-family: var(--heading-font, "Nunito", sans-serif); font-weight: 800; color: #2d465e; font-size: clamp(1.2rem, 2.2vw, 1.55rem); margin: 0 0 0.25rem; }
    .wog-band p { margin: 0; color: #3d4756; }
    .wog-notes { column-count: 3; column-gap: 1.15rem; }
    .wog-notes.is-strip { column-count: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; align-items: start; }
    .wog-notes.is-strip .wog-note { margin: 0; }
    .wog-note { break-inside: avoid; display: inline-block; width: 100%; margin: 0 0 1.15rem; background: #fff; border: 1px solid #e3e8f1; border-radius: 14px; box-shadow: 0 6px 18px rgba(18, 38, 70, 0.07); padding: 1.05rem 1.15rem 0.95rem; position: relative; }
    .wog-note::before { content: ""; position: absolute; left: 0; top: 1rem; bottom: 1rem; width: 3px; border-radius: 2px; background: #8bb4ea; }
    .wog-note p { margin: 0 0 0.55rem; color: #212529; font-size: 1rem; line-height: 1.5; }
    .wog-note a { color: #004aad; font-weight: 700; font-size: 0.86rem; text-decoration: none; }
    .wog-notes-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; color: #3d4756; }
    .wog-notes-intro p { margin: 0; }
    @media (max-width: 991.98px) { .wog-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .wog-notes { column-count: 2; } }
    @media (max-width: 767.98px) {
      .wog-grid-3, .wog-grid-4 { grid-template-columns: 1fr; }
      .wog-notes { column-count: 1; } .wog-notes.is-strip { grid-template-columns: 1fr; }
      .wog-btn-ghost { margin: 0.6rem 0 0; }
      .wog-hero { border-radius: 14px; }
    }
  
    /* nav: every label visible; wrap on desktop, clean scroll on mobile */
    nav[aria-label="Site"] .site-tabs .nav-link { white-space: nowrap; }
    @media (min-width: 992px) {
      nav[aria-label="Site"].overflow-auto { overflow: visible !important; }
      nav[aria-label="Site"] .site-tabs { flex-wrap: wrap !important; justify-content: center; row-gap: 0.6rem; max-width: 1160px; }
      nav[aria-label="Site"] .site-tabs .nav-link { min-width: 0 !important; padding: 0.55rem 1.05rem !important; }
    }
    @media (max-width: 991.98px) {
      nav[aria-label="Site"].justify-content-center { justify-content: flex-start !important; }
      nav[aria-label="Site"] { scroll-padding-inline: 1rem; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
      nav[aria-label="Site"]::-webkit-scrollbar { display: none; }
      nav[aria-label="Site"] .site-tabs { margin: 0 auto; padding-inline: 0.75rem; gap: 0.55rem !important; }
      nav[aria-label="Site"] .site-tabs .nav-link { min-width: 0 !important; padding: 0.5rem 0.9rem !important; }
    }
    /* view titles = nav labels */
    .wog-view-head { width: min(1160px, calc(100% - 2rem)); margin: 1.1rem auto 0.9rem; }
    .wog-view-title { font-family: var(--heading-font, "Nunito", sans-serif); font-weight: 800; color: #2d465e; font-size: clamp(1.6rem, 3.2vw, 2.2rem); margin: 0; letter-spacing: 0.2px; }
    .wog-view-title::after { content: ""; display: block; width: 3.25rem; height: 4px; border-radius: 2px; background: #004aad; margin-top: 0.45rem; }
  
/* forecast posts index + blog-view teaser */
.fp-wrap { width: min(1120px, calc(100% - 2rem)); max-width: none; margin: 0 auto 2rem; padding: 0; }
.fp-title { font-weight: 800; color: #13171a; font-size: 1.35rem; margin: 0.4rem 0 1rem; }
.fp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; }
.fp-card { display: flex; flex-direction: column; border: 1px solid #e6eaf0; border-radius: 10px; overflow: hidden; background: #fff; color: #13171a; text-decoration: none; transition: box-shadow .15s; }
.fp-card:hover { box-shadow: 0 6px 18px rgba(0,74,173,.12); color: #004aad; }
.fp-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: top; background: #f4f7fb; }
.fp-card .fp-copy { padding: .7rem .85rem .85rem; }
.fp-card strong { display: block; font-size: .98rem; line-height: 1.3; }
.fp-card time { display: block; font-size: .82rem; color: #5b6b7c; margin-top: .3rem; }
