/* ==========================================================================
   Greenhills — Mandatory Public Disclosure
   Page-scoped, built from the tokens in styles.css. Same responsive strategy
   as the fee tables: one semantic table that becomes stacked cards on phones,
   with explicit ARIA roles restoring the semantics display:block strips.
   ========================================================================== */

.page-hero--disclosure { --hero-image: url('/assets/management/about-banner.jpg'); }

.disc-intro { max-width: 780px; margin: 0 auto; text-align: center; }
.disc-intro p { color: var(--muted); font-size: var(--text-base); line-height: var(--lh-body); margin: 0; }

.disc-card {
  width: min(1080px, 100%);
  margin: 0 auto;
  background: var(--warm-white);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(8, 27, 49, .06);
  overflow: hidden;
}

.disc-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.5;
}
.disc-table caption {
  caption-side: top;
  text-align: left;
  padding: 1.1rem 1.15rem .4rem;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue-700);
}
.disc-table th,
.disc-table td {
  padding: .85rem 1.15rem;
  text-align: left;
  border-bottom: 1px solid rgba(8, 27, 49, .09);
  vertical-align: top;
}
.disc-table thead th {
  background: var(--navy-950);
  color: #fff;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  border-bottom: 0;
  white-space: nowrap;
}
.disc-table tbody th[scope="row"] {
  font-weight: 700;
  color: var(--navy-850);
  width: 3.5rem;
  white-space: nowrap;
}
.disc-table tbody tr:nth-child(even) { background: var(--mist); }
.disc-table tbody tr:last-child th,
.disc-table tbody tr:last-child td { border-bottom: 0; }
.disc-doc-col { width: 13rem; }

/* Document link — reads as an action, and states its own file type so the
   label is meaningful out of context (and to a screen reader). */
.disc-doc {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .4rem .7rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--blue-700);
  font-weight: 700;
  font-size: var(--text-xs);
  white-space: nowrap;
}
.disc-doc:hover { border-color: var(--blue-700); background: var(--blue-100); }
.disc-doc:focus-visible { outline: 2px solid var(--accent-soft); outline-offset: 2px; }
.disc-doc svg { flex: none; }

.disc-pending {
  color: var(--muted);
  font-size: var(--text-xs);
  font-style: italic;
}

.disc-note {
  width: min(1080px, 100%);
  margin: 1.25rem auto 0;
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  padding: .95rem 1.1rem;
  background: var(--blue-100);
  border-left: 3px solid var(--blue-700);
  border-radius: 6px;
  color: var(--muted);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  line-height: 1.55;
}
.disc-note svg { flex: none; margin-top: .15rem; color: var(--blue-700); }
.disc-note a { color: var(--blue-700); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ── Phone: rows become cards ─────────────────────────────────────────── */
@media (max-width: 760px) {
  .disc-card { background: none; border: 0; box-shadow: none; overflow: visible; }

  .disc-table,
  .disc-table tbody,
  .disc-table tr,
  .disc-table th,
  .disc-table td { display: block; }

  .disc-table caption {
    display: block;
    width: 100%;
    padding: 0 0 .75rem;
    letter-spacing: .04em;
    text-transform: none;
    font-size: var(--text-sm);
  }
  .disc-table thead {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
  .disc-table tbody tr {
    background: var(--warm-white) !important;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(8, 27, 49, .05);
    margin-bottom: .8rem;
    padding: .9rem 1rem;
  }
  .disc-table tbody tr:last-child { margin-bottom: 0; }
  .disc-table tbody th[scope="row"] {
    width: auto;
    padding: 0 0 .3rem;
    border-bottom: 0;
    color: var(--blue-700);
    font-size: var(--text-xs);
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .disc-table tbody td { padding: 0; border-bottom: 0; }
  .disc-table tbody td:first-of-type { margin-bottom: .7rem; }
  .disc-doc-col { width: auto; }
}
