/* Client resources extend K2K's established interior-page system. */
.resource-page h1,.resource-page h2,.resource-page h3 { text-wrap:balance; }
.resource-page .page-hero h1 { max-width:22ch; }
.resource-meta { display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; margin-top:1.6rem; color:var(--paper-dim); font-size:.85rem; }
.resource-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:clamp(2rem,6vw,5rem); padding-top:3.5rem; padding-bottom:5rem; align-items:start; }
.resource-toc { position:sticky; top:104px; border-top:1px solid var(--line); padding-top:1rem; }
.resource-toc h2 { font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1rem; }
.resource-toc ol { list-style:none; display:grid; gap:.9rem; }
.resource-toc a { color:var(--ink-soft); font-size:.88rem; line-height:1.45; display:block; }
.resource-toc a:hover { color:var(--paper); text-decoration:underline; text-underline-offset:.25em; }
.resource-article { min-width:0; max-width:77ch; }
.resource-article section { padding:0; margin:0 0 3.4rem; }
.resource-article h2 { font-size:clamp(1.9rem,3vw,2.5rem); margin-bottom:1.2rem; }
.resource-article h3 { margin:1.8rem 0 .75rem; }
.resource-article p + p { margin-top:1rem; }
.resource-article a:not(.btn),.resource-related a { color:var(--paper); text-decoration:underline; text-underline-offset:.25em; text-decoration-color:var(--steel); }
.resource-article a:hover { color:var(--accent-deep); }
.resource-article ul:not(.resource-checklist),.resource-article ol { padding-left:1.25rem; margin:1.3rem 0; }
.resource-article ul:not(.resource-checklist) { list-style:disc; }
.resource-article li { color:var(--ink-soft); margin:.6rem 0; }
.resource-article strong { color:var(--paper); font-weight:600; }
.resource-checks { border:0; min-width:0; margin:1.5rem 0; }
.resource-checks legend { font-weight:600; padding-bottom:.25rem; }
.resource-checklist { list-style:none; margin:0; padding:0; }
.resource-checklist li { border-top:1px solid var(--line); padding:.85rem 0; margin:0; }
.resource-checklist label { display:flex; align-items:flex-start; gap:.85rem; cursor:pointer; }
.resource-checklist input { flex:0 0 auto; width:1.05rem; height:1.05rem; margin-top:.3rem; accent-color:var(--accent); }
.resource-table-wrap { max-width:100%; overflow-x:auto; margin:1.6rem 0; border:1px solid var(--line); border-radius:2px; }
.resource-table { width:100%; min-width:550px; border-collapse:collapse; font-size:.92rem; }
.resource-table caption { text-align:left; padding:1rem; font-weight:600; color:var(--paper); background:var(--navy); }
.resource-table th,.resource-table td { padding:1rem; text-align:left; vertical-align:top; border-top:1px solid var(--line); }
.resource-table thead th { background:var(--bg-alt); font-weight:600; }
.resource-table tbody th { width:22%; font-weight:600; color:var(--paper); }
.resource-table td { color:var(--ink-soft); }
.resource-note { padding:1.2rem 1.4rem; border-left:2px solid var(--steel); background:var(--bg-alt); margin:1.5rem 0; font-size:.92rem; }
.resource-related { border-top:1px solid var(--line); padding-top:2rem; }
.resource-related p { margin-top:1rem; }
.resource-list { display:grid; gap:0; }
.resource-list article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.2fr); gap:2rem; border-top:1px solid var(--line); padding:2.4rem 0; }
.resource-list .eyebrow { margin-top:.3rem; margin-bottom:0; }
.resource-list h2 { max-width:28ch; font-size:clamp(1.9rem,3vw,2.5rem); }
.resource-list h2 a:hover { color:var(--accent-deep); }
.resource-list p { max-width:65ch; margin:1rem 0; }
.resource-page .cta-inner>div { max-width:60ch; }
.resource-page .cta-inner p { margin-top:1rem; }
@media(max-width:800px) { .resource-layout { grid-template-columns:1fr; padding-top:2rem; gap:2.5rem; } .resource-toc { position:static; } .resource-toc ol { grid-template-columns:1fr 1fr; gap:1rem; } .resource-list article { grid-template-columns:1fr; gap:1rem; } }
@media(max-width:480px) { .resource-toc ol { grid-template-columns:1fr; } .resource-meta { flex-direction:column; } .resource-page .page-hero h1 { max-width:100%; } }
@media print {
  :root { --paper:#111; --ink-soft:#333; --paper-dim:#444; --line:#ccc; --navy:#f0f0f0; --bg-alt:#f8f8f8; --steel:#345; }
  body { background:white; color:#111; font-size:11pt; }
  .site-header,.site-footer,.resource-toc,.cta-band,.skip-link { display:none; }
  .page-hero { background:none; padding:0 0 1.5rem; }
  .page-hero h1 { font-size:28pt; max-width:none!important; }
  .container { max-width:none; padding:0; }
  .resource-layout { display:block; padding:2rem 0 0; }
  .resource-article { max-width:none; }
  .resource-article section { margin-bottom:2rem; }
  .resource-article h2 { font-size:20pt; }
  .resource-article h2,.resource-article h3 { break-after:avoid; }
  .resource-table-wrap { overflow:visible; }
  .resource-table { min-width:0; font-size:10pt; }
  .resource-table tr,.resource-checklist li { break-inside:avoid; }
  .resource-checklist input { appearance:none; border:1px solid #111; }
  .resource-checklist input:checked::after { content:"✓"; display:block; line-height:1; }
}
