/* Prototype tokens follow approved LIBs palette. Numeric layout values are proposal, not a new brand specification. */
.libs-book {
  --book-wine:#510d00;
  --book-deep:#2e0903;
  --book-accent:#a3541b;
  --book-paper:#f4f0e9;
  --book-panel:#e8dfd3;
  --book-ink:#2b2b2b;
  background:var(--book-paper);
  color:var(--book-ink);
  font:400 17px/1.75 Inter,Arial,sans-serif;
  overflow-wrap:break-word
}

.libs-book * {
  box-sizing:border-box
}
.libs-book p,.libs-book figure,.libs-book dl,.libs-book blockquote {
  margin:0
}
.libs-book p+p {
  margin-top:20px
}
.libs-book a {
  color:inherit;
  text-underline-offset:6px
}
.libs-book a:focus-visible {
  outline:3px solid var(--book-accent);
  outline-offset:5px
}
.libs-book h1,.libs-book h2,.libs-book h3 {
  font-family:Newsreader,Georgia,serif;
  font-weight:400;
  color:var(--book-wine);
  margin:0;
  line-height:1.07;
  letter-spacing:-.025em
}
.libs-book h1 {
  font-size:clamp(60px,7vw,100px)
}
.libs-book h2 {
  font-size:clamp(38px,4.2vw,60px)
}
.libs-book h3 {
  font-size:30px;
  line-height:1.18;
  letter-spacing:-.015em
}
.libs-book em {
  font-weight:400
}
.libs-book .book-wrap {
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto
}
.libs-book .book-breadcrumb {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  padding:30px 0 34px;
  font-size:12px
}
.libs-book .book-breadcrumb a {
  min-height:44px;
  display:inline-flex;
  align-items:center
}
.libs-book .book-eyebrow {
  font:700 11px/1.5 Inter,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.14em
}
.libs-book .book-eyebrow+h1,.libs-book .book-eyebrow+h2 {
  margin-top:22px
}
.libs-book .book-hero {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  column-gap:76px;
  grid-template-rows:auto 1fr;
  padding-bottom:64px;
  align-items:start
}
.libs-book .book-hero-heading {
  grid-column:1;
  grid-row:1;
  padding-top:26px
}
.libs-book .book-authorline {
  margin-top:24px;
  font-size:18px
}
.libs-book .book-hero-body {
  grid-column:1;
  grid-row:2;
  padding-top:30px;
  align-self:start
}
.libs-book .book-lead {
  font-size:19px;
  line-height:1.7;
  max-width:520px
}
.libs-book .book-status {
  font-size:12px;
  line-height:1.5;
  margin-top:24px;
  color:var(--book-wine);
  font-weight:600;
  display:flex;
  align-items:center;
  gap:9px
}
.libs-book .book-status span {
  font-size:18px
}
.libs-book .book-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:28px
}
.libs-book .book-button {
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
  min-height:52px;
  padding:13px 22px;
  background:var(--book-wine);
  color:white!important;
  text-decoration:none;
  font-size:12px;
  font-weight:650
}
.libs-book .book-button:hover {
  background:var(--book-deep)
}
.libs-book .book-textlink {
  display:inline-flex;
  align-items:center;
  gap:20px;
  min-height:44px;
  font-size:12px;
  font-weight:600;
  text-decoration:underline
}
.libs-book .book-cover-stage {
  grid-column:2;
  grid-row:1 / span 2;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  background:var(--book-deep);
  padding:30px 38px 24px;
  isolation:isolate
}
.libs-book .book-cover-stage:before {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:1px solid rgba(244,240,233,.14);
  border-radius:50%;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:-1
}
.libs-book .book-cover-stage img {
  width:min(100%,276px);
  height:auto;
  display:block;
  box-shadow:12px 16px 28px rgba(0,0,0,.3);
  margin:24px 0 22px
}
.libs-book .book-stage-label {
  color:var(--book-paper);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase
}
.libs-book .book-cover-stage figcaption {
  color:var(--book-paper);
  font-size:10px;
  text-align:center
}
.libs-book .book-facts {
  border-top:1px solid rgba(43,43,43,.2);
  border-bottom:1px solid rgba(43,43,43,.2);
  padding:24px 0
}
.libs-book .book-facts dl {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.libs-book dt {
  font-size:11px;
  line-height:1.5
}
.libs-book dd {
  margin:6px 0 0;
  font-size:15px;
  font-weight:600
}
.libs-book .book-section {
  padding-block:92px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px 76px;
  scroll-margin-top:24px
}
.libs-book .book-intro-copy {
  padding-top:32px
}
.libs-book .book-themes {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  margin-top:12px
}
.libs-book .book-themes article {
  border-top:1px solid rgba(43,43,43,.25);
  padding-top:22px
}
.libs-book .book-number {
  font-family:Newsreader,Georgia,serif;
  font-size:26px;
  color:var(--book-accent);
  margin-bottom:16px
}
.libs-book .book-themes h3+p {
  margin-top:14px;
  font-size:15px;
  line-height:1.8
}
.libs-book .book-quote {
  background:var(--book-wine);
  color:var(--book-paper);
  padding:72px 0 64px
}
.libs-book .book-quote blockquote {
  max-width:980px;
  margin-top:28px
}
.libs-book .book-quote blockquote p {
  font:400 clamp(34px,4.4vw,61px)/1.22 Newsreader,Georgia,serif;
  letter-spacing:-.02em
}
.libs-book .book-quote-credit {
  margin-top:24px;
  font-size:12px
}
.libs-book .book-quote .book-textlink {
  margin-top:12px
}
.libs-book .book-quote a:focus-visible {
  outline-color:var(--book-paper)
}
.libs-book .book-author {
  align-items:center
}
.libs-book .book-author h2+p {
  margin-top:28px
}
.libs-book .book-portrait-placeholder {
  min-height:410px;
  background:var(--book-panel);
  border:1px solid rgba(43,43,43,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  padding:32px
}
.libs-book .book-placeholder-frame {
  width:130px;
  height:152px;
  border:1px solid rgba(43,43,43,.3);
  margin-bottom:30px;
  position:relative
}
.libs-book .book-placeholder-frame:before,.libs-book .book-placeholder-frame:after {
  content:"";
  position:absolute;
  inset:50% 12px auto;
  height:1px;
  background:rgba(43,43,43,.3);
  transform:rotate(45deg)
}
.libs-book .book-placeholder-frame:after {
  transform:rotate(-45deg)
}
.libs-book .book-portrait-placeholder p {
  margin-top:14px;
  line-height:1.7
}
.libs-book .book-small {
  font-size:11px;
  line-height:1.7
}
.libs-book .book-portrait-placeholder .book-small {
  margin-top:12px
}
.libs-book .book-pending {
  border-top:1px solid rgba(43,43,43,.2);
  padding-top:22px;
  margin-top:24px
}
.libs-book .book-pending p+p {
  font-size:12px;
  margin-top:9px
}
.libs-book .book-role {
  background:var(--book-panel)
}
.libs-book .book-role h2+p {
  margin-top:28px
}
.libs-book .book-role-list {
  border-top:1px solid rgba(43,43,43,.3)
}
.libs-book .book-role-list>div {
  padding:21px 0;
  border-bottom:1px solid rgba(43,43,43,.3)
}
.libs-book .book-role .book-small {
  margin-top:20px
}
.libs-book .book-contact h2+p {
  margin-top:28px
}
.libs-book .book-contact aside {
  border:1px solid rgba(43,43,43,.25);
  padding:32px
}
.libs-book .book-details {
  margin-top:20px!important
}
.libs-book .book-details>div {
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid rgba(43,43,43,.2)
}
.libs-book .book-details>div:last-child {
  border-bottom:0
}
.libs-book .book-details dd {
  margin:0;
  font-size:12px
}
.libs-book .book-details dt {
  padding-top:2px
}

@media(max-width:960px) {
  .libs-book .book-wrap {
  width:calc(100% - 64px)
}
.libs-book .book-hero,.libs-book .book-section {
  column-gap:40px
}
.libs-book .book-cover-stage {
  padding-inline:22px
}
.libs-book .book-cover-stage:before {
  width:240px;
  height:240px
}
.libs-book .book-hero-body {
  padding-top:24px
}
.libs-book .book-actions {
  gap:14px
}
.libs-book .book-lead {
  font-size:17px
}
.libs-book .book-hero h1 {
  font-size:76px
}

}

@media(max-width:820px) {
  .libs-book .book-hero {
  grid-template-columns:1fr;
  gap:28px
}
.libs-book .book-hero-heading {
  grid-column:1;
  grid-row:1;
  padding-top:0
}
.libs-book .book-cover-stage {
  grid-column:1;
  grid-row:2
}
.libs-book .book-hero-body {
  grid-column:1;
  grid-row:3;
  padding-top:0
}
.libs-book .book-cover-stage img {
  width:220px
}
.libs-book .book-section {
  grid-template-columns:1fr;
  gap:30px;
  padding-block:64px
}
.libs-book .book-intro-copy {
  padding-top:0
}
.libs-book .book-author {
  grid-template-columns:1fr 1.1fr
}
.libs-book .book-author h2 {
  font-size:38px
}
.libs-book .book-portrait-placeholder {
  min-height:380px
}
.libs-book .book-contact {
  grid-template-columns:1fr
}
.libs-book .book-facts dl {
  gap:18px
}
.libs-book .book-themes {
  gap:22px
}
.libs-book .book-themes h3 {
  font-size:27px
}
.libs-book .book-quote {
  padding:56px 0
}
.libs-book .book-role .book-section {
  gap:32px
}

}

@media(max-width:600px) {
  .libs-book {
  font-size:16px
}
.libs-book .book-wrap {
  width:calc(100% - 40px)
}
.libs-book .book-breadcrumb {
  font-size:10px;
  gap:10px;
  padding:12px 0 18px
}
.libs-book .book-hero {
  gap:24px;
  padding-bottom:38px
}
.libs-book .book-hero h1 {
  font-size:60px
}
.libs-book .book-eyebrow+h1,.libs-book .book-eyebrow+h2 {
  margin-top:16px
}
.libs-book .book-authorline {
  font-size:15px;
  margin-top:18px
}
.libs-book .book-cover-stage {
  padding:20px 24px 18px
}
.libs-book .book-cover-stage img {
  width:188px;
  margin:18px 0
}
.libs-book .book-stage-label {
  font-size:9px
}
.libs-book .book-cover-stage figcaption {
  font-size:9px
}
.libs-book .book-lead {
  font-size:17px
}
.libs-book .book-actions {
  gap:12px 20px
}
.libs-book .book-button {
  min-height:52px;
  font-size:12px
}
.libs-book .book-facts {
  padding:18px 0
}
.libs-book .book-facts dl {
  grid-template-columns:1fr;
  gap:16px
}
.libs-book .book-facts dl>div {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:12px;
  align-items:baseline
}
.libs-book .book-facts dd {
  margin:0;
  font-size:12px
}
.libs-book .book-facts dt {
  font-size:10px
}
.libs-book .book-section {
  padding-block:52px
}
.libs-book .book-themes {
  grid-template-columns:1fr;
  gap:28px;
  margin-top:0
}
.libs-book .book-themes article {
  display:grid;
  grid-template-columns:32px 1fr;
  column-gap:16px
}
.libs-book .book-number {
  grid-row:1/3
}
.libs-book .book-themes article p:last-child {
  grid-column:2
}
.libs-book .book-themes h3 {
  font-size:28px
}
.libs-book .book-quote blockquote p {
  font-size:37px
}
.libs-book .book-quote blockquote {
  margin-top:22px
}
.libs-book .book-author {
  grid-template-columns:1fr
}
.libs-book .book-portrait-placeholder {
  min-height:285px;
  order:2
}
.libs-book .book-placeholder-frame {
  width:90px;
  height:100px;
  margin-bottom:20px
}
.libs-book .book-author h2 {
  font-size:43px
}
.libs-book .book-contact aside {
  padding:24px
}
.libs-book .book-details>div {
  grid-template-columns:1fr 1.2fr
}
.libs-book .book-contact .book-actions {
  align-items:flex-start;
  flex-direction:column
}
.libs-book .book-role h2 {
  font-size:39px
}

}

@media(prefers-reduced-motion:reduce) {
  .libs-book * {
  scroll-behavior:auto!important;
  animation:none!important;
  transition:none!important
}

}

.libs-book .book-portrait { margin:0; aspect-ratio:3/4; overflow:hidden; background:var(--book-panel) }
.libs-book .book-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block }
.libs-book .book-reader-fit { border-top:1px solid var(--book-panel); margin-top:28px; padding-top:24px }

/* Book-only anchor stays in document flow; the shared header remains sticky. */
.libs-book-page-top { height:0; scroll-margin-top:var(--libs-book-toolbar-height,0px) }
html.libs-book-adminbar { margin-top:var(--libs-book-toolbar-height,32px)!important }
.libs-book-page.admin-bar #wpadminbar { height:var(--libs-book-toolbar-height,32px) }
.libs-book-page.admin-bar .site-header { top:var(--libs-book-sticky-offset,32px) }
@media(max-width:782px) {
  .libs-book-page.admin-bar #wpadminbar { height:var(--libs-book-toolbar-height,46px) }
  .libs-book-page.admin-bar .site-header { top:var(--libs-book-sticky-offset,46px) }
}
