/* =====================================================================
   Wayfinding: ruled index rows (2026-10-21).
   The HELOC state page grammar (2px ink rule opening a list, hairlines
   between rows) applied to every list of routes: the homepage sections,
   the /learn/ hub and the "Keep reading" block (partials/related.php).
   Loaded only by those pages. Tokens come from site.css.
   ===================================================================== */

.ix-copy{color:#4A6178}              /* reading text, 6.4:1 on white (same as state pages) */

/* --------------------------------------------- section: heading + list */
.ixs{display:grid;gap:22px}
@media (min-width:1000px){
    .ixs{grid-template-columns:minmax(0,18.5rem) minmax(0,1fr);column-gap:clamp(48px,6vw,88px);align-items:start}
    .ixs__head{position:sticky;top:96px}
}
.ixs__head h2{
    max-width:20ch;font-size:clamp(1.5rem,3.1vw,1.95rem);font-weight:800;letter-spacing:-.025em;line-height:1.16;color:var(--ink);
}
.ixs__head p{margin-top:12px;max-width:42ch;font-size:1.0625rem;line-height:1.65;color:#4A6178}
.ixs__more{
    display:inline-block;margin-top:6px;padding:10px 0;
    font-weight:600;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
}
.ixs__more svg{display:inline-block;width:17px;height:17px;margin-left:6px;vertical-align:-3px}
.ixs__more:hover{text-decoration-thickness:2px}
.ixs__more:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

/* ------------------------------------------------------- the ruled list */
.ix{list-style:none;border-top:2px solid var(--ink)}
.ix > li{border-bottom:1px solid var(--line)}
@media (min-width:700px){
    .ix--2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
}
.ix__a{
    display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:start;
    align-content:start;min-height:56px;padding:16px 0 18px;height:100%;
    color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent;
}
.ix__a > span{grid-column:1}
.ix__t{
    font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;line-height:1.4;
    text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:4px;
    transition:color var(--t) var(--ease),text-decoration-color var(--t) var(--ease);
}
.ix__d{margin-top:4px;font-size:.95rem;line-height:1.55;color:#4A6178;max-width:56ch}
.ix__m{margin-top:6px;font-size:.84rem;line-height:1.4;color:var(--muted)}
.ix__a svg{grid-column:2;grid-row:1 / span 3;width:19px;height:19px;margin-top:3px;color:var(--accent)}
.ix__a:hover .ix__t{color:var(--accent);text-decoration-color:currentColor}
.ix__a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}

/* ============================================================ /learn/ hub */
.learn-hero{padding:clamp(28px,5vw,56px) 0 clamp(20px,3vw,28px)}
.learn-hero h1{
    max-width:18ch;font-size:clamp(2rem,5vw,3.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.07;color:var(--ink);
}
.learn-hero p{margin-top:16px;max-width:58ch;font-size:clamp(1.05rem,1.7vw,1.15rem);line-height:1.65;color:#4A6178}
.learn-jump{margin-top:22px;display:flex;flex-wrap:wrap;column-gap:22px;list-style:none}
.learn-jump a{
    display:inline-flex;align-items:center;min-height:44px;
    font-size:.95rem;font-weight:600;color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
}
.learn-jump a:hover{text-decoration-thickness:2px}
.learn-jump a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.learn-topics{padding-bottom:clamp(56px,8vw,96px)}
.learn-topic{padding-top:clamp(40px,6vw,64px)}
.learn-topic + .learn-topic{margin-top:clamp(8px,2vw,16px)}
.learn-states{display:flex;flex-wrap:wrap;column-gap:20px;list-style:none;margin:2px 0 4px}
.learn-states a{
    display:inline-flex;align-items:center;min-height:44px;
    font-size:.95rem;font-weight:600;color:var(--ink-soft);text-decoration:underline;text-decoration-color:var(--line);text-decoration-thickness:1.5px;text-underline-offset:5px;
}
.learn-states a:hover{color:var(--accent);text-decoration-color:currentColor}
.learn-states a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.ix > li.ix__states{padding:4px 0 12px}

/* ============================================== "Keep reading" (related) */
.rel{padding:0 0 clamp(48px,7vw,72px);max-width:760px}
.rel--inline{max-width:none;padding:var(--txb-gap,48px) 0 0;margin-top:var(--txb-gap,48px);border-top:1px solid var(--line)}
.rel h2{font-size:clamp(1.35rem,2.6vw,1.6rem);font-weight:800;letter-spacing:-.022em;line-height:1.2;color:var(--ink)}
.rel .ix{margin-top:16px}
.rel__next{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.rel__next p{flex:1 1 260px;max-width:44ch;font-size:1rem;line-height:1.6;color:#4A6178}
.rel__btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;
    padding:14px 28px;border-radius:var(--r-pill);background:var(--ink);color:#fff;
    font-size:1rem;font-weight:600;text-decoration:none;
    transition:background .15s var(--ease);
}
.rel__btn svg{width:18px;height:18px}
.rel__btn:hover{background:var(--ink-deep)}
.rel__btn:focus-visible{outline:3px solid var(--accent-bright);outline-offset:3px}
@media (max-width:479px){.rel__btn{width:100%}}

@media (prefers-reduced-motion:reduce){
    .rel__btn{transition:none}
}
