/* Library: featured, article list, appendix, article page. Uses tokens from site.css. */
.subnav{background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}
.subnav .wrap{display:flex;gap:28px;overflow-x:auto;padding-top:14px;padding-bottom:14px}
.subnav a{color:#CFC6A8;text-decoration:none;font-weight:500;white-space:nowrap;font-size:1rem}
.subnav a:hover{color:var(--amber)}
.eyebrow{font:600 .82rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dk);margin:0 0 12px}
.eyebrow a{color:inherit;text-decoration:none}
.eyebrow a:hover{text-decoration:underline}

.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media (max-width:820px){.feat-grid{grid-template-columns:1fr}}
.lib-card{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:28px 28px 22px;transition:border-color .15s,box-shadow .15s,transform .15s}
.lib-card:hover{border-color:var(--ink);box-shadow:0 10px 30px -18px rgba(0,0,0,.45)}
.lib-card h3{font-size:1.55rem;margin:0 0 .45em}
.lib-card h3 a{color:var(--ink);text-decoration:none}
.lib-card h3 a::after{content:"";position:absolute;inset:0;border-radius:14px}
.lib-card h3 a:focus-visible{outline:none}
.lib-card:focus-within{outline:3px solid var(--amber);outline-offset:3px}
.lib-card .excerpt{color:var(--slate);font-size:1.05rem;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lib-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line);font-size:.95rem;color:var(--slate)}
.lib-card .read{font-weight:600;color:var(--ink);white-space:nowrap}
.lib-card .read::after{content:" \2192"}
.lib-card-big{background:var(--ink);border-color:var(--ink);color:#fff;padding:36px 34px 26px;min-height:300px}
.lib-card-big .eyebrow{color:var(--amber)}
.lib-card-big h3{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.lib-card-big h3 a{color:#fff}
.lib-card-big .excerpt{color:#D6D6D6}
.lib-card-big .lib-card-foot{border-top-color:rgba(255,255,255,.14);color:#BDBDBD}
.lib-card-big .read{color:var(--amber)}
.lib-card-big:hover{border-color:var(--amber)}

.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:980px){.list-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.list-grid{grid-template-columns:1fr}}

.pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.pill{font:600 1rem var(--sans);min-height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.pill:hover{border-color:var(--ink)}
.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.list-msg{padding:22px 24px;border-radius:10px;background:var(--mist);color:var(--slate);margin:0}
.list-msg.is-error{background:#FDECEA;color:#7A1A12}
.more-row{margin-top:30px;text-align:center}

.skel{pointer-events:none}
.sk{display:block;border-radius:6px;background:linear-gradient(90deg,#EFECE4 25%,#F7F5F0 50%,#EFECE4 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.lib-card-big .sk{background:linear-gradient(90deg,#1c1c1c 25%,#2a2a2a 50%,#1c1c1c 75%);background-size:200% 100%}
.sk-s{width:30%;height:12px;margin-bottom:18px}
.sk-l{width:85%;height:26px;margin-bottom:14px}
.sk-m{width:65%;height:16px}
@keyframes shimmer{to{background-position:-200% 0}}

/* Appendix */
.appendix{display:grid;grid-template-columns:1.35fr 1fr;gap:56px;align-items:start}
@media (max-width:900px){.appendix{grid-template-columns:1fr;gap:40px}}
.glossary{margin:0;border-top:2px solid var(--ink)}
.glossary div{padding:18px 0;border-bottom:1px solid var(--line)}
.glossary dt{font:400 1.3rem var(--serif);margin-bottom:4px}
.glossary dd{margin:0;color:var(--slate);font-size:1.05rem}
.res-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.res-list li{padding:18px 0;border-bottom:1px solid var(--line)}
.res-list a{font-weight:600;font-size:1.08rem}
.res-list a::after{content:" \2197";font-weight:400}
.res-list p{margin:4px 0 0;color:var(--slate);font-size:1rem}
.appendix h3{font:600 1.05rem var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}

/* Article page */
.article-head .eyebrow{color:var(--amber)}
.article-head .meta{color:#BDBDBD;font-size:1rem;margin:0}
.prose{max-width:720px;margin:0 auto;font-size:1.17rem;line-height:1.75}
.prose p{max-width:none}
.prose h2{font-size:clamp(1.7rem,3vw,2.1rem);margin:1.6em 0 .5em}
.prose h3,.prose h4{font-size:1.4rem;margin:1.4em 0 .4em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose li p{margin:0}
.prose blockquote{margin:1.6em 0;padding:18px 24px;border-left:4px solid var(--amber);background:#FBF5E2;border-radius:6px;font:400 1.25rem/1.55 var(--serif)}
.prose blockquote p{margin:0}
.prose a{color:var(--amber-dk);font-weight:500}
.prose figure{margin:1.6em 0}
.prose figure img{border-radius:10px;width:100%;height:auto}
.prose figcaption{color:var(--slate);font-size:.95rem;margin-top:8px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.article-foot{max-width:720px;margin:48px auto 0}
.state-box{max-width:720px;margin:0 auto}
.back-link{display:inline-block;margin-top:28px;font-weight:600}
/* Cover photos on cards */
.lib-thumb{margin:-28px -28px 22px;aspect-ratio:16/9;overflow:hidden;border-radius:13px 13px 0 0;background:var(--line)}
.lib-card-big .lib-thumb{margin:-36px -34px 24px}
.lib-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.lib-card:hover .lib-thumb img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.lib-thumb img{transition:none}.lib-card:hover .lib-thumb img{transform:none}}
/* Article photos and credits */
main figure{margin:0 0 32px}
main figure img{display:block;width:100%;height:auto;border-radius:12px}
main figcaption{margin-top:10px;font-size:.9rem;color:var(--slate)}
