/* ==========================================================================
   guides.css — the reading pages
   Loaded only on /guides and the five guide pages. Everything here is a
   reading-column concern; the rails and heroes come from main.css.
   ========================================================================== */

/* -------------------------------------------------- 1. the hub listing */

.gd-hub{display:grid;gap:1px;border:0}
.gd-hub>li{box-shadow:0 0 0 1px var(--rule);background:var(--paper)}
.gd-hub a{
  display:block;padding:clamp(22px,2.4vw,32px) clamp(20px,2.2vw,30px);
  text-decoration:none;transition:background .16s var(--ease);
}
.gd-hub a:hover{background:var(--paper-2)}
.gd-hub-k{font:500 var(--fs-micro)/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:12px}
.gd-hub-t{
  font:600 clamp(1.18rem,1.9vw,1.5rem)/1.24 var(--f-serif);letter-spacing:-.018em;
  color:var(--ink);margin-bottom:8px;max-width:44ch;
}
.gd-hub a:hover .gd-hub-t{color:var(--brass)}
.gd-hub-t .lnk-ar{margin-left:.3em}
.gd-hub a:hover .lnk-ar{transform:rotate(45deg) translate(.14em,-.08em)}
.gd-hub-d{font-size:.9375rem;line-height:1.62;color:var(--slate);max-width:74ch}
.gd-hub-m{margin-top:11px;font:400 var(--fs-micro)/1 var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}

/* ---------------------------------------- 2. the article, with its rail */

.gd-wrap{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.gd-toc{position:sticky;top:96px}
.gd-toc ol{margin-top:14px;list-style:none;counter-reset:gd}
.gd-toc li{counter-increment:gd;border-top:1px solid var(--rule)}
.gd-toc li:last-child{border-bottom:1px solid var(--rule)}
.gd-toc a{
  display:grid;grid-template-columns:2.2em minmax(0,1fr);gap:2px;
  padding:10px 0;font-size:.875rem;line-height:1.4;color:var(--slate);text-decoration:none;
  transition:color .16s var(--ease);
}
.gd-toc a::before{content:counter(gd,decimal-leading-zero);font:400 var(--fs-micro)/1.5 var(--f-mono);color:var(--mute)}
.gd-toc a:hover{color:var(--brass)}

.gd-body{min-width:0;max-width:74ch}
.gd-h2{
  font:600 clamp(1.3rem,2.2vw,1.75rem)/1.22 var(--f-serif);letter-spacing:-.02em;color:var(--ink);
  margin:clamp(30px,3.4vw,46px) 0 14px;padding-top:clamp(20px,2.4vw,30px);border-top:1px solid var(--rule);
  scroll-margin-top:100px;
}
.gd-body>.gd-h2:first-child{margin-top:0;padding-top:0;border-top:0}
.gd-h3{font:600 1.06rem/1.3 var(--f-serif);letter-spacing:-.014em;color:var(--ink);margin:24px 0 8px}
.gd-p{font-size:1.0313rem;line-height:1.72;color:var(--slate);margin-bottom:15px}
.gd-p b{color:var(--ink);font-weight:600}

.gd-ul,.gd-ol{margin:4px 0 18px;padding-left:0;list-style:none}
.gd-ul>li,.gd-ol>li{
  position:relative;padding-left:26px;margin-bottom:10px;
  font-size:1.0313rem;line-height:1.66;color:var(--slate);
}
.gd-ul>li b,.gd-ol>li b{color:var(--ink);font-weight:600}
.gd-ul>li::before{
  content:"";position:absolute;left:3px;top:.62em;
  width:7px;height:1px;background:var(--brass);
}
.gd-ol{counter-reset:gdo}
.gd-ol>li{counter-increment:gdo;padding-left:32px}
.gd-ol>li::before{
  content:counter(gdo,decimal-leading-zero);position:absolute;left:0;top:.16em;
  font:500 var(--fs-micro)/1.6 var(--f-mono);letter-spacing:.06em;color:var(--brass);
}

.gd-note{
  margin:18px 0 22px;padding:16px 20px;
  background:var(--paper-2);border-left:2px solid var(--brass);
}
.gd-note p{font-size:.9688rem;line-height:1.64;color:var(--ink)}

/* the tables are the part a language model quotes, so they stay readable
   rather than clever */
.gd-tw{margin:6px 0 24px;overflow-x:auto}
.gd-t{width:100%;border-collapse:collapse;font-size:.9375rem}
.gd-t th,.gd-t td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
.gd-t thead th{
  font:500 var(--fs-micro)/1.4 var(--f-mono);letter-spacing:.11em;text-transform:uppercase;
  color:var(--mute);border-bottom:1px solid var(--rule-2);white-space:nowrap;
}
.gd-t tbody th{font-weight:600;color:var(--ink);line-height:1.5;min-width:14ch}
.gd-t td{color:var(--slate);line-height:1.55}
.gd-t tbody tr:last-child th,.gd-t tbody tr:last-child td{border-bottom:0}

.gd-qs{margin-top:4px}
.gd-q{padding:16px 0;border-bottom:1px solid var(--rule)}
.gd-q:first-child{padding-top:4px}
.gd-q-q{font:600 1.0313rem/1.35 var(--f-serif);letter-spacing:-.012em;color:var(--ink);margin-bottom:7px}
.gd-q-a{font-size:.9688rem;line-height:1.66;color:var(--slate)}

.gd-cta{
  margin-top:clamp(26px,3vw,38px);padding-top:20px;border-top:1px solid var(--rule);
  font-size:.9688rem;line-height:1.6;color:var(--slate);
}
.gd-cta .lnk{margin-left:.3em}

.p-guide .pol-rail{grid-column:1/-1}

/* ---------------------------------------------------- 3. responsive */

@media (max-width:900px){
  .gd-wrap{grid-template-columns:1fr}
  .gd-toc{position:static;padding-bottom:22px;border-bottom:1px solid var(--rule)}
  .gd-toc ol{columns:2;column-gap:26px}
  .gd-toc li{break-inside:avoid}
}
@media (max-width:560px){
  .gd-toc ol{columns:1}
  .gd-t th,.gd-t td{padding:9px 10px}
}
