/* Library entries use the main site's typography, colour and shared toolbar. */
.library-intro { padding-block: clamp(56px, 6vw, 88px); }
.library-eyebrow { margin-bottom: 18px; color: var(--green); font-size: .85rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.library-intro h1 { max-width: 20ch; color: var(--ink); font-size: clamp(2.6rem, 5.4vw, 4.75rem); line-height: 1.1; letter-spacing: -.055em; }
.library-intro > p:last-child { max-width: 51ch; margin-top: 26px; font-size: var(--text-lead); line-height: 1.7; }
.library-resource { padding-block: clamp(56px, 6vw, 88px); border-top: 1px solid var(--line); }
.library-resource-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(40px, 6vw, 88px); }
.library-resource-copy h2 { color: var(--ink); font-size: clamp(2.1rem, 3.4vw, 3.1rem); line-height: 1.15; letter-spacing: -.045em; }
.library-resource-copy > p:not(.library-eyebrow) { max-width: 43ch; margin-top: 22px; font-size: var(--text-body); line-height: 1.75; }
.library-resource-copy .button { margin-top: 28px; }
.library-lift-resource { background: var(--sage); }
.library-preview { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--paper); box-shadow: 0 15px 35px -24px rgba(15, 46, 35, .3); }
.library-preview-bar { display: flex; align-items: center; gap: 18px; min-height: 43px; padding: 10px 17px; border-bottom: 1px solid var(--line); color: var(--muted); background: var(--sage); font-size: .75rem; }
.library-window-dots { display: inline-flex; gap: 5px; }
.library-window-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--line); }
.library-map-art { display: block; width: 100%; height: auto; }
.map-grid { opacity: .12; }
.map-connectors { fill: none; stroke: var(--green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.map-step { fill: var(--paper); stroke: var(--line); stroke-width: 1.5; }
.map-step-ready, .map-decision { fill: var(--sage-strong); stroke: var(--green); stroke-width: 1.5; }
.map-labels { fill: var(--ink); text-anchor: middle; font: 700 12px Manrope, sans-serif; }
.map-path-labels { fill: var(--muted); font: 11px Manrope, sans-serif; }
.library-lift-sheet { padding: clamp(16px, 2.4vw, 30px); }
.library-lift-sheet table { width: 100%; border-collapse: collapse; font-size: clamp(.65rem, 1.1vw, .875rem); }
.library-lift-sheet th, .library-lift-sheet td { padding: 16px 5px; border-bottom: 1px solid var(--line); text-align: center; }
.library-lift-sheet th:first-child { padding-left: 10px; text-align: left; }
.library-lift-sheet thead { color: var(--muted); font-size: .75rem; }
.library-lift-sheet tbody th { color: var(--ink); font-weight: 400; }
.library-lift-sheet .library-priority { background: var(--sage-strong); }
.library-lift-sheet strong { color: var(--green); font-size: 1.25em; }
.library-lift-sheet > p { margin-top: 19px; color: var(--muted); font-size: .75rem; }
.library-coming-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }
.library-coming-soon { padding: 5px 11px; border: 1px solid var(--line); border-radius: 20px; color: var(--green); background: var(--sage); font-size: .75rem; font-weight: 700; white-space: nowrap; }
.library-mcp-signup { padding: clamp(24px, 3vw, 38px); border-radius: 12px; background: var(--sage); }
.library-mcp-signup h3 { color: var(--ink); font-size: clamp(1.5rem, 2.2vw, 1.9rem); line-height: 1.25; letter-spacing: -.035em; }
.library-mcp-signup > p:first-of-type { margin-block: 17px 24px; font-size: var(--text-body); line-height: 1.7; }
#main #newsletter .library-mcp-signup .ml-form-embedContent { display: none; }
@media (max-width: 900px) {
    .library-resource-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .library-resource-copy > p:not(.library-eyebrow) { max-width: 58ch; }
    .library-preview, .library-mcp-signup { width: 100%; max-width: 640px; }
    .library-lift-sheet table { font-size: .875rem; }
}
@media (max-width: 479px) {
    .library-eyebrow { font-size: .72rem; }
    .library-resource-copy .button { gap: 18px; padding-inline: 18px; font-size: .94rem; }
    .library-lift-sheet { padding: 13px; }
    .library-lift-sheet table { font-size: .65rem; }
    .library-lift-sheet thead { font-size: .65rem; }
    .library-lift-sheet th, .library-lift-sheet td { padding: 14px 4px; }
    .library-lift-sheet th:first-child { padding-left: 6px; }
    .library-mcp-signup { padding: 22px; }
}
