/* Refinements to the original palette, typography and layout. */
[hidden]{display:none!important}
nav a,footer a{display:inline-flex;align-items:center;min-height:44px}
.hero{padding-top:60px}
.hero-copy{width:51%}
.hero-desc{font-size:17px;line-height:1.8;max-width:43ch}
.hero-desc strong{display:block;font-weight:500;color:var(--ink)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.button{min-height:52px;font-size:14px;gap:22px;margin:0;border:1px solid var(--ink);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button-secondary{color:var(--ink);background:transparent}
.button-secondary:hover{color:var(--ink);background:#e4dfce}
.byline{font-size:13px;line-height:1.7}
.book-stage{height:640px;top:55px}
.book{width:355px;aspect-ratio:700/1121;animation:book-arrive 1s ease-out both}
.cover img{width:100%;height:100%;position:static;object-fit:contain}
.hero-bottom{margin-top:65px}
.hero-bottom,.section-label{font-size:11px}
.hero-bottom a{min-height:44px;display:flex;align-items:center;font-size:13px}
.eyebrow{font-size:11px;line-height:1.8;letter-spacing:1.8px}
.prose{font-size:17px;line-height:1.85;max-width:62ch}
.prose .lead{font-size:21px;line-height:1.65}
.prose p{margin-bottom:24px}
.prose .eyebrow{color:var(--brown);margin-bottom:12px;font-size:11px}
.mystery{margin-top:35px;padding-left:24px;border-left:2px solid #b18d67}
.case-year{margin-top:55px;padding-top:25px;border-top:1px solid var(--line);max-width:320px}
.case-year>span{font-size:11px;letter-spacing:2px}
.case-year strong{display:block;font:96px Georgia,serif;font-weight:400;color:var(--brown);letter-spacing:-5px;margin:8px 0 18px}
.case-year p{font-size:16px;line-height:1.9;color:var(--muted)}
.story-question{font:italic 28px/1.45 'Playfair Display',Georgia,serif;color:var(--ink)}
.text-button{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.book-details{gap:24px;font-size:15px}
.book-details dt{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-bottom:12px}
.book-details dd{margin:0;overflow-wrap:anywhere}
.author-portrait{margin:35px 0 0;max-width:440px}
.portrait-fallback{position:relative;min-height:350px;background:linear-gradient(140deg,#d5d3bf,#eeebde);border:1px solid #cac9b4;display:flex;flex-direction:column;justify-content:flex-end;padding:35px;overflow:hidden}
.portrait-initial{position:absolute;right:30px;top:0;font:300px/1 Georgia,serif;color:#bfc0a9;opacity:.7}
.portrait-name{position:relative;font:italic 37px Georgia,serif;color:var(--ink)}
.portrait-caption{position:relative;font-size:10px;letter-spacing:2px;margin-top:17px}
.author-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.author-portrait figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}
.author-quote{margin:28px 0;font:24px/1.6 Georgia,serif}
.author-quote cite{font:14px 'DM Sans',sans-serif}
.sample{text-align:center;background:#f9f6ed;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sample .eyebrow{justify-content:center}.sample>p:not(.eyebrow){font-size:18px;line-height:1.8;margin:25px auto}.sample .button{margin-top:8px}
.reviews{background:#fbf9f2}.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:35px;margin-top:40px}
.review-list figure{margin:0;border-top:1px solid var(--line);padding-top:25px}.review-list blockquote{margin:0 0 24px;font:24px/1.6 Georgia,serif}.review-list figcaption{font-size:14px}.review-list figcaption span{display:block;margin-top:7px;color:var(--muted)}
.sales{background:#f5f1e5;border-top:1px solid #d7cfbd}
.sales-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:11%;align-items:center;max-width:1040px;margin:auto}
.sales-grid>img{width:min(100%,230px);height:auto;justify-self:center;box-shadow:13px 16px 28px #31271627}
.sales-grid h2{max-width:15ch}.sales-grid p{font-size:17px;line-height:1.8}
.sales-status{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);max-width:40ch;font-size:15px!important}
.sales-back{margin-top:16px}.seller-list{list-style:none;margin:25px 0;padding:0}.seller-list li{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:15px 0}.seller-link{min-height:44px;display:inline-flex;align-items:center;font-weight:600}.seller-list span{font-size:14px;color:var(--muted)}.seller-list strong{margin-left:auto;font-size:15px}
.publisher p{font-size:16px}.light-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px}footer{font-size:12px;align-items:center}
dialog button{min-height:44px;min-width:64px;top:6px}#sample-dialog{max-width:780px;padding:65px 40px 40px}#sample-dialog h2{font-size:34px;margin-bottom:30px}#sample-text{max-width:60ch}
@keyframes book-arrive{from{opacity:.6;transform:rotate(4deg) translateY(12px)}to{opacity:1;transform:rotate(7deg)}}
@keyframes section-arrive{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.revealed{animation:section-arrive .65s ease-out both}
@media(min-width:1440px){.hero{padding-bottom:0}.book{width:375px}.book-stage{height:650px}}
@media(min-width:651px) and (max-width:1000px){.hero{padding-top:40px}.hero-copy{width:53%}.book-stage{right:3%;width:40%;top:90px;height:560px}.book{width:clamp(240px,32vw,320px)}.orbit{width:310px;height:310px}.book-note{font-size:8px;letter-spacing:1px}.hero-actions{align-items:stretch}.hero-actions .button{padding:15px;gap:12px}.hero h1{font-size:100px}.hero h1 span{font-size:36px}.story-grid,.author-grid{gap:7%;grid-template-columns:.9fr 1.1fr}.prose{font-size:16px}.prose .lead{font-size:19px}.portrait-fallback{min-height:300px;padding:24px}.portrait-name{font-size:30px}.book-details{grid-template-columns:1fr 1fr}}
@media(max-width:650px){header{height:90px;padding:0 5%}nav{gap:14px;font-size:12px}.hero{padding:30px 6% 0;display:flex;flex-direction:column}.hero-copy{width:100%;display:contents}.hero-copy>.eyebrow{order:0;font-size:9px;letter-spacing:1.4px}.hero h1{order:1;font-size:94px;margin:16px 0 15px;letter-spacing:-5px}.hero h1 span{font-size:34px;margin-top:6px;letter-spacing:-1px}.hero .intro{order:2;font-size:25px;margin:12px 0 0}.book-stage{order:3;position:relative;top:auto;right:auto;width:100%;height:425px;margin:15px 0 20px}.book{width:235px}.orbit{width:290px;height:290px}.book-note{bottom:0;font-size:8px}.hero-desc{order:4;font-size:16px;margin:10px 0 0;max-width:none}.hero-actions{order:5;display:grid;grid-template-columns:1fr;width:100%;margin-top:22px;gap:10px}.hero-actions .button{justify-content:center;min-height:52px}.byline{order:6;margin-top:22px}.byline>span{display:inline;border-left:1px solid #aaa;margin-left:12px;padding-left:12px}.hero-bottom{order:7;margin-top:25px;gap:10px;font-size:9px;padding:15px 0}.hero-bottom a{font-size:12px}.section{padding:55px 6%}.section-label{font-size:10px}.story-grid,.author-grid,.publisher-grid{grid-template-columns:1fr;gap:30px}.prose{font-size:17px;line-height:1.85;max-width:none}.prose .lead{font-size:20px}.case-year{display:grid;grid-template-columns:1fr 1.2fr;column-gap:20px;max-width:none;margin-top:28px;padding-top:22px}.case-year>span{grid-column:1/-1;font-size:10px}.case-year strong{font-size:70px;letter-spacing:-3px;margin:9px 0}.case-year p{font-size:14px;margin:9px 0}.mystery{padding-left:18px;margin-top:28px}.story-question{font-size:25px}.book-details{gap:25px;font-size:14px}.book-details dt{font-size:9px}.author-portrait{margin-top:27px;max-width:none}.portrait-fallback{min-height:245px}.portrait-initial{font-size:240px}.portrait-name{font-size:33px}.places{flex-wrap:wrap;gap:12px}.places>span{font-size:18px}.places small{font-size:10px}.sales-grid{grid-template-columns:1fr;gap:30px}.sales-grid>img{width:150px}.sales-grid h2{font-size:36px;max-width:17ch}.sales-grid>div{width:100%}.sales .eyebrow{font-size:10px}.sales-status{max-width:none}footer{font-size:11px}#sample-dialog{padding:60px 22px 24px}.review-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.book:hover{transform:rotate(7deg)}.button:hover{transform:none}}
