.org-page {
      padding-top: 3rem;
    }

    .org-page .content-block {
      margin-bottom: 0;
    }

    .org-nav,
    .org-summary,
    .department-grid,
    .mechanism-grid,
    .risk-grid,
    .project-flow-grid,
    .flow-line {
      display: grid;
      gap: 1rem;
    }

    .org-nav {
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      margin-bottom: 2rem;
    }

    .org-nav a {
      display: block;
      padding: 1rem 1.1rem;
      color: var(--text);
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
    }

    .org-nav strong,
    .org-summary strong {
      display: block;
      color: var(--primary);
      margin-bottom: 0.2rem;
    }

    .org-nav span,
    .org-summary span {
      display: block;
      color: var(--muted);
      font-size: 0.86rem;
      line-height: 1.55;
    }

    .org-summary {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
      align-items: stretch;
      margin-bottom: 1.5rem;
    }

    .org-summary div,
    .dept-card,
    .mechanism-card,
    .risk-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      box-shadow: var(--shadow-sm);
    }

    .org-summary div {
      padding: 1rem 1.1rem;
      min-height: 110px;
    }

    .org-summary strong {
      color: var(--accent);
      font-family: var(--font-serif);
      font-size: 2rem;
      line-height: 1;
    }

    .department-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      align-items: stretch;
    }

    .department-grid .dept-card:last-child {
      grid-column: 1 / -1;
    }

    .dept-card,
    .mechanism-card,
    .risk-card {
      height: 100%;
      padding: 1.05rem;
    }

    .dept-card header {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      align-items: start;
      margin-bottom: 0.85rem;
    }

    .dept-card h3,
    .mechanism-card h3,
    .risk-card h3 {
      margin: 0;
      color: var(--primary);
      font-size: 1.08rem;
    }

    .dept-card .badge,
    .mechanism-card .badge,
    .risk-card .badge {
      display: inline-flex;
      align-items: center;
      min-height: 24px;
      padding: 0 0.55rem;
      color: var(--accent);
      background: var(--accent-soft);
      border-radius: 999px;
      font-size: 0.78rem;
      font-weight: 700;
      white-space: nowrap;
    }

    .dept-card p,
    .mechanism-card p,
    .risk-card p {
      margin: 0.55rem 0 0;
      color: var(--text);
      line-height: 1.6;
    }

    .dept-card ul,
    .risk-card ul {
      margin: 0.8rem 0 0;
      padding-left: 1.1rem;
    }

    .dept-card li,
    .risk-card li {
      margin-bottom: 0.35rem;
    }

    .org-figure-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
      margin-top: 1.25rem;
    }

    .org-figure-row .case-card {
      margin: 0;
      border-radius: var(--radius);
    }

    .org-figure-row img {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: contain;
      background: #fffaf2;
      display: block;
    }

    .org-figure-row figcaption {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 58px;
      text-align: center;
    }

    .flow-line {
      grid-template-columns: repeat(6, minmax(0, 1fr));
      align-items: stretch;
      margin: 1.25rem 0;
    }

    .flow-line span {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 56px;
      padding: 0.8rem;
      color: var(--primary);
      background: var(--accent-soft);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      font-weight: 700;
      text-align: center;
    }

    .org-page .mechanism-grid {
      display: grid;
      grid-template-columns: minmax(220px, 1fr) minmax(260px, 0.95fr) minmax(220px, 1fr);
      grid-template-areas:
        ". task ."
        "init image joint"
        "risk feedback .";
      align-items: center;
      gap: 1rem;
      min-height: 0;
      margin-top: 1.25rem;
    }

    .org-page .mechanism-grid > .mechanism-card {
      grid-column: auto;
    }

    .org-page .mechanism-card:not(.mechanism-image-card) {
      z-index: 2;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: start;
      align-content: start;
      column-gap: 0.7rem;
      row-gap: 0.65rem;
      width: auto;
      height: auto;
      min-height: 0;
      transform: none;
    }

    .org-page .mechanism-card--task {
      grid-area: task;
      grid-column: 2 / 3;
      grid-row: 1 / 2;
    }

    .org-page .mechanism-card--init {
      grid-area: init;
      grid-column: 1 / 2;
      grid-row: 2 / 3;
    }

    .org-page .mechanism-card--joint {
      grid-area: joint;
      grid-column: 3 / 4;
      grid-row: 2 / 3;
    }

    .org-page .mechanism-card--risk {
      grid-area: risk;
      grid-column: 1 / 2;
      grid-row: 3 / 4;
    }

    .org-page .mechanism-card--feedback {
      grid-area: feedback;
      grid-column: 2 / 3;
      grid-row: 3 / 4;
    }

    .org-page .mechanism-image-card {
      grid-area: image;
      grid-column: 2 / 3;
      grid-row: 2 / 3;
      z-index: 1;
      width: 100%;
      max-width: 360px;
      justify-self: center;
      align-self: center;
      height: auto;
      min-height: 0;
      margin: 0;
      padding: 0;
      overflow: hidden;
    }

    .org-page .mechanism-image-card img {
      display: block;
      width: 100%;
      height: auto;
      min-height: 0;
      max-height: 320px;
      object-fit: contain;
      background: #fffaf2;
    }

    .org-page .mechanism-card:not(.mechanism-image-card) p {
      grid-column: 1 / -1;
      margin-top: 0;
    }

    .risk-grid {
      grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
      align-items: start;
    }

    .project-flow-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      align-items: stretch;
      margin-top: 1rem;
    }

    .org-page .project-flow-grid > li {
      min-height: 150px;
      margin-bottom: 0;
      padding: 1.15rem 1.2rem 1.2rem 4.35rem;
      line-height: 1.8;
    }

    .org-page .project-flow-grid > li .num {
      left: 1.2rem;
      top: 1.22rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.25rem;
      height: 2.25rem;
      color: var(--primary);
      background: var(--accent-soft);
      border: 1px solid var(--border);
      border-radius: 999px;
      line-height: 1;
    }

    .org-page .project-flow-grid > li strong {
      color: var(--primary);
      font-weight: 700;
    }

    .compact-table td,
    .compact-table th {
      vertical-align: top;
    }

    .member-affiliation {
      font-size: 0.85rem;
      color: var(--muted);
      margin: 0.5rem 0 0;
    }

    .footer-next {
      color: var(--accent);
    }

    @media (max-width: 960px) {
      .org-summary,
      .department-grid,
      .org-figure-row,
      .risk-grid,
      .project-flow-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .org-page .mechanism-grid {
        display: grid;
        grid-template-columns: minmax(190px, 1fr) minmax(220px, 0.95fr) minmax(190px, 1fr);
        grid-template-areas:
          ". task ."
          "init image joint"
          ". risk feedback";
        min-height: 0;
      }

      .org-page .mechanism-image-card,
      .org-page .mechanism-card:not(.mechanism-image-card) {
        position: static;
        width: auto;
        transform: none;
      }

      .org-page .mechanism-card--task {
        grid-area: task;
        grid-column: 2 / 3;
        grid-row: 1 / 2;
      }

      .org-page .mechanism-card--init {
        grid-area: init;
        grid-column: 1 / 2;
        grid-row: 2 / 3;
      }

      .org-page .mechanism-card--joint {
        grid-area: joint;
        grid-column: 3 / 4;
        grid-row: 2 / 3;
      }

      .org-page .mechanism-card--risk {
        grid-area: risk;
        grid-column: 1 / 2;
        grid-row: 3 / 4;
      }

      .org-page .mechanism-card--feedback {
        grid-area: feedback;
        grid-column: 2 / 3;
        grid-row: 3 / 4;
      }

      .org-page .mechanism-image-card {
        grid-area: image;
        grid-column: 2 / 3;
        grid-row: 2 / 3;
        width: 100%;
        max-width: 300px;
        justify-self: center;
      }

      .org-page .mechanism-image-card img {
        height: auto;
        min-height: 0;
      }

      .org-page .mechanism-card--task,
      .org-page .mechanism-card--init,
      .org-page .mechanism-card--joint,
      .org-page .mechanism-card--risk,
      .org-page .mechanism-card--feedback {
        max-width: none;
      }

    }

    @media (max-width: 760px) {
      .org-page .mechanism-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
          "image image"
          "task task"
          "init joint"
          "risk feedback";
      }

      .org-page .mechanism-image-card {
        grid-column: 1 / -1;
        grid-row: 1;
      }

      .org-page .mechanism-card--task {
        grid-column: 1 / -1;
        grid-row: 2;
      }

      .org-page .mechanism-card--init {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
      }

      .org-page .mechanism-card--joint {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
      }

      .org-page .mechanism-card--risk {
        grid-column: 1 / 2;
        grid-row: 4 / 5;
      }

      .org-page .mechanism-card--feedback {
        grid-column: 2 / 3;
        grid-row: 4 / 5;
      }
    }

    @media (max-width: 640px) {
      .org-page {
        padding-top: 2rem;
      }

      .org-summary,
      .department-grid,
      .org-figure-row,
      .risk-grid,
      .project-flow-grid,
      .flow-line,
      .mechanism-grid {
        grid-template-columns: 1fr;
      }

      .org-page .mechanism-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
          "image"
          "task"
          "init"
          "joint"
          "risk"
          "feedback";
      }

      .org-page .mechanism-image-card {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
      }

      .org-page .mechanism-card--task {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
      }

      .org-page .mechanism-card--init {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
      }

      .org-page .mechanism-card--joint {
        grid-column: 1 / 2;
        grid-row: 4 / 5;
      }

      .org-page .mechanism-card--risk {
        grid-column: 1 / 2;
        grid-row: 5 / 6;
      }

      .org-page .mechanism-card--feedback {
        grid-column: 1 / 2;
        grid-row: 6 / 7;
      }

      .mechanism-card,
      .department-grid .dept-card:last-child {
        grid-column: auto;
      }

      .org-page .project-flow-grid > li {
        min-height: 0;
        padding-left: 4.15rem;
      }
    }

    @media (min-width: 761px) {
      .org-page .mechanism-grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        grid-template-areas:
          ". . task task . ."
          "init init image image joint joint"
          ". risk risk feedback feedback .";
        align-items: stretch;
      }

      .org-page .mechanism-card--task {
        grid-area: 1 / 3 / 2 / 5 !important;
        justify-self: center;
        width: auto;
      }

      .org-page .mechanism-card--init {
        grid-area: 2 / 1 / 3 / 3 !important;
      }

      .org-page .mechanism-image-card {
        grid-area: 2 / 3 / 3 / 5 !important;
        align-self: stretch;
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: none;
      }

      .org-page .mechanism-card--joint {
        grid-area: 2 / 5 / 3 / 7 !important;
      }

      .org-page .mechanism-card--risk {
        grid-area: 3 / 2 / 4 / 4 !important;
      }

      .org-page .mechanism-card--feedback {
        grid-area: 3 / 4 / 4 / 6 !important;
      }

      .org-page .mechanism-image-card img {
        height: 100%;
        max-height: none;
        object-fit: contain;
      }
    }
