/* Leadership Library - formal editorial layer for idaholeaders3 */
:root{
  --serif-text: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --lib-rule:#c9b48a;
}

/* ---------- Masthead ---------- */
.lib-masthead{background:var(--paper);padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(2.5rem,5vw,4rem);text-align:center;border-bottom:1px solid var(--line)}
.lib-masthead__inner{max-width:44rem}
.lib-kicker{margin:0 0 1.4rem;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.lib-rule{height:0;border-top:1px solid var(--lib-rule);position:relative;margin:1.5rem auto;width:100%}
.lib-rule--double::after{content:"";position:absolute;left:0;right:0;top:3px;border-top:1px solid var(--lib-rule)}
.lib-rule--short{width:4.5rem}
.lib-title{font-family:var(--serif);font-size:clamp(2.6rem,6.5vw,4.5rem);line-height:1.02;margin:.6rem 0 1.2rem;color:var(--pine-950)}
.lib-standfirst{font-family:var(--serif-text);font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:1.7;color:var(--muted);max-width:36rem;margin:0 auto 1.4rem}
.lib-meta{font-family:var(--sans);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0}

/* ---------- Contents ---------- */
.lib-contents{padding:clamp(3rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem)}
.lib-contents__label{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-align:center;margin:0 0 3rem}
.lib-part{margin-bottom:clamp(2.8rem,5vw,4rem)}
.lib-part__head{margin-bottom:.4rem}
.lib-part__num{display:block;font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.lib-part__title{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.1;margin:0 0 .5rem;color:var(--pine-950)}
.lib-part__note{font-family:var(--serif-text);font-style:italic;color:var(--muted);margin:0 0 .4rem;max-width:34rem}
.lib-subjects{list-style:none;margin:0;padding:0;border-top:2px solid var(--pine-900)}
.lib-subject{border-bottom:1px solid var(--line);transition:background .18s ease}
.lib-subject:hover{background:var(--cream)}
.lib-subject__link{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1.5rem;padding:1.25rem .75rem;text-decoration:none;color:inherit}
.lib-subject__name{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.6rem);color:var(--pine-900);flex:1 1 16rem}
.lib-subject__link:hover .lib-subject__name{color:var(--gold)}
.lib-subject__count{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.lib-subject__desc{flex:1 1 100%;font-family:var(--serif-text);font-size:.98rem;line-height:1.6;color:var(--muted);margin:.3rem 0 0}

/* ---------- Archive / index ---------- */
.lib-crumb{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 1.4rem}
.lib-crumb a{color:var(--muted);text-decoration:none}
.lib-crumb a:hover{color:var(--gold)}
.lib-archive{padding:clamp(3rem,6vw,5rem) 0 clamp(1.5rem,3vw,2.5rem);border-bottom:1px solid var(--line);background:var(--paper)}
.lib-archive__title{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05;margin:0 0 1rem;color:var(--pine-950)}
.lib-archive__desc{font-family:var(--serif-text);font-size:1.1rem;line-height:1.7;color:var(--muted);max-width:34rem;margin:0}
.lib-list{padding:clamp(2rem,4vw,3.5rem) 0 clamp(3rem,6vw,5rem)}
.lib-index{list-style:none;margin:0;padding:0;border-top:2px solid var(--pine-900)}
.lib-entry{display:grid;grid-template-columns:3.2rem 1fr;gap:0 1.2rem;padding:1.9rem 0;border-bottom:1px solid var(--line)}
.lib-entry__num{font-family:var(--serif);font-size:1.5rem;color:var(--sand);line-height:1.25}
.lib-entry__title{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.18;margin:0 0 .5rem}
.lib-entry__title a{text-decoration:none;color:var(--pine-950)}
.lib-entry__title a:hover{color:var(--gold)}
.lib-entry__excerpt{font-family:var(--serif-text);color:var(--muted);line-height:1.7;margin:0 0 .6rem;max-width:38rem}
.lib-entry__meta{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.lib-empty{border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--cream);padding:1.6rem 1.8rem;font-family:var(--serif-text);color:var(--muted);line-height:1.7}
.lib-empty a{color:var(--pine-800)}

/* ---------- Reading view ---------- */
.lib-article{padding:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem)}
.lib-prose{max-width:34rem;margin-inline:auto;font-family:var(--serif-text);font-size:1.15rem;line-height:1.8;color:#26302a}
.lib-prose p{margin:0 0 1.5rem}
.lib-prose h2{font-family:var(--serif);font-size:1.9rem;line-height:1.15;margin:2.8rem 0 1rem;color:var(--pine-950)}
.lib-prose h3{font-family:var(--serif);font-size:1.45rem;margin:2.2rem 0 .8rem;color:var(--pine-900)}
.lib-prose blockquote{margin:2rem 0;padding-left:1.4rem;border-left:2px solid var(--gold);font-style:italic;color:var(--muted)}
.lib-prose ul,.lib-prose ol{margin:0 0 1.5rem;padding-left:1.3rem}
.lib-prose li{margin-bottom:.5rem}
.lib-prose>p:first-of-type::first-letter{float:left;font-family:var(--serif);font-size:3.6rem;line-height:.82;padding:.1rem .55rem 0 0;color:var(--pine-900)}

/* ---------- Cross-links ---------- */
.lib-aside{border-top:2px solid var(--pine-900);border-bottom:1px solid var(--line);padding:2.2rem 0;margin-top:1rem}
.lib-aside__label{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 .7rem}
.lib-aside__title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 .6rem;color:var(--pine-950)}
.lib-aside__text{font-family:var(--serif-text);color:var(--muted);line-height:1.7;max-width:34rem;margin:0 0 1rem}

@media(max-width:640px){
  .lib-entry{grid-template-columns:2.2rem 1fr;gap:0 .8rem}
  .lib-subject__link{padding:1.1rem .25rem}
  .lib-prose>p:first-of-type::first-letter{font-size:3rem}
}
