@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root {
  --paper: #f7f5f0;
  --paper-deep: #eeece5;
  --ink: #283831;
  --ink-soft: #506158;
  --muted: #8a9189;
  --line: #e6e4dc;
  --green: #263c32;
  --green-mid: #526a59;
  --orange: #d87551;
  --gold: #d3a867;
  --white: #fffefa;
  --serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --sans: 'DM Sans', 'Segoe UI', sans-serif;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
.no-scroll { overflow: hidden; }
.loading-state { display: grid; place-items: center; min-height: 100vh; color: var(--muted); font-family: var(--serif); font-size: 24px; }

.announcement { height: 34px; padding: 0 5.8vw; display: flex; align-items: center; justify-content: space-between; background: var(--green); color: #e8e5d9; font-size: 10px; letter-spacing: .08em; }
.announcement-right { opacity: .78; display: flex; align-items: center; gap: 12px; }
.announcement-right i { height: 3px; width: 3px; border-radius: 50%; background: var(--gold); }
.site-header { height: 82px; padding: 0 5.8vw; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; background: var(--paper); border-bottom: 1px solid rgba(42, 59, 49, .08); position: sticky; top: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; }
.brand-mark { width: 32px; height: 32px; background: var(--green); color: #f4e9d1; border-radius: 11px 11px 11px 4px; display: grid; place-items: center; font-family: var(--sans); font-size: 11px; line-height: 1; font-weight: 700; position: relative; letter-spacing: -.06em; }
.brand-mark span { color: #ffe95c; font-family: var(--sans); font-size: 9px; position: absolute; right: 3px; top: 5px; }
.brand-word { font-family: var(--serif); font-size: 21px; letter-spacing: -.055em; font-weight: 600; white-space: nowrap; }
.main-nav { height: 100%; display: flex; align-items: center; gap: 8px; }
.nav-link { height: 36px; display: inline-flex; align-items: center; gap: 4px; padding: 0 12px; position: relative; border: 1px solid transparent; border-radius: 999px; font-size: 12px; color: #58685e; cursor: pointer; white-space: nowrap; transition: background .18s, border-color .18s, box-shadow .18s, transform .18s; }
.nav-link::after { display: none; }
.nav-link:nth-child(n) { border-color: transparent; border-radius: 4px; background: transparent; box-shadow: none; color: #58685e; }
.nav-link:nth-child(n):hover { background: #eeece5; color: var(--ink); }
.nav-link:nth-child(n).selected { background: transparent; color: var(--green); box-shadow: inset 0 -2px 0 var(--green); }
.nav-link:focus-visible { outline: 2px solid var(--green-mid); outline-offset: 2px; }
.nav-count { display: inline-grid; place-items: center; margin-left: 3px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 10px; color: var(--green); background: #e9e9df; font-size: 9px; vertical-align: 1px; }
.header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.search-box { height: 38px; width: min(285px, 22vw); display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid #e1dfd7; border-radius: 22px; color: #69736a; background: #faf9f5; }
.search-trigger { display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 26px; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
.search-box input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; font-size: 10px; color: var(--ink); }
.search-box input::placeholder { color: #93988e; }
.search-box kbd { white-space: nowrap; color: #a2a59d; border: 1px solid #e2e0d8; border-radius: 4px; padding: 2px 4px; font-size: 8px; }
.icon-button { position: relative; display: inline-grid; place-items: center; width: 36px; height: 36px; border: 0; background: transparent; color: var(--ink); cursor: pointer; border-radius: 50%; transition: background .18s; }
.icon-button:hover { background: #edebe4; }
.cart-badge { position: absolute; top: 0; right: -2px; width: 16px; height: 16px; display: none; place-items: center; border-radius: 50%; background: var(--orange); color: white; font-size: 9px; font-weight: 700; }
.cart-badge.visible { display: grid; }

.hero { min-height: 540px; display: grid; grid-template-columns: minmax(390px, .93fr) minmax(420px, 1.07fr) 36px; padding: 0 5.8vw; overflow: hidden; position: relative; background: #eeeae0; }
.hero-copy { align-self: center; padding: 43px 0 54px 2.1vw; position: relative; z-index: 2; }
.eyebrow, .section-eyebrow { display: flex; align-items: center; gap: 8px; color: #7a806f; font-size: 9px; letter-spacing: .17em; font-weight: 700; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(216, 117, 81, .11); }
.hero h1 { margin: 21px 0 15px; color: var(--green); font: 500 clamp(48px, 5vw, 72px)/1.04 var(--serif); letter-spacing: -.045em; }
.hero h1 em { color: var(--orange); font-weight: 500; }
.hero-copy > p { max-width: 420px; margin: 0; color: #66736b; font-size: 13px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 21px; margin-top: 25px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 0 18px; border-radius: 3px; border: 1px solid transparent; font-size: 10px; font-weight: 600; letter-spacing: .02em; cursor: pointer; transition: transform .18s, background .18s, border-color .18s; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: #faf6eb; background: var(--green); }
.button-dark:hover { background: #182d25; }
.button-quiet { padding: 0; min-height: auto; color: var(--ink-soft); background: transparent; }
.hero-actions .button-quiet { border-width: 6px; color: #fafffc; background: #d87551; }
.hero-actions .button-quiet .quiet-arrow { color: inherit; }
.quiet-arrow { font-size: 15px; color: var(--orange); }
.button-outline { background: transparent; border-color: #c9d0c6; color: var(--green); }
.button-outline:hover { background: var(--green); border-color: var(--green); color: #fff9ed; }
.hero-proof { display: flex; align-items: center; gap: 12px; margin-top: 41px; color: #859087; font-size: 9px; line-height: 1.5; }
.hero-proof strong { color: var(--green); font-weight: 600; }
.avatar-stack { display: flex; align-items: center; padding-left: 1px; }
.avatar-stack span, .avatar-stack b { width: 24px; height: 24px; display: grid; place-items: center; margin-left: -4px; border-radius: 50%; border: 2px solid #eeeae0; background: #b5c2a9; color: #405247; font-size: 8px; font-style: normal; font-weight: 600; }
.avatar-stack span:nth-child(2) { background: #d9a17b; color: #fff; }
.avatar-stack span:nth-child(3) { background: #e6d6b7; }
.avatar-stack b { background: #fffdf7; color: var(--orange); font-size: 11px; }
.hero-art { min-height: 540px; position: relative; display: flex; justify-content: center; align-items: center; background: url('/assets/library-ambient.svg') center / 100% 100% no-repeat; }
.hero-sun { width: min(430px, 42vw); aspect-ratio: 1; position: absolute; top: 35px; right: 8%; border-radius: 50%; background: #e2b975; opacity: .72; }
.hero-sun::after { content: ''; position: absolute; width: 80%; height: 80%; left: 10%; top: 10%; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; }
.hero-stack { width: 455px; height: 408px; position: relative; z-index: 1; }
.book-object { --paper: #e5e0d1; --ink: #263c32; --accent: #d87551; position: relative; width: 148px; height: 220px; perspective: 850px; transition: transform .28s cubic-bezier(.2,.65,.3,1), filter .28s; filter: drop-shadow(10px 18px 15px rgba(38, 50, 40, .2)); }
.book-cover { position: absolute; inset: 0 8px 0 0; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; padding: 15px 13px 12px; color: var(--ink); background: var(--paper); border: 1px solid rgba(0, 0, 0, .07); transform: rotateY(-9deg); transform-origin: left center; box-shadow: inset 4px 0 8px rgba(0, 0, 0, .06), inset -1px 0 rgba(255,255,255,.55); }
.book-cover::before { content: ''; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(115deg, rgba(255,255,255,.15), transparent 30%, rgba(0,0,0,.03)); }
.book-object::before { content: ''; position: absolute; z-index: -1; right: 0; top: 3px; bottom: 3px; width: 10px; background: linear-gradient(90deg, #e7e0d1 0 40%, #c6bca9 55%, #eee8dc 100%); transform: skewY(0deg); }
.book-object::after { content: ''; position: absolute; z-index: -2; left: 8px; right: 2px; bottom: -8px; height: 8px; background: #c3b8a4; clip-path: polygon(0 0,100% 0,100% 80%,0 100%); }
.cover-series { position: relative; z-index: 1; font-size: 5px; letter-spacing: .18em; font-weight: 700; opacity: .6; }
.cover-title { position: relative; z-index: 1; margin-top: auto; margin-bottom: 7px; max-width: 100%; font: 600 clamp(14px, 1.6vw, 21px)/1.02 var(--serif); letter-spacing: -.035em; }
.cover-author { position: relative; z-index: 1; max-width: 95%; font: 600 7px/1.3 var(--sans); letter-spacing: .02em; text-transform: uppercase; }
.cover-publisher { position: relative; z-index: 1; margin-top: auto; font-size: 4px; letter-spacing: .12em; opacity: .58; text-transform: uppercase; }
.motif { position: absolute; z-index: 0; opacity: .8; }
.motif-sun { width: 74px; height: 74px; top: 28px; right: -9px; border-radius: 50%; background: radial-gradient(circle, transparent 31%, var(--accent) 32% 33%, transparent 34% 45%, var(--accent) 46% 48%, transparent 49%); }
.motif-grid { width: 62px; height: 70px; right: 12px; top: 29px; background-image: linear-gradient(90deg, var(--accent) 1px, transparent 1px), linear-gradient(var(--accent) 1px, transparent 1px); background-size: 12px 12px; opacity: .48; }
.motif-arch { width: 68px; height: 72px; top: 25px; right: 14px; border: 1px solid var(--accent); border-bottom: 0; border-radius: 40px 40px 0 0; box-shadow: inset 0 7px transparent, 0 0 0 7px transparent; }
.motif-arch::after { content: ''; position: absolute; inset: 9px 9px 0; border: 1px solid var(--accent); border-bottom: 0; border-radius: 34px 34px 0 0; }
.motif-orbit { width: 66px; height: 66px; top: 28px; right: 11px; border: 1px solid var(--accent); border-radius: 50%; }
.motif-orbit::before, .motif-orbit::after { content: ''; position: absolute; inset: 10px -7px; border: 1px solid var(--accent); border-radius: 50%; transform: rotate(42deg); }
.motif-orbit::after { transform: rotate(-42deg); }
.motif-mountain { width: 74px; height: 53px; top: 38px; right: 6px; background: var(--accent); opacity: .78; clip-path: polygon(0 100%,45% 7%,69% 52%,83% 32%,100% 100%); }
.motif-ripple { width: 70px; height: 70px; top: 20px; right: 3px; border: 1px solid var(--accent); border-radius: 50%; box-shadow: 0 0 0 8px var(--paper), 0 0 0 9px var(--accent), 0 0 0 18px var(--paper), 0 0 0 19px var(--accent); }
.motif-horizon { width: 83px; height: 49px; top: 34px; right: 2px; border-top: 1px solid var(--accent); border-bottom: 1px solid var(--accent); background: linear-gradient(to bottom, transparent 24%, var(--accent) 25% 26%, transparent 27% 49%, var(--accent) 50% 51%, transparent 52% 74%, var(--accent) 75% 76%, transparent 77%); }
.motif-line { width: 79px; height: 68px; top: 24px; right: -4px; background: repeating-linear-gradient(135deg, transparent 0 9px, var(--accent) 10px 11px, transparent 12px 18px); opacity: .65; }
.motif-path { width: 72px; height: 72px; top: 21px; right: 8px; border-right: 2px solid var(--accent); border-top: 2px solid var(--accent); border-radius: 0 90% 0 0; transform: rotate(9deg) scale(.8); }
.motif-path::after { content: ''; position: absolute; right: 2px; top: -2px; width: 28px; height: 28px; border: 1px solid var(--accent); border-radius: 50%; }
.motif-circles { width: 54px; height: 54px; top: 26px; right: 13px; border-radius: 50%; background: var(--accent); opacity: .73; box-shadow: -14px 22px 0 -5px var(--paper), -14px 22px 0 -4px var(--accent), 16px 18px 0 -7px var(--paper), 16px 18px 0 -6px var(--accent); }
.hero-book { position: absolute; width: 172px; height: 264px; }
.hero-book .book-cover { padding: 19px 16px 15px; }
.hero-book .cover-series { font-size: 6px; }
.hero-book .cover-title { font-size: 22px; }
.hero-book .cover-author { font-size: 8px; }
.hero-book .cover-publisher { font-size: 5px; }
.hero-book-1 { left: 31px; top: 95px; transform: rotate(-6deg); z-index: 2; }
.hero-book-2 { left: 160px; top: 63px; transform: rotate(2deg); z-index: 3; }
.hero-book-3 { left: 272px; top: 120px; transform: rotate(7deg); z-index: 1; }
.hero-book-1 .book-cover { background: var(--paper); }
.hero-book-2 .book-cover { background: var(--paper); }
.hero-book-3 .book-cover { background: var(--paper); }
.hero-caption { position: absolute; z-index: 2; left: 10px; top: 62px; display: flex; align-items: center; gap: 7px; color: var(--green); font-size: 7px; font-weight: 700; line-height: 1.35; letter-spacing: .14em; transform: rotate(-6deg); }
.caption-line { width: 27px; height: 1px; background: var(--orange); }
.hero-seal { position: absolute; z-index: 3; right: 9%; top: 86px; width: 69px; height: 69px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; background: #f3eee2; color: var(--green); text-align: center; font: 600 8px/1.45 var(--sans); letter-spacing: .14em; transform: rotate(9deg); box-shadow: 0 4px 10px rgba(38,50,40,.09); }
.hero-floor { position: absolute; z-index: 0; bottom: 39px; left: 3%; width: 94%; height: 57px; background: linear-gradient(180deg, rgba(113, 91, 62, .08), rgba(119, 97, 68, .03)); transform: skewX(-25deg); border-top: 1px solid rgba(113, 91, 62, .17); }
.hero-index { align-self: end; justify-self: end; padding-bottom: 52px; display: flex; align-items: center; gap: 8px; writing-mode: vertical-rl; color: #8d958b; font-size: 8px; letter-spacing: .12em; }
.hero-index span:first-child { color: var(--orange); }
.hero-index i { width: 1px; height: 34px; background: #d8d3c7; }
.hero-index-label { margin-top: 12px; font-size: 7px; }

.page-content { max-width: 1510px; margin: 0 auto; padding: 0 7.8vw; }
.list-note { min-height: 82px; display: flex; align-items: center; gap: 16px; margin: 37px 0 50px; padding: 14px 20px; border: 1px solid #e5e2d8; background: #f3f1ea; }
.list-note-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; color: #aa7e3f; background: #ebe2cf; }
.list-note-icon svg { fill: rgba(170,126,63,.13); }
.list-note-copy { display: flex; flex-direction: column; gap: 4px; }
.list-kicker { color: #9b8a67; font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.list-note-copy strong { font: 500 15px var(--serif); color: var(--green); }
.list-date { color: #858d83; font-size: 9px; }
.list-note-link { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; color: var(--green); font-size: 10px; font-weight: 600; }
.list-note-link:hover, .source-caption:hover, .text-button:hover { color: var(--orange); }
.category-section { margin: 0 0 70px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 23px; }
.section-heading.compact { margin-bottom: 19px; }
.section-heading h2, .category-section h2, .shelf-invite h2, .automatic-shelf h2 { margin: 8px 0 0; color: var(--green); font: 500 30px/1.2 var(--serif); letter-spacing: -.035em; }
.section-side-note { margin-bottom: 4px; color: #90968d; font: 12px var(--serif); font-style: italic; }
.category-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.category-card { position: relative; min-height: 105px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 19px 55px 18px 25px; text-align: left; border: 1px solid #e3e1d8; background: #faf9f5; cursor: pointer; transition: background .2s, transform .2s, border-color .2s; }
.category-card:hover { background: #f0eee6; border-color: #c7cbbf; transform: translateY(-2px); }
.category-card[data-category="Business"] { border-color: #777e63; background: #777e63; }
.category-card[data-category="Business"]:hover { border-color: #666f55; background: #666f55; }
.category-card[data-category="Business"] .category-card-name { color: #fffdf5; }
.category-card[data-category="Business"] .category-card-helper { color: #e0e3d7; }
.category-card[data-category="Business"] .category-card-mark, .category-card[data-category="Business"] .category-card-arrow { color: #efd39d; }
.category-card[data-category="Personal growth"] { border-color: #c79a3e; background: #e6c267; }
.category-card[data-category="Personal growth"]:hover { border-color: #ad812d; background: #d9b452; }
.category-card-mark { position: absolute; right: 25px; top: 26px; color: #cb8660; font: 24px var(--serif); }
.category-card-name { color: var(--green); font: 500 21px var(--serif); }
.category-card-helper { margin-top: 5px; color: #92968d; font-size: 9px; }
.category-card-arrow { position: absolute; bottom: 20px; right: 25px; font-size: 11px; color: var(--green-mid); opacity: 0; transform: translate(-4px, 4px); transition: .2s; }
.category-card:hover .category-card-arrow { opacity: 1; transform: translate(0); }
.catalog-section { scroll-margin-top: 22px; padding-bottom: 67px; }
.catalog-section .section-heading { margin-bottom: 23px; }
.catalog-section h2 { margin: 7px 0 4px; font: 500 34px/1.18 var(--serif); letter-spacing: -.04em; color: var(--green); }
.section-subtitle { margin: 0; color: #8d948b; font-size: 11px; }
.source-caption { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; color: #93988e; font-size: 9px; }
.catalog-toolbar { min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.filter-tabs { height: 46px; display: flex; align-items: center; gap: 24px; }
.filter-tab { position: relative; height: 100%; padding: 1px 0 0; border: 0; background: transparent; color: #92978e; font-size: 10px; cursor: pointer; }
.filter-tab.active { color: var(--green); font-weight: 600; }
.filter-tab.active::after { content: ''; height: 2px; position: absolute; bottom: -1px; left: 0; right: 0; background: var(--orange); }
.catalog-sort { display: flex; align-items: center; gap: 18px; color: #9ba098; font-size: 9px; }
.result-count { white-space: nowrap; }
.catalog-sort label { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.catalog-sort select { border: 0; padding: 5px 17px 5px 4px; background: transparent; color: var(--ink); font-size: 9px; outline-color: var(--green-mid); }
.book-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 34px 20px; }
.book-card { min-width: 0; position: relative; }
.book-open { width: 100%; height: 222px; display: grid; place-items: center; position: relative; padding: 0; border: 0; background: #efede5; cursor: pointer; overflow: hidden; }
.book-open::before { content: ''; position: absolute; width: 70%; height: 50%; bottom: 21px; border-radius: 50%; background: radial-gradient(ellipse, rgba(71, 68, 48, .15), transparent 70%); filter: blur(8px); }
.book-open .book-object { width: 126px; height: 184px; z-index: 1; transform: rotate(-3deg); }
.book-card:nth-child(3n) .book-open .book-object { transform: rotate(3deg); }
.book-card:nth-child(4n) .book-open .book-object { transform: rotate(-1deg); }
.book-card:hover .book-open .book-object { transform: rotate(0) translateY(-5px); filter: drop-shadow(12px 20px 13px rgba(38, 50, 40, .23)); }
.cover-quickview { position: absolute; z-index: 2; bottom: 10px; right: 10px; display: flex; align-items: center; gap: 5px; padding: 6px 8px; color: var(--green); background: rgba(250,249,245,.93); font-size: 8px; opacity: 0; transform: translateY(4px); transition: .2s; }
.book-open:hover .cover-quickview, .book-open:focus-visible .cover-quickview { opacity: 1; transform: translateY(0); }
.book-card-copy { padding: 11px 1px 0; }
.book-eyebrow { min-height: 15px; display: flex; align-items: center; justify-content: space-between; gap: 5px; margin-bottom: 7px; }
.category-pill { color: #90958b; font-size: 8px; }
.rank-label { color: #9a794d; font-size: 7px; letter-spacing: .04em; }
.book-title-link { display: block; min-height: 36px; padding: 0; border: 0; background: transparent; color: var(--green); text-align: left; font: 500 14px/1.28 var(--serif); cursor: pointer; }
.book-title-link:hover { color: var(--orange); }
.book-author { margin: 3px 0 10px; overflow: hidden; color: #92978e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.book-card-bottom { display: flex; align-items: center; justify-content: space-between; min-height: 26px; border-top: 1px solid #e9e7e0; }
.book-price { color: var(--ink-soft); font-size: 10px; font-weight: 600; }
.add-mini { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 29px; margin-top: 2px; padding: 0 9px; border: 1px solid var(--green); border-radius: 3px; color: #fffdf5; background: var(--green); font-size: 8px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: .18s; }
.add-mini:hover { color: #fff; background: #d87551; border-color: #d87551; box-shadow: 0 3px 10px rgba(40,56,49,.15); }
.card-reactions { display: flex; gap: 6px; margin-top: 8px; }
.reaction-chip { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #e3e4dc; border-radius: 15px; padding: 4px 8px; color: #858d84; background: transparent; font-size: 8px; cursor: pointer; }
.reaction-chip:hover, .reaction-chip.active { color: #9d583e; border-color: #e2b5a0; background: #f8ebe3; }
.empty-results { grid-column: 1/-1; min-height: 260px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--muted); }
.empty-orb { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #eae8df; color: var(--green); }
.empty-results h3 { margin: 13px 0 3px; color: var(--green); font: 500 23px var(--serif); }
.empty-results p { margin: 0 0 13px; font-size: 11px; }
.text-button { display: inline-flex; align-items: center; gap: 8px; border: 0; padding: 3px 0; color: var(--green); background: transparent; font-size: 10px; cursor: pointer; transition: color .15s; }
.shelf-invite { display: grid; grid-template-columns: 130px 1fr auto; gap: 28px; align-items: center; min-height: 180px; margin: 0 0 25px; padding: 27px 34px; background: #e8ebe3; }
.invite-art { position: relative; width: 115px; height: 97px; display: grid; place-items: center; color: #768a78; }
.invite-art > svg { position: absolute; bottom: 5px; left: 13px; right: 13px; width: 90px; height: 75px; }
.invite-book { position: absolute; bottom: 28px; width: 17px; border-radius: 2px 2px 0 0; background: #c97a58; box-shadow: inset -3px 0 rgba(74,44,31,.13); }
.invite-book-a { height: 43px; left: 38px; transform: rotate(-7deg); }
.invite-book-b { height: 52px; left: 55px; background: #d8bd87; }
.invite-book-c { height: 39px; left: 73px; background: #648073; transform: rotate(5deg); }
.shelf-invite h2 { font-size: 25px; }
.shelf-invite p { margin: 8px 0 0; color: #79867b; font-size: 10px; }
.shelf-invite .button { white-space: nowrap; }
.affiliate-note { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; align-items: center; gap: 13px; margin: 0 0 38px; padding: 17px 19px; border: 1px solid #dfe2d9; background: #f0f1e9; color: #65736a; }
.affiliate-note-copy { display: flex; flex-direction: column; gap: 5px; }
.affiliate-note-copy .section-eyebrow { color: #7e897c; }
.affiliate-note p { max-width: 790px; margin: 0; color: #59695d; font-size: 11px; line-height: 1.65; }
.affiliate-spark { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; background: #e4e2d5; color: #bd8550; font-size: 15px; }
.affiliate-note .text-button { color: #52665a; font-size: 9px; white-space: nowrap; }
#market-region .affiliate-note { margin: 12px 0 0; padding: 0 7.8vw 24px; border: 0; border-top: 1px solid #d9ded4; background: #e9ece5; }
.market-strip { padding: 31px 7.8vw 18px; border-top: 1px solid #dfe2d9; background: #e9ece5; }
.market-heading { max-width: 1400px; margin: 0 auto; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.market-heading h2 { margin: 6px 0 3px; color: var(--green); font: 500 27px/1.1 var(--serif); letter-spacing: -.03em; }
.market-heading p { margin: 0; color: #859087; font-size: 9px; }
.market-session { display: flex; align-items: center; gap: 10px; margin-bottom: 3px; padding: 9px 12px; border: 1px solid #d7ddd3; background: rgba(255,255,255,.45); }
.market-status-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #b38158; box-shadow: 0 0 0 4px rgba(179,129,88,.11); }
.market-status-dot.open { background: #64866d; box-shadow: 0 0 0 4px rgba(100,134,109,.12); }
.market-session > div { display: flex; flex-direction: column; gap: 3px; }
.market-session-label { color: var(--green); font-size: 9px; font-weight: 600; }
.market-session-detail { color: #8a948a; font-size: 8px; }
.market-widget-frame { max-width: 1400px; min-height: 88px; margin: 19px auto 10px; overflow: hidden; border: 1px solid #dde1d8; background: #f9f9f5; }
.market-widget-frame tv-ticker-tape { display: block; width: 100%; min-height: 86px; }
.market-fallback { min-height: 86px; display: flex; flex-direction: column; gap: 0; padding: 0; color: #758176; font-size: 9px; }
.market-fallback-track { min-height: 64px; display: flex; align-items: stretch; gap: 0; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.market-fallback-track::-webkit-scrollbar { display: none; }
.market-fallback-quote { min-width: 133px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: 1fr auto; align-items: center; gap: 3px 8px; padding: 10px 13px; border-right: 1px solid #dfe2d8; }
.market-fallback-name { grid-column: 1 / -1; color: var(--green); font-size: 9px; font-weight: 600; white-space: nowrap; }
.market-fallback-symbol { color: #929b91; font-size: 7px; letter-spacing: .1em; }
.market-fallback-quote strong { color: #929b91; font-size: 10px; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.market-fallback-quote strong::before { content: "DAILY "; color: #a3aaa1; font-size: 6px; font-weight: 500; letter-spacing: .08em; }
.market-fallback-quote strong.up { color: #64866d; }
.market-fallback-quote strong.down { color: #b06e5b; }
.market-fallback-quote strong.unavailable { color: #929b91; }
.market-fallback-meta { min-height: 21px; padding: 3px 13px 5px; border-top: 1px solid #edf0e9; color: #929b91; font-size: 7px; line-height: 1.4; }
.market-disclaimer { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #9aa198; font-size: 7px; }
.market-disclaimer a { flex: 0 0 auto; color: #778579; text-decoration: underline; text-decoration-color: #bfc9bd; text-underline-offset: 2px; }
.financial-news { padding: 29px 7.8vw 25px; border-top: 1px solid #d9ded4; background: #f2f2eb; }
.financial-news-heading { max-width: 1400px; margin: 0 auto 16px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.financial-news-heading h2 { margin: 5px 0 3px; color: var(--green); font: 500 25px/1.1 var(--serif); letter-spacing: -.03em; }
.financial-news-heading p { margin: 0; color: #859087; font-size: 9px; }
.financial-news-date { padding: 7px 10px; border: 1px solid #dce0d6; color: #818b81; font-size: 7px; font-weight: 600; letter-spacing: .11em; white-space: nowrap; }
.financial-news-grid { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.financial-news-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 16px 17px 14px; border: 1px solid #dfe2d9; background: #fbfaf6; }
.financial-news-meta { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; color: #91988f; font-size: 7px; letter-spacing: .04em; }
.financial-news-topic { padding: 4px 7px; border-radius: 12px; background: #e5ece3; color: #627667; font-size: 6px; font-weight: 700; letter-spacing: .1em; }
.financial-news-card:nth-child(2) .financial-news-topic { background: #f3e7dc; color: #a06f50; }
.financial-news-card:nth-child(3) .financial-news-topic { background: #eee9d9; color: #8c7951; }
.financial-news-card h3 { margin: 13px 0 7px; color: var(--green); font: 500 18px/1.25 var(--serif); letter-spacing: -.02em; }
.news-headline-link { color: inherit; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .15s, text-decoration-color .15s; }
.news-headline-link:hover, .news-headline-link:focus-visible { color: var(--orange); text-decoration-color: currentColor; }
.financial-news-card p { flex: 1; margin: 0 0 14px; color: #788279; font-size: 9px; line-height: 1.65; }
.financial-news-card > a { display: inline-flex; align-items: center; gap: 6px; color: #4e6958; font-size: 8px; font-weight: 600; }
.financial-news-card > a:hover { color: var(--orange); }
.financial-news-note { max-width: 1400px; margin: 13px auto 0; color: #959b91; font-size: 7px; line-height: 1.5; }
.site-footer { min-height: 92px; padding: 20px 7.8vw; display: flex; align-items: center; gap: 19px; color: #939a91; background: #edeae1; font-size: 9px; }
.footer-brand { color: var(--green); font: 600 22px var(--serif); letter-spacing: -.04em; }
.footer-brand span { color: var(--orange); }
.footer-links { display: flex; gap: 19px; margin-left: auto; }
.footer-links button, .footer-links a { padding: 0; border: 0; color: #707c72; background: transparent; font-size: 9px; cursor: pointer; }
.footer-links button:hover, .footer-links a:hover { color: var(--orange); }
.footer-copyright { border-left: 1px solid #d6d4cb; padding-left: 18px; }

/* Reader shelves */
.interior-page { min-height: 75vh; max-width: 1390px; margin: 0 auto; padding: 45px 8vw 85px; }
.page-topline { display: flex; justify-content: space-between; color: #9a9e95; font-size: 8px; letter-spacing: .15em; }
.page-topline span:last-child { letter-spacing: .04em; }
.interior-heading { display: flex; align-items: center; gap: 17px; margin: 28px 0 23px; }
.interior-heading > div:nth-child(2) { flex: 1; }
.profile-avatar { width: 49px; height: 49px; display: grid; place-items: center; border-radius: 50%; background: #e6e8df; color: var(--green); }
.interior-heading h1, .shelf-detail-heading h1 { margin: 6px 0 4px; color: var(--green); font: 500 clamp(34px, 4vw, 49px)/1.1 var(--serif); letter-spacing: -.04em; }
.interior-heading p, .shelf-detail-heading p { margin: 0; color: #90968e; font-size: 11px; }
.interior-heading > .button { margin-left: auto; }
.shelf-stats { display: flex; align-items: center; gap: 30px; margin: 28px 0 56px; padding: 18px 23px; border: 1px solid #e4e2db; background: #f3f2ec; }
.shelf-stats > div { display: flex; align-items: baseline; gap: 9px; }
.shelf-stats strong { color: var(--green); font: 500 23px var(--serif); }
.shelf-stats span { color: #8c938a; font-size: 9px; }
.shelf-stats > i { width: 1px; height: 23px; background: #deddd4; }
.shelf-heading { margin-bottom: 19px; }
.shelf-heading h2 { margin-top: 6px; font: 500 30px var(--serif); color: var(--green); }
.shelf-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.shelf-card { position: relative; min-height: 259px; background: #f3f2ec; border: 1px solid #e5e3dc; }
.shelf-card-open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; text-align: left; cursor: pointer; }
.shelf-card-open:hover .shelf-card-arrow { color: var(--orange); transform: translate(2px,-2px); }
.shelf-card-top { display: flex; justify-content: space-between; padding: 15px 17px 0; color: #90978e; font-size: 8px; }
.shelf-card-arrow { color: var(--green); font-size: 12px; transition: .15s; }
.shelf-display { --shelf-board-height: 12px; --shelf-board-bottom: 14px; --shelf-book-bottom: 26px; height: 143px; position: relative; overflow: hidden; isolation: isolate; perspective: 900px; }
.shelf-backboard { position: absolute; z-index: 0; top: 8px; left: 10%; right: 10%; bottom: calc(var(--shelf-board-height) + var(--shelf-board-bottom)); overflow: hidden; border: 1px solid rgba(125,91,54,.32); background: linear-gradient(90deg, #b28d5d 0%, #dfceb0 3%, #eadfcf 11%, #e7dbc8 50%, #efe5d5 88%, #c9aa7d 97%, #987449 100%), repeating-linear-gradient(0deg, transparent 0 18px, rgba(112,79,44,.12) 19px, transparent 20px 34px); box-shadow: inset 0 0 23px rgba(92,69,43,.16), 0 9px 16px rgba(64,50,33,.1); }
.shelf-backboard::before, .shelf-backboard::after { content: ""; position: absolute; top: 0; bottom: 0; width: 15px; background: linear-gradient(90deg, rgba(103,76,46,.22), rgba(250,243,229,.58), rgba(111,80,47,.2)); }
.shelf-backboard::before { left: 0; }
.shelf-backboard::after { right: 0; }
.shelf-book-row { position: absolute; z-index: 2; left: 14%; right: 14%; bottom: var(--shelf-book-bottom); display: flex; align-items: end; justify-content: center; gap: 9px; }
.shelf-plank { position: absolute; z-index: 1; bottom: var(--shelf-board-bottom); left: 8%; right: 8%; height: var(--shelf-board-height); border: 1px solid rgba(120,84,42,.42); border-radius: 2px; background: linear-gradient(180deg, #f0dfbd 0%, #d4b180 26%, #bd955f 67%, #906c40 100%); box-shadow: 0 9px 12px rgba(65,54,38,.24), inset 0 1px rgba(255,255,255,.72); }
.shelf-plank::after { content: ""; position: absolute; top: 2px; left: 9px; right: 9px; height: 1px; background: rgba(255,255,255,.32); }
.catalog-shelf { margin: 42px 0 45px; padding: 26px 30px 12px; border: 1px solid #dedbd0; background: linear-gradient(145deg, #f0eee7, #e9e9df); }
.catalog-shelf-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.catalog-shelf-heading h2 { margin: 7px 0 4px; color: var(--green); font: 500 29px/1.2 var(--serif); letter-spacing: -.035em; }
.catalog-shelf-heading p { margin: 0; color: #879087; font-size: 9px; }
.catalog-shelf-count { padding: 7px 10px; border: 1px solid #d2d5c9; color: #7c826e; font-size: 7px; letter-spacing: .13em; white-space: nowrap; }
.catalog-shelf-display .shelf-display { --shelf-board-height: 25px; --shelf-board-bottom: 25px; --shelf-book-bottom: 48px; height: 310px; }
.catalog-shelf-display .shelf-backboard { top: 13px; left: 3%; right: 3%; border-color: rgba(54,40,28,.64); background: repeating-linear-gradient(91deg, transparent 0 62px, rgba(40,28,19,.12) 63px, transparent 65px 118px), linear-gradient(90deg, #654a33 0%, #96754f 4%, #7b5e40 12%, #886846 49%, #987953 88%, #715337 96%, #563d2b 100%); box-shadow: inset 0 0 27px rgba(27,20,15,.34), 0 11px 19px rgba(49,40,29,.19); }
.catalog-shelf-display .shelf-backboard::before, .catalog-shelf-display .shelf-backboard::after { width: 25px; background: linear-gradient(90deg, rgba(35,25,18,.35), rgba(230,210,177,.15), rgba(32,24,18,.35)); }
.catalog-shelf-display .shelf-book-row { left: 8%; right: 8%; gap: clamp(10px, 1.7vw, 23px); }
.catalog-shelf-display .shelf-plank { left: 2%; right: 2%; border-color: #61472d; background: repeating-linear-gradient(2deg, transparent 0 7px, rgba(78,50,29,.1) 8px, transparent 9px 13px), linear-gradient(180deg, #d4b785 0%, #b18b59 19%, #896640 64%, #65472d 100%); box-shadow: 0 11px 15px rgba(41,34,25,.28), inset 0 2px 1px rgba(255,248,224,.58); }
.catalog-shelf-display .shelf-plank::after { top: 4px; left: 15px; right: 15px; height: 1px; background: rgba(255,244,216,.34); }
.catalog-shelf-display .shelf-book-wrap { width: clamp(105px, 10.6vw, 137px); height: 194px; }
.catalog-shelf-display .shelf-book-wrap:nth-child(3n + 2) { height: 214px; }
.catalog-shelf-display .shelf-book-wrap:nth-child(3n) { height: 185px; }
.catalog-shelf-book { padding: 0; border: 0; background: transparent; cursor: pointer; }
.catalog-shelf-book .shelf-book { filter: drop-shadow(5px 9px 7px rgba(20,18,14,.35)); transition: transform .2s, filter .2s; }
.catalog-shelf-book:hover .shelf-book, .catalog-shelf-book:focus-visible .shelf-book { transform: translateY(-8px); filter: drop-shadow(8px 14px 9px rgba(20,18,14,.42)); }
.catalog-shelf-display .shelf-book .book-cover { padding: 13px 10px 11px; }
.catalog-shelf-display .shelf-book .cover-series { font-size: 5px; }
.catalog-shelf-display .shelf-book .cover-title { margin-bottom: 6px; font-size: clamp(10px, .9vw, 14px); line-height: 1.12; }
.catalog-shelf-display .shelf-book .cover-author { font-size: 5px; }
.catalog-shelf-display .shelf-book .cover-publisher { font-size: 3px; }
.shelf-book-wrap { position: relative; width: 45px; height: 84px; display: flex; align-items: end; }
.shelf-book-wrap:nth-child(3n + 2) { height: 91px; }
.shelf-book-wrap:nth-child(3n) { height: 78px; }
.shelf-book { width: 100%; height: 100%; filter: drop-shadow(2px 4px 4px rgba(38,50,40,.16)); }
.shelf-book::after { bottom: -3px; height: 4px; }
.shelf-book .book-cover { padding: 7px 5px 6px; }
.shelf-book .cover-series { font-size: 3px; }
.shelf-book .cover-title { font-size: 7px; margin-bottom: 3px; }
.shelf-book .cover-author { font-size: 3px; }
.shelf-book .cover-publisher { font-size: 2px; }
.shelf-book .motif { transform: scale(.55); transform-origin: top right; }
.shelf-empty { height: 143px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; color: #9ba197; }
.shelf-empty p { max-width: 190px; margin: 0; font: italic 10px/1.5 var(--serif); text-align: center; }
.shelf-display-empty .shelf-empty { position: absolute; z-index: 2; inset: 14px 8% calc(var(--shelf-board-height) + var(--shelf-board-bottom)); height: auto; justify-content: space-between; gap: 8px; }
.shelf-display-empty .shelf-empty p { max-width: 260px; color: #827f74; }
.empty-shelf-illustration { position: relative; display: flex; align-items: end; justify-content: center; gap: 4px; width: 100px; height: 43px; }
.empty-book { width: 13px; border-radius: 2px 2px 0 0; background: #d6b887; }
.empty-book.b1 { height: 28px; transform: rotate(-5deg); background: #d68a66; }
.empty-book.b2 { height: 35px; background: #849483; }
.empty-book.b3 { height: 25px; transform: rotate(4deg); background: #dfcfad; }
.shelf-card-copy { padding: 0 17px 16px; }
.shelf-card-copy h3 { margin: 0; color: var(--green); font: 500 18px var(--serif); }
.shelf-card-copy p { margin: 4px 0 0; color: #90968d; font-size: 9px; }
.shelf-delete { position: absolute; top: 36px; right: 12px; z-index: 2; display: grid; place-items: center; width: 25px; height: 25px; border: 0; border-radius: 50%; background: rgba(247,245,240,.85); color: #8f958b; cursor: pointer; opacity: 0; transition: .16s; }
.shelf-card:hover .shelf-delete, .shelf-delete:focus-visible { opacity: 1; }
.new-shelf-card { min-height: 259px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border: 1px dashed #cfd3c7; background: transparent; color: #839087; cursor: pointer; transition: .2s; }
.new-shelf-card:hover { background: #f0efe8; border-color: #8d9d8f; }
.new-shelf-icon { width: 39px; height: 39px; display: grid; place-items: center; margin-bottom: 4px; border: 1px solid #c9d1c6; border-radius: 50%; color: var(--green); }
.new-shelf-card strong { color: var(--green); font: 500 17px var(--serif); }
.new-shelf-card > span:last-child { font-size: 9px; }
.automatic-shelf { display: grid; grid-template-columns: 1fr 1.35fr; gap: 24px; align-items: center; margin-top: 65px; padding: 28px 32px 16px; background: #e8ebe4; }
.automatic-shelf h2 { font-size: 27px; }
.automatic-shelf-copy p { max-width: 420px; margin: 9px 0; color: #7d897f; font-size: 10px; line-height: 1.7; }
.automatic-shelf-art .shelf-display { --shelf-board-height: 13px; --shelf-board-bottom: 18px; --shelf-book-bottom: 31px; height: 190px; }
.automatic-shelf-art .shelf-book-wrap { width: 53px; height: 112px; }
.automatic-shelf-art .shelf-book-wrap:nth-child(3n + 2) { height: 120px; }
.automatic-shelf-art .shelf-plank { background: linear-gradient(180deg, #d0bd9e, #b69a70); }
.back-link { display: inline-flex; padding: 0; border: 0; background: transparent; color: #7d897f; font-size: 10px; cursor: pointer; }
.back-link:hover { color: var(--orange); }
.shelf-detail-heading { display: flex; align-items: end; justify-content: space-between; margin: 29px 0 21px; }
.love-stamp, .like-stamp { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 20px; background: #f2e5dd; color: #a35e45; font-size: 8px; letter-spacing: .08em; }
.featured-shelf-visual { padding: 18px 0 2px; background: linear-gradient(145deg, #eceee8, #e4e7df); }
.featured-shelf-visual .shelf-display { --shelf-board-height: 20px; --shelf-board-bottom: 26px; --shelf-book-bottom: 46px; height: 330px; }
.featured-shelf-visual .shelf-backboard { top: 13px; left: 8%; right: 8%; }
.featured-shelf-visual .shelf-book-row { left: 10%; right: 10%; gap: 14px; }
.featured-shelf-visual .shelf-plank { left: 6%; right: 6%; }
.featured-shelf-visual .shelf-book-wrap { width: 112px; height: 186px; }
.featured-shelf-visual .shelf-book-wrap:nth-child(3n + 2) { height: 196px; }
.featured-shelf-visual .shelf-book-wrap:nth-child(3n) { height: 178px; }
.featured-shelf-visual .shelf-book .book-cover { padding: 11px 8px 9px; }
.featured-shelf-visual .shelf-book .cover-series { font-size: 4px; }
.featured-shelf-visual .shelf-book .cover-title { font-size: 10px; }
.featured-shelf-visual .shelf-book .cover-author { font-size: 4px; }
.featured-shelf-visual .shelf-book .cover-publisher { font-size: 3px; }
.collection-books-heading { margin: 43px 0 20px; }
.collection-books-heading h2 { margin: 7px 0; font: 500 26px var(--serif); color: var(--green); }
.collection-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.remove-from-shelf { align-self: start; justify-self: start; padding: 5px 1px; border: 0; background: transparent; color: #9a6150; font-size: 8px; cursor: pointer; }
.liked-heading { margin-top: 35px; margin-bottom: 29px; }
.liked-heading .like-stamp { margin-bottom: 6px; }
.empty-liked { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px solid var(--line); background: #f3f2ec; }
.empty-heart { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 8px; border-radius: 50%; background: #eee5da; color: #b2765f; }
.empty-liked h2 { margin: 7px; color: var(--green); font: 500 26px var(--serif); }
.empty-liked p { margin: 0 0 18px; color: #90968d; font-size: 10px; }
.empty-collection-cta { padding: 22px 0; display: flex; align-items: center; gap: 18px; color: #899188; font-size: 10px; }
.about-page { max-width: 950px; }
.about-page > .section-eyebrow { margin-top: 55px; }
.about-page h1 { max-width: 740px; margin: 14px 0 15px; color: var(--green); font: 500 clamp(38px, 5.3vw, 67px)/1.08 var(--serif); letter-spacing: -.045em; }
.about-lede { max-width: 660px; color: #78847a; font-size: 13px; line-height: 1.8; }
.about-card { max-width: 700px; margin: 38px 0 20px; padding: 26px 30px; border: 1px solid var(--line); background: #f2f1eb; }
.about-card h2 { margin: 0 0 14px; color: var(--green); font: 500 23px var(--serif); }
.about-card p { margin: 11px 0; color: #7f897f; font-size: 11px; line-height: 1.7; }
.about-source { margin-top: 5px; }

/* Folio journal, help pages, and support assistant */
.blog-page { max-width: 1250px; }
.news-page { max-width: 1390px; }
.news-page .news-intro { max-width: 900px; padding: 28px 0 30px; }
.news-page .blog-list-heading { margin-top: 12px; }
.news-page-grid { margin-bottom: 15px; }
.news-page-note { margin: 12px 0 0; }
.book-detail-page { max-width: 1200px; }
.book-page-layout { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); align-items: start; gap: clamp(32px,7vw,96px); max-width: 1050px; margin: 22px auto 0; }
.book-page-cover { min-height: 500px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px; background: #eceee6; }
.book-page-book { width: min(72%,260px); height: auto; aspect-ratio: 298 / 450; filter: none; }
.book-page-book .book-cover { right: 2px; padding: 0; transform: none; box-shadow: none; }
.book-page-rank { margin-top: 18px; color: #9d8052; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.book-page-copy { padding: 14px 0; }
.book-page-copy h1 { margin: 11px 0 4px; color: var(--green); font: 500 clamp(36px,4vw,54px)/1.08 var(--serif); letter-spacing: -.04em; }
.book-page-author { margin: 0; color: #859087; font-size: 11px; }
.book-page-note { margin: 24px 0 16px; color: var(--orange); font: italic 20px var(--serif); }
.book-page-description { padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.book-page-description p { margin: 10px 0 0; color: #6f7e73; font-size: 12px; line-height: 1.85; }
.book-page-meta { display: flex; gap: 18px; margin-top: 14px; color: #899187; font-size: 9px; }
.book-page-buy { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.book-page-buy strong { color: var(--green); font: 500 20px var(--serif); }
.hero-book-link { position: absolute; display: block; padding: 0; border: 0; background: transparent; cursor: pointer; }
.hero-book-link:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
.hero-book-link .hero-book { position: relative; left: auto; top: auto; width: 100%; height: 100%; transform: none; z-index: 1; }
.hero-book-link:nth-child(1) { left: 31px; top: 95px; width: 172px; height: 264px; transform: rotate(-6deg); z-index: 2; }
.hero-book-link:nth-child(2) { left: 148px; top: 52px; width: 190px; height: 286px; transform: rotate(2deg); z-index: 3; }
.hero-book-link:nth-child(3) { left: 272px; top: 120px; width: 172px; height: 264px; transform: rotate(7deg); z-index: 1; }
.hero-book-link:hover .hero-book, .hero-book-link:focus-visible .hero-book { transform: translateY(-5px); }
.blog-intro { max-width: 780px; padding: 35px 0 45px; }
.blog-intro h1 { margin: 13px 0 12px; color: var(--green); font: 500 clamp(45px, 6vw, 76px)/1.03 var(--serif); letter-spacing: -.05em; }
.blog-intro h1 em { color: var(--orange); font-weight: 500; }
.blog-intro p { max-width: 540px; margin: 0; color: #7d887f; font-size: 13px; line-height: 1.8; }
.blog-list-heading { display: flex; align-items: end; justify-content: space-between; margin: 12px 0 20px; padding-bottom: 13px; border-bottom: 1px solid var(--line); }
.blog-list-heading h2 { margin: 7px 0 0; color: var(--green); font: 500 29px var(--serif); }
.blog-list-heading > span { color: #90978f; font-size: 9px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.blog-card { min-width: 0; border: 1px solid #e5e3da; background: #faf9f5; }
.blog-cover-link { width: 100%; min-height: 210px; display: flex; position: relative; align-items: center; justify-content: center; overflow: hidden; border: 0; background: #ebece3; cursor: pointer; }
.blog-cover-link::after { content: ''; position: absolute; inset: auto 0 0; height: 52px; background: linear-gradient(transparent, rgba(30,47,38,.1)); pointer-events: none; }
.blog-book { width: 111px; height: 164px; transform: rotate(-4deg); box-shadow: 13px 17px 24px rgba(37,48,38,.22); transition: transform .22s; }
.blog-card:nth-child(2) .blog-book { transform: rotate(3deg); }
.blog-cover-link:hover .blog-book, .blog-cover-link:focus-visible .blog-book { transform: translateY(-5px) rotate(0); }
.blog-book .book-cover { padding: 13px 10px 11px; }
.blog-book .cover-series { font-size: 5px; }
.blog-book .cover-title { font-size: 14px; }
.blog-book .cover-author { font-size: 5px; }
.blog-book .cover-publisher { font-size: 4px; }
.blog-cover-caption { position: absolute; z-index: 1; bottom: 11px; left: 15px; color: #69786d; font-size: 7px; letter-spacing: .13em; }
.blog-card-copy { padding: 19px 18px 16px; }
.blog-meta { display: flex; align-items: center; gap: 8px; color: #8a8f81; font-size: 7px; letter-spacing: .1em; }
.blog-meta i { width: 3px; height: 3px; border-radius: 50%; background: var(--orange); }
.blog-card h3 { min-height: 58px; margin: 13px 0 8px; color: var(--green); font: 500 21px/1.18 var(--serif); letter-spacing: -.02em; }
.blog-card-copy > p { min-height: 65px; margin: 0; color: #79847b; font-size: 10px; line-height: 1.7; }
.blog-card-bottom { display: flex; flex-direction: column; gap: 11px; margin-top: 15px; padding-top: 12px; border-top: 1px solid var(--line); }
.blog-card-bottom > span { color: #a18c6c; font: italic 10px var(--serif); }
.blog-read-link { width: fit-content; display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: var(--green); font-size: 9px; cursor: pointer; }
.blog-read-link:hover { color: var(--orange); }
.blog-signoff { margin-top: 55px; padding: 30px; display: flex; align-items: center; gap: 22px; background: #e8eadf; }
.blog-signoff .section-eyebrow { margin-right: auto; }
.blog-signoff h2 { max-width: 290px; margin: 0; color: var(--green); font: 500 23px/1.2 var(--serif); }
.blog-signoff .button { flex: 0 0 auto; }
.utility-intro { max-width: 760px; padding: 25px 0 34px; }
.utility-intro h1 { margin: 13px 0 9px; color: var(--green); font: 500 clamp(40px, 5.4vw, 63px)/1.06 var(--serif); letter-spacing: -.045em; }
.utility-intro p { max-width: 640px; margin: 0; color: #7d887f; font-size: 12px; line-height: 1.8; }
.faq-list { max-width: 820px; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 3px; color: var(--green); font: 500 17px var(--serif); cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { color: var(--orange); font: 400 19px var(--sans); transition: transform .2s; }
.faq-item[open] summary span { transform: rotate(45deg); }
.faq-item > p { max-width: 680px; margin: -5px 0 19px; color: #7c877d; font-size: 10px; line-height: 1.75; }
.faq-contact-link { margin-top: 23px; }
.contact-card { max-width: 920px; min-height: 148px; padding: 25px 29px; display: flex; align-items: center; gap: 22px; border: 1px solid #cbd1c2; background: #e8eadf; }
.contact-mark { width: 49px; height: 49px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 16px 16px 16px 5px; background: var(--green); color: #f4e9d1; font: 700 11px var(--sans); letter-spacing: -.06em; }
.contact-card > div { flex: 1; }
.contact-card h2 { margin: 8px 0 4px; color: var(--green); font: 500 23px var(--serif); }
.contact-card p, .contact-note { margin: 0; color: #758177; font-size: 10px; line-height: 1.7; }
.contact-note { max-width: 780px; margin-top: 15px; }
.support-widget { position: fixed; z-index: 15; right: max(22px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; align-items: flex-end; gap: 11px; font-family: var(--sans); }
.support-launch { min-height: 48px; display: flex; align-items: center; gap: 9px; padding: 0 17px 0 10px; border: 1px solid #566858; border-radius: 28px; background: var(--green); color: #fbf8ef; box-shadow: 0 7px 24px rgba(31,47,38,.2); font-size: 10px; font-weight: 600; cursor: pointer; transition: transform .18s, background .18s; }
.support-launch:hover { transform: translateY(-2px); background: #354e40; }
.support-launch-icon { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.13); color: #edcc91; font-size: 17px; }
.support-panel { width: min(350px, calc(100vw - 32px)); height: min(480px, calc(100dvh - 110px)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #ddded4; background: #fbfaf6; box-shadow: 0 16px 50px rgba(35,48,39,.23); animation: modal-in .18s ease-out; }
.support-panel[hidden] { display: none; }
.support-heading { min-height: 65px; display: flex; align-items: center; gap: 10px; padding: 0 15px; border-bottom: 1px solid var(--line); background: #f0f1e9; }
.support-avatar { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 11px 11px 11px 4px; background: var(--green); color: #f3e8d0; font: 600 20px var(--serif); }
.support-heading > div { display: flex; flex: 1; flex-direction: column; gap: 4px; }
.support-heading strong { color: var(--green); font-size: 11px; }
.support-heading > div > span { display: flex; align-items: center; gap: 5px; color: #8b958a; font-size: 8px; }
.support-heading > div i { width: 5px; height: 5px; border-radius: 50%; background: #879973; }
.support-close { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: #718076; cursor: pointer; }
.support-close:hover { background: #e4e6dc; }
.support-messages { flex: 1; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; padding: 15px; }
.support-message { max-width: 88%; padding: 10px 12px; border-radius: 12px 12px 12px 3px; color: #657269; background: #edeee7; font-size: 9px; line-height: 1.65; }
.support-message.user { align-self: flex-end; border-radius: 12px 12px 3px 12px; background: var(--green); color: #fbf8ef; }
.support-prompts { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 13px 10px; }
.support-prompts button { padding: 6px 9px; border: 1px solid #d9ddcf; border-radius: 15px; background: #f7f7f1; color: #647267; font-size: 8px; cursor: pointer; }
.support-prompts button:hover { border-color: #aebba6; background: #edf0e7; }
.support-form { display: flex; gap: 8px; margin: 0 12px; padding: 6px 6px 6px 12px; border: 1px solid #dedfd6; border-radius: 24px; background: white; }
.support-form input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 9px; }
.support-form button { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--green); color: white; cursor: pointer; }
.support-disclaimer { margin: 9px 13px 12px; color: #a0a49a; font-size: 7px; line-height: 1.5; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Business pulse: transparent founder stories with source-linked pace estimates. */
.business-pulse { margin: -23px 0 48px; color: var(--ink); }
.business-pulse-heading { margin-bottom: 18px; }
.business-pulse-heading h2 { margin: 7px 0 0; color: var(--green); font: 500 25px/1.2 var(--serif); letter-spacing: -.025em; }
.business-tracker-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; margin-bottom: 10px; }
.business-tracker { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 14px 0 12px; border-top: 1px solid #c9c8bc; }
.tracker-kicker { color: #8d7954; font-size: 8px; font-weight: 700; letter-spacing: .14em; }
.business-tracker strong { color: var(--green); font: 500 29px/1.1 var(--serif); font-variant-numeric: tabular-nums; }
.tracker-label { color: #626f65; font: italic 13px var(--serif); }
.business-tracker a { margin-top: 4px; color: #8a9289; font-size: 8px; line-height: 1.5; }
.business-tracker a:hover,.founder-lesson a:hover { color: var(--orange); }
.tracker-disclosure { max-width: 760px; margin: 0 0 22px; color: #92988f; font-size: 8px; line-height: 1.55; }
.founder-lessons-heading { display: flex; align-items: baseline; gap: 12px; margin-bottom: 3px; }
.founder-lessons-heading > span:last-child { color: #899188; font: italic 12px var(--serif); }
.founder-lessons { display: flex; gap: 25px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #c5c7ba transparent; padding: 10px 0 14px; }
.founder-lesson { flex: 0 0 min(285px,80vw); min-height: 112px; display: flex; flex-direction: column; justify-content: space-between; scroll-snap-align: start; padding: 0 19px 0 0; border-right: 1px solid #deded4; background: transparent; }
.founder-lesson p { margin: 0 0 14px; color: #4f6155; font: italic 14px/1.5 var(--serif); }
.founder-lesson > div { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: baseline; }
.founder-lesson strong { color: var(--green); font: 500 13px var(--serif); }
.founder-lesson > div > span { color: #92988e; font-size: 8px; }
.founder-lesson a { grid-column: 1/-1; width: fit-content; margin-top: 3px; color: #8a9289; font-size: 8px; }

/* Keep the invite compact at desktop widths, then let it fill the single-column layout. */
@media (min-width:1051px) { .shelf-invite { width:100%; max-width:1025px; margin-left:auto; margin-right:auto; } }

@media (max-width:700px) {
  .business-pulse { margin: -13px 0 36px; }
  .business-pulse-heading h2 { font-size:22px; }
  .business-tracker-row { gap:18px; }
  .business-tracker strong { font-size:23px; }
  .tracker-label { font-size:11px; }
  .founder-lessons { gap:18px; }
  .founder-lesson { flex-basis:min(250px,82vw); }
}

/* Book details and cart */
.modal-backdrop { position: fixed; inset: 0; z-index: 20; display: grid; place-items: center; padding: 22px; background: rgba(31,42,36,.52); backdrop-filter: blur(3px); animation: fade-in .18s ease-out; }
.book-modal { width: min(760px, 100%); max-height: min(690px, calc(100vh - 44px)); overflow-y: auto; position: relative; display: grid; grid-template-columns: .83fr 1.17fr; gap: 34px; padding: 39px 40px; background: var(--paper); box-shadow: 0 20px 70px rgba(0,0,0,.2); animation: modal-in .22s ease-out; }
.modal-close { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #eeece5; color: var(--ink); cursor: pointer; }
.modal-cover-wrap { min-height: 385px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f0d264; }
.modal-book { width: 198px; height: 298px; }
.modal-book .book-cover { padding: 22px 18px 18px; }
.modal-book .cover-series { font-size: 7px; }
.modal-book .cover-title { font-size: 27px; }
.modal-book .cover-author { font-size: 9px; }
.modal-book .cover-publisher { font-size: 5px; }
.modal-rank { margin-top: 19px; color: #9d8057; font-size: 8px; font-weight: 600; letter-spacing: .1em; }
.modal-copy { align-self: center; padding: 3px 0; }
.modal-copy > .section-eyebrow { font-size: 8px; }
.modal-copy h2 { margin: 11px 0 4px; color: var(--green); font: 500 33px/1.08 var(--serif); letter-spacing: -.035em; }
.modal-author { margin: 0; color: #8a9288; font-size: 10px; }
.modal-note { margin: 22px 0 8px; color: var(--orange); font: italic 17px/1.35 var(--serif); }
.modal-description-block { padding: 12px 14px; border: 1px solid #ead68a; background: #fff5cf; }
.description-eyebrow { display: block; margin-bottom: 5px; color: #899188; font-size: 8px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.modal-description { margin: 0; color: #65736a; font-size: 11px; line-height: 1.75; }
.modal-meta { display: flex; gap: 13px; margin: 17px 0 0; color: #9aa097; font-size: 8px; }
.modal-meta span + span::before { content: '·'; margin-right: 13px; color: #c0b8a8; }
.modal-buy-row { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding: 14px 0; border-top: 1px solid #e5e2d9; border-bottom: 1px solid #e5e2d9; }
.modal-buy-row strong { color: var(--green); font: 500 19px var(--serif); }
.modal-buy-row .button { min-height: 38px; }
.detail-actions { margin-top: 15px; }
.detail-actions > span { display: block; margin-bottom: 7px; color: #899188; font-size: 8px; }
.reaction-buttons { display: flex; gap: 6px; }
.reaction-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 7px 9px; border: 1px solid #dfe2d9; background: transparent; color: #758078; font-size: 8px; cursor: pointer; }
.reaction-button:hover, .reaction-button.active { color: #995b42; background: #f8ece4; border-color: #e0b6a2; }
.save-shelf-label { display: flex; flex-direction: column; gap: 6px; margin-top: 15px; color: #838e84; font-size: 8px; }
.save-shelf-label select { max-width: 240px; padding: 8px 10px; border: 1px solid #dfe2d9; background: #fbfaf6; color: var(--green); font-size: 9px; }
.modal-shelf-link { margin-top: 13px; font-size: 9px; }
.commission-caption { display: block; margin-top: 16px; color: #a5a79e; font-size: 7px; }
.book-comments { margin-top: 18px; padding-top: 15px; border-top: 1px solid #e5e2d9; }
.book-comments-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.book-comments-heading h3 { margin: 0; color: var(--green); font: 500 17px/1.2 var(--serif); }
.book-comments-heading > span { display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 50%; background: #eee9dc; color: #788279; font-size: 8px; }
.book-comment-list { display: grid; gap: 8px; max-height: 180px; overflow-y: auto; }
.book-comments-empty { margin: 0 0 4px; color: #828b83; font-size: 9px; }
.book-comment { padding: 9px 10px; border-left: 2px solid #d6bb63; background: #f7f4eb; }
.book-comment > div { display: flex; justify-content: space-between; gap: 10px; color: var(--green); font-size: 8px; }
.book-comment time { color: #92988f; font-size: 7px; }
.book-comment p { margin: 5px 0 0; color: #68766d; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.book-comment-form { display: grid; gap: 9px; margin-top: 12px; }
.book-comment-form label { display: grid; gap: 5px; color: #647168; font-size: 8px; font-weight: 600; }
.book-comment-form label span { display: inline; color: #969b92; font-weight: 400; }
.book-comment-form input,.book-comment-form textarea { width: 100%; min-width: 0; padding: 8px 10px; border: 1px solid #d9d9ce; background: #fffefa; color: var(--green); font: 9px/1.5 var(--sans); resize: vertical; }
.book-comment-form input:focus,.book-comment-form textarea:focus { outline: 2px solid #d8bf63; outline-offset: 1px; }
.book-comment-form .button { justify-self: start; min-height: 34px; padding: 0 12px; font-size: 8px; }
.book-comment-form small { color: #92988f; font-size: 7px; }
.drawer-scrim { position: fixed; z-index: 24; inset: 0; background: rgba(31,42,36,.39); opacity: 0; pointer-events: none; transition: opacity .24s; }
.drawer-scrim.visible { opacity: 1; pointer-events: auto; }
.cart-drawer { position: fixed; z-index: 25; top: 0; right: 0; bottom: 0; width: min(445px, 100%); display: flex; flex-direction: column; padding: 26px 27px 22px; background: var(--paper); transform: translateX(103%); transition: transform .27s cubic-bezier(.3,.7,.3,1); box-shadow: -10px 0 40px rgba(0,0,0,.11); }
.cart-drawer.open { transform: translateX(0); }
.drawer-heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.drawer-heading h2 { margin: 5px 0 0; color: var(--green); font: 500 27px var(--serif); }
.drawer-heading h2 span { color: #969b92; font: 400 14px var(--sans); }
.cart-list { flex: 1; overflow-y: auto; }
.cart-item { display: grid; grid-template-columns: 68px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.cart-book { width: 56px; height: 83px; }
.cart-book .book-cover { padding: 6px 4px 5px; }
.cart-book .cover-series { font-size: 3px; }
.cart-book .cover-title { font-size: 8px; margin-bottom: 2px; }
.cart-book .cover-author { font-size: 3px; }
.cart-book .cover-publisher { font-size: 2px; }
.cart-item-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.cart-item-title { padding: 0; border: 0; color: var(--green); background: transparent; text-align: left; font: 500 16px/1.2 var(--serif); cursor: pointer; }
.cart-item-copy > span { margin: 4px 0 6px; color: #92988f; font-size: 8px; }
.cart-item-copy > strong { color: var(--green); font-size: 10px; }
.quantity-control { display: flex; align-items: center; gap: 9px; margin-top: 8px; color: #758078; font-size: 9px; }
.quantity-control > button:not(.remove-cart) { width: 22px; height: 22px; border: 1px solid #dfe2d9; border-radius: 50%; background: transparent; color: var(--green); cursor: pointer; }
.remove-cart { margin-left: 3px; padding: 0; border: 0; background: transparent; color: #a27a68; font-size: 8px; cursor: pointer; }
.retailer-links { display: flex; gap: 10px; margin-top: 8px; }
.retailer-links a { color: #869087; font-size: 8px; text-decoration: underline; text-decoration-color: #c5c9c0; text-underline-offset: 3px; }
.cart-summary { padding-top: 17px; border-top: 1px solid var(--line); }
.cart-summary > div { display: flex; justify-content: space-between; color: var(--green); font-size: 11px; }
.cart-summary > div strong { font-size: 13px; }
.cart-summary > p { margin: 10px 0 14px; color: #929890; font-size: 8px; line-height: 1.6; }
.cart-continue { width: 100%; }
.cart-browse { display: block; margin: 11px auto 0; font-size: 9px; }
.affiliate-small { display: block; margin-top: 10px; color: #a1a49c; text-align: center; font-size: 7px; }
.checkout-review-backdrop { z-index: 40; }
.checkout-review { width: min(700px, 100%); max-height: min(760px, calc(100vh - 44px)); overflow-y: auto; position: relative; padding: 37px 42px 31px; background: var(--paper); box-shadow: 0 20px 70px rgba(0,0,0,.24); animation: modal-in .22s ease-out; }
.checkout-review > .section-eyebrow { display: block; padding-right: 36px; }
.checkout-review > h2 { margin: 9px 0 6px; color: var(--green); font: 500 34px/1.08 var(--serif); letter-spacing: -.035em; }
.checkout-review-intro { max-width: 500px; margin: 0; color: #778179; font-size: 10px; line-height: 1.7; }
.checkout-review-list { margin-top: 17px; border-top: 1px solid var(--line); }
.checkout-review-item { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 17px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.checkout-review-item .cart-book { width: 56px; height: 83px; }
.checkout-review-copy { min-width: 0; }
.checkout-review-copy > .section-eyebrow { color: #90978c; font-size: 7px; }
.checkout-review-copy h3 { margin: 4px 0 2px; color: var(--green); font: 500 19px/1.2 var(--serif); }
.checkout-review-copy > p { margin: 0; color: #8b9389; font-size: 9px; }
.checkout-review-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 10px 0; color: #818980; font-size: 8px; }
.checkout-review-line strong { color: var(--green); font-size: 9px; }
.checkout-amazon-link { min-height: 33px; padding: 0 11px; font-size: 8px; }
.checkout-review-total { display: flex; justify-content: space-between; margin-top: 15px; color: var(--green); font-size: 10px; }
.checkout-review-total strong { font-size: 14px; }
.checkout-review-note { margin: 11px 0 16px; padding: 11px 12px; background: #eeefe8; color: #737e74; font-size: 8px; line-height: 1.65; }
.checkout-back-button { width: 100%; }
.empty-cart { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-bag { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 50%; background: #e9e9e0; color: var(--green); }
.empty-cart h3 { margin: 15px 0 4px; color: var(--green); font: 500 23px var(--serif); }
.empty-cart p { max-width: 235px; margin: 0 0 17px; color: #91978e; font-size: 9px; line-height: 1.6; }
.toast { position: fixed; z-index: 30; bottom: 22px; left: 50%; padding: 11px 17px; border-radius: 4px; color: #f8f5ec; background: var(--green); box-shadow: 0 6px 20px rgba(0,0,0,.15); font-size: 10px; opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: .22s; }
.toast.visible { opacity: 1; transform: translate(-50%, 0); }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-in { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }

@media (max-width: 1120px) {
  .site-header { padding: 0 4vw; grid-template-columns: 1fr auto 1fr; }
  .main-nav { gap: 7px; }
  .header-tools { gap: 10px; }
  .hero { padding: 0 4vw; grid-template-columns: minmax(355px, .95fr) minmax(360px, 1.05fr) 25px; }
  .hero-copy { padding-left: 1vw; }
  .hero-stack { transform: scale(.9); }
  .page-content { padding: 0 5.5vw; }
  .book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .announcement { padding: 0 4vw; }
  .announcement-right { display: none; }
  .financial-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-header { height: auto; min-height: 73px; padding: 0 4vw; grid-template-columns: auto 1fr auto; gap: 14px; }
  .brand-word { font-size: 18px; }
  .main-nav { justify-content: center; gap: 6px; }
  .nav-link { height: 33px; padding: 0 9px; font-size: 10px; }
  .header-tools { gap: 4px; }
  .search-box { width: 38px; justify-content: center; padding: 0; border-color: transparent; background: transparent; }
  .search-box input, .search-box kbd { display: none; }
  .search-box:focus-within, .search-box.expanded { width: 225px; position: absolute; right: 125px; background: var(--paper); border-color: #d7d9d0; padding: 0 10px; justify-content: flex-start; }
  .search-box:focus-within input, .search-box.expanded input { display: block; }
  .hero { min-height: 485px; grid-template-columns: minmax(280px, .92fr) minmax(275px, 1.08fr); padding: 0 4vw; }
  .hero-copy { padding: 45px 0 46px 1vw; }
  .hero h1 { font-size: clamp(42px, 6.7vw, 60px); }
  .hero-copy > p { max-width: 330px; font-size: 11px; }
  .hero-art { min-height: 485px; transform: scale(.88); transform-origin: center; }
  .hero-index { display: none; }
  .page-content { padding: 0 5vw; }
  .book-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 29px 14px; }
  .book-open { height: 200px; }
  .book-open .book-object { width: 115px; height: 169px; }
  .shelf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .collection-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .interior-page { padding: 39px 5vw 70px; }
}
@media (max-width: 760px) {
  .hero { min-height: auto; display: flex; flex-direction: column; padding: 0; }
  .hero-copy { width: 100%; padding: 38px 7vw 16px; }
  .hero-art { width: 100%; min-height: 360px; max-height: 360px; transform: none; }
  .hero-sun { width: min(350px, 58vw); top: -2px; right: 19%; }
  .hero-stack { transform: scale(.79); transform-origin: center top; margin-top: 1px; }
  .hero-caption { top: 27px; left: 10%; }
  .hero-seal { top: 43px; right: 12%; }
  .hero-floor { bottom: 22px; }
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-signoff { flex-wrap: wrap; }
  .blog-signoff .section-eyebrow { width: 100%; }
  .contact-card { align-items: flex-start; flex-wrap: wrap; }
  .catalog-shelf { margin: 30px 0 34px; padding: 21px 18px 8px; }
  .catalog-shelf-display .shelf-display { --shelf-board-height: 20px; --shelf-board-bottom: 21px; --shelf-book-bottom: 41px; height: 244px; }
  .catalog-shelf-display .shelf-book-row { left: 7%; right: 7%; gap: 8px; }
  .catalog-shelf-display .shelf-book-wrap { width: clamp(70px, 12vw, 92px); height: 145px; }
  .catalog-shelf-display .shelf-book-wrap:nth-child(3n + 2) { height: 160px; }
  .catalog-shelf-display .shelf-book-wrap:nth-child(3n) { height: 138px; }
}
@media (max-width: 590px) {
  .announcement { height: 29px; justify-content: center; font-size: 8px; }
  .site-header { min-height: 66px; grid-template-columns: auto 1fr auto; gap: 7px; padding: 0 4vw; }
  .brand { gap: 6px; }
  .brand-mark { width: 27px; height: 27px; border-radius: 9px 9px 9px 3px; font-size: 9px; }
  .brand-word { font-size: 15px; }
  .main-nav { gap: 5px; justify-content: end; padding-right: 4px; }
  .nav-link { height: 30px; padding: 0 6px; font-size: 8px; }
  .nav-link:nth-child(5) { display: none; }
  .header-tools { gap: 1px; }
  .header-tools .profile-button { display: none; }
  .icon-button { width: 32px; height: 32px; }
  .search-box { width: 31px; height: 34px; }
  .search-box:focus-within, .search-box.expanded { position: fixed; top: 42px; left: 4vw; right: 4vw; z-index: 8; width: auto; height: 40px; box-shadow: 0 5px 18px rgba(0,0,0,.1); }
  .hero { min-height: 0; display: flex; flex-direction: column; padding: 0; }
  .hero-copy { width: 100%; padding: 36px 8vw 20px; }
  .eyebrow { font-size: 8px; }
  .hero h1 { margin: 18px 0 10px; font-size: clamp(46px, 12vw, 60px); }
  .hero-copy > p { max-width: 350px; font-size: 11px; line-height: 1.72; }
  .hero-actions { gap: 17px; margin-top: 19px; }
  .hero-actions .button { min-height: 40px; padding: 0 13px; font-size: 9px; }
  .hero-proof { display: none; }
  .hero-art { width: 100%; min-height: 320px; max-height: 320px; overflow: hidden; transform: none; }
  .hero-sun { width: 275px; top: -18px; right: 13%; }
  .hero-stack { transform: scale(.72); transform-origin: 52% 0; margin-top: -11px; }
  .hero-caption { top: 20px; left: 9vw; }
  .hero-seal { width: 53px; height: 53px; top: 36px; right: 8%; font-size: 6px; }
  .hero-floor { bottom: 20px; }
  .catalog-shelf { margin: 25px 0 30px; padding: 17px 12px 6px; }
  .catalog-shelf-heading { align-items: start; gap: 8px; }
  .catalog-shelf-heading h2 { max-width: 230px; font-size: 22px; }
  .catalog-shelf-heading p { font-size: 8px; }
  .catalog-shelf-count { padding: 6px; font-size: 6px; }
  .catalog-shelf-display .shelf-display { --shelf-board-height: 17px; --shelf-board-bottom: 19px; --shelf-book-bottom: 35px; height: 205px; }
  .catalog-shelf-display .shelf-book-row { left: 7%; right: 7%; gap: 7px; }
  .catalog-shelf-display .shelf-book-wrap { width: clamp(60px, 17vw, 76px); height: 124px; }
  .catalog-shelf-display .shelf-book-wrap:nth-child(3n + 2) { height: 134px; }
  .catalog-shelf-display .shelf-book-wrap:nth-child(3n) { height: 118px; }
  .catalog-shelf-book:nth-child(n + 4) { display: none; }
  .catalog-shelf-display .shelf-book .book-cover { padding: 8px 6px 7px; }
  .catalog-shelf-display .shelf-book .cover-title { font-size: 8px; }
  .blog-intro { padding: 26px 0 30px; }
  .blog-intro h1 { font-size: 47px; }
  .blog-intro p { font-size: 10px; }
  .blog-list-heading { align-items: start; gap: 10px; }
  .blog-list-heading h2 { font-size: 25px; }
  .blog-list-heading > span { max-width: 120px; text-align: right; font-size: 8px; }
  .blog-grid { grid-template-columns: 1fr; gap: 15px; }
  .blog-card { display: grid; grid-template-columns: 37% 1fr; }
  .blog-cover-link { min-height: 100%; }
  .blog-book { width: 78px; height: 119px; }
  .blog-book .cover-title { font-size: 10px; }
  .blog-card-copy { padding: 14px 12px; }
  .blog-card h3 { min-height: 0; margin: 9px 0 6px; font-size: 16px; }
  .blog-card-copy > p { min-height: 0; font-size: 8px; }
  .blog-card-bottom { margin-top: 9px; padding-top: 8px; gap: 7px; }
  .blog-card-bottom > span { font-size: 8px; }
  .blog-read-link { font-size: 8px; }
  .blog-signoff { padding: 20px; gap: 12px; }
  .blog-signoff h2 { max-width: none; width: 100%; font-size: 20px; }
  .blog-signoff .button { min-height: 38px; padding: 0 12px; font-size: 8px; }
  .utility-intro { padding: 18px 0 25px; }
  .utility-intro h1 { font-size: 40px; }
  .faq-item summary { font-size: 15px; }
  .contact-card { gap: 12px; padding: 18px; }
  .contact-card > div { min-width: 0; }
  .support-widget { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
  .checkout-review-backdrop { padding: 10px; }
  .checkout-review { max-height: calc(100vh - 20px); padding: 29px 19px 19px; }
  .checkout-review > h2 { font-size: 29px; }
  .checkout-review-intro { font-size: 9px; }
  .checkout-review-item { grid-template-columns: 49px minmax(0, 1fr); gap: 11px; padding: 13px 0; }
  .checkout-review-item .cart-book { width: 46px; height: 69px; }
  .checkout-review-copy h3 { font-size: 16px; }
  .checkout-review-line { font-size: 7px; }
  .support-panel { width: min(350px, calc(100vw - 24px)); height: min(455px, calc(100dvh - 92px)); }
  .page-content { padding: 0 5vw; }
  .list-note { min-height: 74px; gap: 10px; margin: 23px 0 42px; padding: 12px; }
  .list-note-icon { flex-basis: 35px; width: 35px; height: 35px; }
  .list-note-icon svg { width: 17px; height: 17px; }
  .list-note-copy strong { font-size: 12px; }
  .list-kicker { font-size: 6px; }
  .list-date { font-size: 7px; }
  .list-note-link { max-width: 70px; gap: 3px; font-size: 7px; text-align: right; }
  .list-note-link svg { width: 12px; }
  .section-heading { align-items: start; flex-direction: column; gap: 8px; }
  .section-heading h2, .category-section h2 { font-size: 26px; }
  .section-side-note { margin: 0; font-size: 11px; }
  .category-section { margin-bottom: 50px; }
  .category-row { gap: 8px; }
  .category-card { min-height: 102px; padding: 15px 15px; }
  .category-card-mark { top: 12px; right: 11px; font-size: 16px; }
  .category-card-name { margin-top: 17px; font-size: 17px; }
  .category-card-helper { max-width: 135px; font-size: 7px; line-height: 1.5; }
  .catalog-section h2 { font-size: 27px; }
  .catalog-section .section-heading { gap: 9px; }
  .source-caption { margin: 0; font-size: 7px; }
  .catalog-toolbar { align-items: flex-end; flex-direction: column-reverse; gap: 4px; margin-bottom: 18px; padding-bottom: 6px; }
  .filter-tabs { align-self: stretch; height: 41px; gap: 17px; }
  .filter-tab { font-size: 9px; }
  .catalog-sort { width: 100%; justify-content: space-between; gap: 6px; font-size: 8px; }
  .catalog-sort select { font-size: 8px; }
  .book-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px 11px; }
  .book-open { height: clamp(159px, 52vw, 220px); }
  .book-open .book-object { width: clamp(97px, 34vw, 126px); height: clamp(143px, 50vw, 184px); }
  .book-card-copy { padding-top: 8px; }
  .book-eyebrow { margin-bottom: 5px; }
  .category-pill { font-size: 7px; }
  .rank-label { font-size: 6px; }
  .book-title-link { font-size: 13px; min-height: 35px; }
  .book-author { font-size: 8px; }
  .card-reactions { gap: 4px; }
  .reaction-chip { padding: 4px 6px; font-size: 7px; }
  .shelf-invite { grid-template-columns: 65px 1fr; gap: 13px; padding: 18px 15px; }
  .invite-art { width: 62px; transform: scale(.72); transform-origin: left center; }
  .shelf-invite h2 { font-size: 20px; }
  .shelf-invite p { font-size: 8px; line-height: 1.5; }
  .shelf-invite .button { grid-column: 2; width: fit-content; min-height: 37px; margin-top: 3px; font-size: 8px; }
  .affiliate-note { grid-template-columns: 25px minmax(0,1fr); align-items: start; gap: 10px; margin-bottom: 27px; padding: 14px 13px; }
  .affiliate-spark { width: 25px; height: 25px; font-size: 13px; }
  .affiliate-note p { font-size: 9px; line-height: 1.65; }
  .affiliate-note .text-button { grid-column: 2; justify-self: start; margin-top: 1px; font-size: 8px; white-space: normal; }
  #market-region .affiliate-note { margin: 10px 0 0; padding: 15px 5vw 18px; }
  .market-strip { padding: 23px 5vw 14px; }
  .market-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .market-heading h2 { font-size: 24px; }
  .market-session { align-self: stretch; margin: 0; }
  .market-widget-frame { min-height: 79px; margin: 13px 0 8px; }
  .market-widget-frame tv-ticker-tape { min-height: 77px; }
  .market-fallback { min-height: 77px; font-size: 8px; }
  .market-fallback-track { min-height: 57px; }
  .market-fallback-quote { min-width: 126px; padding: 8px 11px; }
  .market-fallback-name { font-size: 8px; }
  .market-fallback-quote strong { font-size: 9px; }
  .market-fallback-meta { min-height: 19px; padding: 2px 11px 4px; font-size: 6px; }
  .market-disclaimer { align-items: flex-start; flex-direction: column; gap: 5px; font-size: 7px; line-height: 1.45; }
  .financial-news { padding: 22px 5vw 19px; }
  .financial-news-grid { grid-template-columns: 1fr; gap: 9px; }
  .financial-news-card { padding: 13px 14px; }
  .financial-news-card h3 { margin: 10px 0 6px; font-size: 17px; }
  .financial-news-card p { margin-bottom: 10px; }
  .financial-news-heading { align-items: flex-start; flex-direction: column; gap: 9px; }
  .financial-news-heading h2 { font-size: 23px; }
  .financial-news-date { align-self: flex-start; }
  .site-footer { min-height: auto; flex-wrap: wrap; gap: 6px 14px; padding: 17px 5vw; }
  .footer-brand { font-size: 19px; }
  .site-footer > span:nth-child(2) { font-size: 8px; }
  .footer-links { width: 100%; order: 3; gap: 15px; margin-left: 0; padding: 7px 0 2px; border-top: 1px solid #dfdcd3; }
  .footer-copyright { margin-left: auto; font-size: 7px; }
  .interior-page { padding: 30px 5vw 55px; }
  .page-topline { font-size: 7px; }
  .interior-heading { flex-wrap: wrap; gap: 11px; margin: 23px 0 18px; }
  .profile-avatar { width: 41px; height: 41px; }
  .interior-heading > div:nth-child(2) { width: calc(100% - 55px); }
  .interior-heading h1, .shelf-detail-heading h1 { font-size: 34px; }
  .interior-heading p { font-size: 9px; }
  .interior-heading > .button { margin-left: 52px; min-height: 38px; font-size: 9px; }
  .shelf-stats { gap: 11px; margin: 22px 0 38px; padding: 13px 11px; }
  .shelf-stats > div { flex-direction: column; gap: 1px; }
  .shelf-stats strong { font-size: 19px; }
  .shelf-stats span { font-size: 7px; }
  .shelf-stats > i { height: 24px; }
  .shelf-heading { flex-direction: row; align-items: end; }
  .shelf-heading h2 { font-size: 25px; }
  .shelf-heading .text-button { font-size: 8px; }
  .shelf-grid { grid-template-columns: 1fr; gap: 10px; }
  .shelf-card { min-height: 230px; }
  .shelf-display, .shelf-empty { height: 124px; }
  .new-shelf-card { min-height: 125px; }
  .shelf-delete { opacity: 1; }
  .automatic-shelf { display: block; margin-top: 38px; padding: 22px 15px 10px; }
  .automatic-shelf h2 { font-size: 23px; }
  .automatic-shelf-copy p { font-size: 9px; }
  .automatic-shelf-art .shelf-display { height: 164px; --shelf-board-height: 11px; --shelf-board-bottom: 15px; --shelf-book-bottom: 26px; }
  .automatic-shelf-art .shelf-book-wrap { width: 44px; height: 92px; }
  .automatic-shelf-art .shelf-book-wrap:nth-child(3n + 2) { height: 98px; }
  .shelf-detail-heading { align-items: start; gap: 10px; margin: 24px 0 17px; }
  .shelf-detail-heading p { font-size: 9px; }
  .love-stamp, .like-stamp { padding: 7px 8px; font-size: 6px; white-space: nowrap; }
  .featured-shelf-visual .shelf-display { --shelf-board-height: 18px; --shelf-board-bottom: 20px; --shelf-book-bottom: 38px; height: 248px; }
  .featured-shelf-visual .shelf-backboard { left: 5%; right: 5%; top: 9px; }
  .featured-shelf-visual .shelf-book-row { left: 7%; right: 7%; gap: 10px; }
  .featured-shelf-visual .shelf-book-wrap { width: 88px; height: 150px; }
  .featured-shelf-visual .shelf-book-wrap:nth-child(3n + 2) { height: 158px; }
  .featured-shelf-visual .shelf-book-wrap:nth-child(3n) { height: 142px; }
  .featured-shelf-visual .shelf-book .cover-title { font-size: 7px; }
  .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .about-page > .section-eyebrow { margin-top: 38px; }
  .about-page h1 { font-size: 42px; }
  .about-lede { font-size: 11px; }
  .about-card { padding: 19px; }
  .book-modal { grid-template-columns: 1fr; gap: 19px; padding: 35px 20px 22px; max-width: 415px; }
  .modal-cover-wrap { min-height: 245px; padding: 17px 0 12px; }
  .modal-book { width: 125px; height: 183px; }
  .modal-book .book-cover { padding: 14px 11px 10px; }
  .modal-book .cover-series { font-size: 5px; }
  .modal-book .cover-title { font-size: 17px; }
  .modal-book .cover-author { font-size: 6px; }
  .modal-book .cover-publisher { font-size: 4px; }
  .modal-rank { margin-top: 10px; font-size: 6px; }
  .modal-copy h2 { font-size: 27px; }
  .modal-note { margin-top: 14px; font-size: 15px; }
  .modal-description { font-size: 10px; }
  .cart-drawer { padding: 22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

.book-cover.cover-with-image { right: 2px; transform: none; box-shadow: none; }
.book-cover-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; image-rendering: auto; }
.cover-fallback { position: absolute; inset: 0; display: none; flex-direction: column; align-items: flex-start; padding: inherit; color: var(--ink); background: var(--paper); }
.book-cover.cover-image-failed .book-cover-image { display: none; }
.book-cover.cover-image-failed .cover-fallback { display: flex; }

.newsletter-backdrop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 20px; background: rgba(31,42,36,.58); backdrop-filter: blur(4px); animation: fade-in .18s ease-out; }
.newsletter-dialog { width: min(790px, 100%); max-height: min(90vh, 680px); overflow: auto; position: relative; display: grid; grid-template-columns: minmax(250px,.9fr) minmax(0,1.1fr); background: var(--paper); box-shadow: 0 24px 80px rgba(22,34,27,.32); animation: modal-in .22s ease-out; }
.newsletter-close { position: absolute; z-index: 3; top: 13px; right: 13px; width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,254,250,.84); color: var(--green); cursor: pointer; }
.newsletter-close:hover { background: var(--white); }
.newsletter-art { min-height: 420px; position: relative; overflow: hidden; background: linear-gradient(145deg,#e4c583 0%,#df936f 49%,#657f70 100%); }
.newsletter-art-glow { position: absolute; top: -46px; left: -52px; width: 320px; aspect-ratio: 1; border-radius: 50%; background: rgba(255,247,221,.26); }
.newsletter-bookcase { position: absolute; left: 29px; right: 29px; bottom: 59px; height: 236px; display: flex; align-items: flex-end; gap: 7px; padding: 17px 12px 13px; border: 7px solid rgba(66,77,61,.35); border-bottom: 0; background: linear-gradient(to bottom,transparent 49%,rgba(66,77,61,.3) 50%,rgba(66,77,61,.3) 52%,transparent 53%); }
.newsletter-book { width: 32px; flex: 1 1 0; max-width: 48px; min-width: 21px; position: relative; border-radius: 3px 3px 0 0; box-shadow: inset 4px 0 rgba(255,255,255,.18), inset -3px 0 rgba(25,35,28,.12), 2px 0 rgba(250,242,223,.78); }
.newsletter-book::after { content: ''; position: absolute; left: 21%; right: 17%; top: 13%; height: 2px; background: rgba(255,249,230,.55); box-shadow: 0 5px rgba(255,249,230,.35); }
.newsletter-book:nth-child(1) { height: 72%; transform: rotate(-3deg); }
.newsletter-book:nth-child(2) { height: 88%; }
.newsletter-book:nth-child(3) { height: 77%; transform: rotate(2deg); }
.newsletter-book:nth-child(4) { height: 95%; }
.newsletter-book:nth-child(5) { height: 82%; transform: rotate(-2deg); }
.newsletter-book:nth-child(6) { height: 73%; }
.book-coral { background: #cd7158; }
.book-cream { background: #efe5c7; }
.book-green { background: #28483e; }
.book-blue { background: #41586a; }
.book-gold { background: #d6ad5f; }
.book-sage { background: #889880; }
.newsletter-shelf { position: absolute; left: -13px; right: -13px; bottom: 0; height: 14px; background: linear-gradient(180deg,#bd885c,#8e613f); box-shadow: 0 8px 13px rgba(33,40,30,.2); }
.newsletter-art-star { position: absolute; z-index: 1; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: rgba(255,250,235,.9); box-shadow: 0 7px 18px rgba(54,54,34,.13); }
.star-one { top: 68px; right: 33px; width: 66px; height: 66px; font: 500 11px/1.4 var(--sans); text-align: center; }
.star-one::after { content: 'READ · GROW'; position: absolute; top: 24px; font-size: 7px; letter-spacing: .09em; }
.star-two { top: 48px; left: 34px; width: 31px; height: 31px; color: var(--orange); font-size: 18px; }
.newsletter-art-note { position: absolute; left: 50%; bottom: 96px; z-index: 2; transform: translateX(-50%) rotate(-4deg); padding: 10px 13px; color: #f8f3df; background: var(--green); box-shadow: 0 6px 14px rgba(33,40,30,.2); text-align: center; font-size: 8px; font-weight: 700; line-height: 1.5; letter-spacing: .14em; }
.newsletter-art-caption { position: absolute; bottom: 24px; left: 0; right: 0; color: rgba(255,250,236,.85); text-align: center; font-size: 8px; font-weight: 600; letter-spacing: .18em; }
.newsletter-copy { align-self: center; padding: 53px 46px 40px; }
.newsletter-copy .section-eyebrow { margin-bottom: 17px; }
.newsletter-copy h2 { margin: 0; color: var(--green); font: 500 35px/1.08 var(--serif); letter-spacing: -.045em; }
.newsletter-copy h2 em { color: var(--orange); font-weight: 500; }
.newsletter-copy > p, .newsletter-lede { margin: 15px 0 23px; color: #69766c; font-size: 12px; line-height: 1.75; }
.newsletter-form label { display: block; margin-bottom: 7px; color: var(--green); font-size: 10px; font-weight: 600; }
.newsletter-input-wrap { display: grid; gap: 10px; }
.newsletter-input-wrap input { width: 100%; min-height: 46px; padding: 0 13px; border: 1px solid #d8d8cc; border-radius: 3px; outline-color: var(--green-mid); background: var(--white); color: var(--ink); font-size: 12px; }
.newsletter-input-wrap input::placeholder { color: #92988f; }
.newsletter-input-wrap .button { width: 100%; min-height: 46px; font-size: 11px; }
.newsletter-privacy { margin: 12px 0 0; color: #7c867c; font-size: 9px; line-height: 1.5; }
.newsletter-later { margin-top: 19px; padding: 7px 0; border: 0; background: transparent; color: #6e7b71; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.newsletter-success { padding-top: 21px; }
.newsletter-success-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #e6eadf; color: var(--orange); font-size: 18px; }
.newsletter-success h3 { margin: 16px 0 6px; color: var(--green); font: 500 24px/1.2 var(--serif); }
.newsletter-success p { margin: 0 0 20px; color: #69766c; font-size: 11px; line-height: 1.7; }

@media (max-width: 700px) {
  .newsletter-backdrop { padding: 12px; }
  .newsletter-dialog { width: min(440px, 100%); max-height: calc(100dvh - 24px); grid-template-columns: 1fr; }
  .newsletter-art { min-height: 154px; }
  .newsletter-art-glow { top: -104px; left: -10px; width: 270px; }
  .newsletter-bookcase { left: 17%; right: 17%; bottom: 20px; height: 105px; padding: 7px 8px 7px; border-width: 5px; }
  .newsletter-shelf { left: -10px; right: -10px; height: 9px; }
  .newsletter-book { min-width: 14px; }
  .newsletter-book:nth-child(1) { height: 72%; }
  .newsletter-book:nth-child(2) { height: 88%; }
  .newsletter-book:nth-child(3) { height: 77%; }
  .newsletter-book:nth-child(4) { height: 95%; }
  .newsletter-book:nth-child(5) { height: 82%; }
  .newsletter-book:nth-child(6) { height: 73%; }
  .newsletter-art-note { left: 50%; bottom: 34px; padding: 7px 9px; font-size: 7px; }
  .newsletter-art-caption { bottom: 6px; font-size: 7px; }
  .star-one { top: 25px; right: 14%; width: 46px; height: 46px; }
  .star-one::after { top: 18px; font-size: 6px; }
  .star-two { top: 19px; left: 14%; width: 26px; height: 26px; }
  .newsletter-copy { padding: 27px 24px 24px; }
  .newsletter-copy .section-eyebrow { margin-bottom: 11px; font-size: 8px; }
  .newsletter-copy h2 { font-size: 29px; }
  .newsletter-copy > p, .newsletter-lede { margin: 10px 0 16px; font-size: 11px; }
  .newsletter-later { margin-top: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .newsletter-backdrop, .newsletter-dialog { animation: none; }
}

.modal-cover-trigger { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 0; border: 0; background: transparent; color: var(--green); cursor: pointer; }
.modal-cover-trigger:hover .modal-book { transform: translateY(-3px); }
.modal-cover-hint { color: #68776d; font-size: 9px; letter-spacing: .06em; text-decoration: underline; text-underline-offset: 3px; }
.retailer-links { margin: 14px 0 2px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.retailer-links-label { flex: 0 0 auto; color: #879087; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.retailer-links > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.retailer-links a { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 0 8px; border: 1px solid #deded4; border-radius: 2px; color: var(--green); background: #f9f8f3; font-size: 9px; white-space: nowrap; }
.retailer-links a:hover { border-color: #aebcae; background: #eef0e8; }
.checkout-retailer-links { display: block; margin: 9px 0 0; }
.checkout-retailer-links .retailer-links-label { display: block; margin-bottom: 6px; }
.checkout-retailer-links > div { justify-content: flex-start; }

@media (max-width: 700px) {
  .modal-cover-trigger { gap: 7px; }
  .modal-cover-hint { font-size: 8px; }
  .retailer-links { align-items: flex-start; flex-direction: column; }
  .retailer-links > div { justify-content: flex-start; }
}

.hero-book.book-object { filter: none; }

@media (max-width: 700px) {
  .book-page-layout { grid-template-columns: 1fr; gap: 24px; }
  .book-page-cover { min-height: 360px; }
  .book-page-book { width: min(54%,205px); }
  .book-page-copy h1 { font-size: 37px; }
  .book-page-description p { font-size: 10px; }
  .book-page-meta { flex-wrap: wrap; gap: 7px 14px; }
  .hero-book-link:nth-child(1) { left: 31px; top: 95px; width: 172px; height: 264px; }
  .hero-book-link:nth-child(2) { left: 148px; top: 52px; width: 190px; height: 286px; }
  .hero-book-link:nth-child(3) { left: 272px; top: 120px; width: 172px; height: 264px; }
}

.share-book-button { margin-top: 8px; }
.share-book-button svg { flex: 0 0 auto; }


.book-page-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.book-page-actions .reaction-buttons { flex-wrap: wrap; }


/* Illustrated NYT list banner */
.list-note { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #c8cbb8; background: radial-gradient(ellipse at 84% 130%, rgba(224,164,122,.48) 0 20%, transparent 20.5%), radial-gradient(ellipse at 89% -20%, rgba(208,190,139,.52) 0 31%, transparent 31.5%), linear-gradient(112deg, #e2e8dc 0%, #eef0e6 53%, #e9e4d3 100%); }
.list-note::before { position: absolute; z-index: -1; inset: 0 0 0 52%; content: ""; opacity: .48; background: repeating-linear-gradient(90deg, transparent 0 34px, rgba(53,78,64,.16) 35px 37px, transparent 38px 56px); clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); }
.list-note::after { position: absolute; z-index: -1; right: 11%; bottom: -18px; width: 150px; height: 30px; border: 1px solid rgba(59,78,63,.25); border-radius: 50%; content: ""; }
.list-note-icon { color: #a76d3d; background: rgba(255,255,255,.58); box-shadow: 0 2px 12px rgba(65,67,48,.08); }
.list-note-link { padding: 8px 10px; border: 1px solid rgba(56,78,62,.2); background: rgba(250,249,243,.72); }
.list-note-link:hover { background: #fffaf2; }

.market-session.open { color: #fff; border-color: #316746; background: #316746; }
.market-session.open .market-session-label, .market-session.closed .market-session-label { color: #fff; }
.market-session.open .market-session-detail, .market-session.closed .market-session-detail { color: rgba(255,255,255,.76); }
.market-session.open .market-status-dot { background: #a9d9a9; box-shadow: 0 0 0 4px rgba(196,239,196,.18); }
.market-session.closed { color: #fff; border-color: #151815; background: #151815; }
.market-session.closed .market-status-dot { background: #e2a178; box-shadow: 0 0 0 4px rgba(226,161,120,.17); }

.announcement { height: 52px; }
.announcement-title { color: #fffaf0; font: 600 20px/1 var(--serif); letter-spacing: .015em; }
.announcement-right { font-size: 9px; }
@media (max-width: 590px) {
  .announcement { height: 40px; justify-content: center; }
  .announcement-title { font-size: 16px; }
  .announcement-right { display: none; }
}

/* Daily editorial promotion — a real catalog spotlight, not a retailer discount. */
.daily-promotion { margin: 0 0 34px; padding: clamp(23px,3vw,38px); overflow: hidden; position: relative; border: 1px solid rgba(226,185,106,.72); border-radius: 34px; background: radial-gradient(circle at 92% 4%,rgba(245,208,136,.3),transparent 27%),linear-gradient(135deg,#203d32 0%,#2f5846 58%,#3f6a54 100%); color: #fff9e9; box-shadow: 0 18px 42px rgba(29,55,44,.12); }
.daily-promotion::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .2; background-image: radial-gradient(#f4ce84 1px,transparent 1px); background-size: 21px 21px; mask-image: linear-gradient(90deg,transparent 42%,#000); }
.daily-promotion-intro,.promotion-picks,.promotion-note { position: relative; z-index: 1; }
.daily-promotion-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.promotion-date { display: inline-flex; align-items: center; gap: 8px; color: #f1ca80; font-size: 8px; font-weight: 800; letter-spacing: .18em; }
.promotion-date::before { content: ''; width: 23px; height: 1px; background: currentColor; }
.daily-promotion h2 { max-width: 640px; margin: 11px 0 8px; color: #fffaf0; font: 500 clamp(29px,3.2vw,48px)/1.02 var(--serif); letter-spacing: -.035em; }
.daily-promotion-intro p { max-width: 570px; margin: 0; color: rgba(255,250,240,.72); font-size: 11px; line-height: 1.65; }
.promotion-browse { flex: 0 0 auto; border-color: #f0c97e; color: #203d32; background: #f0c97e; }
.promotion-browse:hover { border-color: #fff4d6; background: #fff4d6; }
.promotion-picks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
.promotion-pick { min-width: 0; display: grid; grid-template-columns: 27px 72px minmax(0,1fr); align-items: center; gap: 12px; padding: 13px; border: 1px solid rgba(255,250,240,.15); border-radius: 18px; background: rgba(255,255,255,.075); backdrop-filter: blur(6px); }
.promotion-step { align-self: start; padding-top: 4px; color: rgba(241,202,128,.8); font: 600 8px var(--sans); letter-spacing: .1em; }
.promotion-cover { width: 72px; height: 105px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.promotion-cover .book-object { width: 100%; height: 100%; transition: transform .2s ease; }
.promotion-cover:hover .book-object,.promotion-cover:focus-visible .book-object { transform: translateY(-4px) rotate(-1deg); }
.promotion-cover .book-cover { box-shadow: 7px 8px 12px rgba(0,0,0,.22); }
.promotion-copy { min-width: 0; }
.promotion-copy > span { color: #f1ca80; font-size: 7px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.promotion-copy h3 { margin: 6px 0 3px; color: #fffaf0; font: 500 17px/1.08 var(--serif); }
.promotion-copy p { margin: 0 0 10px; color: rgba(255,250,240,.62); font-size: 8px; line-height: 1.4; }
.promotion-link { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; color: #fffaf0; background: transparent; font: 700 8px var(--sans); cursor: pointer; }
.promotion-link:hover { color: #f1ca80; }
.promotion-note { margin: 14px 0 0; color: rgba(255,250,240,.47); font-size: 7px; line-height: 1.45; }
@media(max-width:900px) { .promotion-picks { grid-template-columns: 1fr; } .promotion-pick { grid-template-columns: 28px 68px minmax(0,1fr); } .promotion-cover { width: 68px; height: 99px; } }
@media(max-width:590px) { .daily-promotion { margin-bottom: 24px; padding: 24px 18px 19px; border-radius: 25px; } .daily-promotion-intro { display: block; } .promotion-browse { width: 100%; margin-top: 18px; } .promotion-picks { margin-top: 18px; } .promotion-pick { grid-template-columns: 22px 62px minmax(0,1fr); gap: 9px; padding: 11px; border-radius: 14px; } .promotion-cover { width: 62px; height: 91px; } .promotion-copy h3 { font-size: 15px; } }

.contact-form-card { max-width: 920px; margin-top: 23px; padding: 27px 30px; border: 1px solid #d9ddd2; background: #fbfaf6; }
.contact-form-heading h2 { margin: 6px 0 4px; color: var(--green); font: 500 25px var(--serif); }
.contact-form-heading p { margin: 0; color: #7d887f; font-size: 10px; }
.contact-form { display: grid; gap: 14px; max-width: 640px; margin-top: 20px; }
.contact-form label { display: grid; gap: 6px; color: #56665b; font-size: 10px; font-weight: 600; }
.contact-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-form input, .contact-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #d9ddd2; border-radius: 2px; outline: 0; color: var(--ink); background: #fffefa; font-size: 11px; font-weight: 400; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--green-mid); box-shadow: 0 0 0 2px rgba(82,106,89,.12); }
.contact-form textarea { min-height: 118px; resize: vertical; line-height: 1.6; }
.contact-form > .button { justify-self: start; }
.contact-form-status { margin: 0; color: #758177; font-size: 10px; line-height: 1.6; }
@media (max-width: 590px) { .contact-form-card { padding: 20px 16px; } .contact-name-fields { gap: 10px; } }

.market-clock { min-width: 230px; margin: 0 auto 2px; text-align: center; }
.market-clock-time { display: block; color: var(--green); font: 500 clamp(24px, 2.8vw, 38px)/1 var(--sans); font-variant-numeric: tabular-nums; letter-spacing: .045em; }
.market-clock-date { display: block; margin-top: 6px; color: #7f897d; font: 500 9px var(--sans); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 820px) { .market-clock { align-self: center; margin: 2px 0 4px; } }
@media (max-width: 590px) { .market-clock { min-width: 0; margin: 4px 0 7px; } .market-clock-time { font-size: 30px; } .market-clock-date { font-size: 8px; } }

.inspiration-book-feature { position: relative; display: grid; grid-template-columns: minmax(230px,.72fr) minmax(0,1.28fr); align-items: center; gap: 16px; overflow: hidden; margin: 0 0 38px; padding: 26px 22px 23px 30px; border: 1px solid #d5d9cc; background: radial-gradient(ellipse at 78% 17%, rgba(224,190,124,.24), transparent 44%), linear-gradient(115deg,#e9ece4,#f5f1e7 62%,#e6e7dc); }
.inspiration-book-feature::before { position: absolute; inset: auto -5% -35px 47%; height: 75px; border: 1px solid rgba(82,106,89,.17); border-radius: 50%; content: ""; box-shadow: 0 -12px 0 -11px rgba(82,106,89,.2),0 -25px 0 -24px rgba(82,106,89,.16); pointer-events: none; }
.inspiration-book-copy { position: relative; z-index: 2; }
.inspiration-book-copy h2 { margin: 8px 0 7px; color: var(--green); font: 500 clamp(25px,3vw,38px)/1.1 var(--serif); letter-spacing: -.035em; }
.inspiration-book-copy > p { max-width: 280px; margin: 0; color: #728077; font-size: 10px; line-height: 1.7; }
.inspiration-interaction-hint { display: block; margin-top: 11px; color: #8d7760; font-size: 8px; }
.quote-source-links { margin-top: 18px; color: #899087; font-size: 7px; line-height: 1.7; }
.quote-source-links a { text-decoration: underline; text-underline-offset: 2px; }
.quote-source-links a:hover { color: var(--orange); }
.quote-book-scene { --book-tilt-x: 0deg; --book-tilt-y: 0deg; position: relative; z-index: 1; margin: 0; perspective: 1100px; transform-style: preserve-3d; cursor: default; }
.quote-book-art { position: relative; width: 100%; transform-style: preserve-3d; transform: rotateX(var(--book-tilt-x)) rotateY(var(--book-tilt-y)); transition: transform .24s ease-out; }
.quote-book-art img { display: block; width: 100%; height: auto; filter: drop-shadow(0 17px 15px rgba(39,47,37,.18)); user-select: none; pointer-events: none; }
.quote-page { position: absolute; top: 16%; bottom: 34%; display: grid; grid-template-rows: repeat(5,minmax(0,1fr)); align-items: center; color: rgba(43,60,49,.76); pointer-events: none; }
.quote-page-left { left: 11%; width: 37%; padding: 2% 4% 1% 2%; transform: rotate(-2deg); }
.quote-page-right { left: 52%; width: 37%; padding: 2% 2% 1% 4%; transform: rotate(2deg); }
.quote-page p { display: flex; flex-direction: column; justify-content: center; gap: 1px; margin: 0; overflow: hidden; font: italic 500 clamp(5px,.68vw,9px)/1.18 var(--serif); text-align: center; }
.quote-page small { display: block; color: rgba(68,83,68,.56); font: 500 clamp(4px,.48vw,6px)/1.1 var(--sans); letter-spacing: .025em; }
@media(max-width:760px) { .inspiration-book-feature { grid-template-columns: 1fr; gap: 2px; margin-bottom: 29px; padding: 20px 18px 14px; } .inspiration-book-copy > p { max-width: 380px; } .quote-source-links { margin-top: 10px; } .quote-book-scene { width: min(100%,580px); justify-self: center; } .quote-page { top: 16%; bottom: 34%; } .quote-page p { font-size: clamp(5px,1.55vw,8px); } .quote-page small { font-size: clamp(4px,1.15vw,6px); } }

.market-clock { position: relative; isolation: isolate; min-width: 250px; padding: 12px 21px 10px; border: 2px solid #d5b66e; border-radius: 7px; background: repeating-linear-gradient(4deg,rgba(255,255,255,.025) 0 2px,rgba(25,13,5,.08) 3px 4px),linear-gradient(128deg,#50331e 0%,#9a7040 24%,#694326 51%,#a57a47 74%,#50321d 100%); box-shadow: 0 5px 11px rgba(46,34,19,.22),inset 0 1px rgba(255,244,207,.45),inset 0 -2px rgba(32,20,11,.42); }
.market-clock::before { position: absolute; z-index: 0; inset: 5px; border: 1px solid #c8a75e; border-radius: 3px; background: linear-gradient(135deg,#f5eedc,#ece2c8 60%,#f6efdf); box-shadow: inset 0 1px 4px rgba(89,68,34,.12); content: ""; }
.market-clock-time { position: relative; z-index: 1; color: #263c32; text-shadow: 0 1px rgba(255,255,255,.65); }
.market-clock-date { position: relative; z-index: 1; color: #7a6747; }
@media(max-width:590px) { .market-clock { min-width: min(250px,82vw); padding: 11px 18px 9px; } }

.brand-book { display: block; width: 39px; height: 29px; margin-left: 2px; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(42,48,37,.13)); transition: transform .2s ease; }
.brand:hover .brand-book { transform: translateY(-2px) rotate(-3deg); }
@media(max-width:590px) { .brand-book { width: 31px; height: 24px; margin-left: 0; } }

.inspiration-book-feature { gap: 10px; margin-bottom: 30px; padding: 17px 20px 15px 25px; }
.inspiration-book-copy h2 { margin: 6px 0; }
.inspiration-book-copy > p { font-size: 11px; line-height: 1.55; }
.inspiration-interaction-hint { margin-top: 8px; font-size: 9px; }
.quote-source-links { margin-top: 12px; font-size: 8px; line-height: 1.7; }
.quote-book-scene { width: 100%; max-width: 480px; justify-self: end; }
.quote-book-art { width: 100%; aspect-ratio: 3 / 2; }
.quote-book-art img { width: 100%; height: 100%; object-fit: contain; }
.quote-page { top: 17%; bottom: 34%; }
.quote-page p { gap: 2px; overflow: visible; color: rgba(37,53,42,.92); font-size: clamp(9px,.78vw,12px); line-height: 1.17; }
.quote-page small { color: rgba(58,72,57,.82); font-size: clamp(7px,.55vw,8px); line-height: 1.15; }
@media(max-width:760px) {
  .inspiration-book-feature { gap: 0; margin-bottom: 26px; padding: 17px 16px 12px; }
  .quote-book-scene { max-width: 500px; }
  .quote-page p { font-size: clamp(8px,2.2vw,10px); }
  .quote-page small { font-size: clamp(6px,1.7vw,7px); }
}

.quote-book-scene { display: block; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: default; }

.quote-book-zoom { width: min(1120px,94vw); max-height: 94vh; overflow: auto; padding: clamp(16px,3vw,34px); border: 1px solid #d6bd80; background: #f8f5ed; box-shadow: 0 25px 90px rgba(0,0,0,.32); }
.quote-zoom-backdrop { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(25,35,29,.76); backdrop-filter: blur(8px); animation: fade-in .18s ease-out; }
.quote-book-zoom-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.quote-book-zoom-heading h2 { margin: 5px 0 0; color: var(--green); font: 500 clamp(22px,3vw,34px)/1.1 var(--serif); }
.quote-book-zoom-close { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 auto; border: 1px solid #ddd7c8; border-radius: 50%; color: var(--green); background: #eeece5; cursor: pointer; }
.quote-book-zoom-close:hover { color: #fff; background: var(--green); }
.quote-book-zoom-hint { margin: 6px 0 0; color: #778379; font-size: 10px; }
.quote-book-zoom-art { width: 100%; display: grid; place-items: center; }
.quote-book-art-zoom { width: min(100%,1050px); height: min(62vh,680px); max-width: 1050px; aspect-ratio: 3 / 2; margin: 0 auto; transform: none !important; }
.quote-book-art-zoom img { width: 100%; height: 100%; object-fit: contain; }
.quote-book-art-zoom .quote-page { top: 17%; bottom: 34%; }
.quote-book-art-zoom .quote-page p { gap: 4px; color: rgba(37,53,42,.98); font-size: clamp(10px,1.15vw,17px); line-height: 1.2; }
.quote-book-art-zoom .quote-page small { color: rgba(58,72,57,.9); font-size: clamp(8px,.75vw,11px); }
@media(max-width:590px) { .quote-zoom-backdrop { padding: 10px; } .quote-book-zoom { width: 100%; max-height: 95vh; padding: 14px 12px; } .quote-book-art-zoom { width: 100%; height: auto; aspect-ratio: 3 / 2; } .quote-book-art-zoom .quote-page p { gap: 2px; font-size: clamp(7px,2.1vw,9px); } .quote-book-art-zoom .quote-page small { font-size: clamp(5px,1.5vw,7px); } }

.quote-book-art { display: block; }


.category-card[data-category="Personal growth"] .category-card-name { color: #203b32; }
.category-card[data-category="Personal growth"] .category-card-helper { color: #4e5540; }
.category-card[data-category="Personal growth"] .category-card-mark { color: #a65538; }

/* Keep the quote zoom on Folio's paper surface and align copy to the printed pages. */
.quote-book-zoom { border-color: var(--line); background: var(--paper); }
.quote-book-zoom-art { background: transparent; }
.quote-book-art-zoom .quote-page-left { left: 14%; width: 36%; padding: 2% 7% 1% 3%; transform: none; }
.quote-book-art-zoom .quote-page-right { left: 51%; width: 31%; padding: 2% 4% 1% 6%; transform: none; }
.quote-book-art-zoom .quote-page p { width: 100%; box-sizing: border-box; padding-inline: 5%; text-align: center; }
.quote-page-left { left: 14%; width: 36%; padding: 2% 7% 1% 3%; transform: none; }
.quote-page-right { left: 51%; width: 31%; padding: 2% 4% 1% 6%; transform: none; }
.quote-page p { align-items: center; width: 100%; box-sizing: border-box; padding-inline: 5%; text-align: center; }
.inspiration-reader { position: absolute; z-index: 0; left: 29%; bottom: 4px; width: 275px; pointer-events: none; opacity: .98; }
.inspiration-reader img { display: block; width: 100%; height: auto; filter: drop-shadow(0 10px 10px rgba(39,47,37,.12)); }
@media(max-width:760px) { .inspiration-reader { position: relative; left: auto; bottom: auto; width: min(270px,88%); justify-self: center; margin: -2px 0 -18px; } }.category-card { isolation: isolate; overflow: hidden; }
.category-backdrop { position: absolute; z-index: 0; top: 50%; right: 68px; width: min(160px,30%); transform: translateY(-50%); opacity: .36; pointer-events: none; }
.category-backdrop svg { display: block; width: 100%; height: auto; }
.category-card-mark, .category-card-name, .category-card-helper, .category-card-arrow { z-index: 1; }
.category-card[data-category="Business"] .category-backdrop { opacity: .34; }
.category-card[data-category="Personal growth"] .category-backdrop { opacity: .4; }
@media(max-width:590px) { .category-backdrop { right: 54px; width: min(122px,32%); } }.reading-mantra { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: -8px 0 34px; }
.mantra-card { position: relative; isolation: isolate; display: flex; min-height: 112px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 15px 19px 14px; border: 1px solid; box-shadow: inset 0 0 0 3px rgba(255,255,255,.12); }
.mantra-kicker { position: relative; z-index: 1; font-size: 8px; font-weight: 600; letter-spacing: .15em; opacity: .78; }
.mantra-word { position: relative; z-index: 1; font: 600 clamp(25px,3vw,37px)/1 var(--serif); letter-spacing: .04em; }
.mantra-art { position: absolute; z-index: 0; right: 12px; bottom: 8px; width: 84px; height: 68px; opacity: .32; }
.mantra-read { border-color: #263c32; color: #f7f5f0; background: linear-gradient(125deg,#263c32,#405d4d); }
.mantra-grow { border-color: #c79a3e; color: #263c32; background: radial-gradient(circle at 84% 20%,rgba(255,250,218,.7),transparent 45%),#e6c267; }
.mantra-grow .mantra-art { color: #627552; opacity: .58; }
.mantra-execute { border-color: #b55c3c; color: #fff9ed; background: linear-gradient(125deg,#c36547,#df8961); }
@media(max-width:760px) { .reading-mantra { gap: 8px; margin: -2px 0 27px; } .mantra-card { min-height: 96px; padding: 12px; } .mantra-word { font-size: clamp(21px,4vw,29px); } .mantra-art { right: 4px; width: 58px; height: 50px; } }
@media(max-width:500px) { .reading-mantra { grid-template-columns: 1fr; gap: 9px; } .mantra-card { min-height: 84px; } .mantra-word { font-size: 28px; } }

/* Journal authors, story pages, and footer signup */
.blog-headline-link { color: inherit; text-decoration: none; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: 4px; transition: color .15s, text-decoration-color .15s; }
.blog-headline-link:hover, .blog-headline-link:focus-visible { color: var(--orange); text-decoration-color: currentColor; }
.add-mini { min-height: 33px; padding: 0 11px; font-size: 9px; font-weight: 700; box-shadow: 0 2px 6px rgba(38,60,50,.14); }
.blog-byline { display: flex; align-items: center; gap: 8px; margin-top: 15px; padding-top: 11px; border-top: 1px solid var(--line); }
.blog-byline img { width: 28px; height: 28px; flex: 0 0 auto; border: 1px solid #d7d5c9; border-radius: 50%; object-fit: cover; }
.blog-byline > span { display: grid; gap: 3px; }
.blog-byline strong { color: var(--green); font-size: 8px; font-weight: 600; }
.blog-byline small { color: #8c958b; font-size: 7px; }
.blog-article-page { max-width: 1240px; }
.blog-article-header { max-width: 900px; padding: 35px 0 30px; }
.blog-article-header h1 { max-width: 850px; margin: 12px 0 20px; color: var(--green); font: 500 clamp(38px,5.2vw,66px)/1.07 var(--serif); letter-spacing: -.045em; }
.blog-article-header .blog-byline { width: fit-content; margin-top: 0; padding-top: 0; border-top: 0; gap: 11px; }
.blog-article-header .blog-byline img { width: 44px; height: 44px; }
.blog-article-header .blog-byline strong { font-size: 10px; }
.blog-article-header .blog-byline small { font-size: 8px; }
.blog-article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(250px,320px); align-items: start; justify-content: space-between; gap: 50px; }
.blog-article-body { color: #58675d; font-size: 13px; line-height: 1.9; }
.blog-article-body > p { margin: 0 0 20px; }
.blog-article-body .blog-article-lede { color: #44594e; font: 500 19px/1.65 var(--serif); }
.blog-takeaways { margin: 30px 0; padding: 22px 24px; border: 1px solid #d8dbd0; background: #e9ebe3; }
.blog-takeaways ul { display: grid; gap: 11px; margin: 13px 0 0; padding-left: 19px; }
.blog-takeaways li::marker { color: var(--orange); }
.blog-article-body .blog-article-signoff { margin-top: 28px; color: #a17d5c; font: italic 16px/1.6 var(--serif); }
.blog-purchase-card { position: sticky; top: 25px; padding: 20px; border: 1px solid #deddd3; background: #eeeee7; }
.blog-purchase-cover { width: 100%; height: 220px; display: grid; place-items: center; overflow: hidden; border: 0; background: #e4e7dd; cursor: pointer; }
.blog-purchase-book { width: 115px; height: 174px; filter: drop-shadow(8px 11px 12px rgba(38,48,39,.2)); }
.blog-purchase-card h2 { margin: 16px 0 4px; color: var(--green); font: 500 22px/1.2 var(--serif); }
.blog-purchase-author, .blog-purchase-note { margin: 0 0 11px; color: #818b81; font-size: 9px; line-height: 1.6; }
.blog-purchase-price { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 15px 0; padding: 13px 0; border-top: 1px solid #d5d8ce; border-bottom: 1px solid #d5d8ce; }
.blog-purchase-price strong { color: var(--green); font: 500 18px var(--serif); }
.blog-purchase-card > small { display: block; margin-top: 12px; color: #92988e; font-size: 7px; line-height: 1.5; }
.footer-signup { display: flex; align-items: flex-end; justify-content: center; gap: 30px; padding: 20px 7.8vw; border: 1px solid #687731; color: #f2f8f5; background: #30485f; }
.signup-brand { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; color: #f2f8f5; font: 600 28px/1 var(--serif); letter-spacing: -.055em; white-space: nowrap; }
.signup-brand img { width: 38px; height: 38px; }
.signup-brand-dot { color: #ffe95c; }
.footer-signup > div { max-width: 390px; }
.footer-signup .section-eyebrow { color: #c5d1cc; }
.footer-signup h2 { margin: 6px 0 4px; color: #ffe95c; font: 500 24px/1.2 var(--serif); }
.footer-signup p { margin: 0; color: #e0eae7; font-size: 9px; }
.footer-signup-form { max-width: 510px; display: grid; grid-template-columns: minmax(180px,1fr) auto; gap: 8px; }
.footer-signup-form input { min-width: 0; min-height: 40px; padding: 0 13px; border: 1px solid #cbd1c5; background: #f8f7f2; color: var(--green); font: 10px var(--sans); }
.footer-signup-form small { grid-column: 1 / -1; color: #c7d3ce; font-size: 7px; }
.footer-signup-form input { border-color: #aab8b1; }
.footer-signup-success { justify-content: center; }
@media(max-width:760px) { .blog-article-layout { grid-template-columns: 1fr; gap: 26px; } .blog-purchase-card { position: static; max-width: 450px; } .footer-signup { align-items: center; flex-direction: column; gap: 17px; padding: 22px 6vw; } .footer-signup > div { width: 100%; max-width: 520px; } .signup-brand { font-size: 30px; } .signup-brand img { width: 34px; height: 34px; } .footer-signup-form { width: 100%; max-width: 520px; } }
@media(max-width:500px) { .blog-article-body { font-size: 12px; } .blog-article-body .blog-article-lede { font-size: 17px; } .blog-article-header { padding-top: 22px; } .footer-signup-form { grid-template-columns: 1fr; } .footer-signup-form small { grid-column: auto; } }

/* Give each reading mantra its own antique, carved-looking frame. */
.mantra-card { border: 7px ridge #aa854d; border-radius: 2px; box-shadow: inset 0 0 0 1px #ead49f, inset 0 0 0 4px rgba(91,63,33,.24), 0 4px 10px rgba(50,43,30,.15); }
.mantra-card::before { content: ""; position: absolute; z-index: 1; inset: 4px; border: 1px solid rgba(244,221,166,.76); box-shadow: inset 0 0 0 1px rgba(80,56,30,.18); background: radial-gradient(circle, #e9d19b 0 18%, #9a7542 25% 42%, transparent 49%) left top / 12px 12px no-repeat, radial-gradient(circle, #e9d19b 0 18%, #9a7542 25% 42%, transparent 49%) right top / 12px 12px no-repeat, radial-gradient(circle, #e9d19b 0 18%, #9a7542 25% 42%, transparent 49%) left bottom / 12px 12px no-repeat, radial-gradient(circle, #e9d19b 0 18%, #9a7542 25% 42%, transparent 49%) right bottom / 12px 12px no-repeat; pointer-events: none; }
.mantra-read { border-color: #9c7847; }
.mantra-grow { border-color: #b38c42; }
.mantra-execute { border-color: #a45f43; }

/* Homepage background refinements and the weekly side pick. */
.hero { background: radial-gradient(ellipse at 76% 37%,rgba(236,184,93,.34),transparent 35%),radial-gradient(ellipse at 13% 100%,rgba(225,149,104,.12),transparent 38%),linear-gradient(112deg,#f1e4cf 0%,#f2e8d8 47%,#f4e8d0 100%); }
.category-card[data-category="Business"], .category-card[data-category="Personal growth"] { border-color: #e0ddd3; background: var(--paper); }
.category-card[data-category="Business"]:hover, .category-card[data-category="Personal growth"]:hover { border-color: #c9c5b9; background: #f0eee7; }
.category-card[data-category="Business"] .category-card-name, .category-card[data-category="Personal growth"] .category-card-name { color: var(--green); }
.category-card[data-category="Business"] .category-card-helper, .category-card[data-category="Personal growth"] .category-card-helper { color: #92968d; }
.category-card[data-category="Business"] .category-card-mark, .category-card[data-category="Business"] .category-card-arrow, .category-card[data-category="Personal growth"] .category-card-mark { color: #ad7852; }
.category-card[data-category="Business"] .category-backdrop, .category-card[data-category="Personal growth"] .category-backdrop { opacity: .12; }
.inspiration-book-feature { border-color: #d7d2c4; background: repeating-linear-gradient(90deg,transparent 0 24.8%,rgba(72,69,60,.045) 24.9%,transparent 25.1% 33.1%),repeating-linear-gradient(0deg,rgba(74,71,62,.018) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 80% 16%,rgba(218,190,139,.13),transparent 42%),linear-gradient(115deg,#f1efe7,#f6f3e9 62%,#eeece3); }
.inspiration-book-feature::after { content: ""; position: absolute; z-index: 0; inset: 8px; border-top: 1px solid rgba(89,84,72,.15); border-bottom: 1px solid rgba(89,84,72,.12); background: linear-gradient(90deg,transparent 0 32.9%,rgba(76,70,61,.07) 33%,transparent 33.15% 66.1%,rgba(76,70,61,.07) 66.25%,transparent 66.4%); pointer-events: none; }
.book-week-rail { display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: center; gap: 15px; margin: 0 0 28px; padding: 15px; border: 1px solid #e2ded3; background: var(--paper); }
.book-week-rail > .section-eyebrow { grid-column: 1 / -1; font-size: 7px; }
.book-week-cover-link { width: 100px; height: 144px; display: grid; place-items: center; padding: 0; border: 0; background: #f0eee7; cursor: pointer; }
.book-week-cover { width: 76px; height: 118px; box-shadow: 7px 8px 12px rgba(38,50,40,.18); transform: rotate(-3deg); transition: transform .2s; }
.book-week-cover-link:hover .book-week-cover, .book-week-cover-link:focus-visible .book-week-cover { transform: translateY(-3px) rotate(0); }
.book-week-copy h2 { margin: 0 0 7px; color: var(--green); font: 500 19px/1.12 var(--serif); }
.book-week-copy > p { margin: 0; color: #78847a; font-size: 9px; line-height: 1.6; }
.book-week-price { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e1ded4; }
.book-week-price strong { color: var(--green); font: 500 16px var(--serif); }
.book-week-add { display: inline-flex; align-items: center; gap: 5px; min-height: 31px; padding: 0 9px; border: 1px solid var(--green); border-radius: 3px; color: #fffdf5; background: var(--green); font: 600 8px var(--sans); cursor: pointer; }
.book-week-add:hover { border-color: var(--orange); background: var(--orange); }
.book-week-copy small { display: block; margin-top: 8px; color: #92988e; font-size: 7px; line-height: 1.4; }
@media(min-width:1660px) { .page-content { position: relative; } .book-week-rail { position: absolute; z-index: 3; top: 0; left: calc(12px - max(0px,(100vw - 1510px)/2)); width: min(280px,calc((100vw - 1510px)/2 + 7.8vw - 30px)); grid-template-columns: 1fr; justify-items: stretch; gap: 10px; margin: 0; padding: 13px; } .book-week-rail > .section-eyebrow { grid-column: auto; } .book-week-cover-link { width: 100%; height: 175px; } .book-week-cover { width: 82px; height: 127px; } }
@media(max-width:590px) { .book-week-rail { grid-template-columns: 78px minmax(0,1fr); gap: 11px; padding: 12px; } .book-week-rail > .section-eyebrow { font-size: 6px; } .book-week-cover-link { width: 78px; height: 116px; } .book-week-cover { width: 62px; height: 96px; } .book-week-copy h2 { font-size: 16px; } .book-week-copy > p { font-size: 8px; } .book-week-price { flex-wrap: wrap; } }

/* Recompose the inspiration feature: reader portrait takes the book's former place. */
.inspiration-book-feature { grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); }
.inspiration-reader { position: relative; z-index: 1; left: auto; bottom: auto; width: min(100%,520px); justify-self: center; align-self: end; margin: 0; }
.inspiration-reader img { filter: drop-shadow(0 13px 12px rgba(39,47,37,.15)); }
.quote-book-showcase { display: grid; grid-template-columns: minmax(210px,.62fr) minmax(0,1.38fr); align-items: center; gap: 20px; margin: 0 0 46px; padding: 19px 25px; border: 1px solid #d7d2c4; background: repeating-linear-gradient(90deg,transparent 0 24.8%,rgba(72,69,60,.04) 24.9%,transparent 25.1% 33.1%),linear-gradient(110deg,#f2f0e9,#f7f4eb 58%,#efede4); }
.quote-book-showcase-copy { position: relative; z-index: 1; }
.quote-book-showcase-copy h2 { margin: 8px 0; color: var(--green); font: 500 clamp(23px,2.7vw,33px)/1.1 var(--serif); letter-spacing: -.03em; }
.quote-book-showcase-copy p { max-width: 290px; margin: 0; color: #758177; font-size: 10px; line-height: 1.7; }
.quote-book-showcase .quote-book-scene { width: 100%; max-width: 740px; justify-self: center; }
.quote-book-showcase .quote-book-art { width: 100%; aspect-ratio: 3 / 2; }
.quote-book-showcase .quote-book-art img { width: 100%; height: 100%; object-fit: contain; }
.quote-book-showcase .quote-page { z-index: 2; top: 12%; bottom: 30%; color: rgba(43,60,49,.86); }
.quote-book-showcase .quote-page-left { left: 8%; width: 41%; padding: 1% 6% 1% 3%; }
.quote-book-showcase .quote-page-right { left: 51%; width: 41%; padding: 1% 3% 1% 6%; }
.quote-book-showcase .quote-page p { gap: 2px; padding-inline: 4%; font-size: clamp(9px,.8vw,12px); line-height: 1.2; }
.quote-book-showcase .quote-page small { font-size: clamp(7px,.52vw,8px); }

.featured-books-section { margin: 47px 0 58px; }
.featured-books-heading { margin-bottom: 15px; }
.featured-books-heading h2 { margin: 7px 0 4px; color: var(--green); font: 500 clamp(26px,3vw,34px)/1.1 var(--serif); letter-spacing: -.035em; }
.featured-books-heading p { margin: 0; color: #899087; font-size: 10px; }
.featured-books-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 13px; align-items: stretch; }
.featured-books-grid .book-week-rail, .featured-book-card { position: relative; inset: auto; width: auto; min-width: 0; display: grid; grid-template-columns: 84px minmax(0,1fr); align-content: start; align-items: center; gap: 11px; margin: 0; padding: 15px; border: 1px solid #e2ded3; background: #f5f3ec; }
.featured-books-grid .book-week-rail > .section-eyebrow, .featured-book-card > .section-eyebrow { grid-column: 1 / -1; }
.featured-books-grid .book-week-cover-link, .featured-book-card .book-week-cover-link { width: 84px; height: 126px; }
.featured-books-grid .book-week-cover { width: 70px; height: 108px; }
.featured-books-grid .book-week-copy h3, .featured-book-copy h3 { margin: 0 0 3px; color: var(--green); font: 500 18px/1.12 var(--serif); }
.featured-book-author { display: block; margin-bottom: 7px; color: #899087; font-size: 8px; }
.featured-books-grid .book-week-copy > p, .featured-book-copy > p { margin: 0; color: #78847a; font-size: 9px; line-height: 1.55; }
.featured-books-grid .book-week-price { grid-column: 1 / -1; }
.featured-books-grid .book-week-copy small, .featured-book-copy small { grid-column: 1 / -1; }
.featured-book-card { grid-template-rows: auto 126px auto; }
.featured-book-copy { min-width: 0; align-self: center; }
.featured-book-card .book-week-price { grid-column: 1 / -1; }
.featured-book-card > .section-eyebrow { align-self: start; }

.reader-page-invite, .reader-page-note { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 20px; margin: 22px 0 25px; padding: 18px 21px; border: 1px solid #dfe1d8; background: #f3f2ec; }
.reader-page-invite p { max-width: 710px; margin: 5px 0 0; color: #728077; font-size: 10px; line-height: 1.7; }
.reader-page-invite .button { grid-column: 2; grid-row: 1 / span 2; white-space: nowrap; }
.reader-page-note > div { display: flex; flex-direction: column; gap: 5px; }
.reader-page-note strong { color: var(--green); font: 500 20px var(--serif); }
.reader-page-note > div > span:last-child, .reader-page-note small { color: #859087; font-size: 9px; }
.reader-page-note small { grid-column: 1 / -1; }
.reader-signup-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(30,43,37,.62); backdrop-filter: blur(5px); }
.reader-signup-dialog { position: relative; width: min(500px,100%); padding: 36px; border: 1px solid #d8cfb8; background: var(--paper); box-shadow: 0 24px 70px rgba(22,34,28,.25); }
.reader-signup-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #dedbd1; border-radius: 50%; color: var(--green); background: transparent; cursor: pointer; }
.reader-signup-dialog h2 { margin: 10px 0 7px; color: var(--green); font: 500 34px/1.1 var(--serif); }
.reader-signup-dialog > p { margin: 0; color: #78847a; font-size: 11px; line-height: 1.7; }
.reader-signup-form { display: grid; gap: 12px; margin-top: 21px; }
.reader-signup-form label { display: grid; gap: 6px; color: #53635a; font-size: 9px; }
.reader-signup-form input { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #d9d9cf; border-radius: 2px; outline: none; color: var(--green); background: #fffefa; font: 11px var(--sans); }
.reader-signup-form input:focus { border-color: #718474; box-shadow: 0 0 0 3px rgba(113,132,116,.13); }
.reader-signup-form > .button { justify-self: start; margin-top: 4px; }
.reader-signup-form > small { color: #8a9189; font-size: 8px; line-height: 1.5; }
.blog-article-body > h2 { margin: 29px 0 8px; color: var(--green); font: 500 23px/1.2 var(--serif); }
@media(max-width:900px) { .featured-books-grid { grid-template-columns: 1fr 1fr; } .featured-books-grid .book-week-rail { grid-column: 1 / -1; } }
@media(max-width:760px) { .inspiration-book-feature { grid-template-columns: 1fr; gap: 5px; } .inspiration-reader { width: min(100%,430px); justify-self: center; margin: -5px 0 -8px; } .quote-book-showcase { grid-template-columns: 1fr; gap: 8px; padding: 17px; } .quote-book-showcase-copy p { max-width: 440px; } .quote-book-showcase .quote-book-scene { max-width: 560px; } .quote-book-showcase .quote-page { top: 12%; bottom: 30%; } .quote-book-showcase .quote-page p { font-size: clamp(7px,1.7vw,10px); } .quote-book-showcase .quote-page small { font-size: clamp(5px,1.2vw,7px); } }
@media(max-width:590px) { .featured-books-grid { grid-template-columns: 1fr; } .featured-books-grid .book-week-rail { grid-column: auto; } .featured-book-card { grid-template-rows: auto 126px auto; } .reader-page-invite, .reader-page-note { grid-template-columns: 1fr; padding: 15px; } .reader-page-invite .button { grid-column: auto; grid-row: auto; justify-self: start; } .reader-signup-dialog { padding: 30px 20px 22px; } .reader-signup-dialog h2 { font-size: 28px; } }

/* Dedicated left-side book features, with the main discover content beside them. */
.page-content { width: min(1760px,calc(100% - 48px)); max-width: none; box-sizing: border-box; padding: 0; }
.discover-layout { display: grid; grid-template-columns: clamp(225px,16vw,292px) minmax(0,1fr); align-items: start; gap: clamp(24px,2.1vw,38px); }
.discover-main { min-width: 0; }
.left-book-rail { display: grid; grid-template-columns: minmax(0,1fr); gap: 210px; padding-top: 37px; }
.left-book-spotlight { position: relative; isolation: isolate; min-width: 0; min-height: 690px; display: flex; flex-direction: column; align-items: center; padding: 20px 18px 18px; overflow: hidden; border: 1px solid #c9b991; background: linear-gradient(145deg,#f7f3e9,#f1ede2 62%,#eae5d8); box-shadow: inset 0 0 0 4px rgba(169,139,86,.12),0 7px 18px rgba(49,55,43,.05); text-align: center; }
.left-book-spotlight::before { position: absolute; z-index: -1; inset: 8px; border: 1px solid rgba(155,123,69,.2); content: ""; pointer-events: none; }
.left-book-spotlight::after { position: absolute; z-index: -1; top: 18%; right: -25%; width: 95%; aspect-ratio: 1; border: 1px solid rgba(192,154,85,.16); border-radius: 50%; box-shadow: 0 0 0 14px rgba(192,154,85,.04),0 0 0 30px rgba(192,154,85,.035); content: ""; pointer-events: none; }
.left-book-spotlight > .section-eyebrow { align-self: stretch; justify-content: center; min-height: 26px; font-size: 7px; text-align: center; }
.left-spotlight-cover { display: grid; place-items: center; width: 100%; height: 230px; flex: 0 0 auto; margin: 4px 0 15px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.left-spotlight-book { width: 138px; height: 207px; transform: rotate(-2deg); transition: transform .25s ease; }
.left-spotlight-cover:hover .left-spotlight-book { transform: translateY(-4px) rotate(0); }
.left-spotlight-cover .cover-series { font-size: 6px; }
.left-spotlight-cover .cover-title { font-size: 20px; }
.left-spotlight-cover .cover-author { font-size: 8px; }
.left-spotlight-copy { width: 100%; }
.left-spotlight-author { display: block; margin-bottom: 7px; color: #8b887b; font-size: 8px; line-height: 1.5; }
.left-spotlight-copy h2 { margin: 0 0 8px; color: var(--green); font: 500 clamp(19px,1.5vw,24px)/1.08 var(--serif); letter-spacing: -.035em; }
.left-spotlight-copy p { margin: 0; color: #6e796f; font-size: 9px; line-height: 1.65; }
.spotlight-price-tag { position: relative; width: 100%; display: grid; justify-items: center; gap: 2px; margin-top: auto; padding: 15px 10px 12px; border: 2px solid #b58b43; outline: 1px solid rgba(181,139,67,.35); outline-offset: 3px; background: linear-gradient(135deg,#243e34,#315548 54%,#203a31); box-shadow: inset 0 0 0 2px rgba(244,218,158,.35),0 8px 17px rgba(32,53,44,.16); transform: rotate(-1.2deg); }
.spotlight-price-tag::before,.spotlight-price-tag::after { position: absolute; top: 50%; width: 11px; height: 11px; border: 1px solid #d8b86c; border-radius: 50%; background: #e9d6a6; content: ""; transform: translateY(-50%); }
.spotlight-price-tag::before { left: 6px; }.spotlight-price-tag::after { right: 6px; }
.spotlight-price-tag > span { color: #e3d4ae; font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }
.spotlight-price-tag strong { color: #fff8e7; font: 500 clamp(40px,3vw,54px)/1 var(--serif); letter-spacing: -.055em; text-shadow: 0 2px rgba(0,0,0,.15); }
.spotlight-price-tag small { max-width: 180px; margin-top: 3px; color: #d5cfbd; font-size: 7px; line-height: 1.4; }
.spotlight-rank-tag { width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: auto; padding: 11px 7px; border: 1px solid #b5914c; background: linear-gradient(120deg,#edd99e,#f5e9c3); color: #31483a; text-align: left; }
.spotlight-rank-tag strong { color: #294538; font: 500 42px/.9 var(--serif); }
.spotlight-rank-tag span { font-size: 8px; line-height: 1.45; }
.left-spotlight-add { width: 100%; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; margin-top: 15px; border: 1px solid #203a31; color: #fffaf0; background: #203a31; font: 600 9px var(--sans); cursor: pointer; transition: background .18s,border-color .18s,transform .18s; }
.left-spotlight-add:hover { border-color: #b26e4f; background: #b26e4f; transform: translateY(-1px); }
.spotlight-bestseller { border-color: #d0bc8e; background: linear-gradient(145deg,#f8f4e8,#f1ead7 65%,#eee4c9); }
.spotlight-bestseller::after { border-color: rgba(173,136,65,.22); box-shadow: 0 0 0 14px rgba(192,154,85,.055),0 0 0 30px rgba(192,154,85,.04); }

/* Shorter, tighter reader vignette. */
.inspiration-book-feature { min-height: 265px; grid-template-columns: minmax(230px,.82fr) minmax(0,1.18fr); gap: 8px; margin-bottom: 24px; padding: 13px 18px 12px 22px; }
.inspiration-book-copy h2 { font-size: clamp(24px,2.5vw,33px); }

/* Keep motion decorative and respect reduced-motion preferences. */
.inspiration-book-copy h2 { display: inline-block; color: var(--green); background: linear-gradient(105deg,#263c32 4%,#d87551 28%,#b78b2e 49%,#327a82 70%,#263c32 94%); background-size: 250% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: inspiration-title-color 6s linear infinite, inspiration-title-drift 3.4s ease-in-out infinite alternate; }
@keyframes inspiration-title-color { to { background-position: 250% 0; } }
@keyframes inspiration-title-drift { from { transform: translateX(0); } to { transform: translateX(3px); } }
.brand.brand-arrival .brand-mark { animation: home-mark-arrival .72s cubic-bezier(.2,.75,.3,1.2) both; }
.brand.brand-arrival .brand-book { transform-origin: 15% 90%; animation: home-book-arrival .82s cubic-bezier(.2,.75,.3,1.2) both; }
@keyframes home-mark-arrival { 0% { transform: scale(.82) rotate(-8deg); } 65% { transform: scale(1.08) rotate(3deg); } 100% { transform: scale(1) rotate(0); } }
@keyframes home-book-arrival { 0% { opacity: .55; transform: translateY(5px) rotate(-13deg); } 65% { opacity: 1; transform: translateY(-2px) rotate(4deg); } 100% { transform: translateY(0) rotate(0); } }
.book-rating { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; margin-top: 13px; padding: 9px 10px; border: 1px solid #e5e2d9; background: #faf8f1; }
.book-rating-label { color: #6f7d73; font-size: 8px; font-weight: 600; }
.book-rating-stars { display: flex; align-items: center; gap: 2px; }
.book-rating-star { padding: 0 2px; border: 0; background: transparent; color: #c9c6bb; font-size: 18px; line-height: 1; cursor: pointer; transition: color .16s, transform .16s; }
.book-rating-star:hover, .book-rating-star:focus-visible { color: #d2a33d; transform: scale(1.14); outline: none; }
.book-rating-star.selected { color: #d2a33d; }
.book-rating small { color: #9a9e94; font-size: 7px; white-space: nowrap; }
.book-page-copy > .book-rating { max-width: 390px; }
@media(max-width:590px) { .book-rating { grid-template-columns: 1fr auto; } .book-rating-stars { grid-row: 2; } .book-rating small { grid-column: 2; grid-row: 2; } }
@media(prefers-reduced-motion:reduce) { .inspiration-book-copy h2, .brand.brand-arrival .brand-mark, .brand.brand-arrival .brand-book { animation: none !important; } }
.inspiration-reader { width: min(100%,520px); max-height: 240px; justify-self: end; align-self: end; margin: 0 -8px -4px 0; }
.inspiration-reader img { width: 100%; max-height: 240px; object-fit: cover; object-position: 68% center; }
.reading-mantra { margin-bottom: 38px; }

/* Compact reading room gallery with manually controlled, future-expandable slides. */
.quote-book-showcase { grid-template-columns: minmax(205px,.66fr) minmax(0,1.34fr); gap: 16px; margin-bottom: 28px; padding: 13px 17px; background: var(--paper); }
.quote-book-showcase-copy h2 { font-size: clamp(22px,2.3vw,29px); }
.quote-book-showcase-copy p { max-width: 260px; font-size: 9px; line-height: 1.55; }
.quote-gallery { position: relative; min-width: 0; width: 100%; max-width: 570px; justify-self: center; aspect-ratio: 1.9 / 1; overflow: hidden; background: #e9e8df; }
.quote-gallery-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .28s ease,visibility .28s; }
.quote-gallery-slide.active { opacity: 1; visibility: visible; }
.quote-gallery-slide > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.quote-gallery-book > img { object-fit: contain; }
.quote-book-pages { position: absolute; inset: 0; pointer-events: none; }
.quote-gallery .quote-page { top: 12%; bottom: 28%; }
.quote-gallery .quote-page p { font-size: clamp(7px,.62vw,10px); }
.quote-gallery .quote-page small { font-size: clamp(5px,.44vw,7px); }
.quote-gallery-controls { display: flex; align-items: center; gap: 8px; margin-top: 15px; }
.quote-gallery-arrow { width: 26px; height: 26px; display: grid; place-items: center; padding: 0 0 2px; border: 1px solid #d5d1c4; border-radius: 50%; color: var(--green); background: #f7f5ee; font: 18px/1 var(--serif); cursor: pointer; }
.quote-gallery-arrow:hover { border-color: #ad8950; background: #efe6d1; }
.quote-gallery-dots { display: flex; align-items: center; gap: 5px; }
.quote-gallery-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #c9c9be; cursor: pointer; }
.quote-gallery-dot.active { width: 18px; border-radius: 6px; background: #526b58; }
.quote-gallery-count { color: #778177; font-size: 8px; font-variant-numeric: tabular-nums; }
.quote-gallery-note { display: block; margin-top: 5px; color: #91968c; font-size: 7px; }

/* Warmer market green and a little more breathing room after the news. */
.market-strip { background: #e2e9df; }
#market-region .affiliate-note { margin-top: 42px; padding-top: 22px; background: #e2e9df; border-color: #cdd8ce; }

@media(max-width:1440px) {
  .page-content { width: calc(100% - 40px); }
  .discover-layout { grid-template-columns: minmax(190px,23vw) minmax(0,1fr); gap: 20px; }
  .left-book-rail { gap: 70px; }
  .left-book-spotlight { min-height: 580px; padding: 16px 12px; }
  .left-spotlight-cover { height: 185px; }
  .left-spotlight-book { width: 112px; height: 168px; }
}

/* Warmer navigation, readable news thumbnails, and a real-time desk rail. */
.nav-link:nth-child(1) { border-color:#d4dfbf; background:#e7edda; }
.nav-link:nth-child(2) { border-color:#e8c1aa; background:#f4ddcf; }
.nav-link:nth-child(3) { border-color:#dbc275; background:#f3e4b4; }
.nav-link:nth-child(4) { border-color:#d8b49e; background:#f0dfd1; }
.nav-link:nth-child(5) { border-color:#c4d3bd; background:#e3ebdc; }
.nav-link:nth-child(1):hover,.nav-link:nth-child(1).selected { border-color:#bdcba7; background:#dbe5c9; }
.nav-link:nth-child(2):hover,.nav-link:nth-child(2).selected { border-color:#dca98b; background:#edcbb8; }
.nav-link:nth-child(3):hover,.nav-link:nth-child(3).selected { border-color:#c5a650; background:#ecd58f; }
.nav-link:nth-child(4):hover,.nav-link:nth-child(4).selected { border-color:#cd9d7e; background:#e7c9b4; }
.nav-link:nth-child(5):hover,.nav-link:nth-child(5).selected { border-color:#b2c5a9; background:#d5e2cb; }
.brand-tagline { margin-left:22px; padding-left:18px; border-left:1px solid #ddd5c6; color:#837b69; font:italic 12px/1.25 var(--serif); white-space:nowrap; }
.spotlight-rank-tag { border-color:#b84d39; background:linear-gradient(125deg,#a94132,#cf6548 62%,#db7954); color:#fff8ed; box-shadow:inset 0 0 0 2px rgba(255,225,193,.28),0 5px 12px rgba(116,48,34,.16); }
.spotlight-rank-tag strong,.spotlight-rank-tag span { color:#fff7ec; }
.mantra-word { position:absolute; z-index:2; top:50%; left:50%; width:max-content; max-width:calc(100% - 72px); transform:translate(-50%,-50%); text-align:center; }
.mantra-card .mantra-kicker { z-index:2; }
.quote-gallery { background:#e8e3d7; }
.quote-gallery-slide > img { object-fit:cover; }
.quote-photo-credit { position:absolute; right:9px; bottom:8px; padding:4px 7px; color:#fffaf0; background:rgba(26,43,35,.76); font-size:8px; letter-spacing:.02em; }
.financial-news-grid { align-items:stretch; }
.financial-news-card { gap:0; padding:10px 12px 11px; }
.financial-news-image { position:relative; display:block; width:calc(100% + 24px); aspect-ratio:16/8.2; margin:-10px -12px 11px; overflow:hidden; background:linear-gradient(120deg,#dfded2,#f2e1c3 54%,#d7dfd0); }
.financial-news-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.financial-news-image:hover img { transform:scale(1.035); }

/* Keep the reading mantra bold, with a quieter editorial finish. */
.mantra-card { border:1px solid #d8d5ca; border-radius:3px; box-shadow:none; }
.mantra-card::before { content:none; }
.mantra-read { border-color:#40594c; color:#f7f5f0; background:#40594c; }
.mantra-grow { border-color:#d7d8c8; color:#263c32; background:#e8e9df; }
.mantra-execute { border-color:#c78368; color:#fffaf4; background:#c78368; }
.mantra-art { right:16px; bottom:9px; width:58px; height:48px; opacity:.14; }
.mantra-grow .mantra-art { color:#627552; opacity:.16; }

/* Fit the ten brief inspirations into a small, flat open-book illustration. */
.inspiration-book-feature { grid-template-columns:minmax(245px,.8fr) minmax(310px,1.2fr) minmax(310px,1.2fr); gap:10px; }
.inspiration-book-scene { position:relative; z-index:1; width:100%; max-width:none; aspect-ratio:2 / 1; justify-self:stretch; align-self:center; }
.inspiration-book-scene > img { display:block; width:100%; height:100%; object-fit:fill; }
.inspiration-book-scene .quote-book-pages { position:absolute; inset:0; }
.inspiration-book-scene .quote-page { top:13%; bottom:12%; grid-template-rows:repeat(5,minmax(0,1fr)); }
.inspiration-book-scene .quote-page-left { left:8%; width:41%; padding:1% 5% 1% 2%; }
.inspiration-book-scene .quote-page-right { left:51%; width:41%; padding:1% 2% 1% 5%; }
.inspiration-book-scene .quote-page p { gap:1px; font-size:clamp(8px,.48vw,9px); line-height:1.04; }
.inspiration-book-scene .quote-page small { font-size:clamp(5.5px,.33vw,6.2px); }
.inspiration-reader { width:100%; aspect-ratio:2 / 1; max-height:none; justify-self:stretch; align-self:center; margin:0; overflow:hidden; }
.inspiration-reader img { display:block; width:100%; height:100%; max-height:none; object-fit:cover; }
.list-note-link { border-color:#a83831; color:#fff8f2; background:#bf453a; }
.list-note-link:hover { border-color:#942e2a; color:#fff; background:#a93630; }
.cart-commission-note { max-width:310px; margin:5px 0 0; color:#78847a; font-size:8px; line-height:1.45; }
.drawer-heading h2 { margin-top:6px; }
.checkout-review-line { align-items:center; }
.checkout-review-quantity { display:flex; align-items:center; gap:8px; }
.checkout-review-quantity .quantity-control { gap:5px; margin:0; }
.checkout-review-quantity .quantity-control > button:not(.remove-cart) { width:23px; height:23px; }
.checkout-review-quantity .quantity-control > button:disabled { opacity:.42; cursor:not-allowed; }
.nav-link { color:#2e3d33; font-weight:600; }
.nav-link:nth-child(1) { border-color:#a6bd83; background:#d7e7bf; }
.nav-link:nth-child(2) { border-color:#da9b7d; background:#f0c0a8; }
.nav-link:nth-child(3) { border-color:#c4a543; background:#efd36e; }
.nav-link:nth-child(4) { border-color:#c38e70; background:#e8b99e; }
.nav-link:nth-child(5) { border-color:#91ad87; background:#c9dcbf; }
.nav-link:nth-child(1):hover,.nav-link:nth-child(1).selected { border-color:#829b5b; background:#c1d69e; }
.nav-link:nth-child(2):hover,.nav-link:nth-child(2).selected { border-color:#c97a56; background:#e8a987; }
.nav-link:nth-child(3):hover,.nav-link:nth-child(3).selected { border-color:#a98927; background:#e5c34f; }
.nav-link:nth-child(4):hover,.nav-link:nth-child(4).selected { border-color:#ac7557; background:#dda583; }
.nav-link:nth-child(5):hover,.nav-link:nth-child(5).selected { border-color:#739268; background:#afcba4; }
@media(max-width:760px) {
  .inspiration-book-feature { grid-template-columns:1fr; }
  .inspiration-book-scene,.inspiration-reader { width:min(100%,430px); justify-self:center; }
  .inspiration-book-scene .quote-page p { font-size:clamp(6px,2vw,8.5px); }
  .inspiration-book-scene .quote-page small { font-size:clamp(5px,1.5vw,6px); }
}
.financial-news-image-fallback { display:grid; place-items:center; color:#33493d; }
.financial-news-image-fallback span { padding:8px 13px; border:1px solid rgba(54,73,55,.25); font:500 20px var(--serif); }
.financial-news-card .financial-news-meta { font-size:8px; }
.financial-news-card h3 { margin:10px 0 6px; }
.financial-news-card p { font-size:10px; }
.financial-news-footer { width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:auto; padding-top:9px; border-top:1px solid #e8e3d7; }
.financial-news-footer a { display:inline-flex; align-items:center; gap:6px; color:#4e6958; font-size:9px; font-weight:700; }
.financial-news-footer a:hover { color:var(--orange); }
@media(max-width:760px) {
  .inspiration-book-scene,.inspiration-reader { width:min(100%,430px); aspect-ratio:2 / 1; }
  .inspiration-reader { max-height:none; }
  .inspiration-reader img { height:100%; max-height:none; }
}
.financial-news-footer > span { color:#939187; font-size:8px; line-height:1.4; }
.news-page-grid .financial-news-card { min-height:325px; }
.news-page-grid .financial-news-image { aspect-ratio:16/8.6; }
.left-news-rail { padding:17px 14px; border:1px solid #d8d4c9; background:linear-gradient(145deg,#f5f1e7,#eeeee3); }
.left-news-rail h2 { margin:5px 0 13px; color:var(--green); font:500 22px/1.05 var(--serif); }
.left-news-rail ol { margin:0; padding:0; list-style:none; counter-reset:news; }
.left-news-rail li { position:relative; display:grid; gap:5px; padding:11px 0 12px 25px; border-top:1px solid #ddd9ce; counter-increment:news; }
.left-news-rail li::before { position:absolute; top:11px; left:0; color:#bd6548; content:counter(news,decimal-leading-zero); font:italic 12px var(--serif); }
.left-news-rail time,.left-news-rail li > span { color:#888c81; font-size:8px; }
.left-news-rail li > a { color:#263e33; font:500 14px/1.22 var(--serif); }
.left-news-rail li > a:hover { color:var(--orange); }
.left-news-rail li > .left-news-image { display:block; width:100%; aspect-ratio:16/9; margin:0 0 3px; overflow:hidden; background:#e5e1d5; }
.left-news-rail .left-news-image img { display:block; width:100%; height:100%; object-fit:cover; }
.left-news-rail li > .left-news-headline { display:block; text-decoration:none; }
.left-news-more { display:inline-flex; align-items:center; gap:5px; margin-top:8px; color:#496354; font-size:9px; font-weight:700; }
.left-news-rail { border-color:#b8d7e7; background:linear-gradient(145deg,#eaf7fc,#dceff8); }
.left-news-rail li { border-color:#c8e0eb; }
.left-news-rail li > .left-news-image { background:#d7ebf4; }
.financial-news-date { border-color:#8fcbe5; color:#173e52; background:#bfe7f7; transition:background .18s ease,border-color .18s ease; }
.financial-news-date:hover { border-color:#63b2d6; background:#a8dcf2; }
@media(max-width:1050px) { .brand-tagline { margin-left:10px; padding-left:10px; font-size:10px; } .left-news-rail { grid-column:1/-1; } }
@media(max-width:760px) { .brand-tagline { display:none; } .news-page-grid .financial-news-card { min-height:0; } .financial-news-image { aspect-ratio:16/9; } }
@media(max-width:1050px) {
  .page-content { width: calc(100% - 36px); }
  .discover-layout { grid-template-columns: minmax(0,1fr); }
  .left-book-rail { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding-top: 0; margin: 0 0 26px; }
  .left-book-spotlight { min-height: 0; padding: 16px; }
  .left-spotlight-cover { height: 165px; margin-bottom: 8px; }
  .left-spotlight-book { width: 100px; height: 150px; }
  .spotlight-price-tag,.spotlight-rank-tag { margin-top: 18px; }
}
@media(max-width:760px) {
  .page-content { width: calc(100% - 26px); }
  .left-book-rail { grid-template-columns: 1fr; }
  .left-book-spotlight { display: grid; grid-template-columns: 90px minmax(0,1fr); align-items: center; column-gap: 13px; text-align: left; }
  .left-book-spotlight > .section-eyebrow { grid-column: 1 / -1; justify-content: flex-start; }
  .left-spotlight-cover { grid-row: span 2; width: 90px; height: 132px; margin: 4px 0; }
  .left-spotlight-book { width: 78px; height: 117px; }
  .left-spotlight-copy h2 { font-size: 19px; }
  .left-spotlight-copy p { font-size: 8px; }
  .spotlight-price-tag,.spotlight-rank-tag,.left-spotlight-add { grid-column: 1 / -1; }
  .inspiration-book-feature { min-height: 0; grid-template-columns: 1fr; }
  .inspiration-reader { width: min(100%,330px); }
  .inspiration-reader img { max-height: 205px; }
  .quote-book-showcase { grid-template-columns: 1fr; gap: 10px; }
  .quote-gallery { max-width: 500px; }
}

/* Purchase quantity choices and a small, clear add-to-bag motion. */
.left-book-rail { gap:32px; }
.spotlight-bestseller .spotlight-rank-tag { border:1px solid #b84436!important; background:linear-gradient(125deg,#a63e32,#cf5e47 62%,#de7955)!important; color:#fff7eb!important; box-shadow:inset 0 0 0 2px rgba(255,227,194,.28),0 5px 12px rgba(116,48,34,.16)!important; }
.spotlight-bestseller .spotlight-rank-tag strong,.spotlight-bestseller .spotlight-rank-tag span { color:#fff7eb!important; }
.purchase-actions { display:inline-flex; align-items:center; gap:7px; }
.purchase-quantity { display:inline-flex; align-items:center; height:31px; border:1px solid #d4d0c3; background:#fffdf7; }
.purchase-quantity button { width:25px; height:29px; border:0; color:#385144; background:transparent; font:17px/1 var(--sans); cursor:pointer; }
.purchase-quantity button:hover { color:#bd6045; background:#f4e7d8; }
.purchase-quantity input { width:31px; height:27px; padding:0; border:0; outline:0; color:#263d33; background:transparent; font:600 10px var(--sans); text-align:center; appearance:textfield; }
.purchase-quantity input::-webkit-inner-spin-button,.purchase-quantity input::-webkit-outer-spin-button { margin:0; appearance:none; }
.left-spotlight-purchase { width:100%; display:grid; justify-items:center; gap:9px; margin-top:15px; }
.left-spotlight-purchase .purchase-quantity { height:35px; }
.left-spotlight-purchase .purchase-quantity button { width:33px; height:33px; }
.left-spotlight-purchase .purchase-quantity input { width:43px; }
.left-spotlight-purchase .left-spotlight-add { margin-top:0; }
.added-feedback,.book-week-add.added-feedback,.left-spotlight-add.added-feedback { animation:purchase-confirm .78s ease; }
.add-to-bag-loading { position:relative; pointer-events:none; color:transparent!important; cursor:wait!important; }
.add-to-bag-loading svg,.add-to-bag-loading img { visibility:hidden; }
.add-to-bag-loading::after { content:""; position:absolute; left:50%; top:50%; width:13px; height:13px; margin:-8px 0 0 -8px; border:2px solid currentColor; border-color:rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:add-to-bag-spin .68s linear infinite; }
@keyframes add-to-bag-spin { to { transform:rotate(360deg); } }
.cart-button.bag-bump { animation:bag-bounce .48s ease; }
.cart-badge.cart-badge-pop { animation:badge-pop .55s ease; }
@keyframes purchase-confirm { 0%{transform:scale(1);box-shadow:0 0 0 0 rgba(221,114,75,0)} 34%{transform:scale(1.06);background:#ca6348;color:white;box-shadow:0 0 0 5px rgba(221,114,75,.2)} 100%{transform:scale(1);box-shadow:0 0 0 0 rgba(221,114,75,0)} }
@keyframes bag-bounce { 0%,100%{transform:translateY(0)} 38%{transform:translateY(-6px) rotate(-8deg)} 72%{transform:translateY(2px) rotate(4deg)} }
@keyframes badge-pop { 0%{transform:scale(.7)} 48%{transform:scale(1.35)} 100%{transform:scale(1)} }
@media(max-width:590px) { .purchase-actions { gap:5px; } .purchase-quantity button { width:21px; } .purchase-quantity input { width:26px; } .book-week-price { align-items:flex-start; } .left-book-rail { gap:14px; } }
.left-news-rail ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; row-gap:0; }
.left-news-rail li { min-width:0; align-content:start; }
.left-news-rail li > .left-news-headline { font-size:13px; }
@media(max-width:590px) { .left-news-rail ol { column-gap:12px; } .left-news-rail li > .left-news-headline { font-size:13px; } }

/* High-contrast ticker board and four U.S. time-zone watch faces. */
.market-strip { color:#f4f1e8; border-color:#1f2823; background:#080b09; }
.market-heading { display:grid; grid-template-columns:minmax(185px,.85fr) minmax(0,2.4fr) minmax(190px,.8fr); align-items:center; gap:16px; }
.market-heading .section-eyebrow { color:#a9b4aa; }
.market-heading h2 { color:#f4f1e8; }
.market-heading p { color:#9aa59b; }
.market-clocks { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.market-clock { position:relative; min-width:0; margin:0; padding:11px 6px 9px; border:3px solid #bba66e; border-radius:13px; background:#fff; box-shadow:0 3px 0 #796a48,0 5px 9px rgba(0,0,0,.3),inset 0 0 0 2px #e8dfc8; text-align:center; }
.market-clock::before { position:absolute; z-index:0; inset:4px; border:1px solid #e3ddcf; border-radius:7px; background:#fff; content:""; }
.market-clock-zone { position:relative; z-index:1; display:block; margin-bottom:6px; color:#59645c; font-size:8px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.market-clock-time { position:relative; z-index:1; display:block; color:#18352c; font:700 clamp(11px,1vw,15px)/1.1 var(--sans); font-variant-numeric:tabular-nums; letter-spacing:0; text-shadow:none; white-space:nowrap; }
.market-clock-date { position:relative; z-index:1; display:block; margin-top:5px; color:#778078; font:500 7px var(--sans); letter-spacing:.04em; text-transform:uppercase; }
.market-session { min-width:0; margin:0; border-color:#303a33; background:#101612; }
.market-session-label { color:#f4f1e8; }
.market-session-detail { color:#9aa59b; }
.market-status-dot { background:#c88c62; }
.market-status-dot.open { background:#48bd70; }
.market-widget-frame { border-color:#303a33; background:#080b09; }
.market-widget-frame tv-ticker-tape,.market-fallback { color:#a7b1a8; background:#080b09; }
.market-fallback-quote { border-color:#303a33; background:#101612; }
.market-fallback-name { color:#f0eee5; }
.market-fallback-symbol { color:#98a398; }
.market-fallback-quote strong::before { content:""; }
.market-fallback-quote strong.up { color:#4bd27b; }
.market-fallback-quote strong.down { color:#ff6d68; }
.market-fallback-quote strong.up::before { content:"↑ "; color:#4bd27b; font-size:12px; font-weight:800; }
.market-fallback-quote strong.down::before { content:"↓ "; color:#ff6d68; font-size:12px; font-weight:800; }
.market-fallback-quote strong.unavailable { color:#a7b1a8; }
.market-fallback-meta { border-color:#28322c; color:#828e84; }
.market-disclaimer { color:#859087; }
.market-disclaimer a { color:#a8c4ac; text-decoration-color:#66776a; }
.book-card-bottom { min-height:0; flex-wrap:wrap; justify-content:flex-start; gap:5px 8px; padding:7px 0 2px; }
.book-card-purchase { width:100%; justify-content:space-between; gap:5px; }
.book-card-purchase .purchase-quantity { flex:0 0 auto; }
.book-card-purchase .add-mini { min-height:31px; margin-top:0; padding:0 8px; }
@media(max-width:1050px) {
  .market-heading { grid-template-columns:minmax(0,1fr); align-items:start; }
  .market-clocks { width:100%; }
  .market-session { width:100%; }
}

/* Let reading-room photos fill their full slideshow frame. */
.quote-gallery { width:100%; max-width:none; justify-self:stretch; align-self:stretch; aspect-ratio:2.1 / 1; }
.quote-gallery-slide > img { width:100%; height:100%; object-fit:cover; object-position:center center; }
@media(max-width:760px) { .quote-gallery { width:100%; max-width:none; justify-self:stretch; aspect-ratio:1.7 / 1; } }
@media(max-width:590px) {
  .market-clocks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .market-clock { padding:9px 4px 8px; }
  .market-clock-time { font-size:12px; }
  .book-card-purchase .purchase-quantity button { width:21px; }
  .book-card-purchase .purchase-quantity input { width:26px; }
}

/* A full-page flat map sits behind the discover experience. */
.discover-layout { position: relative; background:var(--paper); }

/* A reserved partner placement fills the open left rail beneath the news list. */
.left-rail-ad { position: relative; isolation: isolate; min-height: 610px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 22px; overflow: hidden; margin-top: 390px; padding: 24px 20px; border: 1px solid #567995; color: #f2f8fb; background: linear-gradient(155deg,#355d7a,#27465f 60%,#20394f); box-shadow: inset 0 0 0 5px rgba(223,239,246,.08),0 10px 24px rgba(31,56,75,.12); }
.left-rail-ad::before { position: absolute; z-index: -1; right: -76px; bottom: 106px; width: 210px; aspect-ratio: 1; border: 1px solid rgba(236,220,157,.48); border-radius: 50%; box-shadow: 0 0 0 18px rgba(236,220,157,.07),0 0 0 38px rgba(236,220,157,.05); content: ""; }
.left-rail-ad > .section-eyebrow { color: #c7dbe7; font-size: 7px; letter-spacing: .15em; }
.left-rail-ad-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.52); border-radius: 50%; color: #f5df86; font: 700 10px/1 var(--sans); letter-spacing: -.06em; }
.left-rail-ad-kicker { margin: 0 0 9px; color: #f5df86; font-size: 7px; font-weight: 700; letter-spacing: .15em; }
.left-rail-ad h2 { max-width: 210px; margin: 0; color: #fffaf0; font: 500 clamp(23px,1.65vw,29px)/1.1 var(--serif); letter-spacing: -.035em; }
.left-rail-ad-copy { margin: 14px 0 0; color: #d5e2e8; font-size: 10px; line-height: 1.75; }
.left-rail-ad-link { display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px; border: 1px solid #f0d879; color: #20394f; background: #f0d879; font-size: 9px; font-weight: 700; text-decoration: none; transition: background .18s ease,transform .18s ease; }
.left-rail-ad-link:hover { transform: translateY(-2px); background: #ffe994; }
.left-rail-ad-foot { color: #c6d7e0; font-size: 8px; line-height: 1.5; }

/* Reduce the mantra cards vertically while preserving their three-column span. */
.mantra-card { min-height: 78px; padding: 10px 16px; }
.mantra-word { font-size: clamp(27px,3vw,38px); }
.mantra-art { width: 54px; height: 46px; }
.shelf-invite > .button { border-color: #2e6f94; color: #fff; background: #2e6f94; box-shadow: 0 5px 12px rgba(36,91,124,.14); }
.shelf-invite > .button:hover { border-color: #245775; color: #fff; background: #245775; }
@media(max-width:1050px) { .left-rail-ad { min-height: 310px; grid-column:1/-1; margin-top: 0; } }
@media(max-width:760px) { .left-rail-ad { min-height: 265px; padding: 20px; } .left-rail-ad h2 { max-width: 360px; } .mantra-card { min-height: 74px; } }
@media(prefers-reduced-motion:reduce) { .left-rail-ad-link { transition: none; } }

/* Softer, pill-like corners for the larger editorial surfaces. */
.hero { border-radius:165px; }
.hero-art { border-radius:123px; }
.inspiration-book-feature { overflow:hidden; border-radius:38px; }
.quote-book-showcase { overflow:hidden; border-radius:52px; }
.mantra-card { border-radius:42px; }

/* Fit the ad panel to the sidebar column and place it higher beside the shelf. */
.left-rail-ad { width:269px; height:520px; min-height:520px; align-self:center; align-items:center; justify-content:space-between; gap:59px 9px; margin-top:0; padding:14px 53px; border-width:1px; border-radius:154px; font-size:22px; text-align:center; }
.left-rail-ad > .section-eyebrow { align-self:center; }
.left-rail-ad h2 { max-width:none; width:100%; font-size:22px; }
.left-rail-ad-copy { margin-top:8px; font-size:9px; line-height:1.5; }
.left-rail-ad-kicker { margin-bottom:6px; }
.left-rail-ad-link { justify-content:center; max-width:100%; padding:9px 8px; font-size:8px; }
.left-rail-ad-foot { font-size:7px; }

/* Keep the book catalog area clear of the map image. */
.book-grid { background-color:var(--paper); }
@media(max-width:1050px) {
  .left-rail-ad { width:100%; height:auto; min-height:310px; align-self:stretch; margin-top:0; padding:20px 24px; border-radius:52px; }
}
@media(max-width:760px) {
  .hero { border-radius:56px; }
  .hero-art { border-radius:36px; }
  .inspiration-book-feature,.mantra-card { border-radius:28px; }
  .quote-book-showcase,.left-rail-ad { border-radius:34px; }
}

/* Keep the catalog clear of the page map and give the book rail a warm base. */
.catalog-section { background:var(--paper); }
.left-book-rail { background-color:#fffff5; }

/* Founder quotes and portraits at the lower left of the hero. */
.hero-inspiration { display:flex; align-items:center; gap:12px; width:min(440px,100%); margin-top:25px; }
.hero-people { display:grid; flex:0 0 220px; grid-template-columns:repeat(4,50px); align-items:center; justify-content:center; gap:5px; width:220px; max-width:220px; padding:8px 5px; overflow:visible; }
.hero-person-avatar { display:block; width:50px; height:50px; padding:0; border:1px solid rgba(205,255,163,.85); border-radius:50%; background-repeat:no-repeat; cursor:pointer; opacity:.94; box-shadow:0 0 7px rgba(151,255,99,.46); transition:opacity .2s, transform .2s, box-shadow .2s; }
.hero-person-1,.hero-person-2,.hero-person-3 { background-image:url('/assets/hero-founder-portraits.png'); background-size:300% 100%; }
.hero-person-avatar:hover,.hero-person-avatar.is-active { opacity:1; transform:translateY(-1px); }
.hero-person-avatar.is-active { border-color:#c5ff8a; box-shadow:0 0 0 2px rgba(190,255,133,.82),0 0 15px 4px rgba(133,255,81,.9); }
.hero-person-1 { background-position:0% center; }
.hero-person-2 { background-position:50% center; }
.hero-person-3 { background-position:100% center; }
.hero-person-4,.hero-person-5,.hero-person-6,.hero-person-7,.hero-person-8,.hero-person-9,.hero-person-10,.hero-person-11 { background-image:url('/assets/hero-finance-figures.png'); background-size:400% 200%; }
.hero-person-4 { background-position:0% 0%; }
.hero-person-5 { background-position:33.333% 0%; }
.hero-person-6 { background-position:66.667% 0%; }
.hero-person-7 { background-position:100% 0%; }
.hero-person-8 { background-position:0% 100%; }
.hero-person-9 { background-position:33.333% 100%; }
.hero-person-10 { background-position:66.667% 100%; }
.hero-person-11 { background-position:100% 100%; }
.hero-person-12 { background-image:url('/assets/hero-frederick-douglass.png'); background-color:#e4d4b7; background-size:auto 155%; background-position:center top; }
.hero-quote { flex:1 1 auto; min-width:0; margin:0; padding-left:12px; border-left:1px solid rgba(116,119,99,.28); }
.hero-quote blockquote { min-height:2.9em; margin:0; color:#34483c; font:italic 12px/1.48 var(--serif); }
.hero-quote-visible { color:#f0fff6; background:#4db2ff; padding:1px 4px; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.hero-quote-visible::after { content:' '; display:inline-block; width:1px; height:.95em; margin-left:2px; vertical-align:-.12em; background:#d87551; animation:hero-caret .78s steps(1,end) infinite; }
.hero-quote figcaption { display:flex; align-items:center; gap:8px; margin-top:6px; color:#7d8377; font-size:8px; line-height:1.3; }
.hero-quote cite { color:var(--green); font-style:normal; font-weight:700; }
.hero-quote-source { color:#7d8377; text-decoration:underline; text-underline-offset:2px; }
.hero-quote-source:hover { color:var(--orange); }
.hero-douglass { position:absolute; z-index:0; right:-7vw; bottom:-3%; width:clamp(190px,19vw,290px); height:105%; object-fit:contain; object-position:right bottom; opacity:.56; mix-blend-mode:multiply; filter:saturate(.72) contrast(.96); pointer-events:none; }
.hero-douglass-quotes { position:absolute; z-index:3; right:clamp(220px,14.2vw,270px); bottom:10px; width:min(344px,24vw); min-height:128px; display:grid; align-content:center; gap:3px; margin:-3px 1px -7px -12px; padding:19px 5px; border:0 solid transparent; border-radius:9px; color:#000; font-size:19px; font-weight:700; opacity:1; background:rgba(250,248,237,.92); box-shadow:0 3px 10px rgba(53,65,47,.08); backdrop-filter:blur(4px); }
.hero-douglass-quotes p { min-width:0; margin:0; color:#000; font:700 13.4px/1.17 var(--serif); }
.hero-douglass-quotes p:nth-of-type(2) { font-size:12.4px; }
.hero-douglass-quotes a { color:#586247; font:600 .68em/1.1 var(--sans); text-decoration:underline; text-underline-offset:1px; white-space:nowrap; }
@media(max-width:1050px) and (min-width:761px) { .hero-douglass-quotes { right:12px; width:min(300px,36vw); } }
.hero-stack { z-index:1; }
.hero { border:22px solid rgba(255,255,255,.72); }
@media(min-width:1121px) {
  .hero-art { align-items:flex-start; row-gap:23px; column-gap:5px; margin:14px -37px -45px 0; padding-top:10px; }
}
@keyframes hero-caret { 50% { opacity:0; } }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:820px) {
  .hero-inspiration { width:min(390px,100%); gap:9px; }
  .hero-people { flex-basis:184px; width:184px; max-width:184px; grid-template-columns:repeat(4,42px); gap:4px; }
  .hero-person-avatar { width:42px; height:42px; }
  .hero-douglass { right:-4vw; width:clamp(170px,22vw,230px); }
}
@media(max-width:760px) {
  .hero { border-width:10px; }
  .hero-copy { padding-top:34px; padding-bottom:22px; }
  .hero-inspiration { margin-top:22px; }
  .hero-douglass { right:0; bottom:-4%; width:clamp(160px,33vw,220px); height:100%; opacity:.46; }
  .hero-douglass-quotes { position:relative; right:auto; bottom:auto; width:calc(100% - 32px); max-width:460px; align-self:center; margin:0 auto 18px; padding:9px 12px; gap:4px; }
  .hero-douglass-quotes p { font-size:9px; line-height:1.35; }
  .hero-douglass-quotes a { font-size:7px; }
}
@media(max-width:590px) {
  .hero { border-width:8px; }
  .hero-inspiration { align-items:flex-start; gap:9px; margin-top:19px; }
  .hero-people { flex-basis:148px; width:148px; max-width:148px; grid-template-columns:repeat(4,34px); gap:4px; padding:6px 2px; }
  .hero-person-avatar { width:34px; height:34px; }
  .hero-quote { padding-left:9px; }
  .hero-quote blockquote { min-height:2.9em; font-size:11px; }
  .hero-quote figcaption { gap:5px; font-size:7px; }
  .hero-douglass { right:0; width:155px; height:100%; opacity:.38; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-quote-visible::after { animation:none; }
  .hero-person-avatar { transition:none; }
}

/* Compact catalog title band with its source aligned on the same row. */
.catalog-section > .section-heading { height:59px; min-height:59px; flex-direction:row; justify-content:space-between; align-items:center; gap:14px; margin-bottom:20px; padding:6px 18px; text-align:left; }
.catalog-section > .section-heading > div { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:9px; row-gap:0; min-width:0; }
.catalog-section > .section-heading .section-eyebrow { flex:0 0 100%; font-size:6px; line-height:1.15; }
.catalog-section > .section-heading h2 { margin:0; font-size:22px; line-height:1; }
.catalog-section > .section-heading .section-subtitle { font-size:8px; line-height:1.1; }
.catalog-section > .section-heading .source-caption { flex:0 0 auto; font-size:7px; }

/* The Read / Grow / Execute cards stay full width while their height is reduced. */
.mantra-card { height:33px; min-height:33px; padding:2px 14px; }
.mantra-kicker { font-size:6px; line-height:1.1; letter-spacing:.12em; }
.mantra-word { font-size:18px; line-height:1; }
.mantra-art { right:8px; bottom:3px; width:34px; height:26px; }

/* Add bank and investment links beside the business trackers. */
.business-tracker strong { color:#4e9a32; }
.business-tracker strong sup { position:relative; top:-.1em; font:500 .5em/1 var(--serif); }
.business-pulse-body { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:start; gap:24px; }
.business-pulse-main { min-width:0; }
.financial-partners { min-width:0; display:flex; flex-direction:column; gap:17px; padding-left:18px; border-left:1px solid #deded4; }
.partner-group { display:flex; flex-direction:column; gap:7px; }
.partner-heading { color:#8d7954; font-size:7px; font-weight:700; letter-spacing:.13em; }
.partner-bank { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 8px; padding:5px 0; border-bottom:1px solid #e6e2d8; color:var(--ink); text-decoration:none; }
.financial-wordmark { display:flex; align-items:center; gap:6px; font:700 11px/1 Arial,sans-serif; letter-spacing:-.02em; }
.financial-wordmark i,.firm-wordmark i { display:grid; flex:0 0 18px; width:18px; height:18px; place-items:center; border-radius:50%; color:white; font:700 10px/1 Arial,sans-serif; font-style:normal; }
.financial-wordmark.marcus { color:#44413b; }
.financial-wordmark.marcus i { background:#bd9c59; }
.financial-wordmark.ally { color:#51477b; }
.financial-wordmark.ally i { background:#6a628d; }
.financial-wordmark.sofi { color:#263c32; }
.financial-wordmark.sofi i { background:#344e42; }
.partner-bank > strong { color:#4e9a32; font:600 14px/1 Arial,sans-serif; font-variant-numeric:tabular-nums; }
.partner-bank > strong small { color:#798178; font:600 7px/1 Arial,sans-serif; }
.partner-bank > span:last-child { grid-column:1/-1; color:#92988f; font-size:7px; line-height:1.2; }
.partner-bank:hover .financial-wordmark,.firm-wordmark:hover span { color:var(--orange); }
.partner-disclosure { margin:0; color:#92988f; font-size:7px; line-height:1.45; }
.firm-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.firm-wordmark { min-width:0; display:flex; flex-direction:column; align-items:center; gap:6px; padding:10px 4px; border:1px solid #e3e0d6; color:var(--ink); text-align:center; text-decoration:none; }
.firm-wordmark i { width:28px; height:28px; flex-basis:28px; font-size:13px; }
.firm-wordmark.fidelity i { background:#316c4a; }
.firm-wordmark.vanguard i { background:#b3333b; }
.firm-wordmark.schwab i { background:#2875a3; }
.firm-wordmark span { overflow:hidden; max-width:100%; color:#506054; font:700 9px/1.15 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }

/* Keep recommended book copy inside its dedicated cards at every catalog width. */
.featured-book-card { grid-template-rows:auto minmax(126px,auto); }
.featured-book-copy { display:flex; flex-direction:column; align-self:stretch; min-width:0; }
.featured-book-copy h3 { margin-top:8px; overflow-wrap:anywhere; }
.featured-book-card:nth-child(2) .featured-book-copy h3 { padding-top:27px; }
.featured-book-card:nth-child(3) .featured-book-copy h3 { padding-top:48px; }
.featured-book-copy .book-week-price { flex-wrap:wrap; align-items:flex-start; margin-top:auto; }
.featured-book-copy .purchase-actions { flex-wrap:wrap; }

/* Checkout review stays at the reader's position while cart quantities update. */
.cart-title-row { display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:6px; }
.drawer-heading h2 { margin:0; }
.commission-badge { display:inline-flex; align-items:center; min-height:21px; padding:0 8px; border:1px solid #e6c183; border-radius:99px; color:#17130c; background:#fbefd8; font:600 12px/1.2 var(--sans); white-space:nowrap; }
.checkout-review > h2 { font-size:40px; }
.checkout-review-item { align-items:start; }
.checkout-review-copy { align-self:start; }
.checkout-book-description { margin-top:5px!important; color:#68756b!important; font-size:9px!important; line-height:1.45; }
.checkout-retailer-links a { gap:6px; }
.retailer-mark { display:inline-grid; flex:0 0 19px; width:19px; height:19px; place-items:center; border-radius:50%; color:#fff; background:#30483b; font:700 9px/1 Arial,sans-serif; font-style:normal; text-decoration:none; }
.retailer-mark-amazon { color:#253a32; background:#f2c46c; font:700 italic 13px/1 Georgia,serif; }
.retailer-mark-barnes-noble { color:#fff; background:#5b302b; font-size:7px; }
.retailer-mark-bookshop { color:#fff; background:#375545; font-family:Georgia,serif; }
.checkout-retailer-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:15px 0 9px; }
.checkout-retailer-choice { min-width:0; min-height:44px; display:flex; align-items:center; justify-content:center; gap:7px; padding:6px; border:1px solid #dcd9cf; color:#405248; background:#fbfaf6; font:600 9px/1.2 var(--sans); cursor:pointer; }
.checkout-retailer-choice.selected { border-color:#c88c42; color:#634518; background:#fff1d2; box-shadow:0 0 0 2px rgba(200,140,66,.14); }
.checkout-retailer-choice .retailer-mark { flex-basis:22px; width:22px; height:22px; }
.checkout-all-button { width:100%; min-height:46px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid #a63830; color:#fffaf4; background:#b94237; font-size:10px; }
.checkout-all-button:hover { border-color:#8c2d27; background:#99342d; }
.checkout-all-button .retailer-mark { background:rgba(255,255,255,.2); }
.checkout-back-button { margin-top:9px; }

/* The random book picker adds its winning title directly to the Folio bag. */
.pick-book-prompt { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:30px 0 37px; padding:17px 20px; border:1px solid #e3ddcb; background:#f4f0e5; }
.pick-book-prompt h2 { margin:4px 0; color:var(--green); font:500 22px/1.1 var(--serif); }
.pick-book-prompt p { margin:0; color:#7b867c; font-size:9px; }
.pick-book-prompt .button { flex:0 0 auto; }
.pick-wheel-backdrop { position:fixed; z-index:90; inset:0; display:grid; place-items:center; overflow:auto; padding:20px; background:radial-gradient(ellipse at center,rgba(240,87,75,.18),transparent 43%),repeating-conic-gradient(from -12deg at 50% 48%,rgba(235,190,95,.1) 0deg 7deg,transparent 7deg 18deg),rgba(17,32,28,.84); backdrop-filter:blur(5px); }
.pick-wheel-backdrop::before { position:fixed; z-index:0; inset:0; background-image:radial-gradient(circle,#ffe58b 0 1.5px,transparent 2.5px),radial-gradient(circle,#ff7c69 0 1px,transparent 2.5px),radial-gradient(circle,#a8dfb1 0 1px,transparent 2px); background-position:12px 18px,54px 63px,96px 31px; background-size:117px 103px,179px 167px,229px 211px; content:""; opacity:.35; pointer-events:none; animation:pick-wheel-game-lights 2.4s ease-in-out infinite alternate; }
.pick-wheel-dialog { position:relative; z-index:1; width:min(560px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:34px 32px 27px; border:1px solid #ddbd6b; background:radial-gradient(circle at 3% 5%,rgba(234,191,91,.17) 0 2px,transparent 3px),radial-gradient(circle at 97% 93%,rgba(212,81,68,.13) 0 3px,transparent 4px),linear-gradient(145deg,#fffdf7 0%,#f5efdf 56%,#fffaf0 100%); box-shadow:0 0 0 5px rgba(231,193,105,.17),0 24px 70px rgba(8,19,16,.48); text-align:center; }
.pick-wheel-dialog h2 { margin:7px 0 5px; color:var(--green); font:500 34px/1.08 var(--serif); }
.pick-wheel-dialog > p { margin:0 auto; max-width:390px; color:#7d887e; font-size:10px; line-height:1.55; }
.pick-wheel-stage { position:relative; width:292px; height:292px; margin:23px auto 12px; padding:6px; border:4px solid #344d40; border-radius:50%; background:#f4e8ca; box-shadow:0 9px 22px rgba(40,52,43,.18); }
.pick-wheel { position:relative; width:100%; height:100%; overflow:hidden; border:2px solid #fffaf0; border-radius:50%; transition:transform 3.8s cubic-bezier(.11,.72,.12,1); }
.pick-wheel::after { position:absolute; inset:0; border-radius:50%; background:repeating-conic-gradient(from 0deg,transparent 0deg 23.7deg,rgba(255,255,255,.85) 23.7deg 24deg); content:""; pointer-events:none; }
.pick-wheel-pointer { position:absolute; z-index:2; top:-16px; left:50%; color:#b54135; font-size:27px; line-height:1; transform:translateX(-50%); filter:drop-shadow(0 2px 1px rgba(0,0,0,.18)); }
.pick-wheel-label { position:absolute; z-index:1; top:50%; left:50%; width:110px; margin:-6px 0 0 -55px; color:#fffdf5; font:600 7px/1.05 var(--sans); text-align:center; text-shadow:0 1px 2px rgba(0,0,0,.38); }
.pick-wheel-hub { position:absolute; z-index:3; top:50%; left:50%; display:grid; width:49px; height:49px; place-items:center; border:3px solid #f8e7bf; border-radius:50%; color:#fff8e7; background:#263e33; font:700 8px var(--sans); transform:translate(-50%,-50%); box-shadow:0 2px 8px rgba(0,0,0,.2); }
.pick-wheel-result { min-height:24px; }
.pick-wheel-result strong { color:var(--green); }
.pick-wheel-actions { display:flex; align-items:center; justify-content:center; gap:14px; margin:12px 0 8px; }
.pick-wheel-actions [disabled] { opacity:.65; cursor:wait; }
.pick-wheel-dialog > small { color:#90968d; font-size:8px; }
@media(max-width:590px) {
  .pick-book-prompt { align-items:flex-start; flex-direction:column; padding:15px; }
  .pick-book-prompt .button { min-height:40px; }
  .pick-wheel-dialog { padding:32px 18px 22px; }
  .pick-wheel-dialog h2 { font-size:28px; }
  .pick-wheel-stage { width:min(270px,74vw); height:min(270px,74vw); }
  .pick-wheel-label { transform-origin:center; font-size:6px; }
  .checkout-review > h2 { font-size:34px; }
  .checkout-retailer-choice { flex-direction:column; gap:4px; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .pick-wheel { transition-duration:.01ms; } }
@media(max-width:1050px) {
  .business-pulse-body { grid-template-columns:minmax(0,1fr) 235px; gap:18px; }
  .financial-partners { padding-left:13px; }
  .business-tracker-row { gap:16px; }
}
@media(max-width:760px) {
  .business-pulse-body { grid-template-columns:minmax(0,1fr); }
  .financial-partners { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:start; gap:18px; padding:16px 0 0; border-top:1px solid #deded4; border-left:0; }
  .catalog-section > .section-heading { height:auto; min-height:59px; padding:8px 13px; }
  .catalog-section > .section-heading h2 { font-size:19px; }
  .catalog-section > .section-heading .section-subtitle { display:none; }
  .mantra-card { height:46px; min-height:46px; padding:4px 12px; }
  .mantra-word { font-size:21px; }
}
@media(max-width:500px) {
  .catalog-section > .section-heading { align-items:flex-start; }
  .catalog-section > .section-heading .source-caption { max-width:82px; white-space:normal; line-height:1.3; }
  .business-tracker-row { grid-template-columns:minmax(0,1fr); gap:2px; }
  .financial-partners { grid-template-columns:minmax(0,1fr); }
  .mantra-card { height:46px; min-height:46px; }
}

/* Raise the cover toward the title and description while leaving room for its caption. */
@media(min-width:701px) { .modal-cover-wrap { justify-content:flex-start; padding-top:18px; } }
.book-rating-stars .book-rating-star.selected,.book-rating-stars .book-rating-star.preview { color:#d2a33d!important; }
.book-rating-stars .book-rating-star.preview { transform:translateY(-1px); }

/* Final modal cover sizing after the shared desktop and mobile modal rules. */
.modal-cover-wrap { min-height:0; align-items:center; justify-content:flex-start; padding:18px 0 0; background:transparent; }
.modal-cover-stage { width:210px; height:310px; display:grid; place-items:center; flex:0 0 auto; background:#f0d264; }
.modal-cover-trigger { gap:0; }
.modal-cover-hint { margin-top:11px; }
.modal-rank { margin-top:12px; }

/* Final catalog header styling after inherited section heading rules. */
.catalog-section > .section-heading { justify-content:center; align-items:center; flex-direction:column; gap:8px; margin-bottom:23px; padding:15px 18px; border-radius:18px; background-color:#e2ca98; color:#000; text-align:center; }
.catalog-section > .section-heading h2,.catalog-section > .section-heading .section-eyebrow,.catalog-section > .section-heading .section-subtitle,.catalog-section > .section-heading .source-caption { color:#000; }
.catalog-section > .section-heading .source-caption { justify-content:center; margin:0; }
@media (max-width:700px) {
  .modal-cover-wrap { min-height:0; padding:0; }
  .modal-cover-stage { width:137px; height:195px; }
}

/* Final compact section title after the earlier catalog color treatment. */
.catalog-section > .section-heading { height:59px; min-height:59px; flex-direction:row; justify-content:space-between; align-items:center; gap:14px; margin-bottom:20px; padding:6px 18px; text-align:left; }
.catalog-section > .section-heading > div { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:9px; row-gap:0; min-width:0; }
.catalog-section > .section-heading .section-eyebrow { flex:0 0 100%; font-size:6px; line-height:1.15; }
.catalog-section > .section-heading h2 { margin:0; font-size:22px; line-height:1; }
.catalog-section > .section-heading .section-subtitle { font-size:8px; line-height:1.1; }
.catalog-section > .section-heading .source-caption { flex:0 0 auto; font-size:7px; }
@media(max-width:760px) {
  .catalog-section > .section-heading { height:auto; min-height:59px; padding:8px 13px; }
  .catalog-section > .section-heading h2 { font-size:19px; }
  .catalog-section > .section-heading .section-subtitle { display:none; }
}
@media(max-width:500px) {
  .catalog-section > .section-heading { align-items:flex-start; }
  .catalog-section > .section-heading .source-caption { max-width:82px; white-space:normal; line-height:1.3; }
}

/* Center the surprise picker and make its action easy to spot. */
.pick-book-prompt { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; }
.pick-book-cta { grid-column:2; display:flex; align-items:center; justify-content:center; gap:14px; }
.pick-book-click-hint { display:inline-flex; align-items:center; gap:5px; color:#7c685d; font:600 10px/1 var(--sans); letter-spacing:.04em; white-space:nowrap; }
.pick-book-prompt .pick-book-cta .button { min-height:0; margin:-5px 0; padding:41px 30px 7px; border:1px solid #ce4040; border-radius:29px; color:#fffaf3; background:#ce4040; font:900 20px/1.15 var(--sans); }
.pick-book-prompt .pick-book-cta .button:hover { border-color:#a93232; background:#a93232; }

/* The readers settle into frame, then shift gently as they begin reading. */
.inspiration-reader { animation:reader-arrives 1.25s cubic-bezier(.2,.72,.22,1) both; }
.inspiration-reader img { transform-origin:76% 88%; animation:reader-settles-into-reading 7s ease-in-out 1.25s infinite; }
@keyframes reader-arrives { from { opacity:0; transform:translateY(17px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes reader-settles-into-reading { 0%,100% { transform:translateY(0) rotate(0) scale(1); } 14% { transform:translateY(-2px) rotate(-.18deg) scale(1.003); } 29% { transform:translateY(0) rotate(0) scale(1); } 55% { transform:translateY(0) rotate(0) scale(1); } 62% { transform:translateY(-1px) rotate(.12deg) scale(1.002); } 70% { transform:translateY(0) rotate(0) scale(1); } }

.toast { font-size:12px; font-weight:600; }
@media(max-width:760px) {
  .pick-book-prompt { grid-template-columns:1fr; gap:13px; }
  .pick-book-cta { grid-column:1; justify-self:center; flex-wrap:wrap; }
  .pick-book-prompt .pick-book-cta .button { padding:22px 24px 9px; font-size:16px; }
}

/* The picker wheel uses the real book covers and a bright animated red rim. */
.pick-wheel-dialog { width:min(740px,100%); padding:34px 36px 26px; }
.pick-wheel-dialog h2 { position:relative; display:table; margin:7px auto 9px; padding:0 0 8px; color:#ff243d; font-weight:700; }
.pick-wheel-dialog h2::after { position:absolute; right:calc(50% - 21px); bottom:0; width:42px; height:3px; border-radius:3px; background:#ff243d; content:""; }
.pick-wheel-stage { width:min(440px,82vw); height:min(440px,82vw); margin:18px auto 12px; padding:8px; border:6px solid #ff243d; background:#fff7ed; box-shadow:0 0 0 3px rgba(255,36,61,.18),0 0 19px rgba(255,36,61,.45),0 12px 28px rgba(40,52,43,.22); animation:pick-wheel-neon 1.35s ease-in-out infinite; }
.pick-wheel { --cover-orbit:clamp(90px,31vw,132px); border:3px solid #fffaf0; box-shadow:inset 0 0 0 2px rgba(38,60,50,.18); }
.pick-wheel::after { z-index:2; }
.pick-wheel-cover { position:absolute; z-index:3; top:50%; left:50%; display:block; width:36px; height:54px; margin:-27px 0 0 -18px; filter:drop-shadow(1px 3px 2px rgba(24,31,27,.4)); }
.pick-wheel-cover .book-object { width:100%; height:100%; filter:none; perspective:none; }
.pick-wheel-cover .book-object::before { right:0; width:4px; }
.pick-wheel-cover .book-object::after { left:3px; right:1px; bottom:-3px; height:3px; }
.pick-wheel-cover .book-cover { right:3px; padding:2px; transform:none; box-shadow:inset 1px 0 2px rgba(0,0,0,.08); }
.pick-wheel-cover .book-cover-image { object-fit:cover; }
.pick-wheel-cover .cover-fallback { justify-content:center; padding:2px; }
.pick-wheel-cover .cover-title { font-size:5px; line-height:1.05; }
.pick-wheel-cover .cover-author,.pick-wheel-cover .cover-kicker { display:none; }
.pick-wheel-hub { z-index:4; }
.pick-wheel-pointer { color:#ff243d; }
.pick-wheel-sound { display:block; margin:3px auto 7px; color:#52685a; font-size:9px; text-decoration:underline; text-underline-offset:3px; }
.pick-wheel-sound:disabled { opacity:.5; cursor:wait; }
@keyframes pick-wheel-neon {
  0%,100% { box-shadow:0 0 0 3px rgba(255,36,61,.16),0 0 12px rgba(255,36,61,.34),0 12px 28px rgba(40,52,43,.2); }
  50% { box-shadow:0 0 0 5px rgba(255,36,61,.28),0 0 29px rgba(255,36,61,.72),0 12px 28px rgba(40,52,43,.2); }
}
@keyframes pick-wheel-game-lights { from { opacity:.2; filter:saturate(.8); } to { opacity:.62; filter:saturate(1.4); } }
@media(max-width:590px) {
  .pick-wheel-dialog { padding:30px 15px 22px; }
  .pick-wheel-dialog h2 { font-size:27px; }
  .pick-wheel-stage { width:min(360px,82vw); height:min(360px,82vw); padding:6px; }
  .pick-wheel { --cover-orbit:clamp(90px,31vw,112px); }
  .pick-wheel-cover { width:clamp(24px,8vw,31px); height:clamp(36px,12vw,47px); margin:calc(clamp(36px,12vw,47px) / -2) 0 0 calc(clamp(24px,8vw,31px) / -2); }
  .pick-wheel-cover .cover-title { font-size:4px; }
}
@media(prefers-reduced-motion:reduce) {
  .pick-wheel-stage { animation:none; box-shadow:0 0 0 3px rgba(255,36,61,.22),0 0 12px rgba(255,36,61,.4); }
}

/* Glossy, saturated navigation pills and clearer wheel-pick guidance. */
.nav-link { overflow:hidden; border-width:1px; color:#273a30; font-weight:700; box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 5px rgba(40,50,42,.1); }
.nav-link::after { position:absolute; top:1px; right:8px; left:8px; display:block; height:48%; border-radius:999px; background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0)); content:""; opacity:.8; pointer-events:none; }
.nav-link:nth-child(1) { border-color:#78b74e; color:#284123; background:linear-gradient(180deg,#c8f09c 0%,#98d76c 50%,#7dbd54 100%); }
.nav-link:nth-child(2) { border-color:#dc805b; color:#542f25; background:linear-gradient(180deg,#ffc19d 0%,#f49a73 52%,#e77b57 100%); }
.nav-link:nth-child(3) { border-color:#d8a921; color:#4d3b0d; background:linear-gradient(180deg,#ffe889 0%,#fbd052 52%,#e9b82f 100%); }
.nav-link:nth-child(4) { border-color:#cb704b; color:#513326; background:linear-gradient(180deg,#ffc09a 0%,#efa078 52%,#dc805c 100%); }
.nav-link:nth-child(5) { border-color:#6cac75; color:#234b39; background:linear-gradient(180deg,#c2edbd 0%,#92d69b 52%,#74be83 100%); }
.nav-link:nth-child(1):hover,.nav-link:nth-child(1).selected { border-color:#609b3b; background:linear-gradient(180deg,#d5f6af 0%,#a7e27c 50%,#88c960 100%); }
.nav-link:nth-child(2):hover,.nav-link:nth-child(2).selected { border-color:#c96c48; background:linear-gradient(180deg,#ffd0b0 0%,#f9a681 52%,#eb8763 100%); }
.nav-link:nth-child(3):hover,.nav-link:nth-child(3).selected { border-color:#c99c1e; background:linear-gradient(180deg,#fff0a5 0%,#ffdc6b 52%,#efc443 100%); }
.nav-link:nth-child(4):hover,.nav-link:nth-child(4).selected { border-color:#bf6442; background:linear-gradient(180deg,#ffd0ac 0%,#f5aa84 52%,#e88d68 100%); }
.nav-link:nth-child(5):hover,.nav-link:nth-child(5).selected { border-color:#5c9e69; background:linear-gradient(180deg,#d5f4ce 0%,#a5e0a9 52%,#82ca90 100%); }
.nav-link.selected { box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 3px 9px rgba(38,60,50,.2); transform:translateY(-1px); }
.nav-count { color:#244333; background:linear-gradient(180deg,#fffbd7,#f1dc80); box-shadow:inset 0 1px 1px rgba(255,255,255,.9),0 1px 3px rgba(45,53,35,.15); }
.pick-book-cta { flex-direction:row; }
.pick-book-cta .button { position:relative; overflow:visible; }
.pick-book-cta .button::before { position:absolute; top:4px; left:50%; color:#fff6eb; content:"↓ ↓ ↓"; font:900 13px/1 var(--sans); letter-spacing:3px; text-shadow:0 1px 4px rgba(91,23,23,.6); transform:translateX(-50%); }
.pick-book-click-hint { color:#a24731; font-weight:800; }
.pick-book-click-hint span { color:#d63b37; font-size:16px; text-shadow:0 1px 0 #fff; }
.pick-wheel-hub { appearance:none; padding:0; cursor:pointer; transition:filter .18s,box-shadow .18s,scale .18s; }
.pick-wheel-hub:hover:not(:disabled) { filter:brightness(1.2); scale:1.12; box-shadow:0 0 0 4px rgba(255,255,255,.45),0 0 16px rgba(255,36,61,.75); }
.pick-wheel-hub:focus-visible { outline:3px solid #ff243d; outline-offset:4px; }
.pick-wheel-hub:disabled { cursor:wait; }
.pick-wheel-cover.is-wheel-winner { opacity:0; transition:opacity .18s ease-out; }
.pick-wheel-winner-pop { position:absolute; z-index:7; inset:0; display:grid; place-items:center; pointer-events:none; animation:pick-wheel-winner-forward .9s cubic-bezier(.16,.8,.28,1) both; }
.pick-wheel-winner-pop .book-object { width:clamp(82px,18vw,112px); height:clamp(122px,27vw,168px); filter:drop-shadow(0 18px 16px rgba(22,30,25,.5)); }
.pick-wheel-winner-pop .book-cover { padding:8px; }
.pick-wheel-winner-pop .book-cover-image { object-fit:cover; }
.pick-wheel-winner-pop .cover-title { font-size:10px; }
@keyframes pick-wheel-winner-forward {
  0% { opacity:0; transform:translateY(30px) scale(.24); filter:blur(2px); }
  22% { opacity:1; filter:blur(0); }
  62% { opacity:1; transform:translateY(-14px) scale(1.22); }
  100% { opacity:1; transform:translateY(-14px) scale(1.22); filter:drop-shadow(0 18px 16px rgba(22,30,25,.5)); }
}
.pick-wheel-result { min-height:34px; display:block; margin:0 auto; padding:9px 14px; border:1px solid transparent; border-radius:999px; color:#7d887e; text-align:center; transition:background .2s,border-color .2s,color .2s; }
.pick-wheel-result.is-added { border-color:#80b588; color:#173e2a; background:linear-gradient(180deg,#f3ffdf,#c9edaa 62%,#a9dc8b); box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 12px rgba(62,132,62,.18); font-weight:700; }
.pick-wheel-result.is-added::before { margin-right:7px; color:#398c44; content:"✓"; font:900 14px/1 var(--sans); vertical-align:-1px; }
@media(max-width:760px) {
  .pick-book-cta { flex-direction:row; flex-wrap:nowrap; }
  .pick-book-cta .button { padding-right:20px!important; padding-left:20px!important; font-size:15px!important; white-space:nowrap; }
  .pick-book-click-hint { font-size:9px; }
}
@media(max-width:420px) {
  .pick-book-cta { gap:8px; }
  .pick-book-cta .button { padding-right:13px!important; padding-left:13px!important; font-size:13px!important; }
  .pick-book-click-hint { gap:3px; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { .pick-wheel-winner-pop { animation-duration:.01ms; } .pick-wheel-backdrop::before { animation:none; } }
/* Keep the branded header available while browsing, with navigation colors from the original look. */
.site-header { position:sticky; top:0; z-index:40; height:82px; padding:0 5.8vw; }

/* Keep the shelves link readable even with its colored pill treatment. */
.main-nav .nav-link:nth-of-type(4) { width:auto; min-width:100px; justify-content:center; color:#513326 !important; -webkit-text-fill-color:#513326; position:relative; z-index:1; }
.contact-email { margin:18px 0; color:var(--ink-soft); font-size:14px; }
.contact-email a { color:var(--green); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:590px) { .main-nav .nav-link:nth-of-type(4) { min-width:74px; } }
/* Muted, high-contrast navigation colors: rounded pills without glossy gradients. */
.main-nav .nav-link { border-radius:999px; border-width:1px; font-weight:600; box-shadow:none!important; transform:none!important; }
.main-nav .nav-link::after { display:none!important; }
.main-nav .nav-link:nth-child(1) { border-color:#aab79c!important; color:#2e4034!important; background:#d8e0cc!important; background-image:none!important; }
.main-nav .nav-link:nth-child(2) { border-color:#c3a18f!important; color:#533b31!important; background:#e5d0c4!important; background-image:none!important; }
.main-nav .nav-link:nth-child(3) { border-color:#c2ac70!important; color:#4b3c1b!important; background:#e6d9ad!important; background-image:none!important; }
.main-nav .nav-link:nth-child(4) { border-color:#b7957d!important; color:#48352b!important; background:#dcc1af!important; background-image:none!important; }
.main-nav .nav-link:nth-child(5) { border-color:#a2b19e!important; color:#2b4135!important; background:#ccd8c8!important; background-image:none!important; }
.main-nav .nav-link:nth-child(1):hover,.main-nav .nav-link:nth-child(1).selected { border-color:#84977a!important; background:#c8d5bb!important; }
.main-nav .nav-link:nth-child(2):hover,.main-nav .nav-link:nth-child(2).selected { border-color:#a77d67!important; background:#d9bba9!important; }
.main-nav .nav-link:nth-child(3):hover,.main-nav .nav-link:nth-child(3).selected { border-color:#a88d49!important; background:#dac98d!important; }
.main-nav .nav-link:nth-child(4):hover,.main-nav .nav-link:nth-child(4).selected { border-color:#9d765b!important; background:#cfac95!important; }
.main-nav .nav-link:nth-child(5):hover,.main-nav .nav-link:nth-child(5).selected { border-color:#81947c!important; background:#bacbb7!important; }
.main-nav .nav-link:nth-child(n).selected { border-color:#263c32!important; color:#f7f5f0!important; background:#263c32!important; }

/* Equishelf storefront refresh: one calm design system across every view. */
:root {
  --paper: #f8f8f5;
  --paper-deep: #eff1eb;
  --ink: #23342d;
  --ink-soft: #526259;
  --muted: #7e8982;
  --line: #e2e6df;
  --green: #25473a;
  --green-mid: #668171;
  --orange: #bd6b4c;
  --gold: #aa8958;
  --white: #fffefa;
}

html { scroll-padding-top: 88px; }
body { overflow-x: hidden; color: var(--ink); background: var(--paper); }
button, input, select { font-family: var(--sans); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #89a995; outline-offset: 3px; }
.announcement { background: #213d32; }
.site-header { height: 72px; padding-inline: clamp(22px,5vw,76px); grid-template-columns: minmax(190px,1fr) auto minmax(230px,1fr); background: rgba(250,250,247,.97); border-bottom-color: var(--line); box-shadow: 0 4px 16px rgba(33,53,44,.035); backdrop-filter: blur(12px); }
.brand { gap: 9px; }
.brand-mark { border-radius: 10px; }
.brand-word { color: var(--ink); font-size: 22px; }
.brand-book { width: 35px; height: auto; }
.brand-tagline { color: #748078; border-left-color: #dfe3dc; font-size: 10px; }
.header-tools { gap: 11px; }
.search-box { width: min(310px,24vw); height: 42px; border-color: #e0e5de; border-radius: 12px; background: #fff; }
.search-box input { font-size: 12px; }
.icon-button { width: 42px; height: 42px; }
.cart-badge { background: #b85d42; }
.main-nav { gap: 2px; }
.main-nav .nav-link:nth-child(n) { min-width: 0!important; height: 42px; padding-inline: 12px; border: 1px solid transparent!important; border-radius: 11px!important; color: #56675d!important; background: transparent!important; box-shadow: none!important; font-size: 12px; font-weight: 600; }
.main-nav .nav-link:nth-child(n):hover { color: var(--green)!important; background: #f0f2ed!important; }
.main-nav .nav-link:nth-child(n).selected { border-color: #dfe6dc!important; color: var(--green)!important; background: #eaf0e8!important; box-shadow: none!important; transform: none!important; }
.nav-count { min-width: 17px; height: 17px; color: var(--green); background: #dfe9dc; box-shadow: none; }
.button { min-height: 46px; padding-inline: 18px; border-radius: 10px; font-size: 12px; }
.button-dark { background: var(--green); }
.button-quiet, .hero-actions .button-quiet { min-height: 46px; padding-inline: 16px; border: 1px solid #d9e0d8; border-radius: 10px; color: var(--green); background: #fff; }
.button-quiet:hover, .hero-actions .button-quiet:hover { color: #fff; background: var(--green); }
.page-content { width: min(1320px,calc(100% - 64px)); max-width: none; margin: 0 auto; padding: 0; }
.discover-layout { display: block; background: transparent; }
.discover-main { display: flex; flex-direction: column; min-width: 0; }
.hero { width: min(1480px,calc(100% - 48px)); min-height: clamp(430px,43vw,565px); grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); margin: 18px auto 34px; padding-inline: clamp(25px,5.5vw,84px); overflow: hidden; border: 1px solid #e9e4d8; border-radius: 26px; background: #f1ecdf; }
.hero-copy { padding: 42px 0 44px; }
.hero h1 { max-width: 600px; margin-top: 18px; font-size: clamp(46px,5vw,72px); }
.hero-copy > p { max-width: 470px; color: #5f6e65; font-size: 15px; line-height: 1.7; }
.hero-actions { flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-art { min-height: 100%; border-radius: 0; background-size: cover; }
.hero-douglass { opacity: .75; }
.hero-douglass-quotes { border: 1px solid rgba(81,94,78,.13); border-radius: 12px; box-shadow: 0 8px 24px rgba(42,54,43,.08); }
.list-note { min-height: 74px; margin: 0 0 28px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.list-note-icon { background: #edf2e9; color: #748969; }
.list-kicker { color: #788678; }
.list-note-copy strong { font-size: 17px; }
.list-note-link { min-height: 42px; padding-inline: 12px; border-radius: 9px; color: var(--green); background: #edf2e9; }
.featured-books-section { margin: 2px 0 38px; }
.featured-books-heading { margin-bottom: 17px; }
.featured-books-heading h2 { color: var(--ink); font-size: clamp(27px,3vw,36px); }
.featured-books-heading p { font-size: 12px; }
.featured-books-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.featured-books-grid .book-week-rail, .featured-book-card { min-height: 228px; grid-template-columns: 86px minmax(0,1fr); gap: 12px; padding: 15px; border-color: var(--line); border-radius: 16px; background: #fff; box-shadow: 0 5px 20px rgba(39,58,48,.035); }
.featured-books-grid .book-week-cover-link, .featured-book-card .book-week-cover-link { width: 86px; height: 130px; border-radius: 8px; background: #f0f1ec; }
.featured-books-grid .book-week-copy h3, .featured-book-copy h3 { color: var(--ink); font-size: 19px; }
.featured-book-author { font-size: 11px; }
.featured-books-grid .book-week-copy > p, .featured-book-copy > p { color: #66736b; font-size: 12px; line-height: 1.5; }
.featured-book-copy h3, .featured-books-grid .book-week-copy h3 { overflow-wrap: normal; }
.featured-book-card:nth-child(2) .featured-book-copy h3, .featured-book-card:nth-child(3) .featured-book-copy h3 { padding-top: 0; }
.featured-books-grid .book-week-price { gap: 8px; margin-top: auto; padding-top: 10px; }
.featured-books-grid .book-week-price strong { font-size: 17px; }
.book-week-add { min-height: 42px; padding-inline: 11px; border-radius: 9px; font-size: 11px; white-space: nowrap; }
.catalog-section { padding-bottom: 42px; background: transparent; scroll-margin-top: 92px; }
.catalog-section .section-heading { margin-bottom: 16px; }
.catalog-section h2 { color: var(--ink); font-size: clamp(28px,3.3vw,38px); }
.section-subtitle { color: #6e7b72; font-size: 13px; }
.source-caption { color: #64776b; font-size: 11px; }
.catalog-toolbar { min-height: 54px; margin-bottom: 18px; border-bottom-color: var(--line); }
.filter-tabs { gap: 22px; }
.filter-tab { font-size: 12px; }
.filter-tab.active::after { height: 3px; border-radius: 3px 3px 0 0; background: var(--green); }
.catalog-sort { color: #6f7c73; font-size: 11px; }
.catalog-sort select { min-height: 40px; border: 1px solid var(--line); border-radius: 9px; background-color: #fff; font-size: 11px; }
.book-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.book-card { display: flex; flex-direction: column; padding: 10px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 4px 17px rgba(39,58,48,.035); transition: border-color .18s,transform .18s,box-shadow .18s; }
.book-card:hover { border-color: #c8d5ca; box-shadow: 0 8px 22px rgba(39,58,48,.08); transform: translateY(-2px); }
.book-open { height: 218px; border-radius: 10px; background: #f1f2ee; }
.book-open .book-object { width: 128px; height: 188px; }
.book-card-copy { display: flex; flex: 1; flex-direction: column; padding: 12px 3px 2px; }
.book-eyebrow { min-height: 20px; margin-bottom: 4px; }
.category-pill { color: #64776a; font-size: 10px; }
.rank-label { color: #8a744d; font-size: 9px; }
.book-title-link { min-height: 42px; color: var(--ink); font-size: 16px; }
.book-author { margin-bottom: 12px; color: #727e76; font-size: 11px; }
.book-card-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin-top: auto; padding: 10px 0 0; border-top-color: var(--line); }
.book-price { font-size: 12px; }
.add-mini { min-height: 42px; padding-inline: 12px; border-radius: 9px; font-size: 11px; }
.card-reactions { margin-top: 9px; }
.reaction-chip { min-height: 30px; padding-inline: 9px; border-radius: 9px; font-size: 10px; }
.empty-results { grid-column: 1/-1; padding: 24px; border: 1px dashed #cbd7cc; border-radius: 16px; background: #fff; }
.pick-book-prompt { grid-template-columns:minmax(0,1fr) auto; margin: 0 0 38px; padding: 20px 22px; border-color: var(--line); border-radius: 16px; background: #f0f3ed; }
.pick-book-prompt h2 { color: var(--ink); font-size: 24px; }
.pick-book-prompt p { color: #66746a; font-size: 12px; }
.pick-book-cta { grid-column: 2; flex-direction: row; gap: 12px; }
.pick-book-prompt .pick-book-cta .button { min-height: 48px; margin: 0; padding: 0 17px; border: 1px solid #a6553e; border-radius: 10px; color: #fff; background: #ad5a41; font-size: 12px; font-weight: 700; }
.pick-book-cta .button::before { display: none; }
.pick-book-click-hint { color: #617267; font-weight: 600; }
.pick-book-click-hint span { color: var(--orange); font-size: 15px; }
.quote-book-showcase { grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr); gap: 24px; margin: 0 0 30px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.quote-book-showcase-copy h2 { color: var(--ink); font-size: clamp(24px,2.4vw,31px); }
.quote-book-showcase-copy p { color: #68776e; font-size: 12px; }
.quote-gallery { border-radius: 12px; }
.quote-gallery-arrow { width: 40px; height: 40px; border-radius: 10px; background: #f4f6f2; }
.shelf-invite { min-height: 145px; margin-bottom: 32px; padding: 22px 25px; border: 1px solid var(--line); border-radius: 18px; background: #eef2eb; }
.shelf-invite h2 { color: var(--ink); font-size: 26px; }
.shelf-invite p { font-size: 12px; }
.shelf-invite > .button { min-height: 46px; border-color: var(--green); border-radius: 10px; background: var(--green); box-shadow: none; }
.site-footer { min-height: 82px; flex-wrap: wrap; gap: 10px 18px; padding: 18px max(24px,calc((100vw - 1320px)/2)); background: #eff1ec; font-size: 11px; }
.footer-brand { font-size: 21px; }
.footer-links { gap: 16px; }
.footer-links button, .footer-links a { min-height: 38px; font-size: 11px; }
.footer-signup { border-radius: 0; background: #28473b; }
.interior-page { width: min(1320px,calc(100% - 64px)); max-width: none; margin-inline: auto; padding: 40px 0 64px; }
.interior-page h1 { color: var(--ink); }
.back-link { min-height: 42px; padding: 0 10px; border-radius: 9px; color: var(--green); font-size: 12px; }
.shelf-detail-heading { margin: 28px 0 24px; }
.shelf-grid, .collection-grid { gap: 16px; }
.shelf-card, .empty-liked, .empty-collection-cta { border-color: var(--line); border-radius: 16px; background: #fff; }
.financial-news-card { border-color: var(--line); border-radius: 15px; background: #fff; }
.financial-news-card h3 { color: var(--ink); font-size: 20px; }
.financial-news-card p { color: #65736b; font-size: 12px; line-height: 1.6; }
.financial-news-topic { border-radius: 6px; color: #516c5b; background: #eaf0e7; font-size: 9px; }
.financial-news-footer a { min-height: 40px; font-size: 11px; }
.news-page-grid { gap: 16px; }
.blog-card { overflow: hidden; border-color: var(--line); border-radius: 15px; background: #fff; }
.blog-card-copy h3 { color: var(--ink); }
.blog-article-layout { gap: clamp(24px,5vw,70px); }
.blog-purchase-card { border-color: var(--line); border-radius: 15px; background: #fff; }
.cart-drawer { z-index: 90; }
.drawer-scrim { z-index: 80; }
.cart-drawer, .checkout-review, .book-modal, .reader-signup-dialog, .newsletter-dialog { border-radius: 18px; }
.drawer-heading { align-items: flex-start; }
.commission-badge { min-height: 28px; color: #28372f; background: #f4efe4; border-color: #e8ddc8; font-size: 12px; }
.toast { z-index: 120; bottom: 26px; border-radius: 11px; background: #203d32; font-size: 13px; }
.pick-wheel-backdrop { z-index: 110; background: rgba(22,39,32,.78); backdrop-filter: blur(7px); }
.pick-wheel-backdrop::before { opacity: .16; }
.pick-wheel-dialog { width: min(740px,100%); border: 1px solid #dfe4dc; border-radius: 22px; background: #fbfbf8; box-shadow: 0 26px 80px rgba(10,22,17,.32); }
.pick-wheel-dialog h2 { color: #a84f3c; }
.pick-wheel-stage { border-color: #bd5144; border-radius: 50%; }
.pick-wheel-hub { background: var(--green); }
.pick-wheel-sound { min-height: 38px; font-size: 11px; }
.support-widget { z-index: 45; }

@media (max-width: 1080px) {
  .site-header { padding-inline: 24px; grid-template-columns: minmax(180px,1fr) auto minmax(190px,1fr); }
  .brand-tagline { display: none; }
  .hero { grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); }
  .hero-douglass-quotes { right: 8px; width: min(300px,34vw); }
  .page-content, .interior-page { width: calc(100% - 48px); }
  .book-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 108px; }
  body { padding-bottom: 18px; }
  .announcement { display: none; }
  .site-header { position: sticky; top: 0; z-index: 60; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 54px 44px; gap: 0 8px; width: 100%; height: 98px; min-height: 98px; padding: 0 14px; border-bottom: 1px solid var(--line); }
  .brand { gap: 7px; }
  .site-header > .brand { grid-column: 1; grid-row: 1; min-width: 0; }
  .brand-mark { width: 29px; height: 29px; border-radius: 9px; }
  .brand-word { font-size: 18px; }
  .brand-book { width: 28px; }
  .brand-tagline { display: none; }
  .header-tools { grid-column: 2; grid-row: 1; gap: 2px; }
  .header-tools .profile-button { display: inline-grid; }
  .icon-button { width: 40px; height: 40px; }
  .search-box { position: static; width: 40px; height: 40px; justify-content: center; padding: 0; border-color: transparent; border-radius: 10px; background: transparent; }
  .search-box input, .search-box kbd { display: none; }
  .search-box:focus-within, .search-box.expanded { position: fixed; z-index: 75; top: 106px; right: 12px; left: 12px; width: auto; height: 48px; justify-content: flex-start; padding: 0 12px; border-color: #d8e0d8; background: #fff; box-shadow: 0 12px 28px rgba(28,47,37,.16); }
  .search-box:focus-within input, .search-box.expanded input { display: block; font-size: 16px; }
  .main-nav { position: static; grid-column: 1 / -1; grid-row: 2; display: flex; justify-content: flex-start; gap: 2px; width: calc(100% + 28px); height: 44px; margin-left: -14px; padding: 0 8px 5px; overflow-x: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav .nav-link:nth-child(n) { display: inline-flex; flex: 0 0 auto; width: auto; min-width: 0!important; height: 36px; align-items: center; justify-content: center; padding: 0 8px; border: 1px solid transparent!important; border-radius: 9px!important; color: #66746a!important; background: transparent!important; font-size: 10px; font-weight: 600; line-height: 1.15; white-space: nowrap; text-align: center; }
  .main-nav .nav-link:nth-child(n).selected { color: #25473a!important; background: #eaf0e8!important; box-shadow: none!important; }
  .nav-count { min-width: 14px; height: 14px; margin-left: 2px; padding: 0 3px; color: #345142; background: #dce8d9; font-size: 8px; }
  .hero { display: flex; flex-direction: column; width: calc(100% - 20px); min-height: 0; margin: 10px auto 22px; padding: 0 0 4px; border-radius: 22px; }
  .hero-copy { width: 100%; padding: 25px 18px 0; }
  .eyebrow, .section-eyebrow { font-size: 9px; letter-spacing: .12em; }
  .hero h1 { margin: 13px 0 10px; font-size: clamp(40px,10.7vw,54px); line-height: 1.01; }
  .hero-copy > p { max-width: 440px; font-size: 14px; line-height: 1.58; }
  .hero-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; margin-top: 17px; }
  .hero-actions .button { min-width: 0; min-height: 46px; justify-content: center; padding: 0 9px; font-size: 11px; }
  .hero-inspiration, .hero-douglass-quotes, .hero-index, .hero-caption, .hero-seal, .hero-floor, .hero-douglass { display: none; }
  .hero-art { width: 100%; height: 190px; min-height: 190px; max-height: 190px; margin: 1px 0 0; overflow: hidden; transform: none; border-radius: 0 0 22px 22px; background-size: auto 100%; }
  .hero-sun { top: 5px; right: 18%; width: 205px; }
  .hero-stack { width: 455px; height: 250px; margin-top: 2px; transform: scale(.52); transform-origin: center top; }
  .hero-book { width: 172px; height: 264px; }
  .page-content, .interior-page { width: auto; max-width: none; margin-inline: 0; padding: 0 14px; }
  .discover-layout { display: block; }
  .discover-main { display: flex; flex-direction: column; min-width: 0; }
  .list-note { min-height: 0; gap: 10px; margin: 0 0 27px; padding: 12px; border-radius: 13px; }
  .list-note-icon { flex-basis: 36px; width: 36px; height: 36px; }
  .list-note-icon svg { width: 19px; }
  .list-note-copy { min-width: 0; gap: 2px; }
  .list-kicker { font-size: 8px; }
  .list-note-copy strong { font-size: 14px; line-height: 1.2; }
  .list-date { font-size: 10px; }
  .list-note-link { width: 38px; min-width: 38px; height: 38px; overflow: hidden; gap: 0; justify-content: center; padding: 0; font-size: 0; }
  .list-note-link svg { flex: 0 0 auto; }
  .featured-books-section { margin: 0 0 29px; }
  .featured-books-heading { margin-bottom: 13px; }
  .featured-books-heading h2 { margin: 6px 0 4px; font-size: 28px; line-height: 1.1; }
  .featured-books-heading p { color: #65736b; font-size: 12px; line-height: 1.45; }
  .featured-books-grid { grid-auto-flow: column; grid-auto-columns: minmax(265px,84%); grid-template-columns: none; gap: 12px; overflow-x: auto; margin-right: -14px; padding: 0 14px 11px 0; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .featured-books-grid .book-week-rail, .featured-book-card { min-height: 205px; grid-template-columns: 78px minmax(0,1fr); gap: 10px; padding: 12px; border-radius: 15px; scroll-snap-align: start; }
  .featured-books-grid .book-week-rail > .section-eyebrow, .featured-book-card > .section-eyebrow { font-size: 8px; }
  .featured-books-grid .book-week-cover-link, .featured-book-card .book-week-cover-link { width: 78px; height: 118px; border-radius: 8px; }
  .featured-books-grid .book-week-cover { width: 66px; height: 100px; }
  .featured-books-grid .book-week-copy h3, .featured-book-copy h3 { margin: 0 0 2px; font-size: 17px; line-height: 1.18; }
  .featured-book-author { margin-bottom: 5px; font-size: 10px; }
  .featured-books-grid .book-week-copy > p, .featured-book-copy > p { font-size: 11px; line-height: 1.42; }
  .featured-books-grid .book-week-price { grid-column: 1/-1; align-items: center; margin-top: 4px; padding-top: 8px; }
  .featured-books-grid .book-week-price strong { font-size: 15px; }
  .book-week-add { min-height: 42px; font-size: 10px; }
  .catalog-section { padding-bottom: 28px; scroll-margin-top: 108px; }
  .catalog-section .section-heading { align-items: flex-start; gap: 8px; margin-bottom: 12px; }
  .catalog-section h2 { margin: 6px 0 5px; font-size: 29px; line-height: 1.08; }
  .section-subtitle { font-size: 12px; line-height: 1.45; }
  .source-caption { max-width: 102px; flex: 0 0 auto; margin: 22px 0 0; font-size: 9px; line-height: 1.35; }
  .catalog-toolbar { display: flex; min-height: 0; flex-direction: column-reverse; align-items: stretch; gap: 8px; margin: 0 0 14px; padding-bottom: 9px; }
  .filter-tabs { height: 43px; gap: 19px; overflow-x: auto; scrollbar-width: none; }
  .filter-tabs::-webkit-scrollbar { display: none; }
  .filter-tab { flex: 0 0 auto; min-height: 42px; font-size: 11px; }
  .catalog-sort { min-height: 36px; justify-content: space-between; gap: 6px; font-size: 10px; }
  .catalog-sort select { min-height: 36px; padding: 4px 24px 4px 9px; font-size: 11px; }
  .result-count { white-space: normal; }
  .book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .book-card { min-width: 0; padding: 8px; border-radius: 13px; }
  .book-open { height: clamp(146px,48vw,190px); border-radius: 9px; }
  .book-open .book-object { width: clamp(88px,27vw,112px); height: clamp(130px,40vw,166px); }
  .book-card-copy { padding: 9px 2px 1px; }
  .book-eyebrow { min-height: 16px; gap: 3px; margin-bottom: 4px; }
  .category-pill { overflow: hidden; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
  .rank-label { font-size: 8px; white-space: nowrap; }
  .book-title-link { min-height: 40px; font-size: 14px; line-height: 1.22; }
  .book-author { margin: 3px 0 8px; font-size: 10px; }
  .book-card-bottom { align-items: stretch; flex-direction: column; gap: 7px; padding-top: 8px; }
  .book-price { font-size: 11px; }
  .add-mini { width: 100%; min-height: 42px; margin: 0; padding-inline: 6px; border-radius: 9px; font-size: 10px; }
  .card-reactions { gap: 4px; margin-top: 7px; }
  .reaction-chip { min-height: 31px; padding: 3px 6px; font-size: 9px; }
  .pick-book-prompt { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin: 0 0 27px; padding: 16px; border-radius: 14px; }
  .pick-book-prompt h2 { font-size: 21px; }
  .pick-book-prompt p { font-size: 11px; line-height: 1.45; }
  .pick-book-cta { display: flex; width: 100%; flex-direction: row-reverse; justify-content: space-between; gap: 8px; }
  .pick-book-click-hint { font-size: 10px; }
  .pick-book-click-hint span { font-size: 14px; }
  .pick-book-prompt .pick-book-cta .button { min-height: 48px; padding: 0 12px; border-radius: 10px; font-size: 11px; white-space: nowrap; }
  .quote-book-showcase { display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; padding: 15px; border-radius: 15px; }
  .quote-book-showcase-copy h2 { margin: 5px 0; font-size: 23px; }
  .quote-book-showcase-copy p { max-width: none; margin: 0; font-size: 11px; }
  .quote-gallery { width: 100%; aspect-ratio: 1.5 / 1; border-radius: 11px; }
  .quote-gallery-controls { gap: 7px; margin-top: 10px; }
  .quote-gallery-arrow { width: 38px; height: 38px; }
  .quote-gallery-note { font-size: 9px; }
  .shelf-invite { grid-template-columns: 48px minmax(0,1fr); gap: 10px; min-height: 0; margin: 0 0 24px; padding: 15px; border-radius: 15px; }
  .invite-art { width: 48px; height: 60px; transform: scale(.58); transform-origin: left center; }
  .shelf-invite h2 { margin-top: 4px; font-size: 19px; line-height: 1.15; }
  .shelf-invite p { margin-top: 5px; font-size: 11px; line-height: 1.4; }
  .shelf-invite > .button { grid-column: 2; width: 100%; min-height: 44px; margin-top: 1px; font-size: 11px; }
  .interior-page { padding: 23px 14px 36px; }
  .interior-page h1 { font-size: clamp(32px,9vw,46px); line-height: 1.06; }
  .utility-intro { margin: 25px 0 29px; }
  .utility-intro p, .about-lede { font-size: 14px; line-height: 1.6; }
  .blog-list-heading { align-items: flex-start; flex-direction: column; gap: 7px; margin: 20px 0 15px; }
  .blog-list-heading h2 { font-size: 24px; }
  .blog-list-heading > span { font-size: 11px; }
  .news-page-grid, .financial-news-grid { grid-template-columns: 1fr; gap: 12px; }
  .financial-news-card { padding: 12px; border-radius: 13px; }
  .financial-news-image { width: calc(100% + 24px); margin: -12px -12px 12px; aspect-ratio: 16/9; border-radius: 12px 12px 0 0; }
  .financial-news-meta { font-size: 10px; }
  .financial-news-topic { padding: 5px 7px; font-size: 9px; }
  .financial-news-card h3 { margin: 10px 0 6px; font-size: 19px; line-height: 1.25; }
  .financial-news-card p { font-size: 13px; }
  .financial-news-footer a { min-height: 42px; font-size: 11px; }
  .shelf-detail-heading { align-items: flex-start; gap: 12px; margin: 22px 0 19px; }
  .shelf-grid, .collection-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .shelf-card { padding: 12px; }
  .shelf-card h2 { font-size: 18px; }
  .book-page-layout { grid-template-columns: 1fr; gap: 22px; }
  .book-page-cover { min-height: 270px; }
  .book-page-book { width: 156px; height: 232px; }
  .book-page-copy h1 { margin: 9px 0; font-size: clamp(34px,9vw,48px); }
  .book-page-note, .book-page-description p { font-size: 14px; line-height: 1.65; }
  .book-page-buy { position: sticky; bottom: 77px; z-index: 4; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,252,.97); box-shadow: 0 8px 22px rgba(28,46,36,.11); }
  .book-page-buy .purchase-actions { gap: 8px; }
  .book-page-buy .purchase-quantity button, .book-page-buy .purchase-quantity input { height: 42px; }
  .book-page-buy .button { flex: 1; }
  .cart-drawer { top: 0; right: 0; bottom: 0; width: 100%; padding: max(18px,env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)); border-radius: 0; }
  .drawer-heading { padding-bottom: 13px; }
  .drawer-heading h2 { font-size: 25px; }
  .cart-commission-note { max-width: 270px; font-size: 10px; line-height: 1.4; }
  .cart-title-row { gap: 7px; }
  .cart-list { min-height: 0; }
  .cart-item { grid-template-columns: 58px minmax(0,1fr); gap: 11px; padding: 12px 0; }
  .cart-book { width: 52px; height: 77px; }
  .cart-item-title { font-size: 15px; }
  .cart-item-copy > span { font-size: 10px; }
  .cart-item-copy > strong { font-size: 11px; }
  .quantity-control { gap: 9px; font-size: 11px; }
  .quantity-control > button:not(.remove-cart) { width: 34px; height: 34px; }
  .remove-cart { min-height: 36px; padding-inline: 7px; font-size: 10px; }
  .cart-summary { padding-top: 12px; background: var(--paper); }
  .cart-summary > div { font-size: 13px; }
  .cart-summary > p { margin: 7px 0 10px; font-size: 10px; }
  .affiliate-small { font-size: 9px; }
  .checkout-review-backdrop { z-index: 100; padding: 0; }
  .checkout-review { width: 100%; height: 100dvh; max-height: 100dvh; padding: max(24px,env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom)); border-radius: 0; }
  .checkout-review > h2 { font-size: 33px; }
  .checkout-review-intro { font-size: 12px; }
  .checkout-review-copy h3 { font-size: 17px; }
  .checkout-review-copy > p { font-size: 11px; }
  .checkout-review-note { font-size: 10px; }
  .checkout-retailer-choice { min-height: 58px; flex-direction: row; gap: 7px; font-size: 10px; }
  .modal-backdrop { z-index: 100; padding: 0; }
  .book-modal { width: 100%; height: 100dvh; max-height: 100dvh; overflow-y: auto; padding: max(22px,env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom)); border-radius: 0; }
  .reader-signup-dialog, .newsletter-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; padding: 26px 18px; border-radius: 18px; }
  .pick-wheel-backdrop { z-index: 110; place-items: center; padding: 12px; }
  .pick-wheel-dialog { width: 100%; max-height: calc(100dvh - 24px); padding: 25px 15px 18px; border-radius: 18px; }
  .pick-wheel-dialog h2 { margin: 6px 0; font-size: clamp(25px,7vw,32px); }
  .pick-wheel-dialog > p { font-size: 11px; }
  .pick-wheel-stage { width: min(78vw,340px); height: min(78vw,340px); margin: 14px auto 9px; padding: 5px; }
  .pick-wheel { --cover-orbit: clamp(88px,29vw,126px); }
  .pick-wheel-cover { width: clamp(25px,7.3vw,33px); height: clamp(38px,11vw,50px); margin: calc(clamp(38px,11vw,50px) / -2) 0 0 calc(clamp(25px,7.3vw,33px) / -2); }
  .pick-wheel-result { padding: 7px 9px; font-size: 11px; }
  .pick-wheel-actions { gap: 8px; margin: 8px 0 3px; }
  .pick-wheel-actions .button { min-height: 44px; padding-inline: 12px; font-size: 11px; }
  .pick-wheel-dialog > small { font-size: 9px; line-height: 1.45; }
  .support-widget { display: none; }
  .toast { right: 14px; bottom: calc(18px + env(safe-area-inset-bottom)); left: 14px; max-width: 430px; margin-inline: auto; text-align: center; }
  .footer-signup { align-items: stretch; gap: 16px; padding: 22px 16px; }
  .footer-signup-form { width: 100%; grid-template-columns: minmax(0,1fr) auto; }
  .footer-signup-form input { min-height: 46px; font-size: 14px; }
  .footer-signup-form .button { min-height: 46px; }
  .site-footer { gap: 7px 13px; padding: 18px 16px calc(18px + env(safe-area-inset-bottom)); }
  .footer-links { gap: 5px 12px; padding-top: 9px; }
  .footer-links button, .footer-links a { min-height: 42px; font-size: 12px; }
  .footer-copyright { font-size: 9px; }
  #market-region { display: none!important; }
}

@media (max-width: 380px) {
  .header-tools { gap: 0; }
  .brand-word { font-size: 17px; }
  .brand-book { width: 24px; }
  .hero-actions { grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .book-grid { gap: 9px; }
  .book-card { padding: 7px; }
  .book-open { height: 144px; }
  .book-open .book-object { width: 88px; height: 130px; }
  .book-title-link { font-size: 13px; }
  .pick-book-cta { align-items: stretch; }
  .pick-book-prompt .pick-book-cta .button { padding-inline: 9px; font-size: 10px; }
  .footer-signup-form { grid-template-columns: 1fr; }
}

@media (min-width: 761px) {
  .support-widget { bottom: 20px; }
  .site-header { position: sticky; top: 0; }
  .discover-main > .list-note { order: 0; }
  .discover-main > .featured-books-section { order: 1; }
  .discover-main > .catalog-section { order: 2; }
  .discover-main > .pick-book-prompt { order: 3; }
  .discover-main > .quote-book-showcase { order: 4; }
  .discover-main > .shelf-invite { order: 5; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

/* Quiet orbital light: the familiar paper, forest and gold palette in motion. */
.hero { isolation: isolate; }
.hero-atmosphere { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
.hero-atmosphere::after { content: ''; position: absolute; inset: 0; opacity: .3; background-image: radial-gradient(#778c77 1px,transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(90deg,transparent 28%,#000); }
.ambient-glow { position: absolute; inset: -30%; background: radial-gradient(ellipse at 70% 38%,rgba(213,181,116,.4),transparent 45%),radial-gradient(ellipse at 48% 80%,rgba(115,158,139,.22),transparent 43%); animation: ambient-breathe 14s ease-in-out infinite alternate paused; }
.ambient-orbits { position: absolute; width: min(100%,1000px); height: 120%; right: -6%; top: -10%; transform: translate3d(var(--ambient-x,0px),var(--ambient-y,0px),0); transition: transform 1.2s ease-out; }
.orbit-slow, .orbit-reverse { transform-origin: 490px 300px; animation: ambient-orbit 64s linear infinite paused; }
.orbit-reverse { animation-duration: 90s; animation-direction: reverse; }
.ambient-visible .ambient-glow, .ambient-visible .orbit-slow, .ambient-visible .orbit-reverse { animation-play-state: running; }
.ambient-paused .ambient-glow, .ambient-paused .orbit-slow, .ambient-paused .orbit-reverse { animation-play-state: paused; }
.hero-art { z-index: 1; }
@keyframes ambient-orbit { to { transform: rotate(360deg); } }
@keyframes ambient-breathe { to { transform: translate3d(-3%,4%,0) scale(1.12); opacity: .65; } }

/* Keep the cover in normal document flow: short screens must scroll, never compress rows. */
.book-modal { align-items: start; align-content: start; }
.modal-copy, .book-page-copy { min-width: 0; overflow-wrap: anywhere; }
.modal-cover-stage { overflow: hidden; border-radius: 12px; }
.modal-cover-trigger { flex-shrink: 0; }
@media (max-width: 760px) {
  .ambient-orbits { width: 175%; max-width: none; right: -46%; top: 2%; height: 100%; opacity: .65; }
  .hero-atmosphere::after { background-size: 24px 24px; opacity: .18; }
  .modal-backdrop { padding: 0; }
  .book-modal { display: block; width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; overscroll-behavior: contain; scroll-padding-top: 24px; }
  .modal-cover-wrap { position: static; display: flex; flex: none; height: auto; min-height: 0; margin: 24px 0 28px; padding: 0; }
  .modal-cover-stage { width: 172px; height: 250px; min-height: 250px; flex: 0 0 auto; }
  .modal-cover-trigger .modal-book { position: relative; width: 146px; height: 220px; flex: none; transform: none; }
  .modal-copy { position: relative; width: 100%; padding: 0; }
  .modal-copy h2 { font-size: 30px; line-height: 1.1; }
  .modal-description { font-size: 15px; line-height: 1.7; }
  .modal-buy-row { flex-wrap: wrap; gap: 14px; }
  .modal-buy-row .purchase-actions { flex-wrap: wrap; gap: 10px; }
  .book-page-layout { display: flex; flex-direction: column; gap: 26px; }
  .book-page-cover { position: static; width: 100%; flex: none; min-height: 280px; padding: 24px; overflow: hidden; }
  .book-page-book { position: relative; flex: none; width: 156px; height: 232px; transform: none; }
  .book-page-copy { width: 100%; }
  .book-page-buy { position: static; margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-atmosphere *, .hero-atmosphere *::after { animation: none!important; transition: none!important; }
  .ambient-orbits { transform: none; }
}
@media (min-width: 761px) {
  .hero-index { position: absolute; bottom: 24px; right: 18px; padding: 0; }
}

/* Books is a focused catalog with the same card system as Discover. */
.books-page-heading { max-width: 680px; margin-bottom: 28px; }
.books-page-heading h1 { margin: 13px 0 12px; color: var(--green); font: 500 clamp(36px,4.2vw,57px)/1.05 var(--serif); letter-spacing: -.035em; }
.books-page-heading p { margin: 0; color: #65766b; font-size: 15px; line-height: 1.6; }
.books-category-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 34px; }
.books-category-tab { min-width: 0; padding: 20px; text-align: left; color: #496152; background: #f0f2eb; border: 1px solid #dce3d7; border-radius: 16px; cursor: pointer; transition: background .2s,border-color .2s; }
.books-category-tab > span:first-child { display: flex; align-items: center; gap: 10px; }
.books-category-tab strong { font-size: 17px; }
.books-category-tab small { margin-left: auto; font-size: 11px; font-weight: 600; }
.books-category-note { display: block; margin-top: 10px; color: inherit; opacity: .8; font-size: 12px; line-height: 1.5; }
.books-category-tab.active { color: #fffdf5; background: #284c3c; border-color: #284c3c; }
.books-category-tab:hover { border-color: #8ca38e; }
.books-category-tab:focus-visible { outline: 3px solid #b99151; outline-offset: 3px; }
.books-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.books-results-heading h2 { margin: 0 0 6px; color: var(--green); font: 500 32px/1.1 var(--serif); letter-spacing: -.025em; }
.books-sort { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #64746a; }
.books-sort select { max-width: 130px; min-height: 42px; padding: 0 12px; color: var(--green); background: #fff; border: 1px solid #dce3d7; border-radius: 9px; }
@media (max-width: 760px) {
  .books-page-heading { margin-bottom: 22px; }
  .books-page-heading h1 { max-width: 330px; font-size: clamp(34px,9vw,44px); }
  .books-page-heading p { font-size: 14px; }
  .books-category-tabs { gap: 9px; margin-bottom: 26px; }
  .books-category-tab { padding: 14px 11px; border-radius: 13px; }
  .books-category-tab > span:first-child { flex-wrap: wrap; gap: 7px; }
  .books-category-tab strong { font-size: 15px; }
  .books-category-tab small { flex-basis: 100%; margin: 3px 0 0; }
  .books-category-note { font-size: 11px; }
  .books-results-heading h2 { font-size: 27px; }
  .books-sort { flex-direction: column; align-items: flex-end; gap: 4px; font-size: 10px; }
}
/* The extra Books tab gets a second navigation row on tablet widths. */
@media (min-width: 761px) and (max-width: 1380px) {
  .brand-tagline { display: none; }
}
@media (min-width: 761px) and (max-width: 1040px) {
  .site-header { height: 112px; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 60px 46px; gap: 0 12px; padding-inline: 24px; }
  .site-header > .brand { grid-column: 1; grid-row: 1; }
  .header-tools { grid-column: 2; grid-row: 1; }
  .main-nav { grid-column: 1 / -1; grid-row: 2; justify-content: center; min-width: 0; overflow-x: auto; }
  .search-box { width: min(280px,35vw); }
}

/* A legible shopping header: large controls, persistent search, swipeable navigation. */
@media (max-width: 760px) {
  html { scroll-padding-top: 178px; }
  .site-header { height: 166px; min-height: 166px; padding: 0 12px; grid-template-columns: minmax(0,1fr) 46px 46px; grid-template-rows: 60px 50px 56px; gap: 0 6px; }
  .site-header > .brand { grid-column: 1; grid-row: 1; gap: 8px; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-word { font-size: 23px; }
  .brand-book { width: 29px; }
  .header-tools { display: contents; }
  .header-tools .profile-button { display: inline-grid; grid-column: 2; grid-row: 1; }
  .header-tools .cart-button { grid-column: 3; grid-row: 1; }
  .header-tools .icon-button { width: 46px; height: 46px; }
  .header-tools .icon-button > svg { width: 25px; height: 25px; }
  .cart-badge { top: 1px; right: 0; min-width: 19px; width: auto; height: 19px; padding-inline: 4px; font-size: 11px; }
  .search-box, .search-box:focus-within, .search-box.expanded { position: relative; inset: auto; z-index: auto; grid-column: 1 / -1; grid-row: 2; display: flex; width: 100%; height: 46px; justify-content: flex-start; gap: 3px; padding: 0 9px 0 0; border: 1px solid #bfcfc1; border-radius: 11px; background: #fff; box-shadow: none; }
  .search-box:focus-within { outline: 2px solid #76967d; outline-offset: 1px; }
  .search-box .search-trigger { flex: 0 0 44px; width: 44px; height: 44px; }
  .search-trigger svg { width: 23px; height: 23px; }
  .search-box input, .search-box:focus-within input, .search-box.expanded input { display: block; font-size: 16px; }
  .search-box kbd { display: none; }
  .main-nav { grid-column: 1 / -1; grid-row: 3; width: calc(100% + 24px); height: 56px; margin-left: -12px; padding: 5px 8px 3px; gap: 3px; border-top: 0; scroll-padding-inline: 8px; }
  .main-nav .nav-link:nth-child(n) { height: 46px; min-height: 46px; padding-inline: 14px; font-size: 15px; font-weight: 650; border-radius: 10px!important; }
  .nav-count { min-width: 18px; height: 18px; font-size: 11px; margin-left: 4px; }
}
/* Confirmation is local to the control; no scaling or color flash. */
.added-feedback, .book-week-add.added-feedback, .left-spotlight-add.added-feedback { animation: none; }

/* Equishelf: quiet editorial chrome, with clear shopping controls. */
.announcement { min-height: 32px; background: #203d32; }
.announcement-title { font-size: 14px; letter-spacing: .025em; }
.site-header { height: 84px; border-bottom: 1px solid #d8dfd2; background: rgba(250,250,245,.98); box-shadow: 0 8px 28px rgba(26,47,34,.045); }
.brand-mark { border: 1px solid #516c52; box-shadow: inset 0 0 0 3px #264c3c; border-radius: 11px; }
.brand-word { font-size: 24px; letter-spacing: -.045em; }
.brand-book { display: none; }
.main-nav { padding: 4px; border: 1px solid #e0e5db; border-radius: 16px; background: #f0f2eb; }
.main-nav .nav-link:nth-child(n) { padding-inline: 11px; border-radius: 11px!important; font-weight: 650; }
.main-nav .nav-link:nth-child(n) { -webkit-text-fill-color: currentColor!important; }
.main-nav .nav-link:nth-child(n).selected { border-color: #284b3a!important; color: #fffdf5!important; background: #284b3a!important; }
.main-nav .nav-link:nth-child(n).selected .nav-count { background: #e8d7a7; color: #263f30; }
.search-box { border-radius: 12px; border-color: #d6dfd0; background: #fff; }
.search-box:focus-within { outline: 2px solid #9fae8d; outline-offset: 2px; }
.card-reactions { display: grid; grid-template-columns: auto auto 36px; align-items: center; gap: 5px; }
.card-reactions .reaction-chip { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; height: 36px; padding: 0 6px; font-size: 11px; }
.card-reactions .quick-add { width: 36px; border-color: #294c3a; border-radius: 50%; background: #294c3a; color: #fffdf6; }
.card-reactions .quick-add:hover { background: #466851; transform: translateY(-1px); }
.quick-add:focus-visible { outline: 3px solid #bf9f60; outline-offset: 3px; }

/* A centered, non-blocking purchase confirmation. */
.bag-confirmation { position: fixed; z-index: 200; left: 50%; top: 50%; display: flex; align-items: center; flex-direction: column; gap: 10px; width: min(390px,calc(100vw - 36px)); padding: 30px 24px 25px; border: 1px solid #d2dcc8; border-radius: 26px; color: #274633; background: rgba(255,255,250,.98); box-shadow: 0 24px 90px rgba(24,48,32,.24),0 0 0 7px rgba(255,255,250,.25); text-align: center; pointer-events: none; opacity: 0; transform: translate(-50%,-50%) scale(.9); }
.bag-confirmation.visible { animation: bag-arrival 3.4s cubic-bezier(.2,.8,.2,1) both; }
.bag-confirmation-icon { position: relative; display: grid; place-items: center; width: 66px; height: 66px; margin-bottom: 5px; color: #315640; background: #eaf0e4; border: 1px solid #dae4d0; border-radius: 50%; }
.bag-confirmation-icon > span { position: absolute; right: -3px; bottom: 0; display: grid; place-items: center; width: 25px; height: 25px; border: 3px solid #fffffa; border-radius: 50%; background: #2e6545; color: #fff; font-size: 13px; }
.bag-confirmation-label { color: #8b7950; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.bag-confirmation > strong { font: 500 31px/1.1 var(--serif); letter-spacing: -.025em; }
.bag-confirmation-book { max-width: 100%; color: #4b6152; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.bag-confirmation-total { margin-top: 5px; padding-top: 13px; width: 100%; border-top: 1px solid #e6eadf; color: #7c8679; font-size: 12px; }
@keyframes bag-arrival { 0% { opacity: 0; transform: translate(-50%,-44%) scale(.9); } 10%,88% { opacity: 1; transform: translate(-50%,-50%) scale(1); } 100% { opacity: 0; transform: translate(-50%,-54%) scale(.97); } }

/* Reading-room detail dialog; cover and copy retain separate space. */
.modal-backdrop { z-index: 90; padding: 24px; background: rgba(21,39,30,.65); backdrop-filter: blur(9px); }
.book-modal { width: min(980px,100%); max-height: calc(100dvh - 48px); grid-template-columns: minmax(240px,.85fr) minmax(0,1.35fr); gap: 24px 36px; padding: 24px 32px 32px; border: 1px solid #dfe4d6; border-radius: 26px; background: #fffffa; box-shadow: 0 32px 100px rgba(10,30,18,.3); }
.book-modal-topbar { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid #e5e9dc; }
.book-modal-topbar > span { color: #899373; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.book-modal .modal-close { position: static; flex: 0 0 40px; width: 40px; height: 40px; color: #34523b; background: #edf1e6; }
.book-modal .modal-cover-wrap { min-width: 0; margin: 0; padding: 30px 20px; border: 1px solid #e0e5d4; border-radius: 22px; background: radial-gradient(ellipse at 30% 0%,#f4e9ce,transparent 65%),#edf1e5; }
.book-modal .modal-cover-stage { width: 220px; max-width: 100%; height: 324px; background: transparent; overflow: visible; }
.book-modal .modal-book { width: 198px; height: 298px; flex: none; }
.book-modal .modal-cover-hint { margin-top: 24px; font-size: 11px; }
.book-modal .modal-rank { padding: 8px 11px; border: 1px solid #d6dfc8; border-radius: 30px; color: #768263; font-size: 8px; }
.book-modal .modal-copy { align-self: start; padding-top: 6px; }
.book-modal .modal-copy > .section-eyebrow { color: #85906d; font-size: 9px; }
.book-modal .modal-copy h2 { margin: 14px 0 9px; font-size: clamp(32px,3.4vw,44px); line-height: 1.06; }
.modal-author { color: #6f7c6d; font-size: 13px; }
.book-modal .modal-note { margin: 18px 0 22px; color: #8e7041; font-size: 18px; line-height: 1.5; }
.book-modal .modal-description-block { padding: 22px 0 0; border: 0; border-top: 1px solid #e5e9dc; background: transparent; }
.book-modal .description-eyebrow { color: #879171; font-size: 9px; letter-spacing: .12em; }
.book-modal .modal-description { margin: 12px 0 19px; color: #546751; font-size: 14px; line-height: 1.85; }
.modal-buy-row { gap: 15px; flex-wrap: wrap; }
.modal-buy-row strong { font-size: 25px; }
.modal-buy-row .button { min-height: 44px; border-radius: 10px; }

/* Daily data stays inside a responsive provider chart. */
.daily-market { margin: 28px 0 48px; padding: 26px; border: 1px solid #dbe2d2; border-radius: 22px; background: #fffefa; box-shadow: 0 8px 30px rgba(29,52,33,.04); }
.daily-market-heading { display: flex; justify-content: space-between; align-items: start; gap: 24px; margin-bottom: 24px; }
.daily-market-heading h2 { margin: 10px 0 8px; color: #284832; font: 500 38px/1.08 var(--serif); letter-spacing: -.03em; }
.daily-market-heading p { max-width: 600px; margin: 0; color: #6d7e6b; font-size: 13px; line-height: 1.6; }
.market-range-pill { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #dde4d1; border-radius: 30px; color: #67775d; background: #f3f5eb; font-size: 9px; letter-spacing: .06em; }
.market-range-pill i { width: 6px; height: 6px; border-radius: 50%; background: #91a779; }
.daily-market-chart { position: relative; width: 100%; height: 390px!important; overflow: hidden; border: 1px solid #e7ebdf; border-radius: 13px; background: #fff; }
.daily-market-chart iframe { display: block; width: 100%!important; height: 100%!important; border: 0; }
.daily-market-status { position: absolute; z-index: 0; inset: 40% 16px auto; text-align: center; color: #859079; font-size: 13px; pointer-events: none; }
.daily-market-footnote { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; color: #85907d; font-size: 10px; line-height: 1.6; }
.daily-market-footnote p { margin: 0; }
.daily-market-footnote a { flex-shrink: 0; color: #58704c; text-underline-offset: 3px; }

/* A small catalog guide, with an intentional response and typing rhythm. */
.support-widget { z-index: 80; display: flex; }
.support-launch { min-height: 50px; padding-right: 18px; border-color: #466947; background: #274c38; font-size: 12px; }
.support-panel { width: min(390px,calc(100vw - 28px)); height: min(570px,calc(100dvh - 110px)); border: 1px solid #d8e1cb; border-radius: 22px; background: #fffefa; box-shadow: 0 24px 80px rgba(24,48,30,.2); }
.support-heading { min-height: 77px; padding: 0 17px; background: #eff3e6; }
.support-heading strong { font-size: 15px; }
.support-heading > div > span { font-size: 11px; }
.support-avatar { width: 40px; height: 40px; border-radius: 13px; font-size: 17px; }
.support-close { width: 40px; height: 40px; }
.support-messages { gap: 14px; padding: 18px 16px; }
.support-message { font-size: 13px; line-height: 1.7; padding: 12px 14px; border-radius: 16px 16px 16px 4px; color: #4b624a; background: #eff2e7; white-space: pre-wrap; overflow-wrap: anywhere; }
.support-message.user { border-radius: 16px 16px 4px 16px; background: #294d39; }
.support-prompts button { min-height: 36px; font-size: 11px; padding: 6px 10px; }
.support-form { border-radius: 13px; margin-inline: 14px; padding: 5px 5px 5px 12px; }
.support-form input { min-height: 38px; font-size: 14px; }
.support-form button { width: 40px; height: 40px; border-radius: 10px; }
.support-form button:disabled, .support-prompts button:disabled { opacity: .5; cursor: wait; }
.support-disclaimer { margin: 10px 17px 14px; color: #88917f; font-size: 10px; }
.thinking-dots { display: inline-flex; gap: 4px; margin-right: 10px; }
.thinking-dots i { width: 5px; height: 5px; border-radius: 50%; background: #78916a; animation: thinking-wave 1.2s ease-in-out infinite; }
.thinking-dots i:nth-child(2) { animation-delay: .15s; }
.thinking-dots i:nth-child(3) { animation-delay: .3s; }
.thinking-label { color: #8d987e; font-size: 11px; }
.typing-caret { display: inline-block; width: 2px; height: 13px; margin-left: 2px; vertical-align: middle; background: #839469; animation: caret-blink .8s steps(1) infinite; }
@keyframes thinking-wave { 0%,80%,100% { transform: translateY(0); opacity: .4; } 40% { transform: translateY(-4px); opacity: 1; } }
@keyframes caret-blink { 50% { opacity: 0; } }
@media (min-width: 761px) and (max-width: 1040px) { .site-header { height: 120px; grid-template-rows: 64px 50px; } }
@media (max-width: 760px) {
  .site-header { height: 166px; min-height: 166px; grid-template-rows: 60px 50px 56px; }
  .brand-word { font-size: 23px; }
  .main-nav { padding: 5px 8px 3px; border: 0; border-radius: 0; background: #eef1e6; }
  .main-nav .nav-link:nth-child(n) { padding-inline: 14px; font-size: 15px; }
  .search-box { border-radius: 11px; }
  .modal-backdrop { padding: 10px; }
  .book-modal { display: block; width: 100%; height: auto; max-height: calc(100dvh - 20px); padding: 16px 18px 26px; border-radius: 23px; }
  .book-modal-topbar { position: sticky; top: -16px; z-index: 5; padding: 8px 0 12px; background: #fffffa; }
  .book-modal-topbar > span { font-size: 8px; }
  .book-modal .modal-cover-wrap { margin: 20px 0 26px; padding: 24px 15px; }
  .book-modal .modal-cover-stage { width: 170px; height: 232px; min-height: 232px; }
  .book-modal .modal-book { width: 146px; height: 220px; }
  .book-modal .modal-copy h2 { font-size: 34px; }
  .book-modal .modal-description { font-size: 15px; line-height: 1.8; }
  .daily-market { margin: 24px 0 36px; padding: 17px 13px; border-radius: 18px; }
  .daily-market-heading { flex-direction: column; gap: 16px; margin-bottom: 20px; }
  .daily-market-heading h2 { font-size: 32px; }
  .daily-market-chart { height: 370px!important; }
  .daily-market-footnote { flex-direction: column; align-items: start; gap: 6px; }
  .support-widget { display: flex; right: 12px; bottom: max(12px,env(safe-area-inset-bottom)); }
  .support-panel { height: min(570px,calc(100dvh - 100px)); }
  .support-form input { font-size: 16px; }
  body { padding-bottom: 80px; }
  .no-scroll .support-widget { visibility: hidden; pointer-events: none; }
}
@media (max-width: 380px) {
  .card-reactions { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) 32px; gap: 4px; }
  .card-reactions .reaction-chip { padding: 0 3px; font-size: 10px; gap: 2px; }
  .card-reactions .reaction-chip svg { width: 12px; }
  .card-reactions .quick-add { width: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .bag-confirmation.visible { animation: none!important; opacity: 1; transform: translate(-50%,-50%); }
  .thinking-dots i, .typing-caret { animation: none!important; }
}
.main-nav { align-self: center; height: 52px; }
.news-page > .back-link { margin-bottom: 24px; }
.news-intro { padding: 0; margin: 0 0 24px; }
.news-intro h1 { margin: 12px 0; font-size: clamp(34px,3.6vw,48px); line-height: 1.08; }
.news-intro p { margin: 0; }
@media (max-width: 760px) { .main-nav { height: 56px; } }
/* Exact-edition retailer snapshots. Keep each store and its difference together. */
.book-modal .book-modal-topbar { position: sticky; top: -24px; z-index: 5; padding-top: 12px; background: #fffffa; }
.book-modal .modal-cover-wrap { position: sticky; top: 66px; }
.store-comparison { min-width: 0; margin: 22px 0 12px; padding: 18px; border: 1px solid #dce4d6; border-radius: 18px; color: #263c32; background: #f6f8f1; }
.store-comparison:focus-visible { outline: 3px solid #82995e; outline-offset: 4px; }
.store-comparison-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.store-comparison-heading .section-eyebrow { font-size: 8px; line-height: 1.4; letter-spacing: .1em; color: #667559; }
.store-comparison-heading h3 { margin: 5px 0 0; color: #263c32; font: 500 23px/1.2 var(--serif); }
.store-comparison-copies { flex: none; padding: 7px 9px; border: 1px solid #dce4d6; border-radius: 30px; font-size: 10px; font-weight: 600; background: #fffffb; }
.store-comparison-edition { margin: 10px 0 15px; color: #61715e; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.store-comparison-rows { display: grid; gap: 8px; }
.store-price-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 12px; padding: 13px; border: 1px solid #e0e5d9; border-radius: 12px; background: #fffffc; }
.store-price-row.store-price-lowest { border-color: #a7bb8a; background: #eef4e5; }
.store-price-identity { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 12px; font-weight: 700; }
.store-price-identity .retailer-mark { width: 27px; height: 27px; flex: 0 0 27px; }
.store-price-amount { display: grid; justify-items: end; gap: 3px; text-align: right; font-variant-numeric: tabular-nums; }
.store-price-amount strong { color: #263c32; font-size: 18px; font-weight: 750; line-height: 1.2; white-space: nowrap; }
.store-price-amount span { color: #687360; font-size: 10px; line-height: 1.4; }
.store-price-amount strong.store-price-unavailable { color: #777c70; font-size: 12px; }
.store-price-difference { display: flex; align-items: center; gap: 4px; color: #6d684f; font-size: 10px; font-weight: 600; line-height: 1.5; }
.store-price-difference.is-lowest { color: #3c612f; }
.store-comparison a.store-price-visit { display: inline-flex; align-items: center; justify-content: flex-end; gap: 6px; min-height: 34px; padding: 0 2px; color: #32523a; font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.store-comparison a.store-price-visit:hover { color: #7c5328; }
.store-comparison-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: 12px; color: #596953; font-size: 9px; line-height: 1.6; }
.store-comparison-note { margin: 8px 0 0; color: #75806d; font-size: 10px; line-height: 1.6; }
.compare-prices-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 38px; margin: 5px 0 8px; padding: 0; border: 0; border-top: 1px solid #e6e8dd; color: #4b6845; background: transparent; font: 600 11px/1.4 var(--sans); text-align: left; cursor: pointer; }
.compare-prices-link:hover { color: #8e6338; }
.checkout-review-copy .store-comparison { margin-top: 14px; }
.checkout-review-item > .store-comparison { grid-column: 1 / -1; margin: 0 0 8px; }
.blog-purchase-card .store-comparison { padding: 13px; }
@media (max-width: 760px) {
  .book-modal .modal-cover-wrap { position: static; }
  .book-modal .book-modal-topbar { top: -20px; }
}
@media (max-width: 600px) {
  .store-comparison { padding: 14px; border-radius: 15px; }
  .store-comparison-heading { align-items: flex-start; gap: 8px; }
  .store-comparison-heading h3 { font-size: 22px; }
  .store-comparison-copies { font-size: 9px; padding: 7px 8px; }
  .store-comparison-edition { font-size: 11px; }
  .store-price-row { gap: 6px 10px; padding: 12px; }
  .store-price-identity { font-size: 12px; }
  .store-price-amount strong { font-size: 19px; }
  .store-price-amount strong.store-price-unavailable { white-space: normal; max-width: 108px; }
  .store-price-difference { font-size: 11px; }
  .store-comparison a.store-price-visit { min-height: 44px; font-size: 12px; }
  .store-comparison-note { font-size: 11px; }
  .store-comparison-foot { font-size: 10px; }
  .compare-prices-link { min-height: 44px; font-size: 12px; }
  .checkout-review-item { grid-template-columns: 46px minmax(0,1fr); }
  .checkout-review-item .store-comparison { grid-column: 1 / -1; }
}
.is-in-bag[data-add-cart] { border-color: #a4b98f; color: #314d32; background: #e1ebd6; }
.is-in-bag[data-add-cart]:hover { border-color: #7f9b67; color: #233c23; background: #d4e2c5; }
.quick-add.is-in-bag { color: #fff; background: #4d6b40; }
.books-category-tabs { grid-template-columns: repeat(4,minmax(0,1fr)); }
.books-category-tab[data-books-category="AI"]:not(.active) { color: #405f64; background: #edf3f2; border-color: #d5e2de; }
.books-category-tab[data-books-category="AI"].active { color: #fff; background: #36575a; border-color: #36575a; }
.blog-editorial-mark { display: grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 50%; color: #fff8e8; background: #35533e; font: 600 10px/1 var(--sans); }
.journal-date { display: inline-block; color: #77836f; font: 500 11px/1.5 var(--sans); }
.blog-article-header > .journal-date { display: block; margin-top: 12px; }
.blog-meta { flex-wrap: wrap; }
.blog-meta .journal-date { font-size: 10px; }
.journal-sources { margin-top: 34px; padding: 24px; border: 1px solid #dce4d3; border-radius: 15px; background: #f4f6ed; }
.blog-article-body .journal-sources h2 { margin-top: 9px; font-size: 25px; }
.journal-sources ol { display: grid; gap: 17px; margin: 17px 0 0; padding-left: 20px; }
.journal-sources li { padding-left: 4px; color: #6c7b62; font-size: 12px; line-height: 1.7; }
.journal-sources a, .journal-citation { color: #365e3e; text-decoration: underline; text-underline-offset: 3px; }
.journal-sources li > span { display: block; margin-top: 4px; color: #7a826d; font-size: 11px; }
.journal-citation { font-size: .85em; font-weight: 700; white-space: nowrap; }
@media (max-width: 760px) {
  .books-category-tabs { gap: 8px; }
  .books-category-tab { padding: 14px 10px; }
  .books-category-tab strong { font-size: 14px; }
  .books-category-tab small { font-size: 10px; }
  .books-category-tab svg { width: 19px; height: 19px; }
  .books-category-note { font-size: 10px; line-height: 1.5; }
  .journal-sources { padding: 20px 17px; }
}
.site-header .profile-button { background-color: #ffdfad; }
.site-header .profile-button:hover { background-color: #f6d19a; }
.site-header .profile-button:focus-visible { outline: 3px solid #6c813f; outline-offset: 3px; }

/* A moving edge light leaves the amber face and reader icon easy to see. */
.site-header .profile-button { isolation: isolate; overflow: visible; }
.site-header .profile-button::before, .site-header .profile-button::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; pointer-events: none; }
.site-header .profile-button::before { border: 1px solid #be995c80; box-shadow: 0 0 9px #d5ad5b24; }
.site-header .profile-button::after { border: 2px solid transparent; border-top-color: #ffe9a4; border-right-color: #c19343; filter: drop-shadow(0 0 3px #c89a4770); animation: reader-edge-light 7s linear infinite; }
.site-header .profile-button > svg { position: relative; z-index: 1; }
.site-header .profile-button:hover::after, .site-header .profile-button:focus-visible::after { animation-play-state: paused; }
@keyframes reader-edge-light { to { transform: rotate(360deg); } }

.about-card h3 { margin: 26px 0 10px; color: #294738; font: 600 17px/1.4 var(--sans); }
.about-card p { color: #586b5e; font-size: 14px; line-height: 1.8; }
.about-card .about-transparency { padding: 16px 18px; border-left: 3px solid #ba9659; border-radius: 0 9px 9px 0; background: #e9ede2; }
.about-transparency strong { color: #2d4838; }
.footer-links { align-items: center; flex-wrap: wrap; }
.footer-links .footer-support { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 84px; width: 84px; height: 84px; min-height: 84px; padding: 8px; border: 1px solid #caa76b; border-radius: 50%; color: #254535; background: #f5dfb7; box-shadow: 0 5px 16px #2947380d; font: 700 17px/1.1 var(--sans); text-decoration: none; transition: background .18s, border-color .18s; }
.footer-links .footer-support:hover { color: #203d2f; background: #ecd09c; border-color: #aa8345; }
.footer-links .footer-support:focus-visible { outline: 3px solid #557349; outline-offset: 4px; }
@media (max-width: 760px) {
  .about-card h3 { font-size: 16px; }
  .about-card p { font-size: 14px; }
  .about-card .about-transparency { padding: 14px; }
  .footer-links .footer-support { flex-basis: 80px; width: 80px; height: 80px; min-height: 80px; font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .profile-button::after { animation: none; transform: rotate(-35deg); filter: none; }
  .footer-links .footer-support { transition: none; }
}

/* Equishelf identity: shelf-shaped E with a rising gold page. */
.brand .brand-mark { flex: 0 0 38px; width: 38px; height: 38px; background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.brand-mark > img { display: block; width: 100%; height: 100%; }
.brand-lockup { display: grid; gap: 3px; }
.brand-lockup .brand-word { font-family: Georgia, serif; font-size: 27px; line-height: 1; letter-spacing: -.045em; color: #203f35; }
.brand-meaning { font: 600 8px/1.2 var(--sans); letter-spacing: .24em; color: #7b775b; }
.brand .brand-tagline { font-size: 10px; }
.equishelf-inline-mark { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.footer-brand { display: inline-flex; align-items: center; gap: 9px; }
.footer-brand > img { width: 30px; height: 30px; }
.contact-mark .equishelf-inline-mark { width: 52px; height: 52px; }
.cart-drawer .cart-commission-note { font-size: 11px; line-height: 1.55; }
.cart-drawer .cart-summary .cart-commission-explainer { color: #5b6c60; font-size: 11px; line-height: 1.6; margin: 10px 0 14px; }
.cart-commission-explainer > strong { display: block; color: #294738; margin-bottom: 3px; }
.bag-price-comparison { grid-column: 1 / -1; min-width: 0; padding: 12px; border: 1px solid #dde4d7; background: #f0f3eb; border-radius: 12px; }
.bag-price-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 7px; }
.bag-price-heading > strong { font-size: 11px; color: #284637; }
.bag-price-heading > span { font-size: 10px; color: #687563; }
.bag-price-row { display: grid; grid-template-columns: minmax(0,1.1fr) auto minmax(0,1fr); align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid #dde4d7; min-height: 40px; font-size: 11px; }
.bag-price-row:last-child { border-bottom: 0; }
.bag-price-row > span { font-weight: 500; }
.bag-price-row > strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.bag-price-row > small { text-align: right; font-size: 9px; color: #677363; }
.bag-price-row.lowest > small { color: #365b31; font-weight: 700; }
.bag-price-row:hover { color: #172f25; background: #e7eddf; }
.bag-price-row:focus-visible { outline: 2px solid #7b9364; outline-offset: 2px; border-radius: 4px; }
.bag-price-comparison > p { font-size: 9px; color: #6e7869; line-height: 1.6; margin: 9px 0 0; }
@media (max-width: 760px) {
  .brand-lockup .brand-word { font-size: 25px; }
  .brand-meaning { font-size: 7px; letter-spacing: .22em; }
  .brand .brand-mark { flex-basis: 35px; width: 35px; height: 35px; }
  .cart-drawer .cart-summary .cart-commission-explainer { font-size: 11px; }
  .cart-drawer .drawer-heading { padding-bottom: 12px; }
}

/* Support page uses the storefront palette and one-column phone layout. */
.donation-page { max-width: 1240px; margin: auto; }
.donation-story h1, .donation-card h2, .donation-preview-section > h2, .donation-letter-body h3 { font-family: var(--serif); font-weight: 500; }
.donation-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 78px); align-items: center; padding: 28px 0 56px; }
.donation-story h1 { font-size: clamp(42px, 4.8vw, 66px); line-height: 1.07; letter-spacing: -.04em; margin: 22px 0; }
.donation-story h1 em { color: #b96842; font-weight: inherit; }
.donation-story > p { max-width: 560px; line-height: 1.8; color: #5d6d62; font-size: 15px; }
.donation-story .donation-lead { font-size: 20px; color: #263e32; }
.donation-values { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.donation-values > span { display: grid; gap: 9px; padding: 18px 0; border-top: 1px solid #d7dfd2; }
.donation-values svg { color: #738260; }
.donation-values strong { font-size: 13px; }
.donation-values small { color: #667464; line-height: 1.5; }
.donation-card { padding: clamp(22px, 3vw, 38px); border: 1px solid #d5dfd1; border-radius: 24px; background: #fffef9; box-shadow: 0 16px 48px #21382c0a; }
.donation-test-badge { display: inline-block; background: #f7e7bc; color: #5b471d; border-radius: 6px; padding: 8px 10px; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.donation-card h2 { font-size: clamp(28px, 3vw, 38px); margin: 22px 0 12px; line-height: 1.2; }
.donation-test-notice { font-size: 14px; line-height: 1.7; color: #5b655a; margin-bottom: 28px; }
.donation-amount-label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 12px; }
.donation-amounts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.donation-amounts button { min-height: 54px; padding: 12px 6px; background: #f8f9f4; border: 1px solid #d5decf; border-radius: 10px; color: #284536; font-size: 17px; font-weight: 700; cursor: pointer; }
.donation-amounts button:last-child { font-size: 12px; }
.donation-amounts button[aria-pressed="true"] { background: #284c39; border-color: #284c39; color: #fff; }
.donation-amounts button:focus-visible, .donation-checkout:focus-visible { outline: 3px solid #bf9656; outline-offset: 3px; }
.donation-amount-help { min-height: 18px; font-size: 12px; color: #6b766a; margin: 12px 0 24px; }
.donation-card .donation-checkout { display: flex; justify-content: center; width: 100%; min-height: 54px; text-align: center; font-size: 14px; text-decoration: none; }
.donation-checkout-note { color: #687466; line-height: 1.7; font-size: 12px; margin-top: 16px; }
.donation-email-note { border-top: 1px solid #e1e5da; padding-top: 16px; margin-top: 18px; font-size: 12px; line-height: 1.6; color: #5c6a5e; }
.donation-preview-section { border-top: 1px solid #dbe2d5; padding-top: 38px; }
.donation-preview-section > h2 { font-size: 34px; margin: 14px 0; }
.donation-preview-section > p { color: #6a7668; font-size: 14px; line-height: 1.7; }
.donation-previews { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; margin-top: 24px; }
.donation-letter { background: #fffef9; border: 1px solid #d9e1d4; border-radius: 14px; }
.donation-letter summary { min-height: 64px; padding: 22px; cursor: pointer; font-size: 14px; font-weight: 700; }
.donation-letter summary > span { float: right; font-size: 20px; line-height: 1; }
.donation-letter[open] summary > span { transform: rotate(45deg); }
.donation-letter-body { padding: 2px 26px 26px; }
.donation-preview-label { font-size: 9px; font-weight: 700; letter-spacing: .1em; color: #85723e; }
.donation-letter-body h3 { font-size: 26px; line-height: 1.3; margin: 20px 0; }
.donation-letter-body p { font-size: 14px; line-height: 1.8; color: #62705f; }
.donation-signature { padding-top: 8px; }
.donation-contact { margin: 32px 0; font-size: 13px; color: #677364; line-height: 1.8; overflow-wrap: anywhere; }
.donation-contact a { color: #284c39; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .donation-layout { grid-template-columns: 1fr; gap: 26px; padding: 20px 0 36px; }
  .donation-story h1 { font-size: clamp(38px, 10vw, 54px); }
  .donation-story > p { font-size: 14px; }
  .donation-values { margin-top: 20px; gap: 14px; }
  .donation-card { border-radius: 18px; }
  .donation-previews { grid-template-columns: 1fr; }
  .donation-preview-section > h2 { font-size: 30px; }
  .donation-letter summary { padding: 20px 16px; font-size: 13px; }
  .donation-letter-body { padding: 0 20px 20px; }
}
/* Author background stays in the reading flow on every screen. */
.author-bios { min-width: 0; margin: 0 0 22px; padding: 21px; border: 1px solid #dce4d6; border-radius: 18px; color: #294c3c; background: #f5f6ee; }
.author-bios .author-bios-heading { margin: 0 0 17px; color: #294c3c; font: 500 23px/1.2 var(--serif); letter-spacing: -.02em; }
.author-bios-list { display: grid; gap: 18px; min-width: 0; }
.author-bio { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 12px; min-width: 0; }
.author-bio + .author-bio { padding-top: 18px; border-top: 1px solid #dce4d6; }
.author-bio-initials { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d5dfcf; border-radius: 50%; color: #49664e; background: #e8eedf; font: 600 11px/1 var(--sans); letter-spacing: .03em; }
.author-bio-copy { min-width: 0; overflow-wrap: anywhere; }
.author-bios .author-bio h4 { margin: 0 0 7px; color: #294c3c; font: 650 14px/1.5 var(--sans); }
.author-bios .author-bio p { margin: 0; color: #526651; font: 400 14px/1.75 var(--sans); }
.author-bios .author-bio-source { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; margin-top: 7px; color: #365d43; font: 600 12px/1.5 var(--sans); text-decoration: underline; text-underline-offset: 3px; }
.author-bios .author-bio-source:hover { color: #7b5c2f; }
.author-bios .author-bio-source:focus-visible { outline: 2px solid #7d976c; outline-offset: 4px; border-radius: 3px; }
@media (max-width: 600px) {
  .author-bios { padding: 16px 14px; border-radius: 15px; }
  .author-bios .author-bios-heading { font-size: 22px; }
  .author-bio { grid-template-columns: 32px minmax(0,1fr); gap: 10px; }
  .author-bio-initials { width: 32px; height: 32px; font-size: 10px; }
  .author-bios .author-bio-source { min-height: 44px; }
}


/* Equishelf cover browsing and the reading-list invitation. */
.books-page-heading h1 em { color: #a87943; font-weight: inherit; }
.books-display-tools { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex-wrap: wrap; }
.books-layout-toggle { display: inline-flex; padding: 4px; gap: 3px; border: 1px solid #d9e1d5; border-radius: 12px; background: #eef1e9; }
.books-layout-toggle button { min-height: 40px; padding: 0 15px; border: 0; border-radius: 8px; background: transparent; color: #566d5d; font: 650 12px var(--sans); cursor: pointer; }
.books-layout-toggle button[aria-pressed="true"] { background: #244c3c; color: #fffdf5; }
.books-layout-toggle button:focus-visible, .slideshow-arrow:focus-visible, .slideshow-play:focus-visible, .books-slide-title:focus-visible, .slideshow-description:focus-visible, .books-slide-cover:focus-visible, .newsletter-display-book:focus-visible { outline: 3px solid #b38b48; outline-offset: 4px; }
.books-slideshow-container { min-width: 0; }
.books-slideshow { overflow: hidden; border: 1px solid #dae1d5; border-radius: 24px; background: radial-gradient(ellipse at 50% 0, #f8f6ec, transparent 75%), #edf1e8; }
.books-slideshow-intro { padding: 26px 28px 6px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.books-slideshow-intro h3 { margin: 8px 0 6px; color: #244c3c; font: 500 29px/1.15 var(--serif); letter-spacing: -.025em; }
.books-slideshow-intro p { margin: 0; color: #607363; font-size: 13px; line-height: 1.6; }
.slideshow-category { flex-shrink: 0; border: 1px solid #cfd9c7; border-radius: 30px; padding: 8px 12px; color: #48624e; font-size: 11px; }
.books-slide-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(174px, calc((100% - 88px) / 5)); gap: 22px; overflow-x: auto; padding: 26px 28px 30px; scroll-snap-type: x mandatory; scroll-padding-inline: 28px; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #aebca4 #e4e9dd; }
.books-slide-track:focus-visible { outline: 2px solid #b38b48; outline-offset: -4px; }
.books-cover-slide { min-width: 0; scroll-snap-align: start; scroll-snap-stop: normal; }
.books-slide-cover { width: 100%; height: 270px; position: relative; display: grid; place-items: center; padding: 14px 6px 25px; border: 1px solid #dce3d7; border-radius: 14px; background: rgba(255,254,248,.68); cursor: pointer; }
.books-slide-cover::before { content: ""; width: 78%; height: 20px; position: absolute; bottom: 18px; border-radius: 50%; background: #8a9c7c; opacity: .16; filter: blur(12px); }
.books-slide-cover .slideshow-book { width: 148px; height: 218px; transform: rotate(-2deg); filter: drop-shadow(7px 12px 8px rgba(36,62,45,.18)); }
.books-cover-slide:nth-child(even) .slideshow-book { transform: rotate(2deg); }
.books-slide-cover:hover .slideshow-book, .books-slide-cover:focus-visible .slideshow-book { transform: translateY(-5px) rotate(0); }
.slideshow-cover-cue { position: absolute; bottom: 10px; left: 9px; right: 9px; display: flex; align-items: center; justify-content: center; gap: 7px; color: #34563e; font-size: 10px; font-weight: 600; }
.books-slide-copy { padding: 17px 2px 0; }
.slideshow-book-category { display: block; margin-bottom: 8px; color: #6e806a; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.books-slide-title { display: block; padding: 0; border: 0; background: none; color: #244c3c; text-align: left; font: 500 20px/1.15 var(--serif); cursor: pointer; overflow-wrap: anywhere; }
.books-slide-title:hover { color: #946e37; }
.books-slide-copy > p { margin: 8px 0 12px; color: #596f5d; font-size: 12px; line-height: 1.5; }
.slideshow-description { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0; border: 0; background: none; color: #244c3c; font-size: 11px; font-weight: 650; cursor: pointer; }
.books-slideshow-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 17px 28px; border-top: 1px solid #d8e0d0; background: rgba(255,254,248,.65); }
.slideshow-controls { display: inline-flex; align-items: center; gap: 10px; }
.slideshow-arrow { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; padding: 0; border: 1px solid #ccd7c4; border-radius: 50%; background: #fafbf6; color: #244c3c; cursor: pointer; }
.slideshow-arrow[data-book-slide-step="-1"] svg { transform: rotate(180deg); }
.slideshow-arrow:hover:not(:disabled) { color: #fff; background: #244c3c; border-color: #244c3c; }
.slideshow-arrow:disabled { opacity: .36; cursor: default; }
.slideshow-position { min-width: 81px; color: #48614c; font-size: 12px; text-align: center; font-variant-numeric: tabular-nums; }
.slideshow-play { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid #ccd7c4; border-radius: 24px; padding: 0 15px; background: #f6f8f1; color: #34583f; font-size: 11px; font-weight: 650; cursor: pointer; }
.slideshow-play:hover { background: #e1e9d8; }
.slideshow-help { margin-left: auto; color: #6b7c65; font-size: 10px; }

.newsletter-dialog { width: min(920px, 100%); border: 1px solid rgba(226,233,213,.8); border-radius: 23px; grid-template-columns: minmax(300px, 1fr) minmax(0, 1.1fr); max-height: calc(100dvh - 32px); }
.newsletter-copy { padding: 46px 36px 35px; }
.newsletter-copy h2 { font-size: 39px; }
.newsletter-copy > p, .newsletter-lede { font-size: 13px; }
.newsletter-form label { font-size: 12px; }
.newsletter-input-wrap input, .newsletter-input-wrap .button { min-height: 48px; font-size: 12px; }
.newsletter-privacy { font-size: 10px; }
.newsletter-close { z-index: 20; width: 40px; height: 40px; }
.newsletter-library { min-height: 510px; isolation: isolate; background: radial-gradient(circle at 48% 37%, rgba(180,157,97,.35), transparent 53%), linear-gradient(150deg, #315b49, #173a2b); }
.newsletter-library::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .15; background: url("/assets/library-ambient.svg") center/cover no-repeat; }
.newsletter-library-wall { position: absolute; z-index: -1; inset: -72px -20px -20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 34px 20px; opacity: .12; transform: rotate(-12deg) scale(1.1); filter: blur(1px); }
.newsletter-wall-book { width: 100%; height: 178px; }
.newsletter-library-halo { position: absolute; z-index: -1; width: 330px; height: 330px; top: 70px; left: 50%; transform: translateX(-50%); border: 1px solid rgba(237,222,173,.23); border-radius: 50%; box-shadow: 0 0 0 25px rgba(237,222,173,.04), 0 0 0 65px rgba(237,222,173,.03); }
.newsletter-feature-badge { position: absolute; top: 25px; left: 25px; z-index: 8; display: flex; align-items: center; gap: 10px; padding: 9px 12px; border: 1px solid rgba(226,207,155,.42); border-radius: 10px; background: #173d2e; color: #f4e7bf; }
.newsletter-feature-badge strong { font: 500 23px/1 var(--serif); }
.newsletter-feature-badge span { max-width: 74px; font-size: 8px; line-height: 1.45; font-weight: 650; letter-spacing: .13em; }
.newsletter-cover-display { position: absolute; inset: 92px 24px 133px; }
.newsletter-display-book { position: absolute; display: block; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; }
.newsletter-main-book { z-index: 5; top: 12px; left: 50%; transform: translateX(-50%) rotate(-3deg); }
.newsletter-main-book .newsletter-cover { width: 168px; height: 244px; filter: drop-shadow(8px 15px 12px rgba(0,0,0,.33)); }
.newsletter-main-book > span { display: inline-flex; align-items: center; gap: 6px; margin-top: 13px; color: #fcf4d8; white-space: nowrap; font-size: 9px; font-weight: 600; }
.newsletter-companion { z-index: 2; top: 57px; }
.newsletter-companion .newsletter-cover { width: 119px; height: 178px; }
.newsletter-companion.first { left: -6px; transform: rotate(-15deg); }
.newsletter-companion.last { right: -5px; transform: rotate(13deg); }
.newsletter-display-book:hover .book-object, .newsletter-display-book:focus-visible .book-object { transform: translateY(-6px); }
.newsletter-feature-caption { position: absolute; z-index: 6; left: 20px; right: 20px; bottom: 37px; text-align: center; color: #faf2d7; }
.newsletter-feature-caption > span { display: block; margin-bottom: 9px; color: #c6d3bd; font-size: 8px; letter-spacing: .18em; font-weight: 650; }
.newsletter-feature-caption strong { display: block; font: 500 25px/1.15 var(--serif); }
.newsletter-feature-caption p { margin: 7px 0 0; font-size: 11px; color: #d1ddc9; }
.newsletter-library-plinth { position: absolute; left: 24px; right: 24px; bottom: 126px; height: 13px; border-top: 1px solid #e6d29f; background: #b89960; box-shadow: 0 12px 18px rgba(10,27,18,.22); }
@media (max-width: 1100px) {
  .books-slide-track { grid-auto-columns: minmax(175px, calc((100% - 44px) / 3)); }
  .slideshow-help { display: none; }
}
@media (max-width: 760px) {
  .books-results-heading { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
  .books-display-tools { width: 100%; justify-content: space-between; gap: 12px; }
  .books-slideshow { border-radius: 19px; }
  .books-slideshow-intro { padding: 22px 18px 0; }
  .books-slideshow-intro h3 { font-size: 25px; }
  .books-slideshow-intro p { font-size: 12px; max-width: 240px; }
  .slideshow-category { display: none; }
  .books-slide-track { grid-auto-columns: minmax(157px, 43%); gap: 16px; padding: 24px 18px; scroll-padding-inline: 18px; }
  .books-slide-cover { height: 234px; }
  .books-slide-cover .slideshow-book { width: 130px; height: 188px; }
  .books-slide-title { font-size: 19px; }
  .books-slide-copy > p { font-size: 11px; }
  .books-slideshow-footer { padding: 14px 18px; gap: 12px; justify-content: space-between; }
  .slideshow-controls { gap: 4px; }
  .slideshow-position { min-width: 70px; font-size: 11px; }
  .slideshow-play { padding: 0 11px; font-size: 10px; }
}
@media (max-width: 680px) {
  .newsletter-dialog { width: min(470px, 100%); grid-template-columns: 1fr; max-height: calc(100dvh - 24px); border-radius: 19px; }
  .newsletter-library { min-height: 282px; }
  .newsletter-library-wall { inset: -110px 0 -60px; gap: 16px 26px; opacity: .09; }
  .newsletter-library-halo { top: 15px; width: 260px; height: 260px; }
  .newsletter-feature-badge { left: 16px; top: 14px; padding: 6px 9px; gap: 7px; }
  .newsletter-feature-badge strong { font-size: 20px; }
  .newsletter-feature-badge span { font-size: 7px; max-width: 70px; }
  .newsletter-cover-display { inset: 50px 40px 60px; }
  .newsletter-main-book { top: 4px; }
  .newsletter-main-book .newsletter-cover { width: 112px; height: 164px; }
  .newsletter-main-book > span { display: none; }
  .newsletter-companion { top: 32px; }
  .newsletter-companion .newsletter-cover { width: 91px; height: 133px; }
  .newsletter-companion.first { left: 11%; }
  .newsletter-companion.last { right: 11%; }
  .newsletter-library-plinth { bottom: 55px; left: 32px; right: 32px; height: 9px; }
  .newsletter-feature-caption { bottom: 11px; }
  .newsletter-feature-caption > span { display: none; }
  .newsletter-feature-caption strong { font-size: 19px; }
  .newsletter-feature-caption p { font-size: 9px; margin-top: 3px; }
  .newsletter-copy { padding: 27px 25px 25px; }
  .newsletter-copy .section-eyebrow { margin-bottom: 12px; }
  .newsletter-copy h2 { font-size: 33px; }
  .newsletter-copy > p, .newsletter-lede { margin: 12px 0 16px; font-size: 12px; }
  .newsletter-later { min-height: 40px; margin-top: 8px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .books-slide-track { scroll-behavior: auto; }
  .books-slide-cover .slideshow-book, .newsletter-display-book .book-object { transition: none; }
  .books-slide-cover:hover .slideshow-book, .newsletter-display-book:hover .book-object { transform: none; }
}

/* Equishelf editorial selections are separate from visitor ratings. */
.editorial-book-rating { display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px; margin:9px 0 13px; }
.editorial-rating-stars { color:#91691d; font-size:16px; line-height:1; letter-spacing:1px; white-space:nowrap; }
.editorial-rating-caption { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px; color:#485d50; line-height:1.5; }
.editorial-rating-caption strong { font-size:11px; font-weight:700; }
.editorial-rating-caption small { font-size:10px; }
.books-slide-copy .editorial-book-rating { margin:10px 0 13px; }
.modal-copy > .editorial-book-rating, .book-page-copy > .editorial-book-rating { margin:11px 0 17px; }
.terms-page { max-width:900px; }
.terms-intro { max-width:790px; }
.terms-intro time { display:block; margin-top:18px; color:#596e60; font-size:12px; }
.terms-at-a-glance { padding:22px 25px; margin:0 0 28px; border:1px solid #dce4d8; border-radius:16px; background:#eef2e9; }
.terms-at-a-glance p { margin:9px 0 14px; color:#244435; font-size:16px; line-height:1.6; }
.terms-at-a-glance a { display:inline-flex; align-items:center; gap:9px; color:#244435; font-size:13px; font-weight:600; }
.terms-sections { display:grid; gap:0; max-width:790px; }
.terms-section { padding:27px 0; border-top:1px solid #dde3d9; }
.terms-section h2 { margin:0 0 13px; color:#244435; font:500 clamp(23px,3vw,29px)/1.2 var(--serif); letter-spacing:-.02em; }
.terms-section p { margin:10px 0 0; color:#485d50; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.terms-contact { margin-top:18px; }
.terms-page a:focus-visible { outline:2px solid #91691d; outline-offset:5px; border-radius:3px; }
@media(max-width:590px) {
 .editorial-rating-stars { font-size:15px; }
 .terms-intro { margin-top:20px; }
 .terms-at-a-glance { padding:19px; border-radius:13px; }
 .terms-section { padding:23px 0; }
 .terms-section p { font-size:14px; line-height:1.8; }
}

/* Footer annotations: semantic targets, matte book-inspired Support artwork. */
.footer-links .footer-support { position:relative; isolation:isolate; overflow:hidden; padding:5px; border-color:#b99a5d; background:#f4e8cb; transition:border-color .18s, box-shadow .18s; }
.support-bubble-art { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.support-bubble-art svg { display:block; width:100%; height:100%; transition:transform .25s ease; }
.support-bubble-label { position:relative; padding:6px 3px; border-radius:20px; background:#fff9e9ec; color:#244435; font-size:16px; line-height:1.2; }
.footer-links .footer-support:hover { background:#f4e8cb; border-color:#8e794b; box-shadow:0 5px 18px #29473820; }
.footer-support:hover .support-bubble-art svg { transform:rotate(5deg) scale(1.03); }
@media(max-width:760px) {
 .footer-links { display:grid; grid-template-columns:84px minmax(0,1fr) minmax(0,1.2fr); align-items:center; gap:6px 12px; width:100%; }
 .footer-links > button, .footer-links > a:not(.footer-support) { display:inline-flex; align-items:center; justify-content:flex-start; min-width:0; min-height:44px; text-align:left; line-height:1.4; }
 .footer-links .footer-terms { grid-column:1 / -1; margin-top:25px; padding:0 49px 11px 10px; height:auto; min-height:44px; }
 .footer-links .footer-support { grid-column:1; margin-top:2px; }
 .footer-links .footer-nyt { align-self:start; padding-top:0; padding-right:clamp(0px,calc(100vw - 360px),75px); margin-bottom:-26px; white-space:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .support-bubble-art svg { transition:none; } .footer-support:hover .support-bubble-art svg { transform:none; } }


/* Explicit reading-list consent and private email preference controls. */
.email-signup-form { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:11px; }
.email-signup-form .email-address-label { margin:0; font-size:12px; line-height:1.4; font-weight:600; }
.email-signup-entry { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.email-signup-entry input[type="email"] { display:block; width:100%; min-width:0; min-height:48px; padding:11px 13px; border:1px solid #cbd4c7; border-radius:8px; background:#fffefa; color:#244435; font:14px var(--sans); }
.email-signup-entry .button { min-height:48px; width:100%; }
.email-signup-form .email-choice { display:flex; align-items:flex-start; gap:10px; margin:0; padding:4px 0; color:#405c4d; font-size:12px; line-height:1.6; font-weight:400; cursor:pointer; }
.email-signup-form .email-choice input[type="checkbox"] { flex:0 0 19px; display:block; width:19px; height:19px; min-height:19px; margin:2px 0 0; padding:0; accent-color:#2b5140; cursor:pointer; }
.email-choice span { min-width:0; }
.email-choice small { display:block; font-size:11px; line-height:1.55; }
.email-signup-note { margin:0; color:#53695c; font-size:11px; line-height:1.65; }
.email-signup-note a, .email-preferences-link { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.email-form-status { min-height:1.5em; margin:0; color:#365b46; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.email-form-status.is-error, .email-preference-status.is-error { color:#9a392f; }
.email-signup-form[aria-busy="true"] .button { cursor:wait; }
.email-signup-form input:disabled { opacity:.7; }
.email-signup-form a:focus-visible, .email-signup-form input:focus-visible, .email-preferences-page a:focus-visible, .email-preference-actions button:focus-visible { outline:3px solid #b48a40; outline-offset:3px; }
.email-signup-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.newsletter-success .email-preferences-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin:0 0 12px; color:#244435; font-size:12px; }
.newsletter-copy { padding-top:34px; padding-bottom:27px; }
.newsletter-copy > p { margin-bottom:18px; }
.footer-signup { align-items:center; }
.footer-signup .email-signup-form { flex:0 1 440px; width:100%; max-width:440px; gap:8px; }
.footer-signup .email-signup-entry { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.footer-signup .email-signup-entry .button { width:auto; padding-inline:16px; }
.footer-signup .email-address-label, .footer-signup .email-choice, .footer-signup .email-signup-note, .footer-signup .email-form-status { color:#f2f5e9; }
.footer-signup .email-choice { font-size:11px; }
.footer-signup .email-choice small { color:#d8e3d8; font-size:10px; }
.footer-signup .email-choice input[type="checkbox"] { accent-color:#d5af66; }
.footer-signup .email-signup-note { font-size:10px; }
.footer-signup .email-form-status.is-error { color:#ffe1b5; }
.footer-signup-success > div { max-width:600px; }
.footer-signup-success p { font-size:12px; line-height:1.7; }
.footer-signup-success .email-preferences-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-top:9px; color:#f3e2b3; font-size:12px; }
.email-preference-card { padding:clamp(22px,4vw,36px); border:1px solid #d7dfd2; border-radius:20px; background:#f0f3eb; }
.email-preference-card h2 { margin:0 0 12px; color:#244435; font:500 29px/1.2 var(--serif); }
.email-preference-card p { color:#486052; font-size:14px; line-height:1.8; }
.email-preference-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 14px; }
.email-preference-actions .button { min-height:48px; }
.email-preference-status { min-height:1.8em; margin:18px 0; }
.email-preference-card .email-preference-help { padding-top:20px; border-top:1px solid #d7dfd2; font-size:12px; overflow-wrap:anywhere; }
.email-preference-help a { color:#244435; text-decoration:underline; text-underline-offset:3px; }
.email-preference-card > .text-button { min-height:44px; }
@media(max-width:1000px) and (min-width:761px) {
 .footer-signup { flex-wrap:wrap; }
 .footer-signup > div { flex:1 1 350px; }
 .footer-signup .email-signup-form { flex:1 1 100%; max-width:660px; }
}
@media(max-width:760px) {
 .footer-signup .email-signup-form { flex:auto; max-width:520px; }
 .footer-links .footer-privacy { grid-column:1; }
 .footer-links .footer-email-preferences { grid-column:2 / -1; }
 .email-preference-actions { flex-direction:column; }
 .email-preference-actions .button { width:100%; }
}
@media(max-width:500px) {
 .footer-signup .email-signup-entry { grid-template-columns:minmax(0,1fr); }
 .footer-signup .email-signup-entry .button { width:100%; }
 .email-signup-form .email-choice { font-size:12px; }
 .email-signup-form .email-choice input[type="checkbox"] { flex-basis:20px; width:20px; height:20px; }
 .newsletter-copy { padding:25px 23px 22px; }
 .newsletter-copy h2 { font-size:32px; }
 .email-preference-card { border-radius:15px; }
}

/* Balanced footer and mobile quick navigation. */
.site-footer > .footer-brand { order: 0; }
.site-footer > span:nth-child(2) { order: 1; }
.site-footer > .footer-copyright { order: 2; margin-left: auto; }
.site-footer .footer-links {
  order: 3;
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  flex: 1 1 100%;
  width: 100%;
  margin: 0;
  padding: 12px 0 0;
  border-top: 1px solid #d8dfd2;
}
.footer-links > button,
.footer-links > a:not(.footer-support) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 7px 4px;
  text-align: center;
  line-height: 1.35;
}
.footer-links .footer-terms,
.footer-links .footer-nyt,
.footer-links .footer-privacy,
.footer-links .footer-email-preferences {
  grid-column: auto;
  align-self: center;
  margin: 0;
  padding: 7px 4px;
  height: auto;
  white-space: normal;
}
.footer-links .footer-support {
  grid-column: auto;
  justify-self: center;
  align-self: center;
  margin: 0;
}
.mobile-bottom-nav { display: none; }
@media (max-width: 1100px) {
  .site-footer .footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .site-footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 8px; }
  .footer-links .footer-email-preferences { grid-column: 1 / -1; }
  .site-footer { padding-bottom: 30px; }
  .mobile-bottom-nav {
    position: fixed;
    z-index: 75;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: calc(72px + env(safe-area-inset-bottom));
    padding: 7px max(4px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-right));
    border-top: 1px solid #d9ddd5;
    background: #f6f5ef;
    box-shadow: 0 -8px 24px rgba(32, 61, 50, .08);
  }
  .mobile-bottom-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    min-height: 56px;
    padding: 4px 1px;
    border: 0;
    border-radius: 12px;
    color: #52615a;
    background: transparent;
    font: 600 clamp(10px, 2.8vw, 13px)/1.1 var(--sans);
    cursor: pointer;
  }
  .mobile-bottom-link svg { width: 25px; height: 25px; }
  .mobile-bottom-link.is-active { color: #213d31; background: #e6ede3; }
  .mobile-bottom-link:focus-visible { outline: 2px solid #a77a37; outline-offset: -2px; }
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .support-widget { bottom: calc(84px + env(safe-area-inset-bottom)); }
  .support-panel { max-height: calc(100dvh - 192px); }
  .no-scroll .mobile-bottom-nav { visibility: hidden; pointer-events: none; }
}

/* Keep the four Books filters readable on narrow screens. */
@media (max-width: 760px) {
  .books-category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Reveal the sticky navigation on upward scrolling while keeping layout stable. */
.site-header { transition: transform 240ms ease; }
.header-hidden .site-header:not(:focus-within) {
  transform: translateY(calc(-100% - 4px));
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .site-header { transition: none; }
}

/* Keep mobile branding and search visible; reveal only the navigation row. */
@media (max-width: 760px) {
  html { scroll-padding-top: 120px; }
  .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    height: 110px;
    min-height: 110px;
    grid-template-rows: 60px 50px;
  }
  .header-hidden .site-header:not(:focus-within) {
    transform: none;
    pointer-events: auto;
  }
  .site-header .main-nav {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    height: 56px;
    margin: 0;
    padding: 5px 8px 3px;
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
    box-shadow: 0 10px 20px rgba(28, 47, 37, .12);
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .mobile-nav-visible .site-header .main-nav,
  .site-header .main-nav:focus-within {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}
@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .site-header .main-nav { transition: none; }
}

/* Immediate catalog matches beside the search field. */
.search-box { position: relative; z-index: 3; }
.search-results {
  position: absolute;
  z-index: 90;
  top: calc(100% + 8px);
  right: 0;
  width: min(420px, calc(100vw - 24px));
  max-height: min(460px, 65dvh);
  overflow-y: auto;
  padding: 10px;
  border: 1px solid #d7dfd2;
  border-radius: 15px;
  background: #fffefa;
  box-shadow: 0 20px 48px rgba(27, 49, 37, .2);
}
.search-results[hidden] { display: none; }
.search-results-heading { display: flex; justify-content: space-between; gap: 12px; padding: 5px 7px 10px; color: #47614f; font-size: 11px; }
.search-results-heading span { color: #7d8d80; }
.search-result { display: flex; align-items: center; gap: 11px; width: 100%; min-height: 62px; padding: 6px; border: 0; border-top: 1px solid #e9ece5; color: #244333; background: transparent; text-align: left; cursor: pointer; }
.search-result:hover, .search-result:focus-visible { outline: none; border-radius: 9px; background: #eef3ea; }
.search-result-cover { display: grid; flex: 0 0 38px; width: 38px; height: 50px; place-items: center; overflow: hidden; border-radius: 3px; color: #f7f3e8; background: #49624c; font: 600 13px var(--serif); }
.search-result-cover img { width: 100%; height: 100%; object-fit: cover; }
.search-result-copy { display: grid; gap: 3px; flex: 1; min-width: 0; }
.search-result-copy strong { overflow: hidden; font: 500 15px/1.2 var(--serif); text-overflow: ellipsis; white-space: nowrap; }
.search-result-copy small { overflow: hidden; color: #78877b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.search-results-empty { margin: 5px 7px 9px; color: #68786d; font-size: 12px; line-height: 1.5; }
.search-results-all { width: 100%; min-height: 42px; margin-top: 6px; border: 0; border-radius: 9px; color: #f8f7f1; background: #274c38; font: 600 11px var(--sans); cursor: pointer; }
@media (max-width: 760px) {
  .search-box, .search-box:focus-within, .search-box.expanded { z-index: 3; }
  .search-results { right: 0; left: 0; width: 100%; max-height: min(420px, 55dvh); }
  .support-launch { width: 54px; height: 54px; min-height: 54px; justify-content: center; gap: 0; padding: 0; border-radius: 50%; }
  .support-launch-icon { width: 34px; height: 34px; background: transparent; }
  .support-launch > span:last-child { display: none; }
  .site-header .profile-button { width: 36px; height: 36px; justify-self: center; transition: none; }
  .site-header .profile-button > svg { width: 19px; height: 19px; }
  .site-header .profile-button::before, .site-header .profile-button::after { content: none; }
}

/* The reader's own shelves have an arched, walnut-and-brass bookcase treatment. */
.personal-shelf-display { perspective: 740px; transform-style: preserve-3d; }
.personal-shelf-display .shelf-backboard { left: 6%; right: 6%; top: 3px; border: 7px solid #765636; border-bottom: 0; border-radius: 48% 48% 3px 3px / 23% 23% 3px 3px; background: radial-gradient(ellipse at 50% 12%, #a7865d, #60472f 75%), repeating-linear-gradient(90deg, transparent 0 14px, rgba(26,16,9,.13) 15px 16px); box-shadow: inset 0 0 0 2px #c5a86c, inset 0 22px 45px rgba(17,10,5,.55), 0 10px 20px rgba(35,23,13,.22); }
.personal-shelf-display .shelf-backboard::before, .personal-shelf-display .shelf-backboard::after { top: 38%; width: 2px; height: 42%; background: linear-gradient(#d2b77d, #937343); box-shadow: 0 0 4px rgba(255,227,166,.35); }
.personal-shelf-display .shelf-backboard::before { left: 24%; }
.personal-shelf-display .shelf-backboard::after { right: 24%; }
.personal-shelf-display .shelf-plank { left: 4%; right: 4%; border: 1px solid #5c3d20; border-top: 3px solid #d2b779; border-radius: 3px; background: repeating-linear-gradient(90deg, transparent 0 29px, rgba(37,20,8,.1) 30px 31px), linear-gradient(#9c7141, #55371f); box-shadow: 0 8px 0 #422914, 0 12px 18px rgba(32,18,8,.4); transform: rotateX(24deg); transform-origin: top; }
.personal-shelf-display .shelf-book-row { transform: translateZ(17px); }
.personal-shelf-display .shelf-book-wrap { transform: rotateY(-9deg); transform-origin: left bottom; transition: transform .35s ease, filter .35s ease; filter: drop-shadow(5px 5px 3px rgba(20,11,5,.3)); }
.shelf-card-open:hover .personal-shelf-display .shelf-book-wrap, .shelf-card-open:focus-visible .personal-shelf-display .shelf-book-wrap { transform: translateY(-5px) rotateY(0deg); }
.shelf-card { background: linear-gradient(145deg, #fbf9f2, #e8e0d1); box-shadow: 0 13px 28px rgba(47,37,23,.09); }
.shelf-card::before { content: "✦"; position: absolute; top: 12px; left: 50%; color: #b0955b; font-size: 13px; transform: translateX(-50%); pointer-events: none; }
.shelf-card-open { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { .personal-shelf-display .shelf-book-wrap { transition: none; } }

.savings-section { margin: 46px 0 52px; padding: clamp(20px, 3vw, 38px); border: 1px solid #d8dfd4; border-radius: 24px; background: linear-gradient(140deg, #f5f5ee, #eaf0e9); }
.savings-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 24px; }
.savings-heading h2 { margin: 7px 0; color: #203e32; font: 500 clamp(28px, 3vw, 42px)/1.12 var(--serif); }
.savings-heading p { max-width: 690px; margin: 0; color: #5b7063; font-size: 13px; line-height: 1.6; }
.savings-heading > a { flex: 0 0 auto; padding: 12px 16px; border: 1px solid #c5d1c2; border-radius: 999px; color: #244a35; background: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
.savings-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.savings-bank { display: flex; flex-direction: column; min-width: 0; min-height: 260px; padding: 17px; border: 1px solid #d7ddce; border-radius: 16px; color: #213d31; background: #fffefb; box-shadow: 0 7px 18px rgba(33,56,37,.05); text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.savings-bank:hover, .savings-bank:focus-visible { transform: translateY(-4px); box-shadow: 0 14px 25px rgba(33,56,37,.13); outline: 2px solid #a4bea5; outline-offset: 2px; }
.savings-card-top { display: flex; justify-content: space-between; gap: 8px; color: #8a9c8d; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.savings-kind { color: #8c6b31; }
.savings-brand { display: flex; align-items: center; gap: 10px; margin: 15px 0 10px; }
.savings-logo { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; overflow: hidden; border: 1px solid #e2e8dc; border-radius: 11px; background: #f6f9f3; }
.savings-logo img { width: 27px; height: 27px; object-fit: contain; }
.savings-brand strong { display: block; font: 600 17px/1.1 var(--serif); }
.savings-brand small { display: block; margin-top: 4px; color: #758678; font-size: 10px; }
.savings-apy { display: flex; align-items: baseline; gap: 6px; padding: 7px 0; border-top: 1px solid #ecf0e9; }
.savings-apy strong { font: 600 34px/1 var(--serif); letter-spacing: -.045em; }
.savings-apy span { color: #6f806e; font-size: 11px; font-weight: 700; }
.savings-bank > p { flex: 1; margin: 4px 0 14px; color: #566c5c; font-size: 10px; line-height: 1.55; }
.savings-link { color: #315943; font-size: 10px; font-weight: 700; }
.savings-disclaimer { margin: 17px 0 0; color: #657768; font-size: 11px; line-height: 1.6; }
@media (max-width: 1100px) { .savings-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .savings-heading { display: block; } .savings-heading > a { display: inline-block; margin-top: 16px; } .savings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .savings-bank { min-height: 245px; padding: 12px; } .savings-brand strong { font-size: 15px; } .savings-apy strong { font-size: 27px; } }
@media (max-width: 420px) { .savings-grid { grid-template-columns: 1fr; } .savings-bank { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .savings-bank { transition: none; } }
