:root{
  --paper:#f4f1ea; --paper-2:#ece7db; --card:#fbf9f3;
  --ink:#211c16; --muted:#6f6757; --hair:#e2dccd;
  --green:#2f4339; --green-deep:#243630; --accent:#3d5a49; --accent-soft:#5e7a67;
  --gold:#9a7b43; --gold-soft:#c2a05f;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --maxw:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  line-height:1.6;-webkit-font-smoothing:antialiased;border-top:4px solid var(--green)}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.14;margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-soft)}
.eyebrow.gold{color:var(--gold-soft)}

/* header */
header.site{position:sticky;top:0;z-index:20;background:rgba(244,241,234,.88);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--hair)}
.bar{max-width:var(--maxw);margin:0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand svg{width:33px;height:33px;color:var(--ink);flex:none}
.brand .name{font-family:var(--serif);font-size:19px;letter-spacing:.02em}
nav.top{display:flex;gap:22px;align-items:center}
nav.top a{font-size:13px;letter-spacing:.03em;text-decoration:none;color:var(--muted);padding:4px 0;border-bottom:1px solid transparent}
nav.top a:hover,nav.top a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}

/* hero */
.hero{text-align:center;padding:96px 24px 60px}
.hero .mark{width:76px;height:76px;color:var(--ink);margin:0 auto 26px}
.hero h1{font-size:clamp(40px,7vw,70px);letter-spacing:.01em}
.hero .tag{font-family:var(--serif);font-style:italic;color:var(--accent);font-size:clamp(17px,2.5vw,22px);margin:18px auto 0;max-width:34ch}
.hero .ethos{max-width:60ch;margin:22px auto 0;color:var(--muted);font-size:15.5px}
.rule{width:64px;height:2px;background:var(--gold);opacity:.7;margin:36px auto 0}

section{padding:62px 0}
section.alt{background:var(--paper-2)}
.hero-cta{margin-top:30px}

/* simple page header band (Authors page) */
.page-head{background:var(--paper-2);border-bottom:1px solid var(--hair);padding:54px 0}
.page-head .back{font-size:13px;text-decoration:none;color:var(--accent);letter-spacing:.03em}
.page-head .back:hover{color:var(--ink)}
.page-head h1{font-size:clamp(32px,5vw,48px);margin-top:16px}
.page-head .lead{max-width:62ch;margin:16px 0 0;color:#4a463d;font-size:16px}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:32px}
.sec-head h2{font-size:clamp(25px,4vw,33px)}
.sec-head .line{flex:1;height:1px;background:var(--hair)}

/* author cards (home) */
.authors{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.author-card{background:var(--card);border:1px solid var(--hair);border-radius:11px;padding:28px 26px;
  text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s}
.author-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(36,54,48,.12);border-color:#d8d0bd}
.author-card h3{font-size:23px}
.author-card .genre{margin-top:6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-soft)}
.author-card p{font-size:14.5px;color:#4a463d;margin:15px 0 18px}
.author-card .more{margin-top:auto;font-size:13px;letter-spacing:.04em;color:var(--accent)}
.author-card:hover .more{color:var(--ink)}

.btn{display:inline-block;font-size:13px;letter-spacing:.03em;text-decoration:none;border:1px solid var(--ink);
  color:var(--ink);padding:9px 16px;border-radius:999px;transition:background .15s,color .15s}
.btn:hover{background:var(--green);border-color:var(--green);color:var(--paper)}

/* author page hero */
.author-hero{background:var(--paper-2);border-bottom:1px solid var(--hair);padding:56px 0 52px}
.author-hero .back{font-size:13px;text-decoration:none;color:var(--accent);letter-spacing:.03em}
.author-hero .back:hover{color:var(--ink)}
.author-hero .eyebrow{margin:22px 0 10px}
.author-hero h1{font-size:clamp(34px,6vw,52px)}
.author-hero .abio{max-width:64ch;margin:18px 0 0;color:#4a463d;font-size:16px}
.author-hero .links{margin-top:26px}

/* books */
.books-sec{padding:58px 0}
.series-label{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent-soft);margin:8px 0 24px;display:flex;align-items:center;gap:14px}
.series-label:first-child{margin-top:0}
.series-label::before,.series-label::after{content:"";height:1px;flex:1;background:var(--hair)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:42px 26px;margin-bottom:14px}
.book{display:flex;flex-direction:column;align-items:center;text-align:center}
.cover{height:300px;display:flex;align-items:flex-end;justify-content:center;width:100%}
.cover img{height:300px;width:auto;max-width:100%;border-radius:2px;
  box-shadow:0 14px 34px rgba(28,22,14,.24);transition:transform .2s,box-shadow .2s}
.book:hover .cover img{transform:translateY(-5px);box-shadow:0 22px 46px rgba(28,22,14,.30)}
.ph{height:300px;width:200px;border-radius:2px;background:linear-gradient(160deg,#33433b,#1d241f);
  color:#efe9da;box-shadow:0 14px 34px rgba(28,22,14,.24);display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:24px 18px;transition:transform .2s}
.book:hover .ph{transform:translateY(-5px)}
.ph svg{width:30px;height:30px;color:var(--gold-soft);opacity:.95;margin-bottom:16px}
.ph .pt{font-family:var(--serif);font-size:21px;line-height:1.2}
.ph .pa{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.72;margin-top:13px}
.meta{margin-top:18px;max-width:230px}
.meta .title{font-family:var(--serif);font-size:18px}
.meta .desc{font-size:12.5px;color:var(--muted);margin-top:7px;line-height:1.5}
.pill{display:inline-block;margin-top:12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 11px;border-radius:999px;border:1px solid var(--hair);color:var(--muted)}
.pill-now{border-color:var(--green);color:#fff;background:var(--green)}
.pill-soon{border-color:var(--accent-soft);color:var(--accent)}
.pill-plan{border-style:dashed;border-color:var(--hair);color:#a59d8c}
.buy{margin-top:12px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.buy a{font-size:12px;text-decoration:none;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:1px}
.buy a:hover{color:var(--ink);border-bottom-color:var(--ink)}

/* more authors strip */
.more-authors{background:var(--paper-2);padding:40px 0}
.ma-label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ma-links{display:flex;gap:24px;flex-wrap:wrap}
.ma-links a{font-family:var(--serif);font-size:21px;text-decoration:none;color:var(--ink);border-bottom:1px solid transparent}
.ma-links a:hover{border-bottom-color:var(--accent)}

/* submissions */
.subs-wrap{padding:62px 0}
.subs{background:var(--green-deep);color:var(--paper);border-radius:14px;padding:56px 44px;text-align:center}
.subs .eyebrow{display:block;margin-bottom:8px}
.subs h2{color:var(--paper);font-size:clamp(26px,4vw,34px)}
.subs p{max-width:60ch;margin:16px auto 0;color:#cfd6cc;font-size:15.5px}
.subs .email{display:inline-block;margin-top:26px;font-family:var(--serif);font-size:clamp(20px,3vw,27px);
  color:#fff;text-decoration:none;border-bottom:1px solid rgba(244,241,234,.45);padding-bottom:5px}
.subs .email:hover{border-bottom-color:#fff}
.subs .fine{margin-top:18px;font-size:12.5px;letter-spacing:.03em;color:#a9b3a6}

/* submission guidelines page */
.wrap.narrow{max-width:780px}
.guide-sec{padding:56px 0}
ol.guide{list-style:none;counter-reset:g;padding:0;margin:0}
ol.guide li{counter-increment:g;position:relative;padding:0 0 28px 60px;font-size:16px;color:#3a352d;line-height:1.65}
ol.guide li::before{content:counter(g);position:absolute;left:0;top:-3px;width:36px;height:36px;border-radius:50%;
  border:1px solid var(--accent);color:var(--accent);font-family:var(--serif);font-size:17px;
  display:flex;align-items:center;justify-content:center}
ol.guide li:last-child{padding-bottom:0}
ol.guide a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}
.cta-box{margin-top:46px;background:var(--green-deep);color:var(--paper);border-radius:14px;padding:42px;text-align:center}
.cta-box .lab{margin:0 0 12px;color:#a9b3a6;letter-spacing:.14em;text-transform:uppercase;font-size:11px}
.cta-box .email{font-family:var(--serif);font-size:clamp(20px,3vw,27px);color:#fff;text-decoration:none;
  border-bottom:1px solid rgba(244,241,234,.45);padding-bottom:5px}
.cta-box .email:hover{border-bottom-color:#fff}

/* footer */
footer.site{background:var(--green-deep);color:#bcc5bb;padding:46px 24px 54px;text-align:center}
footer .f-links{margin-top:20px}
footer .f-links a{color:#cfd6cc;font-size:13px;text-decoration:none;border-bottom:1px solid transparent}
footer .f-links a:hover{color:#fff;border-bottom-color:#7d8a7e}
footer .f-mark{width:46px;height:46px;color:var(--paper);margin:0 auto 16px}
footer .f-name{font-family:var(--serif);color:var(--paper);font-size:20px;letter-spacing:.03em}
footer .f-mail{margin-top:9px;font-size:14px}
footer .f-mail a{color:#bcc5bb}
footer .f-mail a:hover{color:#fff}
footer .f-fine{margin-top:22px;font-size:12px;color:#7d8a7e;letter-spacing:.03em}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:820px){
  nav.top{gap:14px;font-size:12px}
  nav.top a{font-size:12px}
  .authors{grid-template-columns:1fr;gap:16px}
  .subs{padding:40px 22px}
}
