/* Reliability Shelf, second edition. Isolated from the other resource pages. */
.shelf-edition .shelf-hero-grid { grid-template-columns: .85fr 1.15fr; gap: 44px; }
.shelf-edition .shelf-hero + .section { padding-top: 24px; }
.shelf-edition .shelf-hero-text h1 { font-size: clamp(42px, 5vw, 64px); max-width: 12ch; line-height: 1.04; margin: 22px 0; }
.shelf-edition .edition-label { display: inline-flex; align-items: center; gap: 10px; color: #006A80; font-size: 13px; font-weight: 650; }
.edition-label::before { content: ''; width: 26px; height: 2px; background: #00B8D6; }
.shelf-edition .shelf-hero-text .article-lede { max-width: 45ch; }
.shelf-edition .shelf-cta { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.shelf-all-link { color: #006A80; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.shelf-byline { color: #526D88; font-size: 12px; margin-top: 25px; }
.shelf-library-photo { margin: 0; width: 100%; }
.shelf-edition .shelf-library-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 5px; box-shadow: 0 18px 40px #50381720; }
.shelf-personal { padding: 36px 0 40px; scroll-margin-top: 95px; }
.personal-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; margin-bottom: 36px; }
.personal-kicker { color: #006A80; font-size: 12px; font-weight: 600; margin: 0 0 10px; }
.shelf-personal .personal-intro h2 { margin: 0; font-size: clamp(34px, 4vw, 46px); }
.personal-intro > p { color: #526D88; font-size: 16px; line-height: 1.7; margin: 0; max-width: 48ch; }
.personal-picks { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.personal-picks li { min-width: 0; display: grid; grid-template-columns: 105px 1fr; gap: 22px; padding-top: 25px; border-top: 1px solid #c7d2e0; align-items: start; }
.personal-book { display: block; padding: 16px 10px 20px 0; }
.personal-book .book-object { width: 92px; height: 140px; box-shadow: 9px 10px 15px #0a223625; }
.personal-book .book-object::before { width: 9px; right: -9px; }
.pick-rank { font-family: 'Instrument Serif', Georgia, serif; font-size: 32px; line-height: 1; color: #006A80; }
.personal-picks h3 { margin: 10px 0 6px; font-size: 17px; line-height: 1.35; }
.personal-picks h3 a { color: #0a2236; text-decoration: none; }
.personal-picks h3 a:hover { color: #006A80; text-decoration: underline; }
.pick-author { font-size: 12px; color: #526D88; margin: 0 0 15px; }
.pick-note { font-size: 14px; line-height: 1.7; color: #18324A; margin: 0; }
.personal-signoff { margin: 30px 0 0; font: 24px/1.4 'Instrument Serif', Georgia, serif; color: #526D88; }
.personal-signoff span { white-space: nowrap; color: #0a2236; }
.shelf-edition .book-face:has(img[src*="illustrated-v3/"]) { background: #fff; }
@media (min-width: 921px) and (max-width: 1150px) { .personal-picks li { grid-template-columns: 1fr; gap: 10px; } }
@media (max-width: 920px) { .personal-picks { grid-template-columns: 1fr; gap: 25px; } .personal-picks li { grid-template-columns: 105px 1fr; } .personal-intro { grid-template-columns: 1fr; gap: 18px; } .shelf-library-photo { max-width: 720px; } }
@media (max-width: 480px) { .personal-picks li { grid-template-columns: 82px 1fr; gap: 17px; } .personal-book .book-object { width: 72px; height: 110px; } .personal-signoff { font-size: 22px; } }
.shelf-edition .edition-update { margin: 26px 0 0; max-width: 44ch; font-size: 14px; line-height: 1.6; color: #526D88; }
.edition-update a { color: #006A80; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.shelf-display { position: relative; height: 400px; border-radius: 16px; background: radial-gradient(ellipse at 55% 35%, #30566e, #0A2236 75%); overflow: hidden; }
.shelf-display::after { content: ''; position: absolute; left: 0; right: 0; bottom: 58px; height: 12px; background: linear-gradient(#527385, #19394b 30%, #0a2236); box-shadow: 0 18px 25px #0008; }
.shelf-display-caption { position: absolute; bottom: 18px; left: 24px; right: 24px; color: #c3dce8; font-size: 12px; display: flex; justify-content: space-between; gap: 10px; }
.shelf-display-caption span:last-child { color: #7cdeeb; }
.shelf-display .hero-volume { position: absolute; bottom: 70px; width: 152px; height: 232px; z-index: 1; }
.shelf-display .hero-volume:nth-child(1) { left: 10%; transform: rotate(-8deg); }
.shelf-display .hero-volume:nth-child(2) { right: 7%; transform: rotate(7deg); }
.shelf-display .hero-volume:nth-child(3) { left: 36%; width: 174px; height: 266px; z-index: 3; }
.hero-volume .book-object { width: 100%; height: 100%; }
.shelf-edition .res-grid { gap: 26px; }
.shelf-edition .res-card.has-banner { border-radius: 12px; overflow: hidden; }
.shelf-edition .res-card:hover { transform: none; }
.shelf-edition .book-stage { position: relative; display: flex; align-items: center; justify-content: center; height: 296px; padding: 28px 24px 38px; perspective: 1100px; background: radial-gradient(ellipse at 50% 30%, #fff 0, var(--stage, #e7eff4) 90%); isolation: isolate; }
.book-stage::after { content: ''; position: absolute; height: 9px; bottom: 19px; left: 0; right: 0; background: linear-gradient(#ffffffb0, #c7d2df 35%, #edf1f5); box-shadow: 0 10px 12px #18324a12; z-index: -1; }
.book-object { display: block; position: relative; width: 151px; height: 230px; transform: perspective(1000px) rotateY(-18deg) rotateZ(-3deg); transform-style: preserve-3d; box-shadow: 15px 15px 20px #0a22362d; transition: transform .25s ease; border-radius: 2px 3px 3px 2px; background: var(--book, #18324A); }
.book-object::before { content: ''; position: absolute; top: 3px; bottom: 3px; right: -14px; width: 14px; background: repeating-linear-gradient(90deg, #e0ddd4 0 1px, #faf8f0 1px 3px); transform: skewY(4deg); transform-origin: left; border: solid var(--book, #18324A); border-width: 2px 3px 2px 0; border-radius: 0 3px 3px 0; }
.book-object::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0005, #ffffff25 3%, #0002 5%, transparent 9%, transparent 96%, #0002); border-radius: inherit; pointer-events: none; }
.book-face { display: block; position: absolute; inset: 0; overflow: hidden; border-radius: inherit; background: var(--book, #18324A); }
.shelf-edition .book-face img { display: block; width: 100%; height: 100%; object-fit: fill; border: 0; border-radius: 0; max-height: none; }
.shelf-edition .book-face.asm-cover img { position: absolute; width: 171.8%; height: 112.8%; max-width: none; left: -37%; top: -4.4%; }
.book-stage:hover .book-object, a:focus-visible .book-object { transform: perspective(1000px) rotateY(-9deg) rotateZ(-1deg) translateY(-4px); }
.shelf-edition .book-link { display: block; color: inherit; }
.shelf-edition .book-category { position: absolute; bottom: 4px; left: 16px; right: 16px; text-align: center; color: #526D88; font-size: 10px; line-height: 1.3; }
.shelf-edition .new-book-label { position: absolute; top: 15px; left: 15px; z-index: 4; background: #0A2236; color: white; padding: 6px 10px; border-radius: 4px; font-size: 11px; font-weight: 600; }
.shelf-edition .new-book { border-color: #77c6d6; }
.shelf-edition .editorial-cover { display: flex; flex-direction: column; padding: 17px 13px 12px 17px; color: var(--cover-ink, white); background: var(--book, #18324A); }
.editorial-cover .cover-kind { font-size: 8px; line-height: 1.3; padding-bottom: 9px; border-bottom: 1px solid currentColor; opacity: .8; }
.editorial-cover .cover-title { font-size: 20px; font-weight: 700; letter-spacing: -.5px; line-height: 1.06; margin-top: 14px; overflow-wrap: normal; }
.editorial-cover .cover-author { margin-top: auto; font-size: 9px; line-height: 1.35; padding-top: 8px; border-top: 1px solid currentColor; }
.editorial-cover .cover-art { width: 100%; flex: 1; min-height: 20px; max-height: 78px; margin: 8px 0; opacity: .75; }
.shelf-edition .shelf-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; padding: 22px 0; border-bottom: 1px solid #c7d2e0; }
.shelf-nav strong { font-size: 14px; margin-right: auto; }
.shelf-nav a { font-size: 13px; color: #006A80; text-decoration: underline; text-underline-offset: 4px; }
.shelf-edition .res-group { scroll-margin-top: 90px; }
.shelf-edition .res-group-head .eyebrow { display: none; }
.shelf-edition .res-group-head h2 { margin-top: 0 !important; }
.shelf-edition .res-card-body { padding: 23px; }
.shelf-edition .res-card.has-banner h3 { font-size: 18px; }
.asm-article-layout { display: grid; grid-template-columns: 1fr 260px; gap: 48px; align-items: start; }
.asm-article-layout > * { min-width: 0; }
.asm-article-layout .book-stage { border-radius: 12px; margin-top: 15px; }
.asm-reading-guide { max-width: 760px; padding-bottom: 48px; }
.asm-reading-guide h2 { margin: 40px 0 16px; font-size: 28px; }
.asm-reading-guide p, .asm-reading-guide li { font-size: 17px; line-height: 1.75; color: #18324A; }
.asm-reading-guide p + p { margin-top: 16px; }
.asm-reading-guide ul { padding-left: 22px; }
.asm-reading-guide li { margin: 12px 0; }
.asm-reading-guide .asm-loop { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 28px 0; }
.asm-loop span { background: #e8f3f6; border-top: 3px solid #00B8D6; padding: 18px 12px; color: #0a2236; font-size: 14px; }
.asm-loop small { display: block; line-height: 1.5; margin-top: 8px; }
.asm-reading-guide .source-note { font-size: 13px; color: #526D88; border-top: 1px solid #c7d2e0; padding-top: 22px; margin-top: 32px; }
.asm-reading-guide a { text-decoration: underline; text-underline-offset: 3px; color: #006A80; }
@media (max-width: 1080px) { .shelf-display .hero-volume { width: 128px; height: 196px; } .shelf-display .hero-volume:nth-child(3) { width: 150px; height: 229px; left: 32%; } }
@media (max-width: 920px) { .shelf-edition .shelf-hero-grid { grid-template-columns: 1fr; gap: 30px; } .shelf-display { max-width: 570px; width: 100%; height: 370px; } .shelf-display .hero-volume { width: 152px; height: 232px; } .shelf-display .hero-volume:nth-child(3) { width: 174px; height: 266px; left: 36%; } .shelf-edition .shelf-hero-text h1 { max-width: 20ch; } }
@media (max-width: 640px) { .shelf-edition .shelf-hero-text h1 { font-size: 45px; max-width: 12ch; } .shelf-display { height: 320px; } .shelf-display .hero-volume { width: 117px; height: 180px; } .shelf-display .hero-volume:nth-child(1) { left: 7%; } .shelf-display .hero-volume:nth-child(2) { right: 7%; } .shelf-display .hero-volume:nth-child(3) { width: 138px; height: 212px; left: 34%; } .shelf-display-caption { left: 16px; right: 16px; font-size: 10px; } .shelf-edition .shelf-nav { gap: 14px 22px; } .shelf-nav strong { flex-basis: 100%; } .asm-article-layout { grid-template-columns: 1fr; gap: 18px; } .asm-article-layout .book-stage { order: -1; max-width: 350px; width: 100%; } .asm-reading-guide .asm-loop { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .shelf-edition .book-object, .shelf-edition .res-card { transition: none; } .book-stage:hover .book-object { transform: perspective(1000px) rotateY(-18deg) rotateZ(-3deg); } }

/* Matching book mockups in every summary header. Static, with a mobile stack. */
.summary-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 56px; align-items: start; }
.summary-hero-layout > * { min-width: 0; }
.shelf-edition .summary-book { width: 100%; height: 380px; margin-top: 46px; border-radius: 10px; overflow: hidden; }
.summary-book .book-object { width: 198px; height: 302px; transition: none; }
.summary-book:hover .book-object { transform: perspective(1000px) rotateY(-18deg) rotateZ(-3deg); }
@media (min-width: 761px) and (max-width: 1020px) {
  .summary-hero-layout { grid-template-columns: minmax(0, 1fr) 230px; gap: 32px; }
  .shelf-edition .summary-book { height: 330px; }
  .summary-book .book-object { width: 164px; height: 250px; }
}
@media (max-width: 760px) {
  .summary-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .shelf-edition .summary-book { order: -1; width: 100%; max-width: 330px; height: 282px; margin: 0 auto; }
  .summary-book .book-object { width: 142px; height: 216px; }
  .summary-hero-layout .article-head { padding-top: 0; }
}
