/* Homepage library footer; scoped to preserve the other pages. */
.hp-footer.hp-footer--library { position: relative; isolation: isolate; overflow: hidden; padding: 64px 0 0; background: #081c16 url('../images/footer/library-background.webp') center bottom/cover no-repeat; color: #eee9d8; }
.hp-footer--library::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#06181188,#06181165 15%,#06181130 50%,#06181165 86%,#06181188); pointer-events: none; }
.hp-footer--library .hp-container { width: min(1480px,calc(100% - 120px)); }
.hp-footer--library .hp-footer-grid { grid-template-columns: 1.4fr .76fr 1fr .86fr 1.5fr; gap: 37px; padding-bottom: 37px; }
.hp-footer--library .hp-footer-grid > * { min-width: 0; }
.hp-footer--library .hp-footer-brand { display: block; }
.hp-footer--library .hp-footer-logo { display: block; width: 220px; max-width: 100%; }
.hp-footer--library .hp-footer-brand img { display: block; width: 220px; max-width: 100%; height: auto; margin: -28px 0 -7px -8px; filter: brightness(0) invert(.94); object-fit: contain; }
.hp-footer--library .hp-footer-brand .hp-footer-statement { color: #f2edde; font: 400 21px/1.5 Georgia,serif; margin: 0 0 17px; text-align: left; }
.hp-footer-statement::before { content: ''; display: block; width: 34px; height: 2px; background: #b4945c; margin-bottom: 14px; }
.hp-footer--library .hp-footer-brand .hp-footer-summary { font: 400 13px/1.75 'Inter',Arial,sans-serif; color: #c1c4b4; margin: 0; text-align: left; }
.hp-footer--library h2 { color: #e7dfc9; font: 400 11px/1.5 Georgia,serif; text-transform: uppercase; letter-spacing: .21em; margin: 16px 0 29px; }
.hp-footer--library h2::after { content: ''; display: block; width: 30px; height: 1px; background: #be9a5a; margin-top: 11px; }
.hp-footer--library .hp-footer-grid nav > a { color: #e1dfcf; font: 400 16px/1.45 Georgia,serif; text-decoration: none; margin-bottom: 15px; }
.hp-footer--library a:hover { color: #e0bd78; }
.hp-footer-socials { display: flex; gap: 10px; margin-top: 24px; }
.hp-footer-socials button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #b9985b; border-radius: 50%; background: #071e1740; color: #d6b575; cursor: pointer; transition: background .2s,color .2s; }
.hp-footer-socials .fa { font-size: 17px; }
.hp-footer-socials button:hover { background: #c7a66a; color: #0c251b; }
.hp-footer--library .hp-footer-social-status { color: #d6c6a1; font: 400 11px/1.5 'Inter',Arial,sans-serif; margin: 9px 0 0; text-align: left; }
.hp-footer-connect { border-left: 1px solid #9c9c7f70; padding-left: 30px; }
.hp-footer--library .hp-footer-news h2 { margin-bottom: 13px; }
.hp-footer--library .hp-footer-news > p { color: #e0decf; font: 400 16px/1.5 Georgia,serif; margin: 0 0 17px; text-align: left; }
.hp-footer-signup { display: flex; width: 100%; border: 1px solid #a7a78c80; border-radius: 3px; overflow: hidden; }
.hp-footer-signup input { display: block; width: 100%; min-width: 0; height: 42px; padding: 10px 12px; border: 0; border-radius: 0; background: #05191185; color: #fff8e4; font: 400 13px/1.3 'Inter',Arial,sans-serif; box-shadow: none; }
.hp-footer-signup input::placeholder { color: #bbc0af; opacity: 1; }
.hp-footer-signup-button { display: grid; place-items: center; flex: 0 0 44px; padding: 0; border: 0; background: linear-gradient(120deg,#d8be87,#b79252); color: #1a3526; cursor: pointer; }
.hp-footer-signup-button svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.hp-footer-signup-button:hover { background: #eed6a6; }
.hp-footer--library .hp-footer-news > .hp-footer-note { font: 400 10px/1.5 'Inter',Arial,sans-serif; color: #b8bfa9; margin: 8px 0 0; }
.hp-footer--library .hp-footer-contact h2 { margin-top: 27px; margin-bottom: 19px; }
.hp-footer--library .hp-footer-contact address { display: flex; align-items: flex-start; gap: 13px; max-width: none; margin: 0 0 17px; font-style: normal; }
.hp-footer-contact .fa { flex: 0 0 16px; text-align: center; color: #d0ae6f; font-size: 16px; margin-top: 3px; }
.hp-footer--library .hp-footer-contact address a { color: #e5e1d0; font: 400 16px/1.4 Georgia,serif; text-decoration: none; }
.hp-footer-contact address a span { display: block; margin-top: 5px; color: #bec4b3; font: 400 11px/1.6 'Inter',Arial,sans-serif; }
.hp-footer--library .hp-footer-contact address p { margin: 5px 0 0; color: #b5beaa; font: 400 11px/1.5 'Inter',Arial,sans-serif; text-align: left; }
.hp-footer--library .hp-footer-contact > a { display: flex; align-items: flex-start; gap: 13px; color: #e1dfcf; font: 400 15px/1.5 Georgia,serif; text-decoration: none; margin-bottom: 15px; overflow-wrap: anywhere; }
.hp-footer--library .hp-footer-contact > a:hover, .hp-footer--library .hp-footer-contact address a:hover { color: #e0bd78; }
.hp-footer--library .hp-footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 25px; border-top: 1px solid #aaa48b80; padding: 22px 0 26px; }
.hp-footer--library .hp-footer-bottom > p { color: #c2c3b3; font: 400 11px/1.5 'Inter',Arial,sans-serif; }
.hp-footer-motto { text-align: center; }
.hp-footer-motto > div { display: flex; align-items: center; justify-content: center; gap: 17px; margin-bottom: 9px; }
.hp-footer-motto svg { width: 24px; height: 22px; fill: none; stroke: #c09b58; stroke-width: 1.7; stroke-linejoin: round; }
.hp-footer-motto span { width: 42px; height: 1px; background: #b89657; }
.hp-footer--library .hp-footer-motto p { font: italic 16px/1.3 Georgia,serif; color: #d1ac68; margin: 0; text-align: center; }
.hp-footer--library .hp-footer-bottom nav { justify-self: end; flex-wrap: nowrap; gap: 14px; }
.hp-footer--library .hp-footer-bottom nav a { color: #c2c3b3; font: 400 11px/1.5 'Inter',Arial,sans-serif; }
.hp-footer-bottom nav a + a { border-left: 1px solid #a9a58a70; padding-left: 14px; }
.hp-footer--library :is(a,button,input):focus-visible { outline: 2px solid #dfbd7e; outline-offset: 4px; }
.hp-footer-signup:focus-within { outline: 2px solid #dfbd7e; outline-offset: 4px; }
.hp-footer--library .hp-footer-signup input:focus-visible { outline: none; }
.hp-footer-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1399px) {
  .hp-footer--library .hp-container { width: calc(100% - 90px); }
  .hp-footer--library .hp-footer-grid { grid-template-columns: 1.3fr .8fr 1fr .85fr 1.45fr; gap: 25px; }
  .hp-footer-connect { padding-left: 23px; }
  .hp-footer--library .hp-footer-brand .hp-footer-statement { font-size: 19px; }
  .hp-footer--library .hp-footer-grid nav > a { font-size: 15px; }
  .hp-footer--library .hp-footer-contact > a { font-size: 14px; }
}
@media (max-width: 1099px) {
  .hp-footer.hp-footer--library { padding-top: 48px; background-size: auto 100%; }
  .hp-footer--library::before { background: #061b13b8; }
  .hp-footer--library .hp-container { width: calc(100% - 70px); }
  .hp-footer--library .hp-footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
  .hp-footer--library .hp-footer-brand { grid-column: 1/-1; max-width: 520px; }
  .hp-footer-connect { grid-column: 1/-1; padding: 14px 0 0; border: 0; border-top: 1px solid #aaa48b50; display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .hp-footer--library .hp-footer-contact h2 { margin-top: 16px; }
  .hp-footer--library .hp-footer-bottom { grid-template-columns: 1fr 1fr; }
  .hp-footer-motto { grid-column: 1/-1; grid-row: 1; }
}
@media (max-width: 700px) {
  .hp-footer--library .hp-container { width: calc(100% - 46px); }
  .hp-footer--library .hp-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .hp-footer--library .hp-footer-brand { max-width: 430px; }
  .hp-footer--library .hp-footer-brand img { width: 210px; margin-top: -23px; }
  .hp-footer--library .hp-footer-brand .hp-footer-statement { font-size: 21px; }
  .hp-footer--library .hp-footer-grid > nav:nth-of-type(3) { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 25px; align-items: start; }
  .hp-footer--library .hp-footer-grid > nav:nth-of-type(3) h2 { grid-column: 1/-1; }
  .hp-footer-connect { gap: 26px; }
  .hp-footer--library .hp-footer-contact { grid-column: auto; }
  .hp-footer--library h2 { margin-bottom: 23px; }
  .hp-footer--library .hp-footer-grid nav > a { font-size: 16px; margin-bottom: 13px; }
  .hp-footer--library .hp-footer-bottom { gap: 21px; }
  .hp-footer--library .hp-footer-bottom > p { font-size: 10px; }
  .hp-footer--library .hp-footer-bottom nav { gap: 10px; }
  .hp-footer--library .hp-footer-bottom nav a { font-size: 10px; }
}
@media (max-width: 480px) {
  .hp-footer-connect { grid-template-columns: 1fr; gap: 9px; }
  .hp-footer--library .hp-footer-grid { gap: 19px 25px; }
  .hp-footer--library .hp-footer-contact > a { font-size: 16px; }
  .hp-footer--library .hp-footer-bottom { display: flex; flex-direction: column; text-align: center; gap: 19px; }
  .hp-footer-motto { order: -1; }
  .hp-footer--library .hp-footer-bottom nav { justify-content: center; }
}
@media (max-width: 359px) { .hp-footer--library .hp-container { width: calc(100% - 36px); } }
@media (prefers-reduced-motion: reduce) { .hp-footer-socials button { transition: none; } }
