html:has(.issue-lobby), body:has(.issue-lobby) { height: auto; overflow: auto; }
.issue-lobby { min-height: 100vh; background: radial-gradient(ellipse at 85% 0%, #174b65, transparent 48%), #041f32; color: #fff; padding: 0 max(24px, calc((100vw - 1240px) / 2)); }
.issue-lobby a { color: inherit; text-decoration: none; }
.issue-lobby button, .issue-lobby a { -webkit-tap-highlight-color: transparent; }
.issue-lobby :focus-visible { outline: 3px solid #9bdbc2; outline-offset: 6px; }
.issue-lobby > main { padding-top: var(--ed-header-height, 72px); }
body.ed-menu-active:has(.issue-lobby) { overflow: hidden; }
.issue-lobby .ed-menu nav a { grid-template-columns: 1fr 24px; }
.library-brand-pair img { object-fit: contain; display: block; }
.library-intro { padding: 68px 0 52px; max-width: 850px; }
.library-eyebrow { color: #9bdbc2; font-size: 14px; margin: 0 0 16px; }
.library-intro h1 { font-size: clamp(48px, 6vw, 82px); letter-spacing: -.035em; line-height: 1.2; margin: 0 0 20px; }
.library-intro h1 span { color: #9bdbc2; }
.library-intro > p:last-child { margin: 0; color: #c0d1d9; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.8; }
.library-section-heading { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #ffffff30; padding: 22px 0; }
.library-section-heading h2 { margin: 0; font-size: 19px; font-weight: 500; }
.library-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.library-card { display: block; overflow: hidden; border: 1px solid #ffffff26; border-radius: 6px; background: #0a2d43; transition: transform .3s ease, border-color .3s ease; }
.library-card:hover { transform: translateY(-5px); border-color: #9bdbc2; }
.library-cover { position: relative; width: 100%; min-width: 0; min-height: 340px; aspect-ratio: 1.6; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 26px 28px; gap: 100px; }
.library-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s ease; }
.library-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #041f32f5 0%, #041f3280 38%, #041f3226 65%, #041f328f 100%); z-index: -1; }
.library-card:hover .library-cover img { transform: scale(1.025); }
.library-issue-label { align-self: flex-start; white-space: nowrap; font-size: 15px; font-weight: 500; color: #fff; }
.library-card-overlay { display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.library-story-title { min-width: 0; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.35; margin: 0; text-wrap: balance; }
.library-open { flex: 0 0 46px; height: 46px; display: grid; place-items: center; color: #b4e8d1; border: 1px solid #b4e8d180; border-radius: 50%; font-size: 25px; }
.library-footer { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 38px 0; margin-top: 65px; border-top: 1px solid #ffffff26; }
.library-footer p { color: #aac0cb; font-size: 12px; }
.library-brand-pair { display: flex; align-items: center; gap: 22px; }
.library-brand-pair > span { width: 1px; height: 38px; background: #ffffff45; }
.library-skip { position: fixed; top: -100px; z-index: 100; padding: 12px; background: #041f32; }
.library-skip:focus { top: 10px; }
@media(max-width: 720px) {
  .library-intro { padding: 48px 0 36px; }
  .library-grid { grid-template-columns: 1fr; gap: 24px; }
  .library-cover { min-height: 300px; padding: 22px; }
  .library-card-overlay { gap: 16px; }
  .library-footer { flex-direction: column; align-items: flex-start; margin-top: 40px; }
  .library-brand-pair { gap: 14px; }
  .library-brand-pair > img { width: 190px; height: auto; }
}
@media(prefers-reduced-motion: reduce) { .library-card, .library-cover img { transition: none; } .library-card:hover, .library-card:hover .library-cover img { transform: none; } }
