@import url('https://fonts.googleapis.com/css2?family=Allura&family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#fbf7ed;--ink:#294236;--muted:#686e60;--orange:#ae5736;--line:#d9dccd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.draft-note{background:#e8ecdf;padding:9px 20px;text-align:center;font-size:12px;color:#4f604b}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:35px;line-height:.8}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:5px;margin:10px 0 0 3px}nav{display:flex;gap:32px;font-size:13px}.nav-button{font-size:12px;border:1px solid var(--ink);border-radius:30px;padding:13px 20px}.nav-button span{margin-left:15px}main{max-width:1440px;margin:auto}.hero{padding:65px 5% 85px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.7}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-2px;margin:20px 0}h1{font-size:clamp(65px,7.5vw,110px);line-height:.96}em{font-weight:400;color:var(--orange)}.intro{max-width:390px;font-size:15px;line-height:1.8;color:var(--muted);margin:26px 0 30px}.button{background:var(--ink);color:var(--paper);padding:16px 23px;border-radius:30px;font-size:13px;display:inline-flex;gap:30px;align-items:center}.button:hover{background:#3d5a48}.hero-foot{font-size:11px;color:var(--muted);margin-top:24px}.hero-art{margin:0;position:relative;padding-bottom:55px}.hero-art img{width:100%;display:block;aspect-ratio:1/1.06;object-fit:cover;border-radius:48% 48% 5px 5px}.hero-art figcaption{position:absolute;bottom:0;left:5%;right:5%;background:var(--paper);padding:23px 28px;border:1px solid var(--line);box-shadow:0 8px 25px #2942360a}.hero-art figcaption span{display:block;font-size:8px;letter-spacing:2px}.hero-art strong{display:block;font:28px 'Libre Caslon Display',Georgia,serif;margin:8px 0}.hero-art button{border:0;background:none;padding:0;font-size:11px;color:var(--orange)}.collection{padding:55px 5% 80px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading h2{font-size:60px;line-height:1;margin:15px 0}.section-heading>p{max-width:290px;color:var(--muted);font-size:14px;line-height:1.8}.filters{display:flex;gap:8px;margin:30px 0}.filters button{background:none;border:1px solid var(--line);padding:10px 18px;border-radius:30px;color:var(--ink);font-size:12px}.filters button.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.book-card .art-button{display:block;width:100%;border:0;padding:18px;background:#e9e9dc;border-radius:4px;transition:transform .2s}.book-card:nth-child(2) .art-button{background:#eee3d1}.book-card:nth-child(3) .art-button{background:#e1e7dc}.book-card:nth-child(4) .art-button{background:#e4e6e6}.art-button:hover{transform:translateY(-5px)}.art-button img{width:100%;aspect-ratio:1;object-fit:cover;display:block;box-shadow:3px 5px 12px #22372b20;border-radius:2px}.category{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;margin:20px 0 10px;color:var(--orange)}.book-card h3{font:29px/1.05 'Libre Caslon Display',Georgia,serif;margin:0 0 12px}.book-card p.description{color:var(--muted);font-size:12px;line-height:1.7;min-height:63px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-footer button{padding:0;background:none;border:0;color:var(--ink);font-size:11px;text-decoration:underline;text-underline-offset:4px}.status{font-size:9px;color:var(--muted)}.empty{grid-column:1/-1;padding:35px;border:1px dashed var(--line);font-size:14px;color:var(--muted);line-height:1.7}.upcoming{margin:0 5%;padding:45px 50px;background:#e8eddf;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;border-radius:5px}.upcoming h2,.about h2{font-size:60px;line-height:1}.upcoming p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted)}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:5px}.about{padding:90px 9%;display:grid;grid-template-columns:1fr 1.2fr;gap:12%;align-items:center}.about-label>span{font-size:9px;letter-spacing:2px}.bio{font:29px/1.5 'Libre Caslon Display',Georgia,serif}.bio-note{font-size:11px;color:var(--muted)}footer{padding:35px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer small{font-size:11px;color:var(--muted)}dialog{width:min(850px,92vw);border:1px solid var(--line);border-radius:10px;padding:45px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#152c22aa;backdrop-filter:blur(5px)}.close{position:absolute;top:10px;right:15px;background:none;border:0;font-size:30px;color:var(--ink)}.detail{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.detail img{width:100%;border-radius:4px}.detail h2{font-size:45px;line-height:1.05}.detail p{line-height:1.8;color:var(--muted);font-size:14px}.detail .availability{font-size:12px;border-top:1px solid var(--line);padding-top:15px}
@media(max-width:900px){.nav-button{display:none}.book-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:30px}.section-heading h2{font-size:50px}.upcoming{padding:35px}.about{padding:70px 5%}}
@media(max-width:600px){header{padding:23px 6%}nav{gap:15px;font-size:11px}.brand{font-size:29px}.brand span{font-size:7px}.draft-note{font-size:10px}.hero{grid-template-columns:1fr;padding:40px 6% 50px}.hero h1{font-size:76px}.hero-copy{max-width:420px}.hero-art{margin-top:10px}.hero-art img{aspect-ratio:1.1}.section-heading{display:block}.section-heading h2{font-size:46px}.section-heading>p{max-width:100%}.collection{padding:35px 6% 50px}.book-grid{gap:25px 15px}.book-card .art-button{padding:10px}.book-card h3{font-size:25px}.book-card p.description{min-height:0}.card-footer{align-items:start;flex-direction:column;gap:12px}.upcoming{grid-template-columns:1fr;gap:10px;margin:0 6%;padding:30px}.upcoming h2,.about h2{font-size:49px}.about{grid-template-columns:1fr;gap:10px;padding:60px 6%}.bio{font-size:27px}footer{flex-wrap:wrap;padding:30px 6%}footer p{max-width:170px}footer small{width:100%}.detail{grid-template-columns:1fr}.detail img{max-height:250px;object-fit:contain}dialog{padding:40px 25px 25px}.filters button{font-size:11px;padding:10px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Preserve every front cover at its original proportions. */
.book-card .art-button{height:300px;display:flex;align-items:center;justify-content:center}.art-button img{width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain}.detail img{height:auto;object-fit:contain}.hero-art img{aspect-ratio:auto;height:auto;object-fit:contain;border-radius:4px}.hero-art{max-width:520px;margin-left:auto;width:100%}@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-art{margin:15px auto 0}}@media(max-width:600px){.book-card .art-button{height:230px}}

.bio p{margin:0 0 20px}.bio{font-size:24px}.bio p:last-child{margin-bottom:0}

.amazon-button{padding:9px 14px;font-size:11px;line-height:1.3;gap:8px;border-radius:20px;white-space:nowrap;width:fit-content;max-width:100%}.book-card>.amazon-button{margin-top:16px}.detail .amazon-button{margin-top:8px}

/* Author signature wordmark. */
.brand{display:inline-flex;flex-direction:column;align-items:center;font-family:'Allura','Brush Script MT',cursive;font-size:48px;line-height:1;white-space:nowrap;letter-spacing:-1px;min-width:185px;transform:rotate(-3deg);padding:0 4px}
.brand span{font-family:'DM Sans',sans-serif;font-size:8px;font-weight:600;letter-spacing:6px;line-height:1;margin:5px 0 0 6px;transform:rotate(3deg)}
@media(max-width:600px){.brand{font-size:39px;min-width:150px}.brand span{font-size:7px;letter-spacing:5px}header{gap:15px}nav{gap:12px}}

.brand{display:inline-flex;transform:none;min-width:0;width:215px;padding:0;flex-shrink:0}.brand img{display:block;width:100%;height:auto}footer .brand{width:190px}@media(max-width:600px){header .brand{width:165px}footer .brand{width:165px}}
