/* Clusters: culture pairs as index entries. Framed plates, never a ranking score. */
.plate { margin:0; min-width:0; display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--rule); }
.plate-mount { flex:1 1 auto; min-height:0; display:flex; align-items:center; justify-content:center; padding:13px; background:#fdfbf6; }
.plate-mount img { width:100%; height:100%; object-fit:contain; }
.plate .text-specimen { height:100%; padding:16px 15px; justify-content:flex-start; }
.plate .text-specimen span { font-size:0.75rem; }
.plate .text-specimen p { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; font-size:0.95rem; line-height:1.35; margin:10px 0 0; }
.plate .text-specimen i { display:none; }
.line-plates .text-specimen p,.flagship-plates .text-specimen p { -webkit-line-clamp:9; font-size:1.25rem; }
.cluster-plates .text-specimen { padding:14px 15px; }
.cluster-plates .text-specimen p { -webkit-line-clamp:5; font-size:0.9rem; }
.plate-empty .plate-mount i { font:3rem var(--serif); color:#cfc4ae; }
.plate figcaption { border-top:1px solid var(--rule); padding:11px 14px; font:0.75rem/1.65 var(--mono); color:var(--faint); }
.plate figcaption b { display:block; font:0.875rem var(--mono); font-weight:500; color:var(--ink); margin-bottom:4px; }
.plate-join { align-self:center; text-align:center; font:1.15rem var(--serif); color:var(--faint); }

.cluster-crumb { padding-top:30px; }
.cluster-crumb .back-link { margin:0; }
.cluster-crumb+.catalogue-intro { padding-top:34px; }

/* The densest cluster, given the weight of a plate wall. */
.cluster-flagship { background:var(--cat-green); color:#ece6d8; padding-block:66px; }
.flagship-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:66px; align-items:center; }
.flagship-plates { display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:stretch; }
.flagship-plates .plate { border-color:#43574c; }
.flagship-plates .plate-mount { height:400px; }
.flagship-plates figcaption { background:#22342d; border-top-color:#43574c; color:#bcc5b6; }
.flagship-plates figcaption b { color:#f1ece0; }
.flagship-plates .plate-join { color:#8d9c8b; }
.flagship-copy .micro { color:var(--copper-lit); }
.flagship-copy h2 { font-size:clamp(2.6rem,3.6vw,3.5rem); line-height:1.02; letter-spacing:-.03em; margin:16px 0 22px; color:#f7f2e6; }
.flagship-copy p { font-size:1.1rem; line-height:1.52; color:#d8d3c3; margin:0 0 16px; }
.flagship-note { font-size:1rem !important; color:#c2c8b8 !important; border-top:1px solid #435348; padding-top:16px; }
.cluster-flagship .cluster-ledger li { border-left-color:var(--copper-lit); }
.cluster-flagship .cluster-ledger b { color:#f3eee2; }
.cluster-flagship .cluster-ledger span { color:#b3bcaa; }
.cluster-flagship .quiet-action { background:var(--copper); color:#fff; margin-top:26px; }
.cluster-flagship .quiet-action:hover { background:#fdfbf6; color:var(--ink); }
.cluster-flagship .feature-secondary { color:#cdd4c6; }

/* A sparse table of resemblances. */
.cluster-field,.cluster-index { padding-block:60px; border-top:1px solid var(--rule); }
.cluster-matrix { border-collapse:collapse; margin:6px 0 0; }
.cluster-matrix thead td { border:0; }
.cluster-matrix thead th { height:168px; padding:0 0 9px; vertical-align:bottom; font-weight:400; }
.cluster-matrix thead th span { display:block; writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; font:0.75rem var(--mono); color:var(--ink-soft); }
.cluster-matrix tbody th { text-align:right; white-space:nowrap; font:0.8125rem var(--mono); font-weight:400; color:var(--ink-soft); padding:0 15px 0 0; }
.cluster-matrix td { width:31px; height:31px; padding:0; border:1px solid #e3dbca; }
.cluster-matrix tbody tr:hover th { color:var(--copper); }
.matrix-self { background:repeating-linear-gradient(135deg,#eee7d9,#eee7d9 2px,transparent 2px,transparent 5px); }
.matrix-cell a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; border:0; font:0.8125rem var(--mono); }
.matrix-cell a:hover { outline:2px solid var(--ink); outline-offset:-2px; }
.matrix-checked a { background:var(--copper); color:#fff; }
.matrix-open a { background:#e2c6ae; color:#6d4225; }
.matrix-context a { background:#c3cfc2; color:#2d4336; }
.matrix-legend { display:flex; flex-wrap:wrap; gap:14px 26px; margin:20px 0 10px; font:0.8125rem var(--mono); color:var(--ink-soft); }
.matrix-key::before { content:''; display:inline-block; width:12px; height:12px; margin-right:9px; vertical-align:-1px; border:1px solid #d3c9b5; }
.matrix-key.matrix-checked::before { background:var(--copper); }
.matrix-key.matrix-open::before { background:#e2c6ae; }
.matrix-key.matrix-context::before { background:#c3cfc2; }

/* The catalogue landing borrows the top of the index. */
.cluster-strip { padding-block:8px 58px; }
.cluster-strip .cluster-list { margin-top:6px; }
.strip-more { font:0.875rem var(--mono); margin:26px 0 0; }

/* The ranked index. Order describes review state, not evidence strength. */
.cluster-list { list-style:none; margin:14px 0 0; padding:0; }
.cluster-row { border-top:1px solid var(--rule); }
.cluster-row:last-child { border-bottom:1px solid var(--rule); }
.cluster-link { display:grid; grid-template-columns:376px minmax(0,1fr); gap:52px; padding-block:32px; border:0; color:inherit; align-items:start; }
.cluster-plates { display:grid; grid-template-columns:1fr auto 1fr; gap:9px; }
.cluster-plates .plate-mount { height:172px; padding:13px; }
.cluster-copy { display:flex; flex-direction:column; }
.cluster-copy h3 { font-size:1.95rem; line-height:1.1; letter-spacing:-.02em; margin:11px 0 9px; }
.cluster-copy>p { font:0.8125rem/1.8 var(--mono); color:var(--faint); margin:0; }
.cluster-link:hover h3 { color:var(--copper); }
.cluster-link:hover .plate { border-color:var(--copper-soft); }
.cluster-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 20px; margin-top:auto; padding-top:15px; border-top:1px solid var(--rule); font:0.75rem var(--mono); color:var(--faint); }
.cluster-foot span { color:var(--copper); }
.cluster-ledger { list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; }
.cluster-ledger li { border-left:3px solid var(--copper); padding:2px 0 2px 16px; }
.cluster-ledger li.line-context { border-left-color:var(--moss); }
.cluster-ledger b { display:block; font:1.05rem/1.3 var(--serif); font-weight:500; color:var(--ink); }
.cluster-ledger span { font:0.75rem/1.7 var(--mono); color:var(--faint); letter-spacing:.02em; }
.cluster-actions { padding:0 0 26px; }
.cluster-actions button { border:0; padding:0; font:0.8125rem var(--mono); color:var(--copper); }
.cluster-actions button:hover { text-decoration:underline; text-underline-offset:4px; }
#cultures-view .cluster-list { border-top:0; }
#cultures-view .cluster-row:first-child { border-top:0; }

/* One cluster, line by line. */
.dossier-heading h1 span { color:var(--copper); font-size:.42em; display:block; line-height:1; margin:.12em 0; }
.cluster-sides { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-block:12px 48px; }
.cluster-side h2 { font-size:2.1rem; margin:12px 0 14px; }
.cluster-side>p { font-size:1.05rem; line-height:1.5; color:var(--ink-soft); margin:0 0 14px; }
.cluster-span { font:1rem/1.55 var(--serif) !important; color:var(--ink-soft) !important; }
.cluster-side .date-records { margin:0; }
.cluster-line { border-top:1px solid var(--rule); padding-block:46px 40px; }
.line-head h2 { font-size:2.5rem; margin:12px 0 10px; max-width:20ch; }
.line-dek { font-size:1.2rem; line-height:1.45; color:var(--ink-soft); margin:0; max-width:52ch; }
.line-plates { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; margin:30px 0 34px; max-width:1010px; }
.line-plates .plate-mount { height:355px; padding:20px; }
.line-notes { display:grid; grid-template-columns:1fr 1fr; gap:56px; }
.line-notes ul { margin:12px 0 0; padding-left:19px; }
.line-notes li { padding:0 0 11px 4px; font-size:1.05rem; line-height:1.5; }
.line-status { border-left:3px solid var(--copper); padding:2px 0 2px 20px; margin-top:32px; max-width:76ch; }
.line-status.status-context { border-left-color:var(--moss); }
.line-status h3 { font-size:1.4rem; margin:8px 0; }
.line-status p { font-size:1.02rem; line-height:1.5; color:var(--ink-soft); margin:0; }
.line-reach { font:1.02rem/1.55 var(--serif); color:var(--ink-soft); margin-top:22px; }
.line-more { font:0.875rem/1.8 var(--mono); margin-top:22px; }
.line-children { margin-top:24px; padding:20px 24px; background:var(--paper-2); }
.line-children ul { margin:10px 0; padding-left:19px; font-size:1.02rem; line-height:1.5; }
.line-children p { font:1rem/1.55 var(--serif); color:var(--ink-soft); margin:0; }
.cluster-lines+.dossier-reading { margin-top:0; }
.related-item>span:last-child { color:var(--faint); font:0.8125rem/1.7 var(--mono); }

@media(max-width:1100px) {
  .flagship-inner { gap:40px; }
  .flagship-plates .plate-mount { height:330px; }
  .cluster-link { grid-template-columns:286px minmax(0,1fr); gap:34px; }
  .line-plates .plate-mount { height:320px; }
  .line-notes,.cluster-sides { gap:34px; }
}
@media(max-width:760px) {
  .cluster-flagship { padding-block:42px; }
  .flagship-inner { grid-template-columns:1fr; gap:30px; }
  .flagship-plates .plate-mount { height:250px; }
  .flagship-copy h2 { font-size:2.3rem; }
  .cluster-field,.cluster-index { padding-block:40px; }
  .cluster-link { grid-template-columns:1fr; gap:22px; padding-block:26px; }
  .cluster-plates .plate-mount { height:170px; }
  .cluster-copy h3 { font-size:1.7rem; }
  .cluster-sides,.line-notes { grid-template-columns:1fr; gap:26px; }
  .cluster-line { padding-block:34px 28px; }
  .line-head h2 { font-size:2rem; }
  .line-plates { grid-template-columns:1fr; gap:12px; margin:22px 0 26px; }
  .line-plates .plate-mount { height:300px; }
  .plate-join { transform:rotate(90deg); }
  .cluster-matrix thead th { height:140px; }
}
