/* Nathaniel Locke book shelf and detail pages; shared header remains unchanged. */
.nl-books,.nl-book-detail{--nl-gold:#e8c98b;--nl-line:#31526b;--nl-muted:#bfd0de;box-sizing:border-box;color:#edf4fb;font-family:Arial,Helvetica,sans-serif;min-width:0}
.nl-books *,.nl-book-detail *{box-sizing:border-box}
.nl-books{padding:28px;border:1px solid var(--nl-line);border-radius:18px;background:linear-gradient(135deg,#0e2333,#06111d);margin:0 0 32px;scroll-margin-top:16px}
.nl-books .nl-book-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:26px}
.nl-books .nl-eyebrow,.nl-book-detail .nl-eyebrow{color:var(--nl-gold);font:800 .78rem/1.4 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 9px}
.nl-books h2{font:700 clamp(1.8rem,3vw,2.7rem)/1.15 Georgia,serif;margin:0 0 12px;color:#fff}
.nl-books .nl-intro{max-width:840px;color:var(--nl-muted);font-size:1rem;line-height:1.65;margin:0}
.nl-status{color:#e8d6ab!important;border:1px solid #8b774b;border-radius:30px;padding:8px 13px;white-space:nowrap;font:700 .8rem/1.4 Arial,sans-serif;display:inline-block}
.nl-book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.nl-book-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid var(--nl-line);border-radius:12px;background:#061421;color:#edf4fb!important;text-decoration:none!important}
.nl-book-card:hover{border-color:var(--nl-gold);box-shadow:0 12px 30px #0004}
.nl-book-card img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#02070c}
.nl-book-card .nl-card-copy{padding:20px;display:flex;flex-direction:column;gap:11px;flex:1}
.nl-book-card .nl-number{color:var(--nl-gold);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.nl-book-card h3{font:700 1.4rem/1.2 Georgia,serif;margin:0;color:#fff}
.nl-book-card p{font-size:.95rem;color:var(--nl-muted);line-height:1.6;margin:0}
.nl-book-card .nl-author{font-size:.85rem;color:#e0d6bd}
.nl-book-card .nl-action{margin-top:auto;padding-top:12px;color:#5ee0ef;font-weight:800;font-size:.95rem}
.nl-books .nl-note{margin:25px 0 0;padding-top:18px;border-top:1px solid var(--nl-line);color:var(--nl-muted);font-size:.9rem;line-height:1.6}
.nl-hero-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.nl-hero-actions a,.nl-detail-actions a{display:inline-block;text-decoration:none!important;color:#edfbff!important;background:#12425b;border:1px solid #46a7c4;border-radius:9px;padding:12px 17px;font:bold .95rem/1.4 Arial,sans-serif}
.nl-hero-actions a:first-child{color:#111c27!important;background:#e5c285;border-color:#f0d6a5}
.content.nl-hub{max-width:1480px;width:96%;padding:30px 24px;margin:0 auto}
.nl-hub .hero-card{margin-top:32px;align-items:start}.nl-hub .hero-card p{font-size:1rem;line-height:1.7}
.nl-hub .hero-card img{position:sticky;top:calc(var(--aurora-primary-header-height,140px) + 20px)}
.nl-hub .hero-card h2{margin-top:0}
#universe-branches{scroll-margin-top:16px}
.nl-book-detail{max-width:1360px;width:94%;margin:0 auto;padding:32px 0 65px}
.nl-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;color:#bad3e1;font-size:.92rem;margin-bottom:28px}.nl-breadcrumb a{color:#65d9ec;text-decoration:none}
.nl-detail-grid{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.nl-detail-cover{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:10px;border:1px solid #36556c;box-shadow:0 18px 50px #0005}
.nl-book-detail h1{font:700 clamp(2.3rem,4.5vw,4.3rem)/1.08 Georgia,serif;color:white;margin:12px 0 20px}
.nl-book-detail .nl-lede{color:#c8dce8;font-size:1.12rem;line-height:1.75;max-width:750px}
.nl-book-detail dl{display:grid;grid-template-columns:130px 1fr;gap:14px 20px;border-top:1px solid #31526b;border-bottom:1px solid #31526b;padding:24px 0;margin:28px 0;font-size:.97rem;line-height:1.5}
.nl-book-detail dt{color:#a7c3d5}.nl-book-detail dd{margin:0;color:#e7f2f8}
.nl-book-detail .nl-development{color:#bfd0de;line-height:1.75;font-size:1rem;max-width:750px}
.nl-detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.nl-book-neighbors{display:flex;justify-content:space-between;gap:24px;margin-top:32px;padding-top:22px;border-top:1px solid #31526b;flex-wrap:wrap}.nl-book-neighbors a{color:#73ddea;text-decoration:none;font-weight:700;line-height:1.5}
.nl-books a:focus-visible,.nl-book-detail a:focus-visible,.nl-hero-actions a:focus-visible{outline:3px solid #ffd78f;outline-offset:4px}
@media(max-width:1000px){.nl-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-hub .hero-card{grid-template-columns:1fr}.nl-hub .hero-card img{position:static}.nl-hub .hero-card>div:first-child{max-width:900px}}
@media(max-width:650px){.nl-books{padding:18px}.nl-books .nl-book-heading{display:block}.nl-books .nl-status{margin-top:16px}.nl-book-grid{grid-template-columns:1fr}.content.nl-hub{padding:22px 10px}.nl-detail-grid{grid-template-columns:1fr}.nl-detail-cover{max-width:360px;margin:auto;display:block}.nl-book-detail dl{grid-template-columns:100px 1fr}.nl-book-detail h1{font-size:2.6rem}}

/* Keep the existing header navigation within this project page. */
.ads-site-header .ads-nav{gap:8px!important;flex-wrap:wrap!important}

.ads-site-header .ads-nav a{font-size:14px!important;padding:9px 10px!important}

/* Supporting branches share a direct route to the book shelf. */
.nl-branch-feature{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);gap:36px;align-items:start;padding:28px;margin-bottom:36px;border:1px solid #31526b;border-radius:16px;background:#081b2b;color:#edf4fb}
.nl-branch-feature img{display:block;width:100%;height:auto;border-radius:8px}
.nl-branch-feature h2{margin-top:0;font-family:Georgia,serif;font-size:2rem;color:white}
.nl-branch-feature p{line-height:1.7}
.nl-branch-feature .nl-eyebrow{color:#e8c98b;text-transform:uppercase;font-weight:700;letter-spacing:.1em;font-size:.8rem}
@media(max-width:650px){.nl-branch-feature{grid-template-columns:1fr;padding:20px}.nl-branch-feature img{max-width:280px;margin:auto}}
