@font-face{font-family:"EB Garamond";src:url(/assets/fonts/EBGaramond-var.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/assets/fonts/EBGaramond-Italic-var.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}
:root{
  --cream:#f3ecdc;--paper:#fbf7ee;--ink:#1b1a17;--green:#1d2421;--green-2:#26302c;
  --muted:#6b665c;--soft:#8a8475;--rule:#d6cab1;--stone:#e7ddc8;--rule-2:#e2d8c3;
  --measure:36rem;--wrap:78rem;
  --serif:"EB Garamond",Garamond,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--cream);color:var(--ink);font-family:var(--serif);font-size:1.25rem;line-height:1.55;
  font-feature-settings:"kern","liga","onum";font-variant-numeric:oldstyle-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:rgba(27,26,23,.35)}
a:hover{text-decoration-color:currentColor}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 2rem}
.sc{font-variant-caps:all-small-caps;letter-spacing:.09em;font-feature-settings:"kern","c2sc","smcp","lnum"}
.lnum{font-variant-numeric:lining-nums tabular-nums}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:.5rem 1rem;z-index:9}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Oxford rules: thick over thin, thin over thick */
.ox{border:0;height:6px;margin:0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);background:none}
.ox.flip{border-top-width:1px;border-bottom-width:3px}
.hair{border:0;border-top:1px solid var(--rule);margin:0}

/* Utility strip + bar */
.strip{font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--rule)}
.strip .wrap{display:flex;justify-content:space-between;gap:1rem;padding-top:.5rem;padding-bottom:.5rem}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1rem;padding-bottom:1rem}
.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none}
.brand svg{width:46px;height:46px;flex:none}
.brand span{font-size:1.15rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.nav{display:flex;gap:1.6rem;font-size:1.02rem;flex-wrap:wrap;justify-content:flex-end}
.nav a{text-decoration:none;padding:.2rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--ink)}
.nav .out::after{content:" \2197";font-size:.85em}
.menu-btn{display:none}

/* Home nameplate */
.nameplate{text-align:center;padding-top:3.2rem;padding-bottom:1.6rem}
.nameplate svg{width:132px;height:132px;color:var(--ink)}
.nameplate h1{margin:1.1rem 0 0;font-weight:500;font-size:clamp(2rem,5.4vw,4.6rem);letter-spacing:.14em;line-height:1.05;text-transform:uppercase}
.nameplate p{margin:.8rem auto 0;font-style:italic;color:var(--muted);font-size:1.25rem}
.dateline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.55rem 0;font-size:.95rem}
.dateline span:nth-child(2){text-align:center}
.dateline span:last-child{text-align:right}

/* Front page grid */
.front{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,4fr);gap:0;padding:2.4rem 0 3.4rem}
.front>*{padding:0 2rem}
.front>*+*{border-left:1px solid var(--rule)}
.front>*:first-child{padding-left:0}.front>*:last-child{padding-right:0}
.kicker{font-size:.9rem;color:var(--muted);margin:0 0 .9rem}
.statement p{margin:0 0 1rem}
.statement .lede{font-size:1.5rem;line-height:1.38}
.statement .lede::first-letter{float:left;font-size:4.6rem;line-height:.82;padding:.38rem .55rem 0 0;font-weight:500}
.more{font-size:1.02rem;font-style:italic}
.lead-book{text-align:left}
.cover{position:relative;display:block;height:auto;border-radius:2px;box-shadow:0 1px 0 rgba(0,0,0,.06),0 18px 30px -12px rgba(20,24,22,.45),0 40px 60px -30px rgba(20,24,22,.35)}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.10) 0,rgba(255,255,255,0) 2%,rgba(0,0,0,.18) 2.6%,rgba(0,0,0,0) 4.5%);pointer-events:none;border-radius:2px}
.stage{background:var(--stone);padding:2.6rem 2.2rem;display:flex;justify-content:center;margin-bottom:1.4rem}
.stage .cover{width:min(270px,70%)}
.book-title{font-size:2rem;line-height:1.12;font-weight:500;margin:.2rem 0 .35rem}
.book-title a{text-decoration:none}
.book-title a:hover{text-decoration:underline;text-decoration-thickness:1px}
.book-sub{font-style:italic;font-size:1.2rem;line-height:1.35;margin:0 0 .5rem;color:#33312c}
.byline{font-size:1rem;margin:0 0 .9rem}
.status{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;border:1px solid var(--ink);padding:.18rem .7rem .22rem;border-radius:999px}
.status::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--ink)}
.blurb{font-size:1.1rem;margin:.9rem 0 1rem}
.side-book .stage{padding:2rem 1.6rem}
.side-book .stage .cover{width:min(200px,62%)}
.side-book .book-title{font-size:1.6rem}

/* Dark band */
.band{background:var(--green);color:var(--cream)}
.band a{text-decoration-color:rgba(243,236,220,.4)}
.band .ox{border-color:var(--cream)}
.band-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem;padding-top:4rem;padding-bottom:4rem}
.band h2{font-weight:500;font-size:2.1rem;line-height:1.15;margin:0 0 1rem}
.band p{margin:0 0 1rem;color:#e7dfcc}
.band .kicker{color:#b9b19e}
.news-list{list-style:none;margin:0;padding:0}
.news-list li{padding:1.1rem 0;border-top:1px solid rgba(243,236,220,.18)}
.news-list li:last-child{border-bottom:1px solid rgba(243,236,220,.18)}
.news-list time{display:block;font-size:.88rem;color:#b9b19e}
.news-list a{font-size:1.35rem;text-decoration:none}
.news-list a:hover{text-decoration:underline}
.btn{display:inline-block;border:1px solid currentColor;padding:.55rem 1.2rem .6rem;text-decoration:none;font-size:1.02rem;margin-top:.4rem}
.btn:hover{background:var(--cream);color:var(--green)}
.btn.dark:hover{background:var(--ink);color:var(--cream)}

/* Page headers */
.page-head{padding:3.4rem 0 2rem;text-align:center}
.page-head .kicker{margin-bottom:.6rem}
.page-head h1{font-weight:500;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.08;margin:0}
.page-head .dek{font-style:italic;color:var(--muted);font-size:1.3rem;margin:.8rem auto 0;max-width:40rem}
.prose{max-width:var(--measure);margin:0 auto;padding:2.6rem 0 4rem}
.prose p,.prose ul{margin:0 0 1.1rem}
.prose h2{font-weight:500;font-size:1.65rem;margin:2.4rem 0 .8rem}
.prose h2:first-child{margin-top:0}
.prose .lede{font-size:1.45rem;line-height:1.42}

/* Book page */
.crumbs{font-size:.95rem;color:var(--muted);padding:1.4rem 0 0}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.book{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4.5rem;padding:2.2rem 0 4.5rem;align-items:start}
.book-stage{background:var(--stone);padding:3.6rem 3rem;position:sticky;top:1.5rem}
.book-stage .cover{width:min(340px,100%);margin:0 auto}
.book-stage figcaption{color:var(--muted);font-size:.85rem;text-align:center;margin-top:1.6rem}
.book h1{font-weight:500;font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.06;margin:.3rem 0 .6rem}
.book .book-sub{font-size:1.45rem}
.book .byline{font-size:1.15rem;margin:.6rem 0 1.4rem}
.avail{background:var(--paper);border:1px solid var(--rule-2);padding:1.3rem 1.5rem;margin:1.6rem 0 2.2rem}
.avail h2{font-size:1rem;margin:0 0 .5rem;font-weight:500}
.avail p{margin:0;font-size:1.08rem}
.buy{list-style:none;margin:1rem 0 0;padding:0}
.buy li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid var(--rule-2);font-size:1.05rem}
.buy .pending{color:var(--muted);font-style:italic}
.desc p,.desc ul{margin:0 0 1.05rem}
.desc ul{padding-left:1.2rem}
.desc li{margin:.2rem 0}
.ledger{width:100%;border-collapse:collapse;margin:1rem 0 0;font-size:1.05rem}
.ledger th,.ledger td{text-align:left;vertical-align:top;padding:.62rem 0;border-top:1px solid var(--rule)}
.ledger tr:last-child th,.ledger tr:last-child td{border-bottom:1px solid var(--rule)}
.ledger th{font-weight:400;color:var(--muted);width:38%;padding-right:1rem}
.section-label{display:flex;align-items:center;gap:1rem;margin:2.6rem 0 .3rem;font-size:1rem}
.section-label::after{content:"";flex:1;border-top:1px solid var(--ink)}
.also{display:grid;grid-template-columns:120px 1fr;gap:1.6rem;align-items:center;padding:1.4rem 0}
.also .book-title{font-size:1.5rem}

/* Catalogue page */
.cat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;padding:1rem 0 4.5rem}
.cat article{border-top:3px solid var(--ink);padding-top:1.3rem}
.cat .num{font-size:.95rem;color:var(--muted);margin:0 0 1rem}

/* Author */
.author-card{display:grid;grid-template-columns:150px 1fr;gap:2rem;align-items:start;max-width:46rem;margin:0 auto;padding:2.6rem 0 1rem}
.monogram{width:150px;height:150px;border-radius:50%;background:var(--green);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:3.2rem;letter-spacing:.04em;font-weight:500}
.author-card h2{font-weight:500;font-size:2rem;margin:0 0 .5rem}

/* Placeholder marking for AK */
.placeholder{display:inline-block;border:1px dashed var(--soft);background:var(--paper);padding:.05rem .55rem;font-style:italic;color:var(--muted)}

/* Footer */
.foot{background:var(--green);color:var(--cream);margin-top:0}
.foot-grid{display:grid;grid-template-columns:auto 1fr auto;gap:3rem;align-items:start;padding:3.4rem 0 2rem}
.foot svg{width:96px;height:96px;color:var(--cream)}
.foot h2{font-weight:500;font-size:1.3rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .5rem}
.foot p{margin:0 0 .5rem;color:#d9d1bd;font-size:1.02rem}
.foot ul{list-style:none;margin:0;padding:0;columns:2;column-gap:2.4rem;font-size:1.02rem}
.foot li{margin:0 0 .35rem}
.foot a{text-decoration:none}.foot a:hover{text-decoration:underline}
.foot .legal{border-top:1px solid rgba(243,236,220,.18);padding:1.1rem 0 1.6rem;font-size:.88rem;color:#b9b19e;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

@media (max-width:1060px){
  .front{grid-template-columns:1fr 1fr}
  .front .statement{grid-column:1/-1;padding:0 0 2.4rem;border-bottom:1px solid var(--rule);margin-bottom:2.4rem;columns:2;column-gap:2.4rem}
  .front .statement .kicker{column-span:all}
  .front>*+*{border-left:0}
  .front .lead-book{padding-left:0}
  .front .side-book{border-left:1px solid var(--rule)}
}
@media (max-width:820px){
  body{font-size:1.15rem}
  .wrap{padding:0 1.25rem}
  .strip .wrap span:last-child{display:none}
  .bar .wrap{flex-wrap:wrap;gap:.6rem}
  .menu-btn{display:inline-block;background:none;border:1px solid var(--ink);font:inherit;font-size:.95rem;padding:.25rem .8rem;color:var(--ink)}
  .nav{display:none;width:100%;flex-direction:column;gap:0;padding:.4rem 0 .2rem}
  .nav.open{display:flex}
  .nav a{padding:.6rem 0;border-bottom:1px solid var(--rule)}
  .brand{gap:.6rem}.brand svg{width:38px;height:38px}
  .brand span{font-size:.84rem;letter-spacing:.1em}
  .nameplate{padding-top:2.2rem;padding-bottom:1.2rem}.nameplate svg{width:104px;height:104px}
  .nameplate h1{font-size:1.75rem;letter-spacing:.1em}
  .nameplate h1 .l2{display:block}
  .dateline{grid-template-columns:1fr;text-align:center;gap:.1rem}
  .dateline span,.dateline span:last-child{text-align:center}
  .front{grid-template-columns:1fr;padding-top:1.8rem}
  .front .statement{columns:1}
  .front>*{padding:0!important;border:0!important}
  .front .lead-book{padding-bottom:2.4rem!important;border-bottom:1px solid var(--rule)!important;margin-bottom:2.4rem}
  .statement .lede{font-size:1.32rem}
  .band-grid{grid-template-columns:1fr;gap:2.4rem;padding-top:3rem;padding-bottom:3rem}
  .book{grid-template-columns:1fr;gap:2rem;padding-top:1.4rem}
  .book-stage{position:static;padding:2.6rem 2rem}
  .book-stage .cover{width:min(240px,75%)}
  .cat{grid-template-columns:1fr}
  .author-card{grid-template-columns:1fr;text-align:left}
  .monogram{width:110px;height:110px;font-size:2.4rem}
  .foot-grid{grid-template-columns:1fr;gap:1.6rem}
  .ledger th{width:44%}
}

.news-list.light li{border-color:var(--rule)}
.news-list.light time{color:var(--muted)}
.news-list.light a{font-size:1.55rem}

code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8em;background:rgba(27,26,23,.05);padding:.05em .25em;border-radius:2px}

body>main{flex:1 0 auto;width:100%}
.prose pre.quick{background:var(--paper);border:1px solid var(--rule-2);padding:1rem 1.2rem;overflow-x:auto;margin:0 0 1.1rem;line-height:1.6}
.prose pre.quick code{background:none;padding:0;font-size:.74rem;white-space:pre}
