/* =============================================================================
   METHODOLOGY — PAGE-SPECIFIC STYLES
   Load after common.css
   ============================================================================= */

body { background-color: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: 1rem; line-height: 1.75; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; color: var(--ink); }
h3 { font-size: clamp(1.05rem, 2vw, 1.2rem); letter-spacing: -0.01em; margin-bottom: var(--space-s); }
.breadcrumb__list a, .breadcrumb__list span { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mid); text-decoration: none; }
.page-body-layout { display: grid; grid-template-columns: 1fr; gap: var(--space-xl); align-items: start; }
@media (min-width: 960px) { .page-body-layout { grid-template-columns: 1fr 280px; } }
.source-matrix { margin-block: var(--space-l); border: 1px solid var(--rule); border-top: 3px solid var(--ink); }
.source-matrix__head { padding: var(--space-m) var(--space-l); background-color: var(--paper-tint); border-bottom: 1px solid var(--rule); }
.source-matrix__caption { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mid); }
.source-tier { display: grid; grid-template-columns: 3rem 1fr; border-bottom: 1px solid var(--rule); align-items: stretch; }
.source-tier:last-child { border-bottom: none; }
.source-tier__weight { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--space-m) var(--space-s); border-right: 1px solid var(--rule); gap: 0.3rem; }
.source-tier--1 .source-tier__weight { background-color: var(--paper); }
.source-tier--2 .source-tier__weight { background-color: var(--paper-tint); }
.source-tier--3 .source-tier__weight { background-color: #e8e3d8; }
.source-tier--4 .source-tier__weight { background-color: var(--gold-tint); }
.source-tier__weight-label { font-family: var(--font-mono); font-size: 0.55rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); writing-mode: vertical-rl; text-orientation: mixed; transform: rotate(180deg); }
.source-tier--4 .source-tier__weight-label { color: var(--gold); }
.source-tier__body { padding: var(--space-m) var(--space-l); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-m); }
@media (max-width: 540px) { .source-tier__body { grid-template-columns: 1fr; gap: var(--space-s); } }
.source-tier__name { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); display: block; margin-bottom: 0.3rem; }
.source-tier__desc { font-size: 0.86rem; color: var(--mid); line-height: 1.6; margin-bottom: 0; }
.source-tier__example-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: 0.3rem; }
.source-tier__example { font-size: 0.86rem; color: var(--ink); line-height: 1.6; font-style: italic; margin-bottom: 0; }
.anon-protocol { margin-block: var(--space-l); border: 1px solid var(--rule); }
.anon-protocol__head { padding: var(--space-m) var(--space-l); background-color: var(--paper-tint); border-bottom: 1px solid var(--rule); }
.anon-protocol__caption { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mid); display: block; margin-bottom: 0.2rem; }
.anon-protocol__title { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); }
.anon-row { display: grid; grid-template-columns: 160px 1fr; border-bottom: 1px solid var(--rule); align-items: start; }
.anon-row:last-child { border-bottom: none; }
@media (max-width: 480px) { .anon-row { grid-template-columns: 1fr; } }
.anon-row__what { padding: var(--space-m) var(--space-l); border-right: 1px solid var(--rule); background-color: var(--paper-tint); }
@media (max-width: 480px) { .anon-row__what { border-right: none; border-bottom: 1px solid var(--rule); } }
.anon-row__what p { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 500; color: var(--ink); margin-bottom: 0; line-height: 1.5; }
.anon-row__how { padding: var(--space-m) var(--space-l); }
.anon-row__how p { font-size: 0.86rem; color: var(--mid); line-height: 1.6; margin-bottom: 0; }
.anon-row__how strong { color: var(--ink); }
.confidence-grid { display: grid; grid-template-columns: 1fr; gap: 0; margin-block: var(--space-l); border: 1px solid var(--rule); border-top: 3px solid var(--ink); }
.confidence-level { display: grid; grid-template-columns: 140px 1fr; border-bottom: 1px solid var(--rule); align-items: stretch; }
.confidence-level:last-child { border-bottom: none; }
@media (max-width: 520px) { .confidence-level { grid-template-columns: 1fr; } }
.confidence-level__badge { padding: var(--space-m); display: flex; flex-direction: column; gap: var(--space-xs); justify-content: center; border-right: 1px solid var(--rule); }
@media (max-width: 520px) { .confidence-level__badge { border-right: none; border-bottom: 1px solid var(--rule); flex-direction: row; align-items: center; } }
.confidence-level--high   .confidence-level__badge { background-color: var(--gold-tint); }
.confidence-level--medium .confidence-level__badge { background-color: var(--paper-tint); }
.confidence-level--low    .confidence-level__badge { background-color: var(--paper); }
.confidence-level--field  .confidence-level__badge { background-color: #eee9e0; }
.confidence-level__marker { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 500; }
.confidence-level--high   .confidence-level__marker { color: var(--gold); }
.confidence-level--medium .confidence-level__marker { color: var(--mid); }
.confidence-level--low    .confidence-level__marker { color: var(--light); }
.confidence-level--field  .confidence-level__marker { color: var(--mid); }
.confidence-level__name { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; color: var(--ink); }
.confidence-level__body { padding: var(--space-m) var(--space-l); display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-m); }
@media (max-width: 640px) { .confidence-level__body { grid-template-columns: 1fr; gap: var(--space-s); } }
.confidence-level__col-label { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--light); display: block; margin-bottom: 0.3rem; }
.confidence-level__text { font-size: 0.86rem; color: var(--mid); line-height: 1.6; margin-bottom: 0; }
.confidence-level__text strong { color: var(--ink); }
.confidence-level__lang { font-family: var(--font-mono); font-size: 0.78rem; color: var(--ink); background-color: var(--paper-tint); padding: 0.2rem 0.5rem; display: inline-block; border: 1px solid var(--rule); margin-top: 0.3rem; }
.page-sidebar { font-size: 0.88rem; }
@media (min-width: 960px) { .page-sidebar { position: sticky; top: var(--space-l); } }

@media print {
  .site-header, .site-nav, .page-sidebar, .site-footer, .breadcrumb { display: none; }
  .page-body-layout { display: block; }
  .source-tier__body, .confidence-level__body { display: block; }
  .wrap, .wrap--wide { max-width: 100%; padding: 0; }
}
