:root { --ink:#1b1b18; --paper:#fbfaf6; --muted:#6d6a61; --line:#ded9ca; --gold:#bd9819; --gold-deep:#826712; --wash:#f3eee0; --card:#fffdf8; --shadow:0 14px 35px rgba(32,27,12,.09); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font-size:16px; line-height:1.6; }
a { color:inherit; text-decoration-color:var(--gold); text-underline-offset:.17em; }
a:hover { color:var(--gold-deep); }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3 { margin:0 0:.55em; font-family: Georgia, "Times New Roman", serif; line-height:1.08; letter-spacing:-.025em; }
h1 { font-size:clamp(2.35rem,5vw,4.8rem); max-width:16ch; }
h2 { font-size:clamp(1.65rem,3vw,2.5rem); }
h3 { font-size:1.25rem; }
p { margin:.25em 0 1em; }
main { width:min(1160px,calc(100% - 2.25rem)); margin:0 auto; padding:3.5rem 0 5rem; }
.site-header { border-bottom:1px solid var(--line); background:rgba(251,250,246,.94); }
.site-header__inner,.site-footer__inner { width:min(1160px,calc(100% - 2.25rem)); margin:0 auto; display:flex; justify-content:space-between; gap:1.5rem; align-items:center; }
.site-header__inner { min-height:5rem; }
.site-brand { display:flex; align-items:center; gap:.7rem; font-size:1.05rem; text-decoration:none; }
.site-brand img { width:2.7rem; height:2.7rem; object-fit:cover; border-radius:50%; }
.site-brand strong { color:var(--gold-deep); }
nav { display:flex; flex-wrap:wrap; gap:.35rem 1.1rem; }
nav a { text-decoration:none; font-weight:650; }
.site-footer { border-top:1px solid var(--line); color:var(--muted); padding:2rem 0; }
.site-footer p { margin:0; }
.eyebrow,.meta,.purchase-note { color:var(--muted); font-size:.83rem; letter-spacing:.08em; text-transform:uppercase; font-weight:750; }
.purchase-options { display:flex; flex-wrap:wrap; gap:.75rem; }
.meta { text-transform:none; letter-spacing:0; font-weight:500; }
.button { display:inline-block; background:var(--ink); color:#fff; padding:.72rem 1rem; border:1px solid var(--ink); border-radius:.25rem; text-decoration:none; font-weight:700; cursor:pointer; }
.button:hover { color:#fff; background:var(--gold-deep); border-color:var(--gold-deep); }
.button--quiet { color:var(--ink); background:transparent; }
.button--quiet:hover { color:var(--ink); background:var(--wash); border-color:var(--gold); }
.text-link { font-weight:750; }
.hero { position:relative; min-height:33rem; display:flex; align-items:center; overflow:hidden; padding:clamp(3rem,7vw,6rem); background:#edf2f7; isolation:isolate; }
.hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(237,242,247,.98) 0%,rgba(237,242,247,.93) 42%,rgba(237,242,247,.2) 68%,rgba(237,242,247,0) 100%); }
.hero__image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero__content { position:relative; z-index:2; width:min(100%,42rem); }
.hero p { font-size:1.15rem; max-width:48ch; }
.section { margin-top:4.5rem; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1.3rem; }
.section-heading h2 { margin:0; }
.book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
.book-card { background:var(--card); border:1px solid var(--line); box-shadow:0 3px 12px rgba(32,27,12,.04); display:flex; flex-direction:column; }
.book-card__media { display:block; background:var(--wash); overflow:hidden; }
.book-card__media img { width:100%; height:auto; object-fit:contain; }
.book-card__no-cover,.book-page__no-cover { width:100%; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:1.4rem; background:linear-gradient(145deg,#e9dec0,#cba924); color:#252116; font-family:Georgia,serif; }
.book-card__no-cover strong,.book-page__no-cover strong { font-size:clamp(1.5rem,2.4vw,2.5rem); line-height:1.06; }
.book-card__body { padding:1.25rem; }
.book-card h2 { font-size:1.45rem; }
.book-card h2 a { text-decoration:none; }
.book-card__body p:not(.meta,.eyebrow) { color:#4c493f; }
.page-intro { max-width:760px; margin:0 0 2.6rem; }
.editorial-callout { background:var(--wash); padding:clamp(1.5rem,4vw,3.2rem); max-width:850px; }
.book-hero { display:grid; grid-template-columns:minmax(220px,334px) minmax(0,1fr); gap:clamp(1.8rem,4vw,4.5rem); align-items:center; margin:1.6rem 0 3rem; }
.book-hero__cover { background:var(--wash); box-shadow:var(--shadow); }
.book-hero__cover img { width:100%; height:100%; object-fit:cover; }
.book-hero__subtitle { font-family:Georgia,serif; font-size:1.27rem; line-height:1.35; }
.breadcrumbs ol { list-style:none; padding:0; margin:0 0 1.25rem; display:flex; flex-wrap:wrap; gap:.45rem; color:var(--muted); font-size:.9rem; }
.breadcrumbs li + li::before { content:"/"; margin-right:.45rem; }
.book-facts { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:1.25rem 0; }
.book-facts dl { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem 1.5rem; margin:0; }
.book-facts dt { color:var(--muted); font-size:.8rem; text-transform:uppercase; font-weight:750; letter-spacing:.08em; }
.book-facts dd { margin:.1rem 0 0; }
.book-content { max-width:760px; margin:3rem 0; }
.book-content h2 { margin-top:2rem; }
.book-content li { margin:.35rem 0; }
.sample-panel { background:var(--wash); padding:clamp(1.3rem,3vw,2.5rem); max-width:850px; }
.sample-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.sample-grid img { width:100%; height:auto; }
.book-hero__cover img { width:100%; height:auto; object-fit:contain; }
@media (max-width: 440px) { .sample-grid { grid-template-columns:1fr; } }
.related-books { margin:3rem 0; }
.related-books__list { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.related-books__list a { border-top:2px solid var(--gold); padding-top:.7rem; font-family:Georgia,serif; font-size:1.1rem; }
.marketplace-disclaimer { color:var(--muted); font-size:.88rem; max-width:70ch; }
.hub-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.hub-card { border:1px solid var(--line); padding:1.4rem; background:var(--card); }
.hub-card h2 { font-size:1.45rem; }
.consent-banner { position:fixed; z-index:10; left:1rem; bottom:1rem; max-width:440px; padding:1.2rem; background:#222018; color:#fff; box-shadow:var(--shadow); }
.consent-banner .button { margin-top:.3rem; }
.consent-banner .button--quiet { color:#fff; border-color:#bfb8a7; }
@media (max-width: 760px) { main { width:min(100% - 1.4rem,1160px); padding-top:2rem; } .site-header__inner,.site-footer__inner { width:min(100% - 1.4rem,1160px); align-items:flex-start; flex-direction:column; padding:1rem 0; } .book-hero { grid-template-columns:1fr; gap:1.75rem; } .hero { min-height:34rem; padding:2rem 1.4rem 14rem; align-items:flex-start; } .hero::after { background:linear-gradient(180deg,rgba(237,242,247,.99) 0%,rgba(237,242,247,.96) 55%,rgba(237,242,247,.3) 100%); } .hero__image { object-position:62% center; } .book-grid,.hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; } .book-card__body { padding:.9rem; } .book-card h2 { font-size:1.2rem; } .book-card__body p:not(.meta,.eyebrow) { font-size:.9rem; } .book-facts dl,.related-books__list { grid-template-columns:1fr 1fr; } }
@media (max-width: 440px) { .book-grid,.hub-grid,.book-facts dl,.related-books__list { grid-template-columns:1fr; } h1 { font-size:2.35rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:1rem; top:1rem; z-index:20; background:#fff; padding:.75rem 1rem; border:2px solid var(--ink); }
