/* ============================================================
   THE TOOLKIT — JOURNAL ARTICLE TEMPLATE
   Extends main.css. Article measure, generous leading, FAQ block.
   ============================================================ */

/* header rides fixed here too (2026-07-09): hides going down, returns coming up */

.jhero{padding:clamp(56px,9vw,96px) var(--mx) clamp(20px,4vw,36px);border-bottom:1px solid var(--hairline)}
.jhero .wrap{max-width:74ch}
.jhero .kicker{display:block;margin-bottom:20px;color:var(--stone)}
.jhero h1{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.06em;line-height:1.3;font-size:clamp(1.5rem,4vw,2.4rem)}
.jhero .standfirst{margin-top:28px;font-size:clamp(1.2rem,2.4vw,1.5rem);max-width:34em;color:var(--green)}
.jhero .meta{display:block;margin-top:24px;color:var(--stone)}

.jbody{padding:clamp(48px,7vw,72px) var(--mx) clamp(56px,8vw,88px)}
.jbody .wrap{max-width:68ch}
.jbody p{font-size:1.0625rem;line-height:1.9;margin-top:1.3em}
.jbody p:first-child{margin-top:0}
.jbody h2{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.09em;font-size:1.0625rem;margin-top:2.2em;line-height:1.5}
.jbody .pull{margin:2.4em 0;padding:1.5em 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);font-size:clamp(1.3rem,2.6vw,1.7rem);max-width:22em}

.jfaq{background:var(--bone)}
.jfaq .wrap{max-width:68ch;padding-block:clamp(48px,7vw,80px)}
.jfaq h2.sect-title{font-size:1rem}
.jfaq dl{margin-top:1.8em;border-top:1px solid var(--hairline)}
.jfaq dt{font-family:var(--sans);font-weight:400;font-size:1.0625rem;padding-top:1.6em}
.jfaq dd{margin-top:.6em;padding-bottom:1.6em;border-bottom:1px solid var(--hairline);color:var(--green);font-size:.9375rem;line-height:1.8}

.jback{padding:clamp(40px,6vw,56px) var(--mx) 0}
.jback .wrap{max-width:68ch}

/* ============================================================
   THE LIBRARY — journal index
   ============================================================ */
.lib-hero{padding-top:clamp(56px,9vw,110px)}
.lib-hero .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--mx)}
.lib-title{font-size:clamp(1.6rem,4vw,2.6rem);margin-top:14px}
.lib-stand{margin-top:22px;font-size:clamp(1.25rem,2.8vw,1.8rem);max-width:22em;color:var(--green)}
.lib-plate{margin-top:clamp(36px,6vw,64px);aspect-ratio:4/5;max-height:70svh}
@media(min-width:880px){.lib-plate{aspect-ratio:21/9;max-height:none}}

.lib-list{padding:clamp(56px,8vw,96px) 0 clamp(72px,10vw,130px)}
.lib-list .wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--mx)}
.lib-row{
  display:grid;grid-template-columns:1fr;gap:10px 40px;align-items:baseline;
  padding:34px 0;border-top:1px solid var(--hairline);
}
.lib-row:last-of-type{border-bottom:1px solid var(--hairline)}
@media(min-width:880px){.lib-row{grid-template-columns:170px 1fr 90px;padding:44px 0}}
.lib-row .lr-meta{font-size:.6875rem;color:var(--stone)}
.lib-row h2{font-family:var(--sans);font-weight:300;font-size:clamp(1.1rem,2.2vw,1.45rem);letter-spacing:.1em;text-transform:uppercase;line-height:1.45}
.lib-row p{margin-top:10px;max-width:38em;font-size:.9375rem;line-height:1.75}
.lib-row .lr-go{font-size:.6875rem;justify-self:end;align-self:center;opacity:0;transform:translateX(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}
.lib-row:hover .lr-go,.lib-row:focus-visible .lr-go{opacity:1;transform:none}
.lib-row:hover h2{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:.3em;text-decoration-thickness:1px}
.lib-note{margin-top:clamp(40px,6vw,60px);font-size:.9375rem;color:var(--stone);max-width:38em}
.lib-note .tlink{color:var(--green)}

/* ============================================================
   ROUND 15 — article plates (brass keylines, mono captions)
   ============================================================ */
.jfig{margin:2.6em 0}
.jfig img{width:100%;height:auto;display:block;border:1px solid var(--brass-line)}
.jfig figcaption{margin-top:12px;font-size:.625rem;color:var(--stone);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase}
.jfig.jfig-pair{display:grid;grid-template-columns:1fr;gap:var(--gut)}
@media(min-width:720px){.jfig.jfig-pair{grid-template-columns:1fr 1fr}}
.jfig.jfig-pair figure{margin:0}
.jfig.jfig-pair figcaption{margin-top:12px}
