/* Books index (4 Sep 2026). Drawn by novamira-sandbox/books-shelf.php. */
.soma-bk{--bk-max:1180px;background:var(--soma-base)}
.soma-bk h1,.soma-bk h2{text-wrap:balance}
.soma-bk p{margin:0}
.soma-bk-hero__kicker{display:flex;gap:10px;align-items:center;font-size:.8125rem;color:var(--soma-text);letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.soma-bk-hero__sep{color:var(--soma-line)}
.soma-bk-hero__by{color:rgba(241,237,226,.72);font-size:.9375rem;max-width:560px}
.soma-book-hero--tide .soma-bk-hero__by{margin-top:-4px}\n.soma-bk .soma-book-hero--tide .soma-band__lead{margin-top:118px}\n@media (max-width:900px){.soma-bk .soma-book-hero--tide .soma-band__lead{margin-top:0}}
.soma-bk .soma-book-hero--tide a.soma-bk-hero__buy{background:transparent !important;color:#F1EDE2 !important;box-shadow:inset 0 0 0 1.5px rgba(241,237,226,.45)}
.soma-bk .soma-book-hero--tide a.soma-bk-hero__buy:hover{background:rgba(241,237,226,.12) !important}
/* the series line */
.soma-bk-series__in{max-width:var(--bk-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,1rem + 3vw,4rem);align-items:end}
.soma-bk-series h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.4rem);margin-top:10px;letter-spacing:-.01em}
.soma-bk-series p{color:var(--soma-text);font-size:var(--soma-t-lead);line-height:1.6}
/* inside + aside */
.soma-bk-inside__in{max-width:var(--bk-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(2rem,1rem + 4vw,5rem);align-items:start}
.soma-bk-prose{margin-top:14px}
.soma-bk-prose p{color:#262838;font-size:clamp(1.0625rem,1.03rem + .2vw,1.1875rem);line-height:1.75;margin:0 0 1.1em}
.soma-bk-prose p:first-child{font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);line-height:1.5;color:var(--soma-primary);font-family:var(--soma-font-display)}
.soma-bk .soma-bk-more{display:inline-block;margin-top:6px;font-weight:600;color:var(--soma-secondary);text-decoration:none}
.soma-bk-inside__aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:calc(var(--soma-header-bottom,var(--soma-header-h,80px)) + 24px)}
.soma-bk-card{background:var(--soma-white);border-radius:var(--soma-r-lg);padding:22px 24px;display:flex;flex-direction:column;gap:10px}
.soma-bk-card p{color:var(--soma-text);font-size:.9375rem;line-height:1.55}
.soma-bk .soma-bk-card__link{font-weight:600;color:var(--soma-secondary);text-decoration:none;font-size:.9375rem}
.soma-bk .soma-bk-field__head{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--soma-primary)}
.soma-bk-field__img{display:block;width:84px;height:60px;border-radius:10px;overflow:hidden;border-left:4px solid var(--c);flex:none}
.soma-bk-field__img img{width:100%;height:100%;object-fit:cover;display:block}
.soma-bk-field__head b{font-family:var(--soma-font-display);font-size:1.4rem;font-weight:600;line-height:1.1}
.soma-bk-ladder{margin:6px 0 0;border-top:1px solid var(--soma-line)}
.soma-bk-ladder > div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 14px;padding:12px 0;border-bottom:1px solid var(--soma-line)}
.soma-bk-ladder dt{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--soma-primary);padding-top:2px}
.soma-bk-ladder dt span{display:block;margin-top:2px;font-size:.75rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--soma-secondary)}
.soma-bk-ladder dd{margin:0;display:flex;flex-direction:column;gap:5px}
.soma-bk .soma-bk-ladder dd a{color:var(--soma-primary);text-decoration:none;font-size:.9375rem;line-height:1.35;font-weight:500}
.soma-bk .soma-bk-ladder dd a:hover{color:var(--soma-secondary)}
.soma-bk-further{display:block}
.soma-bk-further h2{margin-bottom:20px}
/* ending */
.soma-bk-end{background:var(--soma-primary);color:var(--soma-white);padding:clamp(3.5rem,2rem + 5vw,7rem) var(--soma-gutter)}
.soma-bk-end__in{max-width:var(--bk-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
.soma-bk-end .soma-eyebrow{color:var(--soma-periwinkle)}
.soma-bk-end h2{color:var(--soma-white);font-size:clamp(2rem,1.3rem + 3vw,3.4rem);margin:14px 0 14px}
.soma-bk-end p{color:var(--soma-white-70);max-width:36em;font-size:1.0625rem}
.soma-bk-end__acts{display:flex;flex-direction:column;gap:10px;min-width:280px}
.soma-bk-end__acts .soma-btn{justify-content:center}
.soma-bk a.soma-bk-ghost{background:transparent;color:var(--soma-white);box-shadow:inset 0 0 0 1.5px var(--soma-line-inverse)}
.soma-bk a.soma-bk-ghost:hover{background:var(--soma-white-12)}
@media (max-width:1100px){
  .soma-bk-series__in{grid-template-columns:1fr}
  .soma-bk-inside__in{grid-template-columns:1fr}
  .soma-bk-inside__aside{position:static}
  .soma-bk-end__in{grid-template-columns:1fr}
  .soma-bk-end__acts{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:640px){
  .soma-bk-ladder > div{grid-template-columns:1fr;gap:4px}
  .soma-bk-end__acts{flex-direction:column}
  .soma-bk-hero__kicker{flex-wrap:wrap}
}

@media (max-width:900px){.soma-bk .soma-book-hero--tide .soma-bk-hero__kicker{color:rgba(241,237,226,.72)}.soma-bk .soma-book-hero--tide .soma-bk-hero__kicker .soma-eyebrow{color:var(--soma-periwinkle)}.soma-bk .soma-book-hero--tide .soma-bk-hero__sep{color:rgba(241,237,226,.4)}}


/* soma: green closing band */
/* The band and the footer were the same navy, so the page's last call to action
   dissolved into the footer. Green separates them. */
.soma-bk-end{background:var(--soma-secondary)}
.soma-bk-end .soma-eyebrow{color:rgba(255,255,255,.72)}
.soma-bk-end p{color:rgba(255,255,255,.82)}
.soma-bk-end__acts .soma-btn:not(.soma-bk-ghost){background:var(--soma-white);color:var(--soma-secondary);border-color:var(--soma-white)}
/* templates.css turns every .soma-page link navy on hover, which blacks out
   links on a coloured surface. Hold white here. */
section.soma-bk-end a:hover,section.soma-bk-end a:focus-visible{color:var(--soma-white)}
section.soma-bk-end .soma-bk-end__acts a.soma-btn:not(.soma-bk-ghost):hover,
section.soma-bk-end .soma-bk-end__acts a.soma-btn:not(.soma-bk-ghost):focus-visible{color:var(--soma-secondary)}


/* soma: ladder rows are click targets */

/* Each line is one destination, so the whole line should be the target, not the
   exact words. Padding gives the row height; the tint reads on both the white
   and the base sections these ladders sit in. */
/* This ladder sits in a narrow sidebar. A label column beside the titles left them
   about 200px wide, so every title wrapped to four lines and the card grew tall.
   The label goes above its links instead, and the titles get the full width. */
.soma-bk .soma-bk-ladder > div{grid-template-columns:1fr;gap:6px;padding:12px 0 10px}
.soma-bk .soma-bk-ladder dt{padding-top:0;display:flex;align-items:baseline;gap:8px}
.soma-bk .soma-bk-ladder dt span{display:inline;margin-top:0}
.soma-bk .soma-bk-ladder dd{gap:1px}
.soma-bk .soma-bk-ladder dd a{display:block;padding:6px 10px;margin-left:-10px;margin-right:-10px;border-radius:9px;line-height:1.4;transition:background-color .16s ease,color .16s ease}
.soma-bk .soma-bk-ladder dd a:hover,.soma-bk .soma-bk-ladder dd a:focus-visible{background:rgba(19,21,39,.055);color:var(--soma-secondary)}
.soma-bk .soma-bk-ladder dd a:focus-visible{outline:2px solid var(--soma-secondary);outline-offset:1px}


/* soma: hero sends you down the page */
/* The shelf already carries the opening of the book, so the hero button moves
   down to it; the full page is one link further on, under that passage. */
.soma-bk .soma-bk-hero__down svg{transform:rotate(90deg)}
.soma-bk-inside{scroll-margin-top:calc(var(--soma-header-bottom,var(--soma-header-h,80px)) + 16px)}


/* soma: ladder rows lead to the collection */
/* Narrow card, so the label sits above its row and the destination sits under it.
   Each row is one target: the field's Journal, its course, all its Deep Dives. */
.soma-bk .soma-bk-ladder{margin:6px 0 0;border-top:1px solid var(--soma-line)}
.soma-bk .soma-bk-lrow{display:block;padding:12px 10px 11px;margin:0 -10px;border-bottom:1px solid var(--soma-line);border-radius:9px;text-decoration:none;color:var(--soma-primary);transition:background-color .16s ease}
.soma-bk a.soma-bk-lrow:hover,.soma-bk a.soma-bk-lrow:focus-visible{background:rgba(19,21,39,.055);color:var(--soma-primary);text-decoration:none}
.soma-bk a.soma-bk-lrow:focus-visible{outline:2px solid var(--soma-secondary);outline-offset:1px}
.soma-bk-lrow__k{display:flex;align-items:baseline;gap:8px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--soma-primary)}
.soma-bk-lrow__k i{font-size:.75rem;letter-spacing:0;text-transform:none;font-style:normal;font-weight:500;color:var(--soma-secondary)}
.soma-bk-lrow__b{display:flex;flex-direction:column;gap:3px;margin:7px 0 6px;font-size:.9375rem;line-height:1.4;font-weight:500}
.soma-bk-lrow__go{display:block;color:var(--soma-secondary);font-size:.875rem;font-weight:600}
.soma-bk a.soma-bk-lrow:hover .soma-bk-lrow__go{text-decoration:underline;text-underline-offset:3px}
