:root{
  /* author-level brand: deliberately neutral so each shelf can own its own colour */
  --ink:#0B0D12;
  --ink-2:#12161F;
  --bone:#F2EDE4;
  --bone-dim:#A9A395;
  --brass:#C9A227;
  --line:rgba(242,237,228,.14);
  --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:'Inter',system-ui,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
a{color:inherit}
.mono{font-family:'Chakra Petch',monospace;letter-spacing:.16em;text-transform:uppercase}
.btn{display:inline-block;padding:13px 26px;border-radius:2px;font-family:'Chakra Petch';
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12.5px;
  text-decoration:none;cursor:pointer;border:none;transition:transform .15s,opacity .2s}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--c,var(--brass));color:var(--ct,#14100A)}
.btn-line{border:1px solid currentColor;background:transparent}

/* ---------------- nav ---------------- */
nav{position:sticky;top:0;z-index:60;background:rgba(11,13,18,.9);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:22px}
.wordmark{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.wordmark .n{font-family:'Fraunces',serif;font-weight:700;font-size:21px;letter-spacing:.01em}
.wordmark .r{font-family:'Chakra Petch';font-size:8.5px;letter-spacing:.34em;
  color:var(--bone-dim);margin-top:4px}
.navlinks{display:flex;gap:28px}
.navlinks a{color:var(--bone-dim);text-decoration:none;font-family:'Chakra Petch';
  font-size:11.5px;letter-spacing:.15em;text-transform:uppercase;font-weight:600;transition:color .2s}
.navlinks a:hover{color:var(--brass)}
@media(max-width:900px){.navlinks{display:none}}

/* ---------------- hero ---------------- */
.hero{padding:100px 0 84px;position:relative;overflow:hidden;
  border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;left:50%;top:-260px;width:1200px;height:760px;
  transform:translateX(-50%);pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(201,162,39,.10),transparent 62%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;
  gap:60px;align-items:center}
.hero .promise{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(34px,4.6vw,58px);
  line-height:1.1;letter-spacing:-.015em;margin-bottom:22px}
.hero .promise em{font-style:italic;color:var(--brass)}
.hero .sub{color:var(--bone-dim);font-size:17px;max-width:50ch;margin-bottom:34px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
/* the "current release" slot — this is the part that rotates over time */
.featured{border:1px solid var(--line);border-radius:4px;padding:22px;
  background:linear-gradient(180deg,rgba(242,237,228,.045),transparent)}
.featured .tag{font-family:'Chakra Petch';font-size:10px;letter-spacing:.26em;
  color:var(--brass);font-weight:700;margin-bottom:16px}
.featured .row{display:flex;gap:18px;align-items:center}
.featured .mini{width:104px;aspect-ratio:2/3;flex:none;border-radius:2px;
  background:linear-gradient(165deg,#16203A,#0A1020);border:1px solid rgba(201,162,39,.28);
  display:grid;place-items:center;text-align:center;padding:8px;
  font-family:'Chakra Petch';font-size:8px;letter-spacing:.14em;color:#6F7B92}
.featured h3{font-family:'Fraunces',serif;font-size:22px;line-height:1.15;margin-bottom:4px}
.featured .meta{font-family:'Chakra Petch';font-size:10.5px;letter-spacing:.14em;
  color:var(--bone-dim);text-transform:uppercase;margin-bottom:12px}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:44px}}

/* ---------------- shelf shell ---------------- */
.shelf{padding:100px 0;position:relative;border-bottom:1px solid var(--line)}
.shelf .wrap{position:relative;z-index:2}
.shelf-head{display:flex;justify-content:space-between;align-items:flex-end;
  gap:30px;margin-bottom:44px;flex-wrap:wrap}
.shelf-head .kicker{font-family:'Chakra Petch';font-size:10.5px;letter-spacing:.3em;
  font-weight:700;margin-bottom:14px;color:var(--accent)}
.shelf-head h2{font-size:clamp(30px,4.2vw,50px);line-height:1.02}
.shelf-head p{font-size:16px;margin-top:14px;max-width:56ch;opacity:.78}
/* the age chip — every book on this site carries one. non-negotiable. */
.age-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid currentColor;
  border-radius:100px;padding:5px 13px;font-family:'Chakra Petch';font-size:10px;
  letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.85}
.books{display:grid;gap:20px}
.book{border-radius:4px;overflow:hidden;transition:transform .35s,box-shadow .35s;
  display:flex;flex-direction:column}
.book:hover{transform:translateY(-7px)}
.book .art{aspect-ratio:2/3;position:relative;display:grid;place-items:center;
  text-align:center;padding:20px}
.book .art .drop{font-family:'Chakra Petch';font-size:9.5px;letter-spacing:.18em;
  border:1px dashed currentColor;border-radius:3px;padding:16px;opacity:.4;width:100%}
.book .info{padding:20px 4px 0}
.book h3{font-family:'Fraunces',serif;font-size:20px;line-height:1.2;margin-bottom:5px}
.book .bmeta{font-family:'Chakra Petch';font-size:10px;letter-spacing:.15em;
  text-transform:uppercase;opacity:.6;margin-bottom:10px}
.book p{font-size:14px;opacity:.75;line-height:1.55}
/* a whole card that is itself a link */
.book-link{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.book-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.book-cta{display:inline-block;margin-top:10px;font-family:'Chakra Petch';font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent);opacity:.9}
.book-link:hover .book-cta{opacity:1}

/* ---------------- shelf 1 · Jupiter Brothers (cosmic) ---------------- */
.s-jb{--accent:#E8A33D;background:
   radial-gradient(ellipse at 18% 0%,rgba(46,91,209,.20),transparent 58%),
   radial-gradient(ellipse at 88% 90%,rgba(232,163,61,.11),transparent 55%),
   #060A14;color:#EAF0FA}
.s-jb .stars{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.45;
  background:
    radial-gradient(1px 1px at 14% 26%,#fff,transparent),
    radial-gradient(1px 1px at 76% 18%,#cfe4ff,transparent),
    radial-gradient(1.4px 1.4px at 44% 72%,#fff,transparent),
    radial-gradient(1px 1px at 90% 58%,#9ec6ff,transparent),
    radial-gradient(1px 1px at 28% 88%,#fff,transparent),
    radial-gradient(1.4px 1.4px at 60% 38%,#ffe9c2,transparent);
  background-size:560px 560px}
.s-jb h2{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.015em;
  background:linear-gradient(180deg,#FDF0D0,#F7D488 40%,#C77B1E);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.s-jb .books{grid-template-columns:repeat(4,1fr)}
.s-jb .book .art{background:linear-gradient(165deg,#131E36,#080E1C);
  border:1px solid rgba(232,163,61,.22);border-radius:3px}
.s-jb .book.soon .art{opacity:.5}
.s-jb .book.soon h3{opacity:.7}
@media(max-width:900px){.s-jb .books{grid-template-columns:repeat(2,1fr)}}

/* ---------------- shelf 2 · Picture books (warm paper) ---------------- */
.s-pb{--accent:#D2542C;background:
   radial-gradient(ellipse at 80% 10%,#FFF3DC,transparent 60%),
   linear-gradient(180deg,#FDF6E9,#F7EAD2);color:#2C2119;
   border-bottom:1px solid rgba(44,33,25,.14)}
.s-pb h2{font-family:'Fraunces',serif;font-weight:700;letter-spacing:-.02em}
.s-pb .books{grid-template-columns:repeat(2,1fr);max-width:760px}
.s-pb .book .art{aspect-ratio:1;border-radius:8px;
  background:linear-gradient(160deg,#FFD9A8,#F6B27A);border:1px solid rgba(44,33,25,.14);
  box-shadow:0 14px 34px rgba(120,80,40,.18)}
.s-pb .book p{opacity:.72}
.s-pb .btn-line{border-color:rgba(44,33,25,.4)}
@media(max-width:760px){.s-pb .books{grid-template-columns:1fr}}

/* ---------------- shelf 3 · Adult SF (cold, sparse) ---------------- */
.s-sf{--accent:#7FE3D4;background:
   linear-gradient(180deg,#080B0E,#0D1418 60%,#080B0E);color:#DCE6EA}
.s-sf h2{font-family:'Chakra Petch',sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em}
.s-sf .wrap{max-width:900px}
.s-sf .sf-card{border:1px solid rgba(127,227,212,.22);border-radius:3px;padding:44px;
  background:linear-gradient(180deg,rgba(127,227,212,.045),transparent);text-align:center}
.s-sf .sf-card .yr{font-family:'Chakra Petch';font-size:11px;letter-spacing:.32em;
  color:var(--accent);font-weight:700;margin-bottom:20px}
.s-sf .sf-card h3{font-family:'Chakra Petch';font-size:clamp(24px,3.4vw,38px);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}
.s-sf .sf-card p{opacity:.72;max-width:54ch;margin:0 auto 26px;font-size:16px}

/* ---------------- newsletter ---------------- */
.list{padding:100px 0;background:var(--ink-2);border-bottom:1px solid var(--line)}
.list .wrap{max-width:760px;text-align:center}
.list .kicker{font-family:'Chakra Petch';font-size:10.5px;letter-spacing:.3em;
  color:var(--brass);font-weight:700;margin-bottom:16px}
.list h2{font-family:'Fraunces',serif;font-size:clamp(28px,3.8vw,44px);
  line-height:1.1;margin-bottom:14px}
.list .lead{color:var(--bone-dim);font-size:16.5px;margin-bottom:34px}
/* interest tagging — the most important structural element on this page */
.tags{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px;text-align:left}
.tag-opt{border:1px solid var(--line);border-radius:3px;padding:16px 18px;cursor:pointer;
  transition:border-color .2s,background .2s;display:block}
.tag-opt:hover{border-color:rgba(201,162,39,.5)}
.tag-opt input{margin-right:9px;accent-color:var(--brass)}
.tag-opt .t{font-family:'Chakra Petch';font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700}
.tag-opt .d{font-size:12.5px;color:var(--bone-dim);margin-top:6px;padding-left:24px}
.tag-opt:has(input:checked){border-color:var(--brass);background:rgba(201,162,39,.07)}
.list form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.list input[type=email]{flex:1;min-width:260px;background:var(--ink);border:1px solid var(--line);
  color:var(--bone);padding:15px 16px;border-radius:2px;font-family:'Chakra Petch';font-size:14px}
.list input[type=email]:focus{outline:none;border-color:var(--brass)}
.list .fine{font-size:12.5px;color:#6E6A61;margin-top:20px;max-width:56ch;
  margin-inline:auto}
@media(max-width:780px){.tags{grid-template-columns:1fr}}

/* ---------------- educators ---------------- */
.edu{padding:76px 0;border-bottom:1px solid var(--line)}
.edu .wrap{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.edu h2{font-family:'Fraunces',serif;font-size:clamp(24px,3vw,34px);margin-bottom:10px}
.edu p{color:var(--bone-dim);max-width:60ch;font-size:15.5px}
@media(max-width:820px){.edu .wrap{grid-template-columns:1fr}}

/* ---------------- about ---------------- */
.about{padding:100px 0;border-bottom:1px solid var(--line)}
.about .wrap{display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:center}
.shot{aspect-ratio:1;border-radius:50%;border:1px solid rgba(201,162,39,.32);
  display:grid;place-items:center;text-align:center;padding:26px;
  font-family:'Chakra Petch';font-size:10px;letter-spacing:.18em;color:var(--bone-dim);
  background:radial-gradient(circle at 40% 30%,#171B25,#0B0D12)}
.about h2{font-family:'Fraunces',serif;font-size:clamp(26px,3.4vw,40px);margin-bottom:8px}
.about .said{font-family:'Fraunces',serif;font-style:italic;font-size:21px;
  color:var(--brass);margin-bottom:20px}
.about p{color:var(--bone-dim);font-size:16px;margin-bottom:14px;max-width:64ch}
@media(max-width:860px){.about .wrap{grid-template-columns:1fr;text-align:center}
  .shot{max-width:210px;margin:0 auto}.about p{margin-inline:auto}}

/* ---------------- footer ---------------- */
footer{padding:52px 0 44px;background:#07090D}
footer .wrap{display:flex;justify-content:space-between;align-items:center;
  gap:22px;flex-wrap:wrap}
footer .links{display:flex;gap:24px;flex-wrap:wrap}
footer a{color:var(--bone-dim);text-decoration:none;font-family:'Chakra Petch';
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}
footer a:hover{color:var(--brass)}
footer .cr{color:#4A4740;font-size:12px}
.note{max-width:var(--maxw);margin:22px auto 0;padding:0 26px;color:#3A3833;
  font-size:11px;font-family:'Chakra Petch';letter-spacing:.1em}

/* ================= WordPress image rendering ================= */
.rr-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.book .art{overflow:hidden;position:relative}
.book .art.has-img .drop{display:none}
.featured .mini{overflow:hidden;position:relative}
.featured .mini.has-img{color:transparent}
.shot{overflow:hidden;position:relative}
.shot.has-img span{display:none}
.shot .rr-img{border-radius:50%}
.rr-msg{margin-top:16px;font-family:'Chakra Petch';font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brass);min-height:18px}
.rr-msg.err{color:#E0705F}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.book.soon .art{opacity:.55}
