@font-face { font-family:"EB Garamond"; src:url("/fonts/EBGaramond-Regular.ttf") format("truetype"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("/fonts/EBGaramond-Italic.ttf") format("truetype"); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("/fonts/EBGaramond-Bold.ttf") format("truetype"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"EB Garamond"; src:url("/fonts/EBGaramond-BoldItalic.ttf") format("truetype"); font-weight:700; font-style:italic; font-display:swap; }

:root{
  --bg:#15291d; --panel:#0e1c14; --ink:#ece3cd; --muted:#9aaa9b;
  --dim:#7f9183; --accent:#5fe08a; --gold:#cdbf99; --rule:rgba(236,227,205,.18);
}
*{box-sizing:border-box}
html,body{margin:0; min-height:100%; background:var(--bg);}
body{background:var(--bg); color:var(--ink); font-family:"EB Garamond",Georgia,serif;
  -webkit-font-smoothing:antialiased; line-height:1.6;
  min-height:100vh; min-height:100svh; color-scheme:dark;}
.wrap{max-width:920px; margin:0 auto; padding:48px 32px max(40px, env(safe-area-inset-bottom)); text-align:center;}
.series{font-size:15px; letter-spacing:.42em; padding-left:.42em; margin:0; font-weight:400;}
.glyph{display:flex; gap:7px; justify-content:center; align-items:center; margin:16px 0;}
.glyph span{width:9px; height:9px; background:var(--gold);}
.glyph .dot{width:8px; height:8px; border-radius:50%; background:var(--accent);}
.rule{height:1px; width:180px; background:rgba(236,227,205,.35); margin:0 auto;}
.hook{font-style:italic; font-size:27px; line-height:1.5; max-width:24em; margin:26px auto 16px;}
.status{font-size:12px; letter-spacing:.34em; padding-left:.34em; color:var(--accent);}
.premise{font-size:17px; color:var(--gold); max-width:36em; margin:16px auto 0;}

/* Book One panel + the two-book list, stacked */
.panel{max-width:40em; margin:30px auto 0; background:var(--panel); border:1px solid rgba(236,227,205,.14); border-left:3px solid var(--accent); border-radius:0; padding:22px 26px; text-align:left;}
.kicker{font-size:12px; letter-spacing:.32em; color:var(--muted); text-transform:uppercase;}
.book-title{font-size:30px; letter-spacing:.03em; margin:8px 0 1px;}
.book-sub{font-style:italic; color:var(--muted); margin-bottom:12px;}
.blurb{font-size:17px; color:#cdc1a3; line-height:1.7; margin:0;}
.blurb + .blurb{margin-top:12px;}
.arc{max-width:34em; margin:26px auto 0; text-align:center;}
.arc h2{font-size:12px; letter-spacing:.3em; color:var(--muted); text-transform:uppercase; text-align:center; font-weight:400; margin:0 0 10px;}
.row{padding:14px 0; border-top:1px solid var(--rule);}
.row:last-of-type{border-bottom:1px solid var(--rule);}
.row .yr{font-size:12px; letter-spacing:.18em; color:var(--accent); margin-bottom:3px;}
.row .t{font-size:18px;}
.row .d{font-size:15px; color:var(--muted); max-width:30em; margin:3px auto 0;}
.teaser{font-style:italic; color:var(--muted); font-size:15px; margin:16px 0 0;}
.book-year{color:var(--accent);}

/* about the author */
.about{max-width:38em; margin:30px auto 0; text-align:center;}
.about h2{font-size:12px; letter-spacing:.3em; color:var(--muted); text-transform:uppercase; font-weight:400; margin:0 0 8px;}
.about p{font-size:16px; color:var(--gold); line-height:1.7; margin:0;}

.signup{max-width:36em; margin:34px auto 0;}
.signup h2{font-size:20px; font-weight:400; margin:0;}
.signup > p{font-size:14px; color:var(--muted); margin:4px 0 14px;}
.field{display:flex; flex-wrap:wrap; gap:8px; justify-content:center;}
.field input[type=email]{flex:1; max-width:18em; background:var(--panel);
  border:1px solid rgba(236,227,205,.25); color:var(--ink); height:42px; padding:0 12px;
  border-radius:6px; font-family:inherit; font-size:16px;}
.field button{background:var(--accent); color:#0c1711; border:none; height:42px; padding:0 18px;
  border-radius:6px; font-family:inherit; font-size:16px; cursor:pointer;}
.field button:disabled{opacity:.6; cursor:default;}
.consent{display:block; max-width:30em; margin:11px auto 0; font-size:12px;
  line-height:1.5; color:var(--dim); text-align:center;}
.consent input{margin-right:6px; vertical-align:middle;}
.privacy{max-width:30em; margin:8px auto 0; font-size:12px; line-height:1.5; color:var(--dim); text-align:center;}
.privacy a{color:var(--muted);}
.msg{min-height:1.4em; margin-top:10px; font-size:14px;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.foot{margin-top:34px; padding-top:15px; border-top:1px solid var(--rule);}
.foot-contact{font-size:13px; color:var(--muted); margin:0 0 8px;}
.foot-contact a{color:var(--gold);}
.foot-line{font-size:12px; letter-spacing:.12em; color:var(--dim); margin:0;}
.center-page{min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center;}
a{color:var(--accent);}

@media (max-width:520px){
  .wrap{padding:40px 22px max(32px, env(safe-area-inset-bottom));}
  .hook{font-size:22px;}
  .book-title{font-size:26px;}
}
