.library-page .library-hero { padding: 44px 0 30px; }
.library-hero h1 { max-width: 850px; font-size: clamp(2.6rem, 5vw, 4.5rem); line-height: 1.05; margin: 14px 0 20px; }
.library-hero .hero-copy { max-width: 760px; font-size: 1.05rem; }
.library-promise { font-size: .875rem; font-weight: 700; margin: 18px 0 0; }
.library-page .library-selection { padding: 28px 0 42px; }
.library-selection .section-heading { margin-bottom: 18px; }
.library-selection h2 { font-family: var(--gr-font-sans); font-size: 1.15rem; font-weight: 700; margin: 0; }
.library-page .tool-grid { gap: 18px; }
.library-tool { display: flex; flex-direction: column; min-width: 0; padding: 28px; color: var(--gr-text); text-decoration: none; box-shadow: none; background: linear-gradient(135deg, rgba(59,130,246,.07), transparent 65%), var(--gr-surface); transition: border-color 150ms, transform 150ms, box-shadow 150ms; }
a.library-tool:hover { border-color: var(--gr-colour-blue); transform: translateY(-2px); box-shadow: var(--gr-shadow); }
.library-page a:focus-visible { outline: 3px solid var(--gr-colour-blue-light); outline-offset: 5px; }
.library-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.library-card-top .eyebrow { font-size: .875rem; letter-spacing: .06em; }
.library-arrow { font-size: 1.5rem; color: var(--gr-colour-blue-light); }
.library-page .library-tool h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); line-height: 1.35; margin: 20px 0 12px; max-width: 440px; }
.library-page .library-tool p { font-size: 1rem; margin: 0 0 24px; }
.library-card-foot { display: flex; flex-direction: column; gap: 7px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--gr-line); }
.library-card-foot > span { font-size: .875rem; font-weight: 700; }
.library-card-foot small { font-size: .875rem; color: var(--gr-text-soft); line-height: 1.5; }
.library-planned { background: var(--gr-surface-subtle); }
.library-planned .badge { color: var(--gr-text-soft); background: var(--gr-surface-subtle); font-size: .875rem; text-transform: none; }
.library-planned h3, .library-planned .library-card-foot { color: var(--gr-text-soft); }
.library-page .library-interpret, .library-page .library-guidance, .library-page .library-next { padding: 46px 0; }
.library-split { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; }
.library-split h2, .library-next h2 { font-size: clamp(2rem, 3vw, 2.8rem); margin: 12px 0; line-height: 1.15; }
.library-split p:first-child { margin-top: 0; }
.library-split p:last-child { margin-bottom: 0; }
.library-guidance h2 { margin: 12px 0 24px; font-size: clamp(2rem, 3vw, 2.6rem); }
.library-reading-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.library-reading { display: flex; flex-direction: column; color: var(--gr-text); text-decoration: none; padding: 22px; border: 1px solid var(--gr-line); border-radius: 14px; }
.library-reading:hover { border-color: var(--gr-colour-blue); }
.library-reading h3 { font-size: 1.15rem; margin: 0; line-height: 1.4; }
.library-reading .text-link { margin-top: auto; font-size: .875rem; text-transform: none; }
.library-next { background: linear-gradient(115deg, rgba(59,130,246,.11), rgba(139,92,246,.08)); }
.library-next-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 72px; align-items: center; }
.library-next p { max-width: 620px; }
.library-product { padding: 28px; background: var(--gr-surface); border: 1px solid var(--gr-line); border-radius: 14px; }
.library-product h3 { font-size: 1.15rem; line-height: 1.4; margin: 0; }
.library-page .text-link, .library-page .button { font-size: .875rem; }
@media(max-width: 760px) { .library-split, .library-next-inner { grid-template-columns: 1fr; gap: 24px; } .library-reading-grid { grid-template-columns: 1fr; gap: 14px; } .library-page .tool-grid { grid-template-columns: 1fr; } .library-tool { padding: 22px; } .library-page .library-hero { padding-top: 28px; } }
@media(prefers-reduced-motion: reduce) { .library-tool { transition: none; } a.library-tool:hover { transform: none; } }
