/* =============================================================================
   KEQI — 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, h4 { font-family: var(--font-display); font-weight: 700; line-height: 1.2; color: var(--ink); }
.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; }
.article-header__glyph { font-family: var(--font-display); font-size: clamp(5rem, 14vw, 10rem); line-height: 0.9; color: var(--paper-tint); display: block; text-align: center; margin-bottom: var(--space-s); border-bottom: 2px solid var(--rule); padding-bottom: var(--space-m); }
@media (min-width: 960px) { .article-header__glyph { font-size: 8rem; text-align: right; color: rgba(212,207,197,0.5); border-bottom: none; padding-bottom: 0; margin-bottom: 0; } }
.dialogue-scene { margin-block: var(--space-xl); border: 1px solid var(--rule); border-top: 3px solid var(--ink); }
.dialogue-scene__header { padding: var(--space-m) var(--space-l); border-bottom: 1px solid var(--rule); display: flex; flex-wrap: wrap; gap: var(--space-s); justify-content: space-between; align-items: baseline; background-color: var(--paper-tint); }
.dialogue-scene__title { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mid); }
.dialogue-scene__context { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.06em; color: var(--light); font-style: italic; }
.dialogue-scene__cols { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--rule); }
@media (max-width: 600px) {
.dialogue-scene__cols { display: none; }
}
.dialogue-scene__col-head { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--light); padding: var(--space-xs) var(--space-l); }
.dialogue-scene__col-head:first-child { border-right: 1px solid var(--rule); }
.exchange { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--rule); align-items: start; }
.exchange:last-of-type { border-bottom: none; }
@media (max-width: 600px) {
.exchange { grid-template-columns: 1fr; }
}
.exchange__line { padding: var(--space-m) var(--space-l); border-right: 1px solid var(--rule); }
@media (max-width: 600px) {
.exchange__line { border-right: none; border-bottom: 1px solid var(--rule); padding: var(--space-s) var(--space-m); }
}
.exchange__speaker { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.14em; text-transform: uppercase; display: block; margin-bottom: 0.35rem; }
.exchange__speaker--a { color: var(--ink); }
.exchange__speaker--b { color: var(--mid); }
.exchange__said { font-family: var(--font-body); font-size: 0.95rem; font-style: italic; color: var(--ink); line-height: 1.55; margin-bottom: 0; }
.exchange__said--b { color: var(--mid); }
.exchange__annotation { padding: var(--space-m) var(--space-l); }
@media (max-width: 600px) {
.exchange__annotation {
padding: var(--space-s) var(--space-m);
background-color: var(--paper-tint);
}
}
.exchange__annotation-label { font-family: var(--font-mono); font-size: 0.55rem; letter-spacing: 0.14em; text-transform: uppercase; display: block; margin-bottom: 0.3rem; }
.exchange__annotation-label--actual { color: var(--gold); }
.exchange__annotation-label--mistake { color: var(--red); }
.exchange__annotation-label--correct { color: var(--ink); }
.exchange__annotation-label--neutral { color: var(--mid); }
.exchange__annotation p { font-size: 0.82rem; line-height: 1.6; color: var(--mid); margin-bottom: 0; }
.exchange__annotation p strong { color: var(--ink); }
.dialogue-scene__outcome { padding: var(--space-m) var(--space-l); border-top: 2px solid var(--ink); background-color: var(--paper-tint); }
.dialogue-scene__outcome-label { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mid); display: block; margin-bottom: 0.3rem; }
.dialogue-scene__outcome p { font-size: 0.88rem; color: var(--ink); line-height: 1.65; margin-bottom: 0; }
.modes-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-s); margin-block: var(--space-l); }
@media (min-width: 600px) {
.modes-grid { grid-template-columns: repeat(3, 1fr); }
}
.mode-card { border: 1px solid var(--rule); padding: var(--space-m); display: flex; flex-direction: column; gap: 0.4rem; }
.mode-card__signal { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; }
.mode-card__signal--ritual  { color: var(--gold); }
.mode-card__signal--genuine { color: var(--ink); }
.mode-card__signal--mixed   { color: var(--mid); }
.mode-card__label { font-family: var(--font-display); font-size: 1rem; font-weight: 700; color: var(--ink); line-height: 1.3; }
.mode-card p { font-size: 0.84rem; color: var(--mid); line-height: 1.6; margin-bottom: 0; }
.mode-card__diagnostic { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.06em; color: var(--light); padding-top: var(--space-xs); border-top: 1px solid var(--rule); margin-top: auto; }

@media print {
  .site-header, .site-nav, .article-sidebar, .site-footer, .breadcrumb { display: none; }
  h1,h2,h3 { page-break-after: avoid; }
  .dialogue-scene, .field-example, .key-fact { page-break-inside: avoid; }
  .article-layout__inner, .dialogue-scene__cols, .exchange { display: block; }
  .wrap, .wrap--wide { max-width: 100%; padding: 0; }
}
