:root {
  --ink: #0d1420;
  --ink-2: #141d2a;
  --paper: #f5f0e7;
  --paper-2: #ece3d5;
  --text: #20252b;
  --muted: #6f7479;
  --light: #f7f4ed;
  --gold: #d6ad6a;
  --gold-bright: #efcb8d;
  --line: rgba(32, 37, 43, .16);
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --container: min(1180px, calc(100vw - 48px));
  --shadow: 0 32px 80px rgba(4, 8, 15, .24);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--sans); color: var(--text); background: var(--paper); line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
::selection { background: rgba(214,173,106,.4); }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-150%); padding: 10px 14px; background: var(--paper); color: var(--ink); border-radius: 4px; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 82px; color: var(--light); transition: background .3s, box-shadow .3s, height .3s; }
.site-header.scrolled, .site-header--solid { background: rgba(13,20,32,.94); backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(255,255,255,.08); height: 70px; }
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-family: var(--serif); font-size: 1.42rem; letter-spacing: .08em; text-transform: uppercase; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(239,203,141,.65); border-radius: 50%; color: var(--gold-bright); font-family: var(--serif); font-size: 1rem; letter-spacing: 0; }
.site-nav { display: flex; align-items: center; gap: 30px; font-size: .84rem; letter-spacing: .13em; text-transform: uppercase; }
.site-nav a { position: relative; padding: 8px 0; color: rgba(255,255,255,.82); }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: var(--gold-bright); transition: right .25s; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: #fff; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right: 0; }
.nav-toggle { display: none; width: 42px; height: 42px; border: 0; background: transparent; color: white; }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ""; display: block; width: 24px; height: 1px; background: currentColor; margin: 6px auto; transition: transform .25s, opacity .25s; }
.nav-open .nav-toggle span { opacity: 0; }
.nav-open .nav-toggle::before { transform: translateY(7px) rotate(45deg); }
.nav-open .nav-toggle::after { transform: translateY(-7px) rotate(-45deg); }

.hero { min-height: 100svh; padding: 140px 0 80px; background: radial-gradient(circle at 78% 18%, rgba(207,158,88,.24), transparent 25%), radial-gradient(circle at 14% 82%, rgba(78,105,132,.18), transparent 30%), linear-gradient(135deg, #0a111c 0%, #121c2a 52%, #191a22 100%); color: var(--light); position: relative; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; opacity:.3; background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero__grid { min-height: calc(100svh - 220px); display: grid; grid-template-columns: minmax(0,1.02fr) minmax(480px,.98fr); align-items: center; gap: 52px; position: relative; }
.hero__copy { max-width: 690px; z-index: 2; }
.kicker, .eyebrow { margin: 0 0 18px; font-size: .74rem; font-weight: 650; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.hero h1 { margin: 0; max-width: 780px; font-family: var(--serif); font-size: clamp(4rem, 7vw, 7.7rem); line-height: .92; font-weight: 400; letter-spacing: -.045em; }
.hero h1 em { display: block; color: var(--gold-bright); font-weight: 400; }
.hero__lead { max-width: 620px; margin: 28px 0 0; font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.65rem); color: rgba(247,244,237,.75); line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; font-size: .79rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: transform .2s, background .2s, border-color .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button--gold { background: var(--gold-bright); color: #17120c; box-shadow: 0 14px 35px rgba(214,173,106,.2); }
.button--gold:hover { background: #f8dba6; }
.button--ghost { border-color: rgba(255,255,255,.25); color: var(--light); }
.button--ghost:hover { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); }
.button--ink { background: var(--ink); color: var(--light); }
.hero__books { position: relative; height: 650px; z-index: 1; }
.hero-cover { position: absolute; width: 225px; filter: drop-shadow(0 30px 50px rgba(0,0,0,.45)); transition: transform .45s ease; }
.hero-cover img { border-radius: 3px; }
.hero-cover:nth-child(1) { left: 2%; top: 24%; transform: rotate(-8deg); }
.hero-cover:nth-child(2) { left: 28%; top: 6%; transform: rotate(-2deg); z-index: 3; }
.hero-cover:nth-child(3) { right: 4%; top: 24%; transform: rotate(7deg); z-index: 2; }
.hero-cover:nth-child(4) { left: 35%; bottom: -2%; transform: rotate(3deg); width: 215px; z-index: 4; }
.hero-cover:hover { transform: translateY(-10px) rotate(0); z-index: 8; }
.hero-note { position: absolute; right: 0; bottom: 4%; max-width: 210px; padding: 15px 18px; border-left: 1px solid rgba(239,203,141,.5); color: rgba(255,255,255,.62); font-size: .8rem; letter-spacing: .04em; }
.scroll-cue { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); color: rgba(255,255,255,.5); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; writing-mode: vertical-rl; }
.scroll-cue::after { content:""; display:block; width:1px; height:50px; background: linear-gradient(var(--gold), transparent); margin: 12px auto 0; }

.section { padding: 112px 0; position: relative; }
.section--paper { background: var(--paper); }
.section--soft { background: var(--paper-2); }
.section--ink { background: var(--ink); color: var(--light); }
.section-heading { max-width: 720px; margin-bottom: 54px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading h2, .editorial-grid h2, .note-grid h2, .final-cta h2, .about-hero h1, .contact-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5rem); line-height: 1.02; font-weight: 400; letter-spacing: -.035em; }
.section-heading p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.books-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px; }
.book-card { display: grid; grid-template-columns: 205px 1fr; min-height: 390px; background: rgba(255,255,255,.52); border: 1px solid rgba(30,35,40,.09); border-radius: 8px; overflow: hidden; box-shadow: 0 16px 45px rgba(25,28,31,.07); transition: transform .3s, box-shadow .3s; }
.book-card:hover { transform: translateY(-5px); box-shadow: 0 26px 65px rgba(25,28,31,.14); }
.book-card__cover { position: relative; overflow: hidden; background: #1a202a; }
.book-card__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.book-card:hover .book-card__cover img { transform: scale(1.035); }
.book-card__content { padding: 34px 30px; display: flex; flex-direction: column; }
.book-card h3 { margin: 0 0 16px; font-family: var(--serif); font-size: clamp(1.8rem, 2.8vw, 2.5rem); line-height: 1.04; font-weight: 400; }
.book-card p:not(.eyebrow) { margin: 0; color: var(--muted); }
.book-card__actions { margin-top: auto; padding-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--line); }
.text-link, .icon-link { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .11em; }
.text-link span { transition: transform .2s; display: inline-block; }
.text-link:hover span { transform: translateX(4px); }
.icon-link { color: var(--muted); }
.store-note { margin-top: 36px; padding: 22px 26px; border: 1px solid rgba(35,40,45,.12); display: flex; align-items: center; justify-content: space-between; gap: 20px; background: rgba(255,255,255,.35); border-radius: 6px; }
.store-note strong { font-family: var(--serif); font-size: 1.28rem; font-weight: 400; }
.store-note p { margin: 0; color: var(--muted); }

.manifesto { background: linear-gradient(135deg,#111a26,#191720); color: var(--light); overflow: hidden; }
.manifesto::before { content:"“"; position:absolute; right:5%; top:-18%; font-family:var(--serif); font-size:30rem; color:rgba(214,173,106,.05); line-height:1; }
.manifesto__inner { position: relative; max-width: 970px; margin: 0 auto; text-align: center; }
.manifesto blockquote { margin: 0; font-family: var(--serif); font-size: clamp(2.4rem, 5vw, 5rem); line-height: 1.12; letter-spacing: -.025em; }
.manifesto blockquote em { color: var(--gold-bright); font-weight: 400; }
.manifesto footer { margin-top: 28px; color: rgba(255,255,255,.58); font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; }

.author-preview { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(0,1.18fr); align-items: center; gap: 84px; }
.author-preview__image { position: relative; }
.author-preview__image::before { content:""; position:absolute; inset:-20px 24px 26px -20px; border:1px solid rgba(214,173,106,.5); z-index:0; }
.author-preview__image img { position: relative; z-index:1; width:100%; aspect-ratio: 4/5; object-fit:cover; box-shadow:var(--shadow); }
.author-preview__copy h2 { margin: 0 0 26px; font-family:var(--serif); font-size:clamp(3rem,5vw,5.6rem); line-height:.98; font-weight:400; letter-spacing:-.04em; }
.author-preview__copy p { max-width: 660px; color: var(--muted); font-size: 1.06rem; }
.author-preview__copy .signature { margin: 32px 0; font-family: var(--serif); font-style: italic; font-size: 1.45rem; color: var(--text); }

.home-contact { text-align: center; background: radial-gradient(circle at 50% 0%, rgba(214,173,106,.25), transparent 35%), var(--ink); color: var(--light); }
.home-contact h2 { margin:0 auto 22px; max-width:850px; font-family:var(--serif); font-size:clamp(3rem,6vw,6rem); font-weight:400; line-height:1; letter-spacing:-.04em; }
.home-contact p { max-width: 650px; margin: 0 auto 32px; color:rgba(255,255,255,.65); }

.book-hero { min-height: 92svh; padding: 150px 0 90px; background: radial-gradient(circle at 75% 30%, rgba(214,173,106,.18), transparent 28%), linear-gradient(135deg,#0b121d,#151d28 55%,#1f1a1a); color:var(--light); overflow:hidden; position:relative; }
.book-hero__grid { min-height: calc(92svh - 240px); display:grid; grid-template-columns:1.08fr .72fr; align-items:center; gap:80px; position:relative; z-index:2; }
.book-hero__copy h1 { margin:0; max-width:760px; font-family:var(--serif); font-size:clamp(4rem,7vw,7.5rem); line-height:.91; font-weight:400; letter-spacing:-.055em; }
.book-hero__hook { max-width: 680px; margin:28px 0 0; font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.75rem); color:rgba(255,255,255,.78); }
.book-hero__question { max-width: 580px; margin:22px 0 0; color:rgba(255,255,255,.57); }
.availability { margin-top:20px; font-size:.78rem; color:rgba(255,255,255,.48); }
.book-hero__visual { position:relative; display:grid; place-items:center; }
.book-hero__visual img { width:min(410px,100%); box-shadow:0 50px 100px rgba(0,0,0,.52); transform:rotate(2deg); position:relative; z-index:2; }
.book-glow { position:absolute; width:70%; aspect-ratio:1; border-radius:50%; background:var(--gold); opacity:.17; filter:blur(80px); }
.ambient-orb { position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.05); border-radius:50%; top:8%; right:-160px; box-shadow:0 0 0 80px rgba(255,255,255,.015),0 0 0 160px rgba(255,255,255,.01); }
.accent-teal .book-glow, .accent-teal .ambient-orb { background:#3d958e; }
.accent-sunrise .book-glow { background:#e79a70; }
.accent-amber .book-glow { background:#e8b96f; }
.accent-bronze .book-glow { background:#bd8056; }
.editorial-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:96px; align-items:start; }
.editorial-grid h2 { font-size:clamp(2.8rem,4.5vw,4.6rem); position:sticky; top:120px; }
.prose { max-width:760px; }
.prose p { margin:0 0 1.35em; }
.prose--large { font-family:var(--serif); font-size:clamp(1.28rem,2.1vw,1.65rem); line-height:1.65; }
.prose--light { color:rgba(255,255,255,.74); font-family:var(--serif); font-size:clamp(1.16rem,1.8vw,1.4rem); line-height:1.72; }
.theme-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:36px; }
.theme-list span { padding:8px 13px; border:1px solid rgba(30,35,40,.18); border-radius:999px; font-family:var(--sans); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.note-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:96px; }
.note-heading { position:relative; }
.note-heading h2 { position:relative; z-index:2; }
.note-number { display:block; margin-top:40px; font-family:var(--serif); font-size:9rem; color:rgba(214,173,106,.13); line-height:.7; }
.section--reviews { background:#e9e0d2; }
.review-grid { columns:2 360px; column-gap:18px; }
.review-grid blockquote { margin:0 0 18px; padding:30px; display:flex; flex-direction:column; justify-content:space-between; background:rgba(255,255,255,.55); border:1px solid rgba(30,35,40,.08); border-radius:6px; break-inside:avoid; page-break-inside:avoid; }
.review-grid blockquote p { margin:0; font-family:var(--serif); font-size:1.3rem; line-height:1.5; text-align:justify; text-justify:inter-word; hyphens:auto; }
.review-grid footer { margin-top:24px; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.review-grid--count-1 { columns:1; max-width:780px; margin-inline:auto; }
.final-cta { background:linear-gradient(135deg,#18212d,#0f151e); color:var(--light); overflow:hidden; }
.final-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.final-cta p:not(.eyebrow) { color:rgba(255,255,255,.6); }

.page-top { padding-top:82px; }
.about-hero, .contact-hero { background:radial-gradient(circle at 78% 10%,rgba(214,173,106,.2),transparent 30%),var(--ink); color:var(--light); padding:130px 0 90px; }
.about-hero__grid { display:grid; grid-template-columns:1fr .78fr; gap:90px; align-items:end; }
.about-hero h1, .contact-hero h1 { font-size:clamp(4.2rem,8vw,8.2rem); }
.about-hero__intro { font-family:var(--serif); font-size:clamp(1.3rem,2.1vw,1.75rem); color:rgba(255,255,255,.7); }
.about-story { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.about-story__portrait { position:sticky; top:100px; }
.about-story__portrait img { width:100%; aspect-ratio:4/5; object-fit:cover; box-shadow:var(--shadow); }
.about-story__copy { font-family:var(--serif); font-size:clamp(1.25rem,2vw,1.58rem); line-height:1.7; }
.about-story__copy p:first-child::first-letter { float:left; font-size:5rem; line-height:.78; padding:.12em .12em 0 0; color:#9e713a; }
.author-quote { margin:60px 0; padding:36px 0 36px 36px; border-left:2px solid var(--gold); font-family:var(--serif); font-size:clamp(1.8rem,3vw,3rem); line-height:1.3; }
.contact-hero { text-align:center; }
.contact-hero p { max-width:680px; margin:24px auto 0; color:rgba(255,255,255,.65); }
.contact-wrap { display:grid; grid-template-columns:.72fr 1.28fr; gap:80px; }
.contact-details h2 { margin:0 0 20px; font-family:var(--serif); font-size:3rem; font-weight:400; }
.contact-details p { color:var(--muted); }
.contact-details .contact-small { margin-top:36px; padding-top:24px; border-top:1px solid var(--line); font-size:.85rem; }
.contact-form { display:grid; gap:20px; }
.field { display:grid; gap:8px; }
.field label { font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; font-weight:700; }
.field input, .field textarea { width:100%; border:0; border-bottom:1px solid rgba(30,35,40,.25); background:transparent; padding:12px 0; border-radius:0; outline:none; }
.field textarea { min-height:150px; resize:vertical; }
.field input:focus, .field textarea:focus { border-color:#9e713a; }
.contact-form .button { justify-self:start; cursor:pointer; }
.honeypot { display:none; }
.thank-you { min-height:75svh; display:grid; place-items:center; text-align:center; padding:150px 24px 80px; background:var(--ink); color:var(--light); }
.thank-you h1 { font-family:var(--serif); font-size:clamp(3rem,7vw,6rem); font-weight:400; margin:0 0 20px; }
.thank-you p { color:rgba(255,255,255,.65); }

.site-footer { padding:38px 0; background:#080e17; color:rgba(255,255,255,.54); }
.site-footer__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; font-size:.78rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.site-footer a:hover { color:#fff; }

[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease var(--delay,0ms), transform .7s ease var(--delay,0ms); }
[data-reveal].revealed { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } [data-reveal] { opacity:1; transform:none; } }

@media (max-width: 1050px) {
  .hero__grid { grid-template-columns:1fr; min-height:auto; }
  .hero__copy { padding-top:50px; }
  .hero__books { height:560px; max-width:680px; width:100%; margin:0 auto; }
  .books-grid { grid-template-columns:1fr; }
  .book-card { grid-template-columns:230px 1fr; }
  .book-card--chooser { min-height:500px; }
  .book-hero__grid { grid-template-columns:1fr .6fr; gap:50px; }
  .book-hero__copy h1 { font-size:clamp(3.7rem,8vw,6rem); }
  .review-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 780px) {
  :root { --container:min(100% - 32px,1180px); }
  .site-header { height:70px; }
  .nav-toggle { display:block; position:relative; z-index:3; }
  .site-nav { position:fixed; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; background:rgba(8,14,23,.985); transform:translateY(-100%); opacity:0; transition:transform .35s, opacity .35s; font-size:1rem; }
  .nav-open .site-nav { transform:none; opacity:1; }
  .hero { padding-top:110px; }
  .hero h1 { font-size:clamp(3.8rem,16vw,6.2rem); }
  .hero__lead { font-size:1.2rem; }
  .hero__books { height:470px; }
  .hero-cover { width:155px; }
  .hero-cover:nth-child(1){left:0;top:30%;}.hero-cover:nth-child(2){left:28%;}.hero-cover:nth-child(3){right:0;top:28%;}.hero-cover:nth-child(4){left:35%;width:150px;}
  .hero-note, .scroll-cue { display:none; }
  .section { padding:78px 0; }
  .book-card { grid-template-columns:140px 1fr; min-height:310px; }
  .book-card--chooser { grid-template-columns:180px 1fr; min-height:480px; }
  .book-card__content { padding:24px 20px; }
  .book-card h3 { font-size:1.75rem; }
  .book-card__actions { align-items:flex-start; flex-direction:column; }
  .store-note { align-items:flex-start; flex-direction:column; }
  .author-preview, .about-hero__grid, .about-story, .contact-wrap { grid-template-columns:1fr; gap:48px; }
  .author-preview__image { max-width:520px; }
  .book-hero { min-height:auto; padding:120px 0 70px; }
  .book-hero__grid { grid-template-columns:1fr; gap:54px; }
  .book-hero__copy h1 { font-size:clamp(3.5rem,14vw,5.4rem); }
  .book-hero__visual img { width:min(330px,80vw); }
  .editorial-grid, .note-grid { grid-template-columns:1fr; gap:38px; }
  .editorial-grid h2 { position:static; }
  .note-number { font-size:6rem; }
  .review-grid { columns:1; }
  .final-cta__inner { align-items:flex-start; flex-direction:column; }
  .about-story__portrait { position:static; max-width:520px; }
  .site-footer__inner { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) {
  .brand { font-size:1.15rem; }
  .brand-mark { width:32px;height:32px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .button { width:100%; }
  .hero__books { height:390px; }
  .hero-cover { width:125px; }
  .hero-cover:nth-child(4) { width:120px; }
  .books-grid { gap:22px; }
  .book-card { grid-template-columns:1fr; }
  .book-card__cover { height:430px; }
  .book-card__content { min-height:300px; }
  .book-card--chooser { min-height:0; }
  .book-card--chooser .book-card__content { min-height:430px; }
}


/* Combined book collection and reader guide */
.book-selector { background:linear-gradient(180deg, #f5f0e7 0%, #eee4d7 100%); }
.books-grid--chooser { gap:28px; }
.book-card--chooser { grid-template-columns:215px 1fr; min-height:545px; position:relative; }
.book-card--chooser::after { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--gold); opacity:.72; }
.book-card--chooser.accent-teal::after { background:#3d958e; }
.book-card--chooser.accent-sunrise::after { background:#d98d6e; }
.book-card--chooser.accent-amber::after { background:#c99445; }
.book-card--chooser.accent-bronze::after { background:#a66f4d; }
.book-card--chooser .book-card__content { padding:32px 29px 28px; }
.book-card--chooser h3 { margin-bottom:14px; }
.book-card__profile { margin:0 0 16px!important; font-family:var(--serif); font-size:1.22rem; line-height:1.35; color:#5e4530!important; }
.book-card__description { margin:0!important; }
.book-card--chooser .finder-tags { margin:22px 0; }
.book-card--chooser .book-card__actions { padding-top:20px; }


/* Latest release */
.latest-release { background: linear-gradient(135deg, #151d28, #0c131d 58%, #211b18); color: var(--light); overflow: hidden; }
.latest-release::before { content:""; position:absolute; width:620px; height:620px; border-radius:50%; right:-180px; top:-240px; background:radial-gradient(circle, rgba(214,173,106,.22), transparent 68%); }
.latest-release__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); align-items:center; gap:96px; position:relative; z-index:1; }
.latest-release__cover { justify-self:center; position:relative; }
.latest-release__cover::before { content:""; position:absolute; inset:8% -13% -8%; background:rgba(214,173,106,.16); filter:blur(55px); border-radius:50%; }
.latest-release__cover img { position:relative; width:min(370px,100%); box-shadow:0 45px 95px rgba(0,0,0,.52); transform:rotate(-2deg); transition:transform .4s; }
.latest-release__cover:hover img { transform:translateY(-8px) rotate(0); }
.latest-release__copy { max-width:720px; }
.latest-release__copy h2 { margin:0; font-family:var(--serif); font-size:clamp(4rem,7vw,7.2rem); line-height:.94; font-weight:400; letter-spacing:-.05em; }
.latest-release__type { margin:0 0 12px; color:rgba(255,255,255,.48); font-size:.74rem; letter-spacing:.17em; text-transform:uppercase; }
.latest-release__hook { margin:24px 0 18px; font-family:var(--serif); font-size:clamp(1.35rem,2.2vw,1.9rem); line-height:1.45; color:var(--gold-bright); }
.latest-release__copy > p:last-of-type { color:rgba(255,255,255,.7); font-size:1.06rem; max-width:660px; }
.button--latest-ghost { border-color:rgba(255,255,255,.25); color:var(--light); }
.button--latest-ghost:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.06); }

/* Book finder */
.book-finder { background:#ebe2d5; }
.finder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.finder-card { min-height:440px; padding:34px; display:flex; flex-direction:column; background:rgba(255,255,255,.55); border:1px solid rgba(30,35,40,.09); border-radius:8px; position:relative; overflow:hidden; box-shadow:0 15px 45px rgba(25,28,31,.06); }
.finder-card::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--gold); opacity:.7; }
.finder-card.accent-teal::before { background:#3d958e; }
.finder-card.accent-sunrise::before { background:#d98d6e; }
.finder-card.accent-amber::before { background:#c99445; }
.finder-card.accent-bronze::before { background:#a66f4d; }
.finder-card__top { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.finder-card__top .eyebrow { text-align:right; }
.finder-card__number { font-family:var(--serif); font-size:2.2rem; line-height:1; color:rgba(32,37,43,.18); }
.finder-card h3 { margin:26px 0 12px; font-family:var(--serif); font-size:clamp(2rem,3.5vw,3.2rem); line-height:1; font-weight:400; letter-spacing:-.035em; }
.finder-card__headline { margin:0 0 18px; font-family:var(--serif); font-size:1.3rem; color:#5e4530; }
.finder-card__description { margin:0; color:var(--muted); }
.finder-tags { display:flex; flex-wrap:wrap; gap:8px; margin:26px 0; }
.finder-tags span { padding:7px 11px; border:1px solid rgba(30,35,40,.14); border-radius:999px; font-size:.65rem; letter-spacing:.09em; text-transform:uppercase; }
.finder-card .text-link { margin-top:auto; padding-top:24px; border-top:1px solid var(--line); }

/* Inspiration on individual book pages */
.inspiration-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:96px; align-items:start; }
.inspiration-heading { position:sticky; top:115px; }
.inspiration-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(2.8rem,4.6vw,4.8rem); line-height:1.02; font-weight:400; letter-spacing:-.035em; }
.inspiration-intro { margin:24px 0 0; max-width:430px; color:var(--muted); }
.prose--inspiration { font-family:var(--serif); font-size:clamp(1.18rem,1.85vw,1.48rem); line-height:1.75; }

/* Justification: reserved for substantial body copy, where it remains readable. */
@media (min-width: 681px) {
  .hero__lead,
  .latest-release__copy > p:not(.eyebrow):not(.latest-release__type):not(.latest-release__hook),
  .section-heading:not(.centered) p:not(.eyebrow),
  .finder-card__description,
  .book-card__description,
  .author-preview__copy > p:not(.eyebrow):not(.signature),
  .prose p,
  .inspiration-intro,
  .about-hero__intro,
  .about-story__copy > p,
  .contact-details > p,
  .book-hero__question {
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
  }
}

@media (max-width: 1050px) {
  .latest-release__grid { gap:60px; }
  .finder-card { min-height:420px; }
}
@media (max-width: 780px) {
  .latest-release__grid, .inspiration-grid { grid-template-columns:1fr; gap:48px; }
  .latest-release__cover img { width:min(330px,78vw); }
  .latest-release__copy h2 { font-size:clamp(3.7rem,14vw,5.8rem); }
  .finder-grid { grid-template-columns:1fr; }
  .finder-card { min-height:0; }
  .inspiration-heading { position:static; }
}

/* Responsive overrides for the merged book cards (kept after component styles). */
@media (max-width: 1050px) {
  .book-card--chooser { grid-template-columns:230px 1fr; min-height:500px; }
}
@media (max-width: 780px) {
  .book-card--chooser { grid-template-columns:180px 1fr; min-height:480px; }
}
@media (max-width: 520px) {
  .book-card--chooser { grid-template-columns:1fr; min-height:0; }
  .book-card--chooser .book-card__cover { height:430px; }
  .book-card--chooser .book-card__content { min-height:430px; }
}

/* Version 4 refinements */
/* Show every book cover in full within the chooser cards. */
.book-card--chooser .book-card__cover {
  display:grid;
  place-items:center;
  padding:28px 20px;
  background:
    radial-gradient(circle at 50% 35%, rgba(214,173,106,.16), transparent 52%),
    linear-gradient(150deg,#111a26,#202733);
}
.book-card--chooser .book-card__cover picture { display:block; width:100%; }
.book-card--chooser .book-card__cover img {
  width:100%;
  height:auto;
  max-height:475px;
  object-fit:contain;
  box-shadow:0 22px 45px rgba(0,0,0,.34);
}
.book-card--chooser:hover .book-card__cover img { transform:translateY(-5px) scale(1.015); }

/* A much more visible local bookstore callout. */
.store-note {
  margin-top:50px;
  padding:30px 34px;
  justify-content:flex-start;
  color:var(--light);
  border:1px solid rgba(214,173,106,.5);
  background:
    radial-gradient(circle at 90% 20%,rgba(214,173,106,.2),transparent 30%),
    linear-gradient(135deg,#121c29,#0b121c);
  box-shadow:0 22px 55px rgba(12,18,26,.17);
}
.store-note__icon,
.bookcourt-availability__mark {
  flex:0 0 auto;
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border:1px solid rgba(239,203,141,.65);
  border-radius:50%;
  color:var(--gold-bright);
  font-family:var(--serif);
  font-size:2rem;
  font-style:italic;
}
.store-note__copy .eyebrow { margin-bottom:5px; }
.store-note__copy h3 { margin:0; font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.6rem); font-weight:400; line-height:1.05; }
.store-note__copy p:not(.eyebrow) { margin-top:8px; color:rgba(255,255,255,.7); }

.bookcourt-availability {
  display:flex;
  align-items:center;
  gap:16px;
  width:fit-content;
  max-width:600px;
  margin-top:30px;
  padding:16px 20px;
  border:1px solid rgba(239,203,141,.46);
  border-radius:8px;
  background:rgba(7,12,19,.48);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.bookcourt-availability__mark { width:46px; height:46px; font-size:1.45rem; }
.bookcourt-availability div { display:grid; line-height:1.3; }
.bookcourt-availability__label { margin-bottom:3px; color:var(--gold-bright); font-size:.64rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.bookcourt-availability strong { color:#fff; font-family:var(--serif); font-size:1.18rem; font-weight:400; }
.bookcourt-availability div > span:last-child { margin-top:2px; color:rgba(255,255,255,.62); font-size:.78rem; }
.final-cta__store { max-width:680px; font-size:1rem; }
.final-cta__store strong { color:var(--gold-bright); font-weight:650; }

/* Combined creative origins and author's note. */
.behind-book-section { overflow:hidden; }
.behind-book-section::after { content:""; position:absolute; width:560px; height:560px; border-radius:50%; right:-220px; bottom:-260px; background:radial-gradient(circle,rgba(214,173,106,.11),transparent 66%); }
.behind-book-grid { position:relative; z-index:1; }

/* Direct email option on the contact page. */
.direct-email { margin-top:30px; padding:20px 22px; display:grid; gap:3px; border-left:2px solid var(--gold); background:rgba(214,173,106,.09); }
.direct-email span { color:var(--muted); font-size:.73rem; letter-spacing:.1em; text-transform:uppercase; }
.direct-email a { width:fit-content; font-family:var(--serif); font-size:1.35rem; color:#805a2d; border-bottom:1px solid rgba(128,90,45,.35); }
.direct-email a:hover { border-color:#805a2d; }

@media (max-width:780px) {
  .store-note { align-items:center; flex-direction:row; padding:25px 24px; }
  .bookcourt-availability { width:100%; }
}
@media (max-width:520px) {
  .book-card--chooser .book-card__cover { height:auto; min-height:475px; padding:24px 34px; }
  .book-card--chooser .book-card__cover img { max-height:425px; }
  .store-note { align-items:flex-start; flex-direction:column; }
  .bookcourt-availability { align-items:flex-start; }
}

/* Version 5: editorial chooser cards with the full cover tucked into the lower-right corner. */
.book-card--chooser {
  display:block;
  min-height:520px;
  background:
    radial-gradient(circle at 100% 100%, rgba(214,173,106,.12), transparent 36%),
    rgba(255,255,255,.58);
}
.book-card--chooser .book-card__content {
  min-height:520px;
  padding:34px 32px 28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(165px,31%);
  grid-template-rows:auto auto auto 1fr auto auto;
  grid-template-areas:
    "eyebrow eyebrow"
    "title title"
    "profile profile"
    "description cover"
    "tags cover"
    "actions actions";
  column-gap:28px;
  align-items:start;
}
.book-card--chooser .eyebrow { grid-area:eyebrow; }
.book-card--chooser h3 { grid-area:title; }
.book-card--chooser .book-card__profile { grid-area:profile; }
.book-card--chooser .book-card__description { grid-area:description; }
.book-card--chooser .finder-tags { grid-area:tags; align-self:end; }
.book-card--chooser .book-card__actions { grid-area:actions; }
.book-card--chooser .book-card__cover--corner {
  grid-area:cover;
  align-self:end;
  justify-self:end;
  width:100%;
  padding:0;
  overflow:visible;
  background:none;
  border-radius:3px;
  box-shadow:0 22px 48px rgba(28,29,31,.22);
  transform:rotate(1.2deg);
  transition:transform .4s ease, box-shadow .4s ease;
}
.book-card--chooser .book-card__cover--corner picture,
.book-card--chooser .book-card__cover--corner img {
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.book-card--chooser:hover .book-card__cover--corner {
  transform:translateY(-5px) rotate(0deg);
  box-shadow:0 30px 58px rgba(28,29,31,.28);
}
.book-card--chooser:hover .book-card__cover--corner img { transform:none; }
.book-card--chooser .book-card__description {
  padding-right:2px;
}
.book-card--chooser .finder-tags {
  margin:22px 0 8px;
}
.book-card--chooser .book-card__actions {
  margin-top:24px;
}

@media (max-width:1050px) {
  .book-card--chooser,
  .book-card--chooser .book-card__content { min-height:500px; }
  .book-card--chooser .book-card__content {
    grid-template-columns:minmax(0,1fr) minmax(205px,27%);
    column-gap:38px;
  }
}
@media (max-width:780px) {
  .book-card--chooser,
  .book-card--chooser .book-card__content { min-height:0; }
  .book-card--chooser .book-card__content {
    padding:28px 24px 24px;
    grid-template-columns:minmax(0,1fr) minmax(155px,34%);
    column-gap:22px;
  }
  .book-card--chooser .book-card__cover--corner {
    min-height:0;
    height:auto;
  }
}
@media (max-width:560px) {
  .book-card--chooser .book-card__content {
    display:flex;
    min-height:0;
  }
  .book-card--chooser .book-card__cover--corner {
    order:5;
    width:min(72%,285px);
    margin:26px auto 2px;
    align-self:center;
  }
  .book-card--chooser .book-card__actions { order:6; width:100%; }
}


/* Version 6: align all chooser-card footers and give the opening covers real book depth. */
@media (min-width:1051px) {
  .books-grid--chooser { grid-auto-rows:640px; }
  .book-card--chooser,
  .book-card--chooser .book-card__content { height:640px; min-height:640px; }
  .book-card--chooser .book-card__content {
    grid-template-columns:minmax(0,1fr) 170px;
    grid-template-rows:22px 98px 54px minmax(0,1fr) 92px 46px;
    grid-template-areas:
      "eyebrow eyebrow"
      "title title"
      "profile profile"
      "description cover"
      "tags cover"
      "actions actions";
  }
  .book-card--chooser h3 {
    height:98px;
    display:flex;
    align-items:flex-start;
    margin:0;
  }
  .book-card--chooser .book-card__profile {
    height:54px;
    overflow:hidden;
  }
  .book-card--chooser .book-card__description {
    overflow:hidden;
  }
  .book-card--chooser .finder-tags {
    min-height:92px;
    margin:0;
    padding-top:10px;
    padding-bottom:14px;
    align-content:start;
  }
  .book-card--chooser .book-card__cover--corner {
    width:170px;
    align-self:end;
    margin-bottom:12px;
  }
  .book-card--chooser .book-card__actions {
    height:46px;
    min-height:46px;
    margin:0;
    padding-top:18px;
    align-self:end;
  }
}

@media (min-width:781px) and (max-width:1050px) {
  .books-grid--chooser { grid-auto-rows:540px; }
  .book-card--chooser,
  .book-card--chooser .book-card__content { height:540px; min-height:540px; }
  .book-card--chooser .book-card__content {
    grid-template-columns:minmax(0,1fr) 185px;
    grid-template-rows:22px 68px 50px minmax(0,1fr) 80px 46px;
  }
  .book-card--chooser h3 { height:68px; margin:0; }
  .book-card--chooser .book-card__profile { height:50px; overflow:hidden; }
  .book-card--chooser .finder-tags { min-height:80px; margin:0; padding-top:8px; padding-bottom:12px; }
  .book-card--chooser .book-card__cover--corner { width:185px; margin-bottom:10px; }
  .book-card--chooser .book-card__actions { height:46px; min-height:46px; margin:0; padding-top:18px; }
}

/* A restrained 3D-book treatment using the real cover art as the front face. */
.hero-cover {
  transform-style:preserve-3d;
  overflow:visible;
  isolation:isolate;
}
.hero-cover picture {
  display:block;
  position:relative;
  z-index:3;
  border-radius:3px;
  overflow:hidden;
  box-shadow:0 3px 3px rgba(255,255,255,.08) inset;
}
.hero-cover::before {
  content:"";
  position:absolute;
  z-index:1;
  top:4px;
  bottom:3px;
  left:-9px;
  width:10px;
  border-radius:2px 0 0 2px;
  background:linear-gradient(90deg,#211813 0%,#6f5843 38%,#2a1d16 100%);
  transform:skewY(-38deg);
  transform-origin:right center;
  box-shadow:-5px 8px 12px rgba(0,0,0,.28);
}
.hero-cover::after {
  content:"";
  position:absolute;
  z-index:2;
  left:-3px;
  right:2px;
  bottom:-8px;
  height:9px;
  border-radius:0 0 2px 2px;
  background:repeating-linear-gradient(to bottom,#eee4d1 0 1px,#c3b49d 1px 2px);
  transform:skewX(-34deg);
  transform-origin:top left;
  box-shadow:0 7px 9px rgba(0,0,0,.25);
}
.hero-cover img { position:relative; z-index:3; }

/* Small type adjustment keeps the longest title readable without disturbing the shared card baseline. */
@media (min-width:1051px) {
  .book-card--chooser h3 { font-size:clamp(1.95rem,2.35vw,2.2rem); }
}
@media (min-width:781px) and (max-width:1050px) {
  .book-card--chooser h3 { font-size:2rem; }
}

/* Version 8: final micro-alignment pass for the chooser cards. */
@media (min-width:781px) {
  .book-card--chooser .book-card__content {
    row-gap:0;
  }
  .book-card--chooser h3 {
    line-height:1.02;
    text-wrap:balance;
  }
  .book-card--chooser .book-card__profile {
    margin:0;
    padding-top:2px;
    line-height:1.35;
  }
  .book-card--chooser .book-card__description {
    margin:0;
    line-height:1.58;
  }
  .book-card--chooser .finder-tags {
    gap:7px 8px;
  }
  .book-card--chooser .finder-tags span {
    min-height:28px;
    display:inline-flex;
    align-items:center;
    line-height:1;
  }
  .book-card--chooser .book-card__actions {
    display:flex;
    align-items:center;
    line-height:1;
  }
  .book-card--chooser .book-card__actions a {
    line-height:1;
  }
  .book-card--chooser .book-card__cover--corner {
    transform:rotate(.65deg);
  }
  .book-card--chooser:hover .book-card__cover--corner {
    transform:translateY(-4px) rotate(0deg);
  }
}

@media (min-width:1051px) {
  .book-card--chooser .book-card__content {
    grid-template-rows:22px 92px 52px minmax(0,1fr) 96px 46px;
  }
  .book-card--chooser h3 {
    height:92px;
  }
  .book-card--chooser .book-card__profile {
    height:52px;
  }
  .book-card--chooser .finder-tags {
    min-height:96px;
    padding-top:8px;
    padding-bottom:18px;
  }
  .book-card--chooser .book-card__cover--corner {
    margin-bottom:16px;
  }
  .book-card--chooser .book-card__actions {
    padding-top:16px;
  }
}

@media (min-width:781px) and (max-width:1050px) {
  .book-card--chooser .book-card__content {
    grid-template-rows:22px 66px 48px minmax(0,1fr) 84px 46px;
  }
  .book-card--chooser h3 {
    height:66px;
  }
  .book-card--chooser .book-card__profile {
    height:48px;
  }
  .book-card--chooser .finder-tags {
    min-height:84px;
    padding-top:7px;
    padding-bottom:14px;
  }
  .book-card--chooser .book-card__cover--corner {
    margin-bottom:14px;
  }
  .book-card--chooser .book-card__actions {
    padding-top:16px;
  }
}


/* Version 9: use the open space more naturally around the corner covers. */
@media (min-width:1051px) {
  .book-card--chooser .book-card__content {
    grid-template-columns:minmax(0,1fr) 184px;
    column-gap:18px;
  }
  .book-card--chooser .book-card__cover--corner {
    width:184px;
    align-self:start;
    margin-top:18px;
    margin-bottom:0;
  }
}

@media (min-width:781px) and (max-width:1050px) {
  .book-card--chooser .book-card__content {
    column-gap:16px;
  }
  .book-card--chooser .book-card__cover--corner {
    align-self:start;
    margin-top:14px;
    margin-bottom:0;
  }
}


/* Cloudflare launch: contact-form feedback. */
.form-status { min-height:1.35em; margin:0; font-size:.86rem; color:#49614f; }
.form-status.is-error { color:#9b3737; }
.contact-form button:disabled { cursor:wait; opacity:.66; }
