.article-page .site-footer-links,.library-page .site-footer-links{display:flex;flex-wrap:wrap;gap:var(--cf-space-150) var(--cf-space-450)}.article-page .site-footer-links a,.library-page .site-footer-links a{color:var(--cf-color-text-tertiary)}.article-page .site-footer-links a:hover,.library-page .site-footer-links a:hover{color:var(--cf-color-primary)}.library-page .site-footer{position:relative;overflow:hidden;margin-top:var(--cf-space-1600);border-top:1px solid var(--cf-color-border);background:var(--cf-color-bg-subtle)}.library-page .site-footer-inner{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:var(--cf-space-1200) var(--cf-space-600) var(--cf-space-1600)}@media(max-width:768px){.library-page .site-footer-inner{padding:var(--cf-space-900) var(--cf-space-450) var(--cf-space-1600)}}.library-page .site-footer-top{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:var(--cf-space-900);gap:var(--cf-space-900)}@media(max-width:1020px){.library-page .site-footer-top{grid-template-columns:minmax(0,1fr)}}.library-page .site-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--cf-space-700);gap:var(--cf-space-700)}@media(max-width:560px){.library-page .site-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.library-page .site-footer-columns h2{margin:0 0 var(--cf-space-400);color:var(--cf-color-text-tertiary);font-size:var(--cf-font-size-325);font-weight:var(--cf-font-weight-medium)}.library-page .site-footer-columns ul{display:grid;grid-gap:var(--cf-space-300);gap:var(--cf-space-300);margin:0;padding:0;list-style:none}.library-page .site-footer-columns a{color:var(--cf-color-text);font-size:var(--cf-font-size-350);transition:color var(--cf-duration-fast)}.library-page .site-footer-columns a:hover{color:var(--cf-color-primary)}.library-page .site-footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cf-space-300)}.library-page .site-footer-cta p{margin:0 0 var(--cf-space-100);color:var(--cf-color-text-secondary);font-size:var(--cf-font-size-325);line-height:var(--cf-line-height-160)}.library-page .site-footer-cta p strong{display:block;color:var(--cf-color-text-strong);font-size:var(--cf-font-size-400)}.library-page .site-footer-button{display:inline-flex;align-items:center;gap:var(--cf-space-150);padding:var(--cf-space-250) var(--cf-space-450);border:1px solid var(--cf-color-border-control);border-radius:var(--cf-radius-250);background:var(--cf-color-surface);color:var(--cf-color-text-strong);font-size:var(--cf-font-size-350);font-weight:var(--cf-font-weight-semibold);transition:border-color var(--cf-duration-fast),background-color var(--cf-duration-fast)}.library-page .site-footer-button:hover{border-color:var(--cf-color-primary-border-hover)}.library-page .site-footer-button.is-primary{border-color:var(--cf-color-primary-solid);background:var(--cf-color-primary-solid);color:var(--cf-color-on-primary-solid)}.library-page .site-footer-button.is-primary:hover{border-color:var(--cf-color-primary-solid-hover);background:var(--cf-color-primary-solid-hover)}.library-page .site-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cf-space-400) var(--cf-space-700);margin-top:var(--cf-space-1000);padding-top:var(--cf-space-500);border-top:1px solid var(--cf-color-border);font-size:var(--cf-font-size-300)}.library-page .site-footer-social{display:flex;align-items:center;gap:var(--cf-space-300)}.library-page .site-footer-social a:not(.site-footer-email){display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--cf-color-border);border-radius:var(--cf-radius-round);background:var(--cf-color-surface);transition:border-color var(--cf-duration-fast)}.library-page .site-footer-social a:not(.site-footer-email):hover{border-color:var(--cf-color-primary-border-hover)}.library-page .site-footer-email{margin-left:var(--cf-space-150);color:var(--cf-color-text-secondary)}.library-page .site-footer-email:hover{color:var(--cf-color-primary)}.library-page .site-footer-legal{display:flex;flex-wrap:wrap;gap:var(--cf-space-150) var(--cf-space-400)}.library-page .site-footer-legal a{color:var(--cf-color-text-tertiary)}.library-page .site-footer-legal a:hover{color:var(--cf-color-primary)}.library-page .site-footer-copy{margin:0 0 0 auto;color:var(--cf-color-text-tertiary)}@media(max-width:768px){.library-page .site-footer-copy{margin-left:0}}