/* Expertise library — scoped editorial styles (FIX-250923 expertise-library).
   Only .exp-library descendants are styled here. Transplanted catalog
   content keeps its base-component styles inside the .section-dark band;
   this sheet owns the hero chrome, the unclamped teasers, the grouped
   request-form disclosures and the dark-theme pass. No monospace,
   no service numerals, no decorative arrows. */
.exp-library{background:var(--paper);color:var(--ink)}
.lib-hero{padding:calc(70px + clamp(28px,4vw,56px)) 0 clamp(30px,4vw,54px)}
.lib-hero .back-link{margin-bottom:26px}
.lib-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:clamp(28px,5vw,72px);align-items:start}
.exp-library h1{font-family:var(--serif);font-weight:500;letter-spacing:-.04em;line-height:1.02;font-size:clamp(40px,5.4vw,76px);margin:0 0 22px;text-wrap:balance}
.lib-lead{font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:var(--muted);max-width:62ch;margin:0}
.lib-portrait{margin:6px 0 0;max-width:340px;justify-self:end}
.lib-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.72);border:1px solid var(--line)}
.lib-band{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(48px,6vw,84px)}
/* Library reads as one calm column: procedure, standards, articles and
   grouped request forms stack full-width with a comfortable measure. */
.exp-library .expertise-detail{display:block}
.exp-library .expertise-detail>*+*{margin-top:28px}
.exp-library .expertise-detail>article,
.exp-library .expertise-detail>details.lib-form{max-width:940px}
/* Transplanted blocks keep author markup verbatim; presentation guards: */
.exp-library .exp-row[data-note]::before{content:none}
.exp-library .text-link svg{display:none}
.exp-library .text-link span{padding-left:0}
/* Teasers are shown whole — never clipped mid-sentence. */
.exp-library .opinion.op-card .op-essence{display:block;overflow:visible;-webkit-box-orient:initial;-webkit-line-clamp:unset;line-clamp:unset;max-height:none}
/* Grouped request forms: one collapsed disclosure each, never five at once. */
.lib-form{border:1px solid #584b41;background:#302923;padding:clamp(20px,3vw,34px);margin-top:26px}
.lib-form>summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:6px 2px;min-height:56px}
.lib-form>summary::-webkit-details-marker{display:none}
.lib-form-title{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);font-weight:500;letter-spacing:-.02em;color:var(--ink);margin-right:auto}
.lib-form .ds-plus{flex:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:var(--ink);font-size:20px;font-weight:300;line-height:1;transition:transform .25s var(--ease)}
.lib-form[open] .ds-plus{transform:rotate(45deg)}
.lib-mailto-note{font-size:13px;line-height:1.6;color:#cdbfb8;border:1px dashed rgba(255,255,255,.3);padding:12px 16px;margin:4px 0 20px;max-width:70ch}
.lib-form .mini-form{margin-top:0}
/* Catalog headers: the numeral column is hidden globally, so the grid is
   icon + title + toggle (mirrors the #expertise homepage fix). */
.exp-library .exp-head{grid-template-columns:52px minmax(0,1fr) 34px}
/* Dark document theme: hero stays readable on the dark paper. */
html[data-theme="dark"] .exp-library{background:var(--dark);color:var(--ink)}
html[data-theme="dark"] .exp-library .back-link{color:#d68a93}
html[data-theme="dark"] .lib-lead{color:#c9c2b4}
html[data-theme="dark"] .lib-portrait img{border-color:#3a3836}
/* Mobile: single column, portrait caps width, no overflow. */
@media (max-width:760px){
  .lib-hero-grid{grid-template-columns:1fr}
  .lib-portrait{justify-self:start;max-width:min(100%,380px)}
  .exp-library h1{font-size:clamp(36px,11vw,52px)}
  .lib-form-title{font-size:21px}
  .exp-library .exp-head{grid-template-columns:44px minmax(0,1fr) 30px}
}
