    .legacy-content {
      color: #3d3135;
      font-size: 0.95rem;
      line-height: 1.8;
      word-break: keep-all;
    }

    .legacy-content table {
      width: 100% !important;
      max-width: 100%;
      border-collapse: collapse;
      margin: 0 0 1rem;
      background: #fff;
    }

    .legacy-content td,
    .legacy-content th {
      border: 1px solid #e8dfd0;
      padding: 0.55rem 0.65rem;
      vertical-align: top;
    }

    .legacy-content img {
      max-width: 100%;
      height: auto;
      border-radius: 0.375rem;
      display: block;
    }

    .legacy-content p {
      margin: 0.45rem 0;
    }

    .legacy-content a {
      color: #8B2E49;
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 0.18em;
    }

    .legacy-content ul,
    .legacy-content ol {
      margin: 0.6rem 0 1rem;
      padding-left: 1.2rem;
    }

    .reco-stack {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .reco-section {
      border: 1px solid #ecdccb;
      border-radius: 0.9rem;
      background: #fff;
      padding: 1rem;
      box-shadow: 0 8px 20px rgba(44, 36, 38, 0.06);
    }

    .reco-title {
      font-family: 'Noto Serif KR', serif;
      font-size: 1.05rem;
      line-height: 1.35;
      font-weight: 700;
      color: #8B2E49;
      margin: 0 0 0.7rem;
      padding-bottom: 0.45rem;
      border-bottom: 1px solid #f0e3cf;
    }

    .reco-subtitle {
      font-size: 0.9rem;
      color: #6a5a5f;
      margin: 0 0 0.7rem;
    }

    .reco-profile-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 0.9rem;
    }

    .reco-profile-card {
      border: 1px solid #ecdccb;
      border-radius: 0.75rem;
      overflow: hidden;
      background: #fff;
    }

    .reco-profile-card img {
      width: 100%;
      aspect-ratio: 3 / 4;
      height: auto;
      object-fit: contain;
      object-position: center top;
      background: #f5f0e7;
      display: block;
    }

    .reco-profile-grid-priest .reco-profile-card img {
      aspect-ratio: auto;
      height: 430px;
      object-fit: cover;
      object-position: center 18%;
      background: #efe8dc;
    }

    .reco-profile-body {
      padding: 0.75rem;
    }

    .reco-name {
      font-weight: 700;
      color: #3a2f33;
      font-size: 0.95rem;
      margin: 0 0 0.2rem;
    }

    .reco-role {
      color: #8B2E49;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      margin: 0;
    }

    .reco-chip {
      display: inline-block;
      padding: 0.16rem 0.5rem;
      border-radius: 9999px;
      background: #f8edf0;
      border: 1px solid #ead1d8;
      color: #8B2E49;
      font-size: 0.74rem;
      font-weight: 700;
      margin-bottom: 0.45rem;
    }

    .reco-list {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    .reco-list-item {
      border: 1px solid #ebdfd2;
      border-radius: 0.75rem;
      background: #fff;
      padding: 0.75rem 0.85rem;
    }

    .reco-list-head {
      display: flex;
      flex-wrap: wrap;
      gap: 0.4rem 0.55rem;
      align-items: center;
      margin: 0 0 0.35rem;
      color: #3a2f33;
      font-weight: 700;
      font-size: 0.92rem;
    }

    .reco-list-meta {
      color: #6b5b60;
      font-size: 0.83rem;
      margin: 0;
    }

    .reco-table-wrap {
      overflow-x: auto;
      border: 1px solid #eadfcd;
      border-radius: 0.75rem;
      background: #fff;
    }

    .reco-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 540px;
    }

    .reco-table th,
    .reco-table td {
      padding: 0.55rem 0.65rem;
      border-bottom: 1px solid #f0e5d8;
      border-right: 1px solid #f5ece0;
      vertical-align: top;
      font-size: 0.84rem;
      line-height: 1.55;
      color: #3f3438;
    }

    .reco-table th:last-child,
    .reco-table td:last-child {
      border-right: none;
    }

    .reco-table tr:last-child td {
      border-bottom: none;
    }

    .reco-table thead th {
      background: #f9f3e8;
      color: #6b4f57;
      font-weight: 700;
    }

    .reco-kv {
      display: grid;
      grid-template-columns: 140px 1fr;
      gap: 0.6rem;
      align-items: start;
      padding: 0.75rem 0;
      border-bottom: 1px solid #f1e6d9;
    }

    .reco-kv:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    .reco-kv-key {
      color: #8B2E49;
      font-weight: 700;
      font-size: 0.85rem;
    }

    .reco-kv-val {
      color: #43373b;
      font-size: 0.9rem;
      line-height: 1.65;
    }

    .reco-photo {
      border: 1px solid #ecdccb;
      border-radius: 0.9rem;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 8px 20px rgba(44, 36, 38, 0.06);
    }

    .reco-photo img {
      width: 100%;
      height: auto;
      max-height: 820px;
      object-fit: contain;
      background: #f5f0e7;
      display: block;
    }

    .reco-person-list {
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }

    .reco-person-card {
      display: grid;
      grid-template-columns: 120px minmax(0, 1fr);
      gap: 0.9rem;
      padding: 0.8rem;
      border: 1px solid #ebdfd2;
      border-radius: 0.75rem;
      background: #fff;
    }

    .reco-person-photo {
      width: 120px;
      aspect-ratio: 3 / 4;
      overflow: hidden;
      border-radius: 0.65rem;
      border: 1px solid #e9dccb;
      background: #f5efe4;
    }

    .reco-person-photo img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center top;
      background: #f5f0e7;
      display: block;
    }

    .reco-person-body {
      min-width: 0;
    }

    .reco-person-head {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.45rem 0.55rem;
      margin: 0 0 0.4rem;
    }

    .reco-person-meta {
      color: #6d555d;
      font-size: 0.82rem;
      font-weight: 600;
      margin: 0 0 0.45rem;
    }

    .reco-person-lines {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .reco-person-lines li {
      padding-top: 0.35rem;
      border-top: 1px solid #f3e8da;
      color: #44373c;
      font-size: 0.83rem;
      line-height: 1.55;
    }

    .reco-person-lines li:first-child {
      padding-top: 0;
      border-top: none;
    }

    .reco-note-box {
      border-radius: 0.7rem;
      border: 1px dashed #e3cfd6;
      background: #fff8fa;
      color: #7b4a5b;
      font-size: 0.84rem;
      padding: 0.7rem 0.85rem;
    }

    .reco-board-list {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.55rem;
    }

    .reco-board-item {
      border: 1px solid #ebdfd2;
      border-radius: 0.7rem;
      background: #fff;
      padding: 0.7rem 0.8rem;
    }

    .reco-board-head {
      display: flex;
      align-items: flex-start;
      gap: 0.45rem;
      min-width: 0;
    }

    .reco-board-link {
      color: #372d31;
      font-size: 0.9rem;
      font-weight: 600;
      line-height: 1.45;
      text-decoration: none;
      min-width: 0;
      flex: 1;
      overflow: visible;
      text-overflow: clip;
      display: block;
      white-space: normal;
      overflow-wrap: anywhere;
    }

    .reco-board-link:hover {
      color: #8B2E49;
      text-decoration: underline;
      text-underline-offset: 0.14em;
    }

    .reco-board-meta {
      margin: 0.28rem 0 0;
      color: #6d5b5f;
      font-size: 0.78rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.35rem;
    }

    .reco-board-date {
      font-weight: 700;
      color: #8B2E49;
    }

    .reco-board-groups {
      display: flex;
      flex-direction: column;
      gap: 0.7rem;
    }

    .reco-board-group {
      border: 1px solid #ebdfd2;
      border-radius: 0.75rem;
      background: #fffcf9;
      padding: 0.7rem 0.75rem;
    }

    .reco-board-group-title {
      margin: 0 0 0.45rem;
      font-size: 0.84rem;
      font-weight: 700;
      color: #8B2E49;
    }

    .reco-board-actions {
      margin-top: 0.6rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
    }

    .reco-board-action {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.34rem 0.68rem;
      border-radius: 9999px;
      border: 1px solid #dcb9c5;
      background: #fff6f9;
      color: #8B2E49;
      font-size: 0.77rem;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.2s ease;
    }

    .reco-board-action:hover {
      background: #8B2E49;
      border-color: #8B2E49;
      color: #fff;
    }

    .reco-board-switch {
      margin-top: 0.25rem;
      display: flex;
      flex-wrap: wrap;
      gap: 0.45rem;
    }

    .reco-board-tab {
      border: 1px solid #e2d2c0;
      background: #f9f3ea;
      color: #5a4a4f;
      border-radius: 0.65rem;
      font-size: 0.82rem;
      font-weight: 700;
      padding: 0.42rem 0.72rem;
      line-height: 1;
      transition: all 0.2s ease;
      cursor: pointer;
    }

    .reco-board-tab:hover {
      border-color: #c79aac;
      color: #8B2E49;
    }

    .reco-board-tab.is-active {
      background: #8B2E49;
      border-color: #8B2E49;
      color: #fff;
      box-shadow: 0 8px 18px rgba(139, 46, 73, 0.2);
    }

    .reco-board-embed {
      margin-top: 0.7rem;
      border: 1px solid #e9deca;
      border-radius: 0.9rem;
      overflow: hidden;
      background: #fff;
    }

    .reco-board-iframe {
      display: block;
      width: 100%;
      height: 980px;
      border: 0;
      background: #fff;
    }

    .org-chart {
      border: 1px solid #e8ddcb;
      border-radius: 0.9rem;
      background: #fffdf9;
      padding: 0.95rem;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }

    .org-node-row {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 0.5rem;
    }

    .org-node {
      border: 1px solid #d9c0c8;
      border-radius: 0.7rem;
      background: #fff;
      color: #5a3b45;
      font-size: 0.83rem;
      font-weight: 700;
      line-height: 1.35;
      text-align: center;
      padding: 0.48rem 0.55rem;
    }

    .org-node-chief {
      background: #8B2E49;
      border-color: #8B2E49;
      color: #fff;
      font-size: 0.92rem;
      width: fit-content;
      min-width: 140px;
      margin: 0 auto;
      box-shadow: 0 8px 18px rgba(139, 46, 73, 0.2);
    }

    .org-node-primary {
      border-color: #bc97a4;
      background: #f9eef2;
      color: #8B2E49;
    }

    .org-flow-wrap {
      border: 1px dashed #e3d2bf;
      border-radius: 0.75rem;
      background: #fff;
      padding: 0.65rem 0.75rem;
    }

    .org-flow-title {
      margin: 0 0 0.45rem;
      color: #8B2E49;
      font-size: 0.82rem;
      font-weight: 700;
    }

    .org-flow {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 0.35rem;
    }

    .org-node-inline {
      min-width: 72px;
      flex: 0 0 auto;
    }

    .org-flow-arrow {
      color: #9f7e8b;
      font-size: 0.86rem;
      font-weight: 700;
    }

    .org-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.65rem;
    }

    .org-card {
      border: 1px solid #ecdccb;
      border-radius: 0.75rem;
      background: #fff;
      padding: 0.65rem 0.7rem;
    }

    .org-card-title {
      margin: 0;
      color: #8B2E49;
      font-size: 0.86rem;
      font-weight: 700;
      line-height: 1.35;
    }

    .org-list {
      margin: 0.45rem 0 0;
      padding-left: 1rem;
      display: flex;
      flex-direction: column;
      gap: 0.2rem;
      color: #4f4046;
      font-size: 0.81rem;
      line-height: 1.45;
    }

    .org-two-col {
      margin-top: 0.52rem;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.5rem;
    }

    .org-two-col-panel {
      border: 1px solid #efe3d4;
      border-radius: 0.65rem;
      background: #fffcf9;
      padding: 0.45rem 0.5rem;
    }

    .org-two-col-title {
      margin: 0;
      color: #7c5f66;
      font-size: 0.75rem;
      font-weight: 700;
    }

    @media (max-width: 640px) {
      .reco-kv {
        grid-template-columns: 1fr;
        gap: 0.35rem;
      }

      .reco-person-card {
        grid-template-columns: 1fr;
      }

      .reco-person-photo {
        width: 100%;
        max-width: 220px;
        margin: 0 auto;
      }

      .reco-profile-grid-priest .reco-profile-card img {
        height: 320px;
      }

      .reco-board-iframe {
        height: 760px;
      }

      .org-node-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .org-grid {
        grid-template-columns: 1fr;
      }

      .org-two-col {
        grid-template-columns: 1fr;
      }
    }
