.library-page{padding:40px 0 88px;background:var(--bg);color:var(--text)}.library-page .section-inner{max-width:1220px}.library-title{max-width:950px;padding:25px 0 38px}.library-title h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.12;letter-spacing:-.025em;color:var(--text)}.library-title .lead{max-width:760px}.library-meta{font-size:.875rem;color:var(--muted);margin-top:20px}.library-reading{display:grid;grid-template-columns:245px minmax(0,1fr);gap:55px;align-items:start}.library-toc{position:sticky;top:100px;font-size:.9375rem}.library-toc h2{font-size:1rem;margin:0 0 18px}.library-toc ol{padding-left:20px;margin-bottom:24px}.library-toc li{margin:0 0 12px;line-height:1.5}.library-toc a{color:var(--muted)}.library-body{font-size:1.0625rem;line-height:1.8;max-width:790px;min-width:0}.library-body h2{font-size:1.75rem;line-height:1.25;margin:40px 0 16px;scroll-margin-top:110px}.library-body h2:first-child{margin-top:0}.library-body h3{font-size:1.13rem;line-height:1.4;margin:0 0 10px}.library-body p{margin:0 0 20px}.library-body ul,.library-body ol{padding-left:24px;margin:0 0 24px}.library-body li{margin:0 0 8px}.library-body a,.library-reference-page a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.library-example{padding:24px 28px;border-left:3px solid var(--accent);background:var(--surface-2);margin:28px 0}.library-example p:last-child{margin-bottom:0}.library-table{overflow-x:auto;margin:26px 0;border:1px solid var(--border);border-radius:4px}.library-table table{width:100%;border-collapse:collapse;min-width:430px;font-size:.9375rem;line-height:1.6}.library-table caption{text-align:left;font-weight:600;padding:14px 18px;background:var(--surface)}.library-table th{text-align:left;background:var(--surface-2)}.library-table td,.library-table th{padding:14px 18px;border-bottom:1px solid var(--border);vertical-align:top}.library-table tr:last-child td{border-bottom:0}.library-table td:first-child{width:30%;font-weight:550}.library-jump{display:flex;flex-wrap:wrap;gap:12px 28px;padding:0 0 30px;border-bottom:1px solid var(--border)}.library-jump a{font-weight:600;color:var(--accent);font-size:1rem;text-underline-offset:5px}.library-group{padding:35px 0 18px;scroll-margin-top:100px}.library-group>h2{font-size:1.9rem;margin:0 0 18px;color:var(--text)}.library-entries{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.library-entry{display:block;padding:22px 0 26px;text-decoration:none;border-top:1px solid var(--border);color:var(--text)}.library-entry h3{font-size:1.25rem;line-height:1.35;margin:0 0 10px;color:var(--text)}.library-entry p{font-size:1rem;line-height:1.65;margin:0;color:var(--muted);max-width:58ch}.library-entry:hover h3{text-decoration:underline;text-underline-offset:4px}.library-entry:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.library-bottom-link{margin:28px 0 0;font-weight:600}.library-source-note{border-top:1px solid var(--border);margin-top:40px;padding-top:28px;font-size:.9375rem}.library-source-note h2{font-size:1.3rem}.library-next{display:flex;flex-wrap:wrap;gap:15px 30px;border-top:1px solid var(--border);padding-top:25px;margin-top:30px}.library-reference-page{max-width:850px!important;font-size:1.0625rem;line-height:1.75}.library-reference-page h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:25px 0}.library-reference-page h2{font-size:1.6rem;margin:35px 0 12px}.library-references{padding-left:22px}.library-references li{margin-bottom:10px}.library-calculator{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:26px;margin:35px 0}.library-calculator h2{font-size:1.5rem}.library-calculator form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.library-calculator label{display:flex;flex-direction:column;gap:6px;font-size:.9375rem;line-height:1.5;color:var(--text)}.library-calculator input{background:var(--surface);color:var(--text);border:1px solid var(--muted);border-radius:4px;padding:10px 12px;width:100%;font:inherit;min-height:46px}.library-calculator output{grid-column:1/-1;display:block;padding:16px;background:var(--surface-2);font-weight:600;white-space:pre-line}.library-calculator button{align-self:end;white-space:normal}.library-calculator input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-width:850px){.library-reading{grid-template-columns:1fr;gap:28px}.library-toc{position:static;border-bottom:1px solid var(--border);padding-bottom:22px}.library-toc ol{columns:2;column-gap:30px}.library-entries{gap:0 26px}}@media(max-width:560px){.library-page{padding-top:20px}.library-title{padding-top:18px;padding-bottom:25px}.library-title h1{font-size:2.15rem}.library-body{font-size:1rem;line-height:1.75}.library-body h2{font-size:1.5rem}.library-toc ol{columns:1}.library-entries{grid-template-columns:1fr}.library-example{padding:20px}.library-calculator{padding:20px}.library-calculator form{grid-template-columns:1fr}.library-jump{gap:14px 22px}.library-table table{min-width:0}.library-table th,.library-table td{padding:11px 10px;overflow-wrap:anywhere}.library-table td:first-child{width:50%}}@media print{.site-header,.site-footer,.library-toc,.modal,.wa-float,.glossary-float,.library-calculator button{display:none!important}.library-page{padding:0;background:white}.library-reading{display:block}.library-body{max-width:none}.library-body h2{break-after:avoid}.library-example,.library-table{break-inside:avoid}}
/* Inherit the established site palette. */
.library-page,.library-catalogue{color-scheme:dark}
.library-page .lead{color:var(--muted)}
.library-page .eyebrow,.library-page .breadcrumbs a,.library-page .technical-term{color:var(--accent)}
.library-page .button-secondary{text-decoration:none}
.library-page a:not(.button):hover,.library-catalogue a:hover{color:var(--accent-2)}
.library-bottom-link a{color:var(--accent);text-decoration:underline}

.library-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:12px 24px;background:var(--surface)}
.library-tools .whatsapp-launcher,.library-tools .glossary-launcher,.library-tools .hubspot-chat-fallback{position:static;transform:none;margin:0;min-height:44px;box-shadow:none}
.library-calculator output{overflow-wrap:anywhere}
@media print{.library-tools{display:none!important}}
/* Long contact addresses must reflow when readers enlarge text. */
.footer-contact-email{overflow-wrap:anywhere;white-space:normal}
.library-tools .whatsapp-launcher span{font-size:12px;flex-shrink:0}

@media print{.library-page{--bg:#fff;--surface:#fff;--surface-2:#eee;--text:#111;--muted:#333;--accent:#164c60;--accent-2:#164c60;--border:#bbb;color:var(--text)}}

/* Keep diagram labels at their authored scale instead of shrinking them to a phone. */
.library-diagram-scroll{overflow-x:auto;max-width:100%;background:#071014}
.library-diagram-scroll>img{display:block;width:980px;max-width:none;height:auto;margin:0 auto;object-fit:contain}
.library-diagram-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.article-visual-diagram figcaption a{color:var(--accent);text-decoration:underline}
@media print{.library-diagram-scroll>img{width:100%;max-width:100%}.library-diagram-scroll{overflow:visible}}

.library-discovery { padding-bottom: 28px; }
.library-search-label { display: block; font-weight: 650; margin-bottom: 9px; }
.library-discovery input[type="search"] { display: block; width: min(100%, 680px); min-height: 48px; border: 1px solid var(--border); border-radius: 8px; padding: 11px 14px; background: var(--surface); color: var(--text); font: inherit; }
.library-topic-filters { margin-top: 18px; }
.library-result-count { margin: 14px 0 0; color: var(--muted); }
.library-empty { padding: 28px 0; color: var(--muted); }
.library-calculator-action { grid-column: 1 / -1; }
.library-calculator-action .button { width: 100%; text-align: center; white-space: normal; text-decoration: none; }
@media print { .library-discovery, .library-empty, .library-calculator-action { display: none !important; } }
