:root{
  --bg:#12141a;
  --surface:#1b1e28;
  --text:#eae7de;
  --text-dim:#9298a8;
  --accent:#dba14a;
  --accent-soft:#3a301c;
  --border:#333a4a;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Work Sans', ui-sans-serif, system-ui, sans-serif;
  line-height:1.6;
}
.page{
  max-width:640px;
  margin:0 auto;
  padding:64px 24px 80px;
}
.eclipse-mark{
  width:56px;
  height:56px;
  border-radius:50%;
  margin-bottom:24px;
  background:
    radial-gradient(circle at 35% 35%, transparent 0 38%, var(--accent) 39% 41%, transparent 42%),
    var(--text);
}
.kicker{
  font-family:'Work Sans', sans-serif;
  font-size:0.78rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 8px;
}
h1{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  font-size:2.1rem;
  margin:0 0 4px;
}
.role{
  color:var(--text-dim);
  margin:0 0 40px;
  font-size:1rem;
}
h2{
  font-family:'Fraunces', Georgia, serif;
  font-weight:600;
  font-size:1.2rem;
  margin:0 0 12px;
  border-bottom:1px solid var(--border);
  padding-bottom:10px;
}
section{margin-bottom:40px;}
.book-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:12px;
  padding:22px 24px;
}
.book-title{
  font-family:'Fraunces', Georgia, serif;
  font-size:1.15rem;
  font-weight:600;
  margin:0 0 10px;
}
.synopsis{white-space:pre-line; color:var(--text); font-size:0.98rem; margin:0 0 18px;}
.links{display:flex; gap:12px; flex-wrap:wrap;}
.links a{
  display:inline-block;
  font-size:0.88rem;
  font-weight:500;
  color:var(--bg);
  background:var(--accent);
  padding:9px 16px;
  border-radius:7px;
  text-decoration:none;
}
.links a.secondary{
  color:var(--accent);
  background:var(--accent-soft);
}
.contact a{
  color:var(--accent);
  font-size:1rem;
  text-decoration:none;
  word-break:break-all;
}
.contact a:hover{text-decoration:underline;}
footer{
  margin-top:56px;
  padding-top:20px;
  border-top:1px solid var(--border);
  font-size:0.82rem;
  color:var(--text-dim);
}
