/* The Lighthouse Library in the Gravitas site system (site-system.css). A signature page:
   the dark hero with the animated lighthouse library stays exactly as it was; below it the page
   moves onto the shared ivory ground, and the shelves sit in a raised navy panel. */

html:has(body.gx-lighthouse-library.library-dark) { background: var(--gx-ground); }
body.gx-lighthouse-library.library-dark { background: var(--gx-ground); color: var(--gx-ink); }
body.gx-lighthouse-library.library-dark main { background: transparent; padding: 0 0 clamp(40px, 6vw, 72px); }

/* ---------- the signature hero, unchanged ----------
   The band carries the midnight ground the hero always sat on; the rules below undo the shared type
   layer inside the hero so its words keep their original face, size and colour. */
body.gx-lighthouse-library .gx-ll-band { display: flow-root; background: #192c36; padding-inline: 42px; }
body.gx-lighthouse-library main .library-hero { font: 400 16px/1.65 'Nunito Sans', system-ui, sans-serif; color: #f0eee8; }
body.gx-lighthouse-library main .library-hero :is(p, a, span, h1) { font-family: 'Nunito Sans', system-ui, sans-serif; text-underline-offset: auto; }
body.gx-lighthouse-library main .library-hero .library-intro h1 { font-size: clamp(40px, 4.1vw, 56px); font-weight: 500; line-height: 1.06; letter-spacing: -.045em; color: #f0eee8; }
body.gx-lighthouse-library main .library-hero .library-intro .eyebrow { font: 650 11px/1.65 'Nunito Sans', system-ui, sans-serif !important; letter-spacing: .17em !important; color: #cfb77f !important; margin: 0 0 1em; }
@media (max-width: 760px) {
  body.gx-lighthouse-library main .library-hero .library-intro h1 { font-size: clamp(40px, 8vw, 54px); }
}
@media (max-width: 600px) {
  body.gx-lighthouse-library .gx-ll-band { padding-inline: 26px; }
}

/* ---------- the shelves: a raised navy panel on the shared frame ---------- */
body.gx-lighthouse-library #collection { box-sizing: border-box; width: var(--gx-frame); max-width: none; margin: 28px auto 0; padding: clamp(28px, 4.5vw, 64px) clamp(18px, 4vw, 56px) clamp(16px, 3vw, 36px); border-radius: var(--gx-r); background: var(--gx-ink); box-shadow: var(--gx-raise); color: #f0eee8; scroll-margin-top: 115px; }
body.gx-lighthouse-library .shelf-heading { align-items: flex-end; padding: 0 0 22px; border-top: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
body.gx-lighthouse-library .shelf-heading h2 { margin: 0; color: #f6f1e6; }
body.gx-lighthouse-library .shelf-heading p, body.gx-lighthouse-library .sample-note { font: 600 .6875rem/1.6 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; color: #bdc8cd; }
body.gx-lighthouse-library .book-shelf { padding-inline: clamp(0px, 2vw, 24px); }

/* the jackets are artwork and keep their own lettering */
body.gx-lighthouse-library .book-cover, body.gx-lighthouse-library .book-cover * { font-family: 'Nunito Sans', system-ui, sans-serif; }
/* the page you peek at reads in Cormorant, with gold labels */
body.gx-lighthouse-library .book-pages .page-label { font: 700 .625rem/1.5 var(--gx-sans); letter-spacing: .14em; color: var(--gx-gold); }
body.gx-lighthouse-library .book-pages .preview-sentence { font: 500 1.375rem/1.32 var(--gx-serif); letter-spacing: -.01em; color: var(--gx-ink); }
body.gx-lighthouse-library .book[data-format="guide"] .preview-sentence { font-size: 1.3125rem; }
body.gx-lighthouse-library .landscape-book .preview-sentence { font-size: 1.125rem; }
body.gx-lighthouse-library .book-pages .page-read { font: 700 .6875rem/1.5 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-gold-deep); }
body.gx-lighthouse-library .book-meta { font: 600 .625rem/1.5 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; color: #bdc8cd; }

/* Honoring the Fallen, inside the same panel */
body.gx-lighthouse-library .guide-collection-intro { padding-top: 44px; border-top-color: rgba(255, 255, 255, .12); }
body.gx-lighthouse-library main .guide-collection-intro > .eyebrow { color: #d2b575 !important; }
body.gx-lighthouse-library .guide-collection-intro h2 { margin-bottom: 18px; color: #f6f1e6; }
body.gx-lighthouse-library .guide-collection-dek { max-width: 46ch; font-size: var(--gx-lead); line-height: 1.4; color: #d7dde0; }
body.gx-lighthouse-library .guide-category-nav { gap: 14px; margin-bottom: 24px; }
body.gx-lighthouse-library .guide-category-nav a { min-height: 44px; padding: 12px 18px; border-radius: var(--gx-r); font: 600 .75rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; color: #f0eee8; background: var(--gx-ink); border: 1px solid rgba(255, 255, 255, .14); box-shadow: 3px 3px 6px rgba(2, 10, 18, .55), -2px -2px 5px rgba(255, 255, 255, .07); }
body.gx-lighthouse-library .guide-category-nav a:hover, body.gx-lighthouse-library .guide-category-nav a:active { background: var(--gx-ink); box-shadow: inset 2px 2px 5px rgba(2, 10, 18, .6), inset -2px -2px 5px rgba(255, 255, 255, .06); }
body.gx-lighthouse-library .guide-introduction-link { font: 600 .75rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: #e5cf9d; text-decoration: none; border-bottom: 1px solid #d2b575; padding-bottom: 3px; }
body.gx-lighthouse-library .guide-shelf-heading { margin-top: 18px; }
body.gx-lighthouse-library .guide-shelf-heading h3 { color: #f6f1e6; }
body.gx-lighthouse-library .guide-shelf-heading p { font-size: 1.1875rem; line-height: 1.45; color: #cfd6da; }
body.gx-lighthouse-library .guide-category-count { font: 600 .6875rem/1.5 var(--gx-sans); letter-spacing: .1em; text-transform: uppercase; color: #bdc8cd; }
body.gx-lighthouse-library .empty-shelf { font-size: var(--gx-body); color: #d7dde0; }
body.gx-lighthouse-library #collection :is(a, button):focus-visible { outline-color: #e0c68c; }

/* footer on the ivory ground */
body.gx-lighthouse-library .library-footer { box-sizing: border-box; width: var(--gx-frame); margin: 0 auto; padding: 30px 0 40px; border-top: 0; font: 600 .75rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.gx-lighthouse-library .library-footer a { color: var(--gx-ink); border-bottom: 1px solid var(--gx-gold); }

/* ---------- the reader ----------
   The paged books keep their own book typography; the guide reader takes the shared type. */
body.gx-lighthouse-library .reader { font: 400 16px/1.65 'Nunito Sans', system-ui, sans-serif; }
body.gx-lighthouse-library .reader-bar span { font: 600 .6875rem/1.5 var(--gx-sans); letter-spacing: .12em; }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .reader-article { font-family: var(--gx-text); color: var(--gx-ink); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .eyebrow { font: 700 .75rem/1.6 var(--gx-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--gx-gold); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) h2 { font: 500 clamp(2.25rem, 4.6vw, 3.25rem)/1.06 var(--gx-serif); letter-spacing: -.02em; color: var(--gx-ink); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .reader-preview { font: 400 var(--gx-lead)/1.4 var(--gx-serif); color: var(--gx-slate); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .reader-byline { font: 600 .6875rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); border-bottom-color: var(--gx-border); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) h3 { font: 500 1.875rem/1.15 var(--gx-serif); color: var(--gx-ink); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .reader-body p { font: 400 var(--gx-body)/1.65 var(--gx-text); }
body.gx-lighthouse-library .reader:not(.is-paged):not(.is-cover) .reader-end, body.gx-lighthouse-library .reader-interior-photo figcaption { font: 600 .6875rem/1.6 var(--gx-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-slate); }
body.gx-lighthouse-library .reader-guide-actions a { display: inline-flex; align-items: center; min-height: 46px; padding: 13px 22px; border-radius: var(--gx-r); font: 600 .8125rem/1.4 var(--gx-sans); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
body.gx-lighthouse-library .reader-guide-actions .guide-open { color: #f6f1e6; background: var(--gx-ink); box-shadow: var(--gx-raise-sm); }
body.gx-lighthouse-library .reader-guide-actions .guide-download { color: var(--gx-ink); background: var(--gx-ground); border: 1px solid var(--gx-border); box-shadow: var(--gx-raise-sm); }
body.gx-lighthouse-library .reader-guide-actions a:hover { text-decoration: none; color: var(--gx-gold-deep); }
body.gx-lighthouse-library .reader-guide-actions .guide-open:hover { color: #e5cf9d; }
body.gx-lighthouse-library .reader-guide-actions a:active { box-shadow: var(--gx-inset); }

@media (max-width: 600px) {
  body.gx-lighthouse-library .shelf-heading { display: block; }
  body.gx-lighthouse-library .shelf-heading h2 { margin-bottom: 10px; }
  body.gx-lighthouse-library .book-shelf { padding-inline: 8px; }
  body.gx-lighthouse-library .guide-category-nav a { justify-content: flex-start; }
}

.reader-checked-out{display:block;margin:.5rem auto 0;max-width:30em;text-align:center;font:600 1rem/1.5 var(--gx-text,'Nunito Sans',sans-serif);color:var(--gx-ink,#10283d)}
