/* Public Great Khanate atlas article. It extends the shared country palette so
   its paper and dark surfaces follow the rest of the public lore archive. */
.khanate-page { --khanate-width: min(calc(100% - 3rem), 76rem); }
.khanate-wrap { width: var(--khanate-width); margin: 0 auto; padding: clamp(3rem, 8vw, 6.5rem) 0 clamp(4rem, 9vw, 7rem); }
.khanate-hero { max-width: 70rem; padding-bottom: clamp(2.5rem, 6vw, 5rem); border-bottom: 2px solid var(--country-rule-strong); }
.khanate-hero h1 { max-width: 14ch; margin: 0; color: var(--country-ink); font-size: clamp(3.15rem, 8vw, 7.2rem); letter-spacing: -.055em; line-height: .92; text-wrap: balance; }
.khanate-subtitle { max-width: 46rem; margin: 1.35rem 0 0; color: var(--country-ink); font-size: clamp(1.2rem, 2.35vw, 1.65rem); line-height: 1.42; }
.khanate-introduction { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3.2vw, 3.75rem); max-width: 65rem; margin-top: clamp(2rem, 4vw, 3.25rem); }
.khanate-introduction p, .khanate-body p { color: var(--country-muted); font-size: 1.05rem; line-height: 1.7; }
.khanate-introduction p { margin: 0; }
.khanate-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-right: 1px solid var(--country-rule-strong); border-bottom: 1px solid var(--country-rule-strong); }
.khanate-facts div { min-height: 8.8rem; padding: 1.3rem 1.15rem; border-left: 1px solid var(--country-rule-strong); background: color-mix(in srgb, var(--theme-surface) 75%, transparent); }
.khanate-facts span, .obligation-number { display: block; margin: 0 0 .65rem; color: var(--country-accent); font: 800 .66rem Arial, Helvetica, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.khanate-facts strong { color: var(--country-ink); font-size: 1.1rem; line-height: 1.27; }
.khanate-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(11rem, 15rem); gap: clamp(2.5rem, 6vw, 6rem); padding-top: clamp(4rem, 8vw, 7rem); }
.khanate-body { min-width: 0; }
.khanate-body > section + section { margin-top: clamp(4.5rem, 9vw, 8rem); }
.section-heading { max-width: 48rem; margin-bottom: clamp(1.3rem, 3vw, 2.2rem); }
.section-heading h2 { margin: 0; color: var(--country-ink); font-size: clamp(2.15rem, 4.2vw, 4.1rem); letter-spacing: -.045em; line-height: .98; text-wrap: balance; }
.section-heading .country-kicker { margin-bottom: .75rem; }
.prose-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.4rem, 4vw, 4rem); }
.prose-columns p, .section-intro { margin: 0; }
.section-intro { max-width: 58rem; }
.obligation-grid, .realm-grid, .frontier-grid, .related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--country-rule-strong); border-left: 1px solid var(--country-rule-strong); }
.obligation-grid section, .realm-grid article, .frontier-grid article, .related-grid a { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border-right: 1px solid var(--country-rule-strong); border-bottom: 1px solid var(--country-rule-strong); }
.obligation-grid section { min-height: 15.5rem; }
.obligation-grid h3, .realm-grid h3, .frontier-grid h3 { margin: 0; color: var(--country-ink); font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.05; }
.obligation-grid p:last-child, .realm-grid p, .frontier-grid p { margin: .8rem 0 0; font-size: .98rem; line-height: 1.6; }
.callout { max-width: 60rem; margin: 2rem 0 0; padding: 1.15rem 1.3rem; border-left: 4px solid var(--country-accent); background: color-mix(in srgb, var(--theme-paper-light) 60%, transparent); color: var(--country-ink) !important; font-style: italic; }
.expansion-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: expansion; border-top: 1px solid var(--country-rule-strong); }
.expansion-list li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: 1rem; align-items: start; padding: 1.3rem 0; border-bottom: 1px solid var(--country-rule); counter-increment: expansion; }
.expansion-list li::before { content: counter(expansion, decimal-leading-zero); color: var(--country-accent); font: 800 .7rem Arial, Helvetica, sans-serif; letter-spacing: .08em; }
.expansion-list strong, .expansion-list span { display: block; }
.expansion-list strong { color: var(--country-ink); font-size: 1.08rem; }
.expansion-list span { margin-top: .25rem; color: var(--country-muted); line-height: 1.55; }
.khanate-body > section > p:not(.section-intro) { max-width: 67ch; }
.realm-grid article, .frontier-grid article { background: color-mix(in srgb, var(--theme-surface) 45%, transparent); }
.realm-grid a, .frontier-grid a { color: var(--country-ink); text-decoration-color: var(--country-accent); text-underline-offset: .18em; }
.related-section { padding-top: 0; }
.related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.related-grid a { min-height: 11.5rem; color: var(--country-ink); text-decoration: none; transition: background .16s ease, color .16s ease; }
.related-grid a:hover { color: var(--country-ink); background: var(--theme-paper-light); }
.related-grid strong, .related-grid span { display: block; }
.related-grid strong { font-size: 1.15rem; line-height: 1.15; }
.related-grid span { margin-top: .65rem; color: var(--country-muted); font-size: .93rem; line-height: 1.5; }
.khanate-contents { position: sticky; top: 6.5rem; align-self: start; padding-top: 1rem; border-top: 2px solid var(--country-rule-strong); color: var(--country-ink); font: 800 .7rem Arial, Helvetica, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.khanate-contents ol { margin: .85rem 0 0; padding-left: 1.15rem; }
.khanate-contents li + li { margin-top: .55rem; }
.khanate-contents a { color: var(--country-muted); font-size: .72rem; text-decoration: none; }
.khanate-contents a:hover { color: var(--country-accent); }
@media (max-width: 58rem) { .khanate-layout { grid-template-columns: 1fr; } .khanate-contents { position: static; order: -1; } .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 42rem) { .khanate-page { --khanate-width: min(calc(100% - 1.4rem), 76rem); } .khanate-introduction, .prose-columns, .obligation-grid, .realm-grid, .frontier-grid { grid-template-columns: 1fr; } .khanate-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .khanate-facts div { min-height: 7.75rem; } .obligation-grid section { min-height: 0; } .related-grid { grid-template-columns: 1fr; } }
