:root{
  color-scheme:dark;
  --ink:#100e12;
  --ink-2:#17131a;
  --paper:#f1e9de;
  --paper-dim:#c7bbb0;
  --violet:#8f76b7;
  --violet-deep:#5f4a8b;
  --gold:#b89a67;
  --line:rgba(241,233,222,.15);
  --card:rgba(255,255,255,.035);
  --max:74rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 82% 8%,rgba(95,74,139,.23),transparent 28rem),
    radial-gradient(circle at 18% 72%,rgba(95,74,139,.08),transparent 36rem),
    linear-gradient(180deg,#0e0c10 0%,var(--ink) 45%,#0d0b0f 100%);
  color:var(--paper);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.68;
  min-height:100vh;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.22;
  background-image:radial-gradient(rgba(255,255,255,.15) .45px,transparent .5px);
  background-size:5px 5px;
  mix-blend-mode:soft-light;
}
a{color:inherit}
a:hover{color:#c9b5e8}
.shell{width:min(calc(100% - 2.2rem),var(--max));margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:20;
  backdrop-filter:blur(14px);
  background:rgba(14,12,16,.88);
  border-bottom:1px solid var(--line);
}
.nav{min-height:5.2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand-lockup{display:block;text-decoration:none}
.brand-lockup img{display:block;width:min(11.5rem,42vw);height:auto;max-height:3.2rem;object-fit:contain;object-position:left center}
.nav-links{display:flex;flex-wrap:wrap;gap:1.15rem}
.nav-links a{text-decoration:none;color:var(--paper-dim);font-size:.93rem;letter-spacing:.02em}
main{min-height:68vh}
.hero{padding:9rem 0 7rem;max-width:63rem}
.eyebrow{color:#aa91cf;text-transform:uppercase;letter-spacing:.19em;font-size:.74rem;font-weight:700}
h1,h2,h3{line-height:1.06;font-weight:600;text-wrap:balance}
h1{font-size:clamp(3.3rem,8vw,7.4rem);margin:.35rem 0 1.4rem;letter-spacing:-.048em}
h2{font-size:clamp(2rem,4vw,3.35rem);margin:.1rem 0 1rem;letter-spacing:-.025em}
h3{font-size:1.55rem;margin:.3rem 0 .65rem}
.subtitle{font-size:clamp(1.25rem,2.4vw,1.75rem);color:var(--paper-dim);max-width:54rem}
.lede{font-size:clamp(1.13rem,2vw,1.5rem);color:var(--paper-dim);max-width:50rem}
.ornament{color:#a88bcf;letter-spacing:.34em;margin:2.4rem 0}
.section{padding:5.2rem 0;border-top:1px solid var(--line)}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.book-grid{align-items:stretch}
.book-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border:1px solid var(--line);
  border-radius:1.1rem;
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(95,74,139,.075)),
    var(--card);
  overflow:hidden;
}
.cover-link{
  display:block;
  aspect-ratio:5/8;
  overflow:hidden;
  background:#0b090d;
  border-bottom:1px solid var(--line);
}
.book-cover{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.cover-link .book-cover{
  transition:transform .25s ease,filter .25s ease;
}
.cover-link:hover .book-cover{
  transform:scale(1.018);
  filter:brightness(1.04);
}
.book-card-copy{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.5rem;
}
.book-card p:not(.eyebrow){color:var(--paper-dim)}
.book-card .title{text-decoration:none}
.book-card-copy .text-link{margin-top:auto}
.meta{color:var(--paper-dim);font-size:.93rem}
.text-link{text-decoration:none;color:#c0a7e2;font-weight:700}
.button-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.button{
  display:inline-block;
  text-decoration:none;
  border:1px solid #8165aa;
  padding:.76rem 1.08rem;
  border-radius:999px;
  font-size:.91rem;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.button:hover{background:rgba(143,118,183,.13);border-color:#ad95d0;transform:translateY(-1px)}
.button-primary{background:#5f4a8b;border-color:#7960aa;color:#fff}
.button-primary:hover{background:#7056a0;color:#fff}
.page{padding:7rem 0 8rem}
.narrow{max-width:55rem}
.book-page{padding:8rem 0;max-width:57rem}
.book-detail{
  display:grid;
  grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);
  gap:clamp(2.5rem,6vw,5rem);
  align-items:start;
  padding:7rem 0 8rem;
}
.book-detail-cover{position:sticky;top:7rem}
.detail-cover{
  height:auto;
  aspect-ratio:5/8;
  object-fit:cover;
  border-radius:.65rem;
  border:1px solid rgba(241,233,222,.18);
  box-shadow:0 1.3rem 3rem rgba(0,0,0,.38);
}
.book-detail-copy{padding-top:.3rem}
.prose{max-width:49rem}
.prose p{color:var(--paper-dim)}
.longform h2{margin-top:3rem;font-size:clamp(1.7rem,3vw,2.55rem)}
.longform p{font-size:1.05rem}
.notice{border-left:3px solid var(--violet-deep);padding:.9rem 1.1rem;background:rgba(95,74,139,.09);margin:2rem 0;color:var(--paper-dim)}
.adult{max-width:49rem}
.purchase-row{margin-top:2.2rem}
.back-link{margin-top:3.2rem}
.manifesto blockquote{font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.25;margin:0;max-width:62rem;color:#ddd1e8}
.contact-address{font-size:clamp(1.6rem,4vw,3rem);margin:2rem 0}
.contact-address a{text-decoration:none;color:#c6afe5}
.site-footer{border-top:1px solid var(--line);padding:3.3rem 0;color:var(--paper-dim);font-size:.9rem}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem}
.small-links{display:flex;flex-wrap:wrap;gap:1rem}
.small-links a{text-decoration:none}
@media(max-width:760px){
  .split{grid-template-columns:1fr;gap:1rem}
  .section-heading{align-items:start;flex-direction:column}
  .book-detail{grid-template-columns:1fr;padding:5rem 0 6rem;gap:2.4rem}
  .book-detail-cover{position:static;width:min(72vw,22rem)}
}
@media(max-width:620px){
  .nav{align-items:flex-start;flex-direction:column;padding:1rem 0;gap:.9rem}
  .hero{padding:5.5rem 0 4.5rem}
  .page,.book-page,.book-detail{padding:5rem 0 6rem}
  .brand-lockup img{width:10rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
