/* Standalone Library Hub landing page. Namespaced to avoid changes to other District pages. */
.lh-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#061c3a 0%,#082e61 58%,#10548f 100%);color:#fff;padding:52px 0 60px}
.lh-hero:before{content:"";position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(105,174,255,.24),transparent 70%);pointer-events:none}
.lh-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:clamp(25px,5vw,70px)}
.lh-main{min-width:0}
.lh-breadcrumb{display:flex;gap:11px;align-items:center;font-size:13px;color:#c0d5ef;margin-bottom:48px}
.lh-breadcrumb a{color:#fff;text-decoration:none}
.lh-breadcrumb a:hover{text-decoration:underline}
.lh-eyebrow{font-size:12px;letter-spacing:.14em;font-weight:750;color:#cbdffe;display:flex;align-items:center;gap:9px}
.lh-eyebrow-dot{display:block;width:9px;height:9px;border-radius:50%;background:#f4c529;box-shadow:0 0 0 4px rgba(244,197,41,.14)}
.lh-main h1{font-size:clamp(43px,5.5vw,72px);font-weight:850;letter-spacing:-.05em;line-height:1.04;margin:17px 0;color:#fff}
.lh-main h1 span{color:#f7c948}
.lh-lead{max-width:615px;font-size:clamp(15px,1.5vw,18px);line-height:1.75;color:#d7e5f7;margin:0 0 23px}
.lh-pills{display:flex;flex-wrap:wrap;gap:9px}
.lh-pills span{font-size:12px;border:1px solid rgba(210,232,255,.32);border-radius:999px;padding:8px 13px;background:rgba(255,255,255,.07);color:#edf6ff}
.lh-feature-image{position:relative;display:flex;align-items:center;gap:20px;margin-top:38px;max-width:480px;padding:19px 24px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(10,43,84,.62);box-shadow:0 18px 36px rgba(0,0,0,.13)}
.lh-feature-image img{position:relative;width:103px;height:103px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 10px 16px rgba(0,0,0,.24))}
.lh-feature-copy{position:relative;display:flex;flex-direction:column;gap:7px}
.lh-feature-copy strong{font-size:18px;font-weight:750;color:#fff;line-height:1.25}
.lh-feature-copy span{font-size:13px;color:#c7ddf5}
.lh-login{background:#fff;color:#173250;border:1px solid #e2ebf6;border-radius:22px;padding:clamp(23px,3vw,35px);box-shadow:0 22px 58px rgba(2,21,44,.28)}
.lh-login-top{display:flex;align-items:center;gap:14px;margin-bottom:17px}
.lh-login-icon{width:48px;height:48px;display:grid;place-items:center;background:#e8f2ff;color:#124d96;border-radius:14px}
.lh-login-icon svg{width:25px;height:25px}
.lh-login-kicker{font-size:11px;color:#496f98;font-weight:800;letter-spacing:.14em}
.lh-login h2{font-size:clamp(23px,2.5vw,29px);color:#0c2c53;line-height:1.2;margin:0 0 10px;letter-spacing:-.03em}
.lh-login-desc{margin:0 0 25px;color:#52677d;font-size:14px;line-height:1.65}
.lh-setup-notice{background:#fff6e4;border:1px solid #eac775;border-radius:10px;color:#694814;padding:12px 14px;font-size:13px;line-height:1.55;margin:0 0 18px}
.lh-login-form{display:flex;flex-direction:column;gap:17px}
.lh-form-field{display:flex;flex-direction:column;gap:8px}
.lh-form-field label{font-size:13px;font-weight:700;color:#1d395a}
.lh-form-field input{width:100%;min-height:46px;border:1px solid #cdd9e7;border-radius:10px;padding:11px 14px;font:inherit;font-size:14px;background:#fff;color:#162e48;transition:border-color .16s,box-shadow .16s}
.lh-form-field input:focus{outline:none;border-color:#277bc8;box-shadow:0 0 0 3px rgba(39,123,200,.14)}
.lh-form-field input:disabled{background:#f5f7fb;cursor:not-allowed}
.lh-signin{width:100%;margin-top:3px;min-height:48px;border:0;border-radius:10px;background:#09519a;color:white;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .15s,transform .15s}
.lh-signin:hover:not(:disabled){background:#063b75;transform:translateY(-1px)}
.lh-signin:disabled{background:#88a3bc;cursor:not-allowed}
.lh-login-foot{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:23px;padding-top:19px;border-top:1px solid #e2eaf3;font-size:13px;color:#60758a}
.lh-login-foot a{color:#105caa;font-weight:800;text-decoration:none}
.lh-login-foot a:hover{text-decoration:underline}
.lh-help-note{text-align:center;color:#708197;font-size:12px;line-height:1.55;margin:15px 0 0}
.lh-information{padding:58px 0 72px;background:#f5f8fd}
.lh-section-header{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:25px}
.lh-section-label{font-size:11px;color:#1760ad;font-weight:800;letter-spacing:.13em}
.lh-section-header h2{font-size:clamp(24px,3vw,32px);color:#10365e;margin:7px 0 0;letter-spacing:-.03em}
.lh-section-header p{font-size:14px;max-width:330px;color:#62768a;line-height:1.6;margin:0}
.lh-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.lh-service-card{background:#fff;border:1px solid #dce7f2;border-radius:15px;padding:25px 24px;box-shadow:0 8px 25px rgba(20,62,107,.04)}
.lh-service-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#e9f2fc;color:#13549a;font-size:13px;font-weight:850;margin-bottom:19px}
.lh-service-card h3{font-size:17px;color:#143b64;margin:0 0 9px;line-height:1.3}
.lh-service-card p{font-size:13px;color:#617589;line-height:1.65;margin:0}
@media (max-width:850px){.lh-hero-inner{grid-template-columns:minmax(0,1fr);gap:33px}.lh-breadcrumb{margin-bottom:27px}.lh-feature-image{margin-top:25px}.lh-login{width:100%;max-width:520px}.lh-hero{padding:35px 0 50px}.lh-section-header{align-items:start;flex-direction:column}}
@media (max-width:650px){.lh-service-grid{grid-template-columns:1fr}.lh-information{padding:43px 0}.lh-hero{padding:25px 0 40px}.lh-breadcrumb{margin-bottom:24px}.lh-main h1{font-size:43px}.lh-feature-image img{width:78px;height:78px}.lh-feature-image{padding:15px;gap:14px}.lh-feature-copy strong{font-size:15px}.lh-login{padding:22px 20px;border-radius:17px}.lh-lead{font-size:15px}}
@media (prefers-reduced-motion:reduce){.lh-signin,.lh-form-field input{transition:none}}

/* Login failures are displayed inside the District landing page. */
.lh-login-alert{margin:0 0 19px;border:1px solid #e7a3a3;background:#fff2f1;color:#8a2025;border-radius:11px;padding:12px 14px;font-size:13px;font-weight:650;line-height:1.55}

/* District-hosted Library member registration view. */
.lh-login--register{max-width:100%;}
.lh-login--register .lh-login-form{gap:13px}
.lh-register-success{background:#eefaf1;border:1px solid #9bd3aa;color:#196034;border-radius:11px;padding:14px 15px;font-weight:650;font-size:14px;line-height:1.6;margin:0 0 16px}
.lh-signin-link{text-decoration:none}
.lh-signin-link:hover{text-decoration:none;color:#fff}
