
:root{
  --site-bg:#fbfaf7;
  --site-ink:#171715;
  --site-muted:#77736d;
  --site-line:#d9d5cd;

  --reader-bg:#ffffff;
  --reader-ink:#171717;
  --reader-muted:#777;
  --reader-line:#dedede;
  --reader-font:20px;
  --page-gap:72px;
}

*{box-sizing:border-box}
html{background:var(--site-bg);scroll-behavior:smooth}
body{
  margin:0;background:var(--site-bg);color:var(--site-ink);
  font-family:Georgia,"Times New Roman",serif;
  -webkit-font-smoothing:antialiased;
}
button,a{font:inherit;color:inherit}
button{border:0;background:none;padding:0}
a{text-decoration:none}

.site-header{
  width:min(calc(100% - 48px),885px);height:90px;margin:auto;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--site-line);
}
.name{font-size:18px}
.main-nav{display:flex;gap:23px;align-items:center;font-size:14px}
.main-nav a:hover,.plain-button:hover{opacity:.5}
.plain-button{cursor:pointer;font-size:12px;letter-spacing:.08em}

main,footer{width:min(calc(100% - 48px),885px);margin:auto}
.category.open .work:hover footer{padding:24px 0 42px;border-top:1px solid var(--site-line);font-size:12px;color:var(--site-muted)}

/* Modal focus: the website disappears into a quiet gray field */
.reader{
  width:100vw;max-width:none;height:100vh;max-height:none;
  padding:0;margin:0;border:0;background:transparent;overflow:auto;
}
.reader::backdrop{background:rgba(35,35,35,.36);backdrop-filter:blur(1.5px)}
body.reader-open{overflow:hidden}

.reader-frame{
  --reader-bg:#fff;--reader-ink:#171717;--reader-muted:#777;--reader-line:#dedede;
  /* e-reader proportion: always fully visible inside the viewport */
  width:min(760px,calc(100vw - 72px));
  height:min(860px,calc(100vh - 40px));
  min-height:560px;
  margin:20px auto;
  background:var(--reader-bg);color:var(--reader-ink);
  border:1px solid var(--reader-line);
  box-shadow:0 16px 45px rgba(0,0,0,.08);
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:background .18s ease,color .18s ease;
}
.reader-frame.theme-sepia{
  --reader-bg:#f4eddc;--reader-ink:#302a22;--reader-muted:#7f7567;--reader-line:#d9cdb8;
}
.reader-frame.theme-dark{
  --reader-bg:#151515;--reader-ink:#eceae5;--reader-muted:#aaa69f;--reader-line:#353535;
}
.reader-toolbar{
  height:60px;flex:0 0 60px;border-bottom:1px solid var(--reader-line);
  display:flex;align-items:center;justify-content:space-between;padding:0 18px;
}
.reader-tools-left,.reader-tools-right{display:flex;align-items:center;gap:9px}
.tool-button{
  width:34px;height:34px;border:1px solid var(--reader-line);cursor:pointer;
  font-family:Arial,sans-serif;font-size:19px;line-height:1;
}
.tool-button:hover,.theme-button:hover,.tool-text:hover,.close-x:hover{opacity:.55}
.tool-divider{width:1px;height:22px;background:var(--reader-line);margin:0 5px}
.theme-button{
  width:32px;height:32px;display:grid;place-items:center;cursor:pointer;
  border:1px solid transparent;
}
.theme-button.selected{border-color:var(--reader-ink)}
.theme-chip{display:block;width:17px;height:17px;border:1px solid #b9b9b9}
.theme-chip.white{background:#fff}
.theme-chip.sepia{background:#f4eddc}
.theme-chip.dark{background:#151515;border-color:#555}
.tool-text{cursor:pointer;font-size:11px;letter-spacing:.08em}
.close-x{cursor:pointer;font-size:30px;line-height:1;margin-left:8px}

.book{
  position:relative;flex:1;min-height:0;
  padding:34px clamp(54px,8vw,78px) 24px;
  display:flex;flex-direction:column;
  overflow:hidden;
}
.book-header{flex:0 0 auto;margin-bottom:24px}
.book-category{margin:0 0 10px;color:var(--reader-muted);font-size:12px}
.book-header h2{
  margin:0 0 12px;font-weight:400;font-size:clamp(34px,5vw,52px);
  line-height:.98;letter-spacing:-.035em;
}
.book-meta{
  margin:0;display:flex;gap:8px;color:var(--reader-muted);font-size:12px
}
.audio-wrap{margin-top:22px;border-top:1px solid var(--reader-line);padding-top:14px}
.audio-wrap span{display:block;margin-bottom:8px;color:var(--reader-muted);font-size:11px}
audio{width:100%}

.page-viewport{
  position:relative;
  flex:1;
  min-height:0;
  overflow:hidden;
  scroll-behavior:smooth;
  border-top:1px solid var(--reader-line);
  padding-top:26px;
}
.rendered-page,
.page-measurer{
  font-size:var(--reader-font);
  line-height:1.62;
  text-rendering:optimizeLegibility;
  text-align:left;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

.rendered-page{
  height:100%;
  overflow:hidden;
}

.rendered-page p,
.page-measurer p{
  margin:0 0 1.08em;
  padding:0;
  text-indent:0;
  text-align:left;
}

.page-measurer{
  position:absolute;
  visibility:hidden;
  pointer-events:none;
  left:0;
  top:0;
  width:100%;
}

.book-footer{
  flex:0 0 38px;display:flex;align-items:flex-end;justify-content:space-between;
  gap:22px;color:var(--reader-muted);font-size:11px;padding-top:16px;
}
.progress-line{height:1px;background:var(--reader-line);flex:1;align-self:center;overflow:hidden}
.progress-line span{display:block;height:100%;width:0;background:var(--reader-ink);transition:width .15s ease}

.edge-arrow{
  position:absolute;top:56%;transform:translateY(-50%);
  width:44px;height:70px;display:grid;place-items:center;cursor:pointer;
  color:var(--reader-muted);font:300 36px/1 Arial,sans-serif;
  opacity:.45;transition:opacity .15s ease;
}
.edge-arrow:hover{opacity:1}
.edge-arrow.left{left:2px}
.edge-arrow.right{right:2px}
.edge-arrow:disabled{opacity:.08;cursor:default}

.page-intro{padding:110px 0 64px;border-bottom:1px solid var(--site-ink)}
.page-intro h1{margin:0;font-size:clamp(56px,9vw,116px);font-weight:400;letter-spacing:-.05em;line-height:.9}
.standalone{width:min(700px,100%);margin-left:auto;padding:70px 0 180px;font-size:21px;line-height:1.6}

@media(max-width:760px){
  .site-header,main,footer{width:calc(100% - 28px)}
  .site-header{height:auto;min-height:74px;padding:18px 0;align-items:flex-start;gap:20px}
  .main-nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}
  .home-title{padding:82px 0 60px}
  .reader{overflow:hidden}
  .reader-frame{
    width:100vw;
    height:100dvh;
    min-height:0;
    margin:0;
    border:0;
    box-shadow:none;
  }
  .reader-toolbar{height:54px;flex-basis:54px;padding:0 12px}
  .book{padding:28px 34px 18px}
  .book-header{margin-bottom:24px}
  .book-header h2{font-size:34px}
  .page-viewport{padding-top:24px;min-height:0}
  .page-flow{line-height:1.58;column-gap:60px}
  .edge-arrow{width:28px;height:58px;font-size:30px}
  .edge-arrow.left{left:0}.edge-arrow.right{right:0}
  .book-footer{flex-basis:38px}
  .theme-button{width:27px;height:27px}
  .tool-button{width:30px;height:30px}
}


/* Short laptop screens: keep the whole reader visible */
@media (min-width:761px) and (max-height:820px){
  .reader-frame{
    height:calc(100vh - 24px);
    margin:12px auto;
  }
  .reader-toolbar{
    height:54px;
    flex-basis:54px;
  }
  .book{
    padding-top:26px;
    padding-bottom:18px;
  }
  .book-header{
    margin-bottom:18px;
  }
  .book-header h2{
    font-size:clamp(30px,4vw,44px);
    margin-bottom:9px;
  }
  .page-viewport{
    padding-top:20px;
  }
}


/* Editorial home: works first, metadata second */
.works-list{
  margin-top:88px;
  margin-bottom:170px;
  border-top:1px solid rgba(23,23,21,.28);
}

.work-row{
  width:100%;
  min-height:68px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:24px;
  padding:12px 10px 11px;
  border-bottom:1px solid rgba(217,213,205,.42);
  text-align:left;
  cursor:pointer;
  transition:background-color .16s ease;
}

.work-main{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

.work-title{
  font-size:clamp(18px,2.05vw,28px);
  line-height:1.08;
  letter-spacing:-.022em;
  font-weight:400;
}

.work-meta{
  font-size:13px;
  color:var(--site-muted);
  letter-spacing:.015em;
}

.work-action{
  min-width:90px;
  text-align:right;
  font-size:12px;
  color:var(--site-muted);
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .15s ease, transform .15s ease;
}

.work-row:hover .work-title{
  opacity:1;
}

.work-row:hover .work-action{
  opacity:1;
  transform:translateX(0);
}

.placeholder-work{
  cursor:default;
}

.placeholder-work:hover .work-title{
  opacity:1;
}

.placeholder-work .work-action{
  opacity:.45;
  transform:none;
}

@media(max-width:760px){
  .works-list{
    margin-top:58px;
    margin-bottom:120px;
  }

  .work-row{
    min-height:64px;
    padding:12px 8px 11px;
    grid-template-columns:1fr;
    gap:5px;
  }

  .work-title{
    font-size:clamp(22px,7vw,32px);
  }

  .work-action{
    display:none;
  }
}


/* About / editorial biography */
.bio-layout{
  display:grid;
  grid-template-columns:minmax(150px, .55fr) minmax(0, 1.45fr);
  gap:clamp(60px,10vw,150px);
  padding:72px 0 180px;
  margin-top:54px;
}

.bio-aside{
  color:var(--site-muted);
  font-size:12px;
  line-height:1.75;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.bio-aside p{
  margin:0;
  position:sticky;
  top:40px;
}

.bio-copy{
  max-width:760px;
  font-size:20px;
  line-height:1.66;
}

.bio-copy p{
  margin:0 0 1.6em;
}

.bio-lead{
  font-size:clamp(24px,2.8vw,34px);
  line-height:1.48;
  letter-spacing:-.018em;
}

.bio-copy strong{
  font-weight:600;
}

.bio-copy em{
  font-style:italic;
}

.bio-highlight{
  margin:62px 0;
  padding:24px 0 2px;
  border-top:1px solid var(--site-ink);
  border-bottom:1px solid var(--site-line);
}

.bio-label{
  display:block;
  margin-bottom:18px;
  font-size:11px;
  color:var(--site-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.bio-highlight p{
  font-size:22px;
  line-height:1.55;
}

.bio-closing{
  margin-top:54px !important;
}

/* Structural date markers inside literary texts */
.rendered-page .story-date,
.page-measurer .story-date{
  margin-top:1.7em;
  margin-bottom:1.6em;
  font-size:.72em;
  line-height:1.3;
  color:var(--reader-muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}

.rendered-page .story-date:first-child,
.page-measurer .story-date:first-child{
  margin-top:0;
}

@media(max-width:760px){
  .bio-layout{
    grid-template-columns:1fr;
    gap:44px;
    margin-top:34px;
    padding:54px 0 120px;
  }

  .bio-aside p{
    position:static;
  }

  .bio-copy{
    font-size:18px;
  }

  .bio-lead{
    font-size:25px;
  }

  .bio-highlight{
    margin:48px 0;
  }

  .bio-highlight p{
    font-size:20px;
  }
}


/* Awards in the reader: visible, but secondary to the work itself */
.reader-award{
  max-width:520px;
  margin:13px 0 0;
  color:var(--reader-muted);
  font-size:11px;
  line-height:1.45;
  font-style:italic;
  font-weight:700;
}

/* Poetry keeps its intentional lineation rather than being treated as prose. */
.rendered-page .poetry-line,
.page-measurer .poetry-line{
  margin:0;
  padding:0;
  text-indent:0;
  line-height:1.34;
}

.rendered-page .poetry-section,
.page-measurer .poetry-section{
  margin:1.85em 0 .9em;
  padding:0;
  text-indent:0;
  font-size:.82em;
  line-height:1.35;
  color:var(--reader-muted);
  font-style:italic;
}

.rendered-page .poetry-section:first-child,
.page-measurer .poetry-section:first-child{
  margin-top:0;
}




/* Poetry as flowing blocks: preserves line breaks, paginates by measured height */
.poetry-block{
  white-space:pre-line;
  margin:0 0 1.2em;
  padding:0;
  line-height:1.34;
}

.poetry-block.poetry-section{
  margin:1.7em 0 .95em;
  color:var(--reader-muted);
  font-style:italic;
  font-size:.82em;
}

.work-row:hover{
  background:transparent;
}

.placeholder-work:hover{
  background:transparent;
}

.work-row:hover .work-meta,
.work-row:hover .work-action{
  opacity:1;
}

.work-row > *{
  position:relative;
  z-index:1;
}


/* Mixed literary structures inside prose */
.rendered-page .embedded-verse,
.page-measurer .embedded-verse{
  margin:1.25em 0 1.45em;
  padding-left:1.2em;
  line-height:1.42;
  font-style:italic;
  color:var(--reader-ink);
}

.rendered-page .story-divider,
.page-measurer .story-divider{
  margin:1.8em 0;
  text-align:center;
  letter-spacing:.35em;
  color:var(--reader-muted);
  font-size:.78em;
}

.rendered-page .story-heading,
.page-measurer .story-heading{
  margin:1.7em 0 .9em;
  font-weight:600;
  line-height:1.35;
}

/* V18 — source-faithful reader */
.reader-frame{font-family:Georgia,"Times New Roman",serif}
.rendered-page .source-stanza,
.page-measurer .source-stanza{margin:1.25em 0 1.45em;line-height:1.48}
.rendered-page .source-heading-xl,
.page-measurer .source-heading-xl{margin:1.2em 0 .45em;font-size:2.1em;line-height:1.05;font-weight:400}
.rendered-page .source-heading-lg,
.page-measurer .source-heading-lg{margin:1.35em 0 .75em;font-size:1.45em;line-height:1.12;font-weight:400}
.rendered-page strong,.page-measurer strong{font-weight:700}
.rendered-page em,.page-measurer em{font-style:italic}

/* Solid pastel-pink hover */
.work-row:hover{background:#f3dce3}
.site-header .name,
.site-header .main-nav a,
.site-header .plain-button{
  display:inline-block;padding:4px 7px;margin:-4px -7px;
  transition:background-color .14s ease,opacity .14s ease;
}
.site-header .name:hover,
.site-header .main-nav a:hover,
.site-header .plain-button:hover{
  background:#f3dce3;opacity:1;
}

/* Three typography trials for the index only */
.font-option-a .site-header,
.font-option-a .works-list,
.font-option-a footer{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.font-option-b .site-header,
.font-option-b .works-list,
.font-option-b footer{
  font-family:"Avenir Next",Avenir,"Century Gothic",sans-serif;
}
.font-option-c .site-header,
.font-option-c .works-list,
.font-option-c footer{
  font-family:Optima,"Segoe UI",Tahoma,sans-serif;
}
.font-option-a .work-title{letter-spacing:-.025em;font-weight:400}
.font-option-b .work-title{letter-spacing:-.035em;font-weight:500}
.font-option-c .work-title{letter-spacing:-.018em;font-weight:400}


/* V19 — title-only sepia hover */
.work-title{
  display:inline-block;
  padding:3px 6px;
  margin:-3px -6px;
  transition:background-color .14s ease, opacity .14s ease;
}
.work-row:hover{
  background:transparent !important;
}
.work-row:hover .work-title{
  background:#f4eddc;
  opacity:1;
}

.contact-email{
  text-decoration:none;
  border-bottom:1px solid rgba(23,23,21,.28);
}
.contact-email:hover{
  background:#f4eddc;
}


/* V20 — authoritative hover behavior */
.work-row,
.work-row:hover{
  background:transparent !important;
}

.work-title{
  display:inline-block;
  width:auto;
  padding:3px 6px;
  margin:-3px -6px;
  transition:background-color .14s ease, opacity .14s ease;
}

.work-row:hover .work-title{
  background:#f3dce3 !important;
  opacity:1 !important;
}

/* Keep metadata/action unaffected by title hover */
.work-row:hover .work-meta{
  opacity:1;
}


/* V21 — consolidated typography: former Index B */
.font-option-b,
.font-option-b .site-header,
.font-option-b main,
.font-option-b footer,
.font-option-b .works-list,
.font-option-b .bio-layout,
.font-option-b .standalone,
.font-option-b .page-intro{
  font-family:"Avenir Next",Avenir,"Century Gothic",Arial,sans-serif;
}

/* Reader deliberately remains bookish and independent */
.font-option-b .reader,
.font-option-b .reader-frame,
.font-option-b .reader-frame *{
  font-family:Georgia,"Times New Roman",serif;
}

/* Keep UI controls in reader neutral enough */
.font-option-b .reader-toolbar button,
.font-option-b .edge-arrow{
  font-family:Arial,sans-serif;
}


/* V25 — facsimile PDF reader */
.pdf-reader{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  overflow:hidden;
}

.pdf-reader::backdrop{
  background:rgba(35,35,35,.38);
  backdrop-filter:blur(1.5px);
}

.pdf-reader-frame{
  width:min(820px,calc(100vw - 72px));
  height:min(900px,calc(100vh - 36px));
  margin:18px auto;
  background:#fff;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(32,31,29,.12);
  box-shadow:0 16px 50px rgba(0,0,0,.16);
}

.pdf-reader-header{
  flex:0 0 auto;
  min-height:84px;
  padding:15px 17px 13px 21px;
  border-bottom:1px solid rgba(217,213,205,.78);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  background:#fff;
  font-family:"Avenir Next",Avenir,"Century Gothic",Arial,sans-serif;
}

.pdf-reader-heading{
  min-width:0;
  padding-top:1px;
}

.pdf-reader-category{
  margin:0 0 4px;
  font-size:10.5px;
  line-height:1.2;
  color:#8a867f;
  letter-spacing:.015em;
  text-transform:lowercase;
}

.pdf-reader-heading h2{
  margin:0;
  font-size:18px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-.025em;
  color:#191817;
}

.pdf-reader-credit{
  margin:7px 0 0;
  max-width:520px;
  color:#77736c;
  font-size:10px;
  line-height:1.38;
  font-style:italic;
  font-weight:700;
}

.pdf-reader-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding-top:2px;
}

.pdf-tool,
.pdf-icon-button,
.pdf-close{
  color:#252321;
  background:transparent;
  border:0;
  text-decoration:none;
  cursor:pointer;
  font-family:"Avenir Next",Avenir,Arial,sans-serif;
}

.pdf-tool{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  font-size:10.5px;
  line-height:1;
  border-radius:3px;
}

.pdf-tool:hover,
.pdf-icon-button:hover,
.pdf-close:hover{
  background:#f3dce3;
}

.pdf-tool svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pdf-tool-separator{
  width:1px;
  height:19px;
  margin:0 2px;
  background:rgba(32,31,29,.12);
}

.pdf-icon-button,
.pdf-close{
  width:29px;
  height:29px;
  padding:6px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
}

.pdf-icon-button svg,
.pdf-close svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pdf-close{
  margin-left:2px;
}

.pdf-close svg{
  width:17px;
  height:17px;
}

.pdf-zoom-label{
  min-width:34px;
  text-align:center;
  color:#8a867f;
  font:10px/1 "Avenir Next",Avenir,Arial,sans-serif;
}

.pdf-reader-stage{
  flex:1 1 auto;
  min-height:0;
  background:#efeeeb;
  padding:0;
  overflow:hidden;
}

.pdf-reader-stage iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#efeeeb;
}

body.reader-open{
  overflow:hidden;
}

@media (max-height:820px){
  .pdf-reader-frame{
    height:calc(100vh - 24px);
    margin:12px auto;
  }
  .pdf-reader-header{
    min-height:74px;
    padding-top:11px;
    padding-bottom:10px;
  }
}

@media (max-width:720px){
  .pdf-reader-frame{
    width:100vw;
    height:100dvh;
    margin:0;
    border:0;
  }
  .pdf-reader-header{
    min-height:74px;
    padding:12px 10px 10px 14px;
    gap:8px;
  }
  .pdf-reader-heading h2{
    font-size:16px;
  }
  .pdf-tool span{
    display:none;
  }
  .pdf-tool{
    width:29px;
    height:29px;
    padding:6px;
    justify-content:center;
    border-radius:50%;
  }
  .pdf-zoom-label{
    display:none;
  }
}


/* V26 — sepia site + home credits + pagewise PDF reader */
:root{
  --site-sepia:#f4eddc;
}

html,
body{
  background:var(--site-sepia) !important;
}

.site-header,
main,
footer{
  background:transparent !important;
}

.work-row{
  background:transparent !important;
}

.work-main{
  align-items:flex-start;
}

.work-credit{
  display:block;
  margin-top:2px;
  max-width:680px;
  font-size:10.5px;
  line-height:1.35;
  color:#777168;
  font-style:italic;
  font-weight:700;
}

.pdf-reader-frame,
.pdf-reader-header{
  background:var(--site-sepia);
}

.pdf-reader-credit{
  font-size:12px;
  line-height:1.42;
  margin-top:8px;
}

.pdf-reader-stage{
  position:relative;
  background:#e9e2d3;
  overflow:hidden;
}

.pdf-reader-stage iframe{
  width:100%;
  height:100%;
  background:#e9e2d3;
}

/* page-by-page navigation */
.pdf-page-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:54px;
  border:0;
  background:rgba(244,237,220,.76);
  color:#4d4841;
  font:300 34px/1 Georgia,serif;
  cursor:pointer;
  opacity:.68;
  transition:opacity .14s ease, background-color .14s ease;
  backdrop-filter:blur(2px);
}
.pdf-page-arrow:hover{
  opacity:1;
  background:#f3dce3;
}
.pdf-page-arrow:disabled{
  opacity:.18;
  cursor:default;
}
.pdf-page-prev{left:0}
.pdf-page-next{right:0}

.pdf-page-status{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  min-width:42px;
  padding:4px 8px;
  border-radius:12px;
  background:rgba(244,237,220,.82);
  color:#777168;
  text-align:center;
  font:10px/1.1 "Avenir Next",Avenir,Arial,sans-serif;
  backdrop-filter:blur(2px);
}

@media (max-width:720px){
  .work-credit{
    max-width:90%;
    font-size:10px;
  }
  .pdf-page-arrow{
    width:34px;
    height:48px;
  }
}


/* V27 — custom facsimile page viewer */
.work-credit{display:none !important}

.pdf-reader-stage{
  position:relative;
  overflow:hidden;
  background:#e8e0cf;
  display:flex;
  align-items:stretch;
  justify-content:center;
}

.pdf-page-viewport{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 52px 34px;
}

.pdf-page-image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 2px 14px rgba(0,0,0,.08);
  background:white;
  user-select:none;
  -webkit-user-drag:none;
}

.pdf-page-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:54px;
  border:0;
  background:transparent;
  color:#514b43;
  font:300 34px/1 Georgia,serif;
  cursor:pointer;
  opacity:.48;
  transition:opacity .14s ease, background-color .14s ease;
}
.pdf-page-arrow:hover{
  opacity:1;
  background:#f3dce3;
}
.pdf-page-arrow:disabled{
  opacity:.12;
  cursor:default;
  background:transparent;
}
.pdf-page-prev{left:7px}
.pdf-page-next{right:7px}

.pdf-page-status{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  padding:4px 9px;
  border-radius:12px;
  background:rgba(244,237,220,.9);
  color:#756f66;
  font:10px/1 "Avenir Next",Avenir,Arial,sans-serif;
}

/* inline tag + credit */
.work-meta{
  white-space:normal;
  max-width:760px;
  line-height:1.45;
}

/* slightly larger reader credit */
.pdf-reader-credit{
  font-size:12.5px;
}

@media (max-width:720px){
  .pdf-page-viewport{
    padding:12px 34px 30px;
  }
  .pdf-page-arrow{
    width:30px;
  }
}


/* V28 — robust continuous facsimile reader */
.work-meta{
  font-size:13px;
  line-height:1.45;
  color:#8a8479;
}

.work-inline-credit{
  font-size:.92em;
  font-style:italic;
  font-weight:700;
  color:#777168;
}

.pdf-reader-frame{
  width:min(900px,calc(100vw - 54px));
  height:min(930px,calc(100vh - 28px));
  margin:14px auto;
}

.pdf-reader-credit{
  font-size:12.5px;
  line-height:1.4;
  font-style:italic;
  font-weight:700;
}

.pdf-reader-stage{
  position:relative;
  min-height:0;
  overflow:hidden;
  background:#e8e0cf;
}

.pdf-scroll{
  width:100%;
  height:100%;
  overflow:auto;
  overscroll-behavior:contain;
  scroll-behavior:smooth;
  padding:20px 24px 42px;
  box-sizing:border-box;
}

.pdf-document{
  --doc-zoom:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  min-width:100%;
}

.pdf-page-shell{
  flex:0 0 auto;
  width:min(760px,calc(100% - 18px));
  transition:width .16s ease;
}

.pdf-page-image{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
  box-shadow:0 2px 14px rgba(0,0,0,.10);
  user-select:none;
  -webkit-user-drag:none;
}

.pdf-page-status{
  position:absolute;
  z-index:10;
  left:50%;
  bottom:9px;
  transform:translateX(-50%);
  padding:5px 10px;
  border-radius:999px;
  background:rgba(244,237,220,.92);
  color:#736d63;
  font:10px/1 "Avenir Next",Avenir,Arial,sans-serif;
  box-shadow:0 1px 7px rgba(0,0,0,.05);
  pointer-events:none;
}

.pdf-zoom-label{
  min-width:36px;
}

.pdf-tool,
.pdf-icon-button,
.pdf-close{
  flex:0 0 auto;
}

@media (max-width:720px){
  .pdf-reader-frame{
    width:100vw;
    height:100dvh;
    margin:0;
  }
  .pdf-scroll{
    padding:12px 8px 36px;
  }
  .pdf-page-shell{
    width:100%;
  }
  .pdf-reader-actions{
    gap:3px;
  }
}


/* V29 — 25% narrower centered site layout */
.site-header,
main,
footer{
  width:min(calc(100% - 48px),885px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  .site-header,
  main,
  footer{
    width:calc(100% - 28px) !important;
  }
}


/* V30 — reader metadata refinement */
.pdf-reader-heading{
  flex:1 1 auto;
  min-width:0;
  padding-right:10px;
}

.pdf-reader-heading h2{
  margin:0 0 5px;
}

.pdf-reader-meta{
  margin:0;
  font-size:10.5px;
  line-height:1.25;
  color:#8a867f;
  letter-spacing:.01em;
  text-transform:lowercase;
}

.pdf-reader-credit{
  margin:5px 0 0;
  max-width:none;
  width:max-content;
  max-width:100%;
  font-size:11.5px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Give the heading more room before controls */
.pdf-reader-header{
  grid-template-columns:minmax(0,1fr) auto;
}

/* Compact Bio */
.bio-layout{
  grid-template-columns:minmax(135px,.5fr) minmax(0,1.5fr);
  gap:clamp(42px,7vw,105px);
  padding:52px 0 120px;
  margin-top:38px;
}

.bio-side{
  font-size:11px;
  line-height:1.55;
}

.bio-copy{
  font-size:18px;
  line-height:1.56;
}

.bio-lead{
  font-size:clamp(21px,2.4vw,29px) !important;
  line-height:1.38 !important;
  margin-bottom:28px !important;
}

.bio-copy p{
  margin:0 0 18px;
}

.bio-highlight{
  margin:30px 0;
  padding:20px 0;
}

.bio-label{
  font-size:10px;
  margin-bottom:9px;
}

.bio-closing{
  margin-top:30px !important;
}

@media(max-width:760px){
  .bio-layout{
    gap:24px;
    padding:34px 0 80px;
    margin-top:24px;
  }
  .bio-copy{
    font-size:17px;
  }
  .bio-lead{
    font-size:21px !important;
  }

  .pdf-reader-credit{
    white-space:normal;
    font-size:10.8px;
  }
}


/* V31 — Contact refinement */
.contact-title{
  display:inline-block;
  width:auto;
  margin:0 0 30px;
  padding:4px 8px;
  background:#f3dce3;
  font-size:30% !important;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-.02em;
}

.contact-line{
  width:100%;
  margin:0;
  padding:0;
}

.contact-email{
  display:inline-block;
  padding:3px 6px;
  margin:-3px -6px;
  text-decoration:none;
  border-bottom:0;
  transition:background-color .14s ease;
}

.contact-email:hover{
  background:#f3dce3;
}


/* V32 — Contact as one editorial unit */
.contact-group{
  margin-top:72px;
  margin-bottom:150px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.contact-title{
  display:inline-block;
  margin:0;
  padding:4px 7px;
  background:#f3dce3;
  font-size:18px !important;
  line-height:1.2;
  font-weight:400;
  letter-spacing:-.02em;
}

.contact-line{
  margin:0;
  padding:0;
  width:auto;
}

.contact-email{
  display:inline-block;
  margin:0;
  padding:4px 7px;
  font-size:18px;
  line-height:1.2;
  text-decoration:none;
  color:inherit;
  border:0;
  transition:background-color .14s ease;
}

.contact-email:hover{
  background:#f3dce3;
}

@media(max-width:760px){
  .contact-group{
    margin-top:44px;
    margin-bottom:100px;
    gap:12px;
  }

  .contact-title,
  .contact-email{
    font-size:17px !important;
  }
}


/* V35 — targeted mobile fixes only. Desktop Bio keeps V32 composition. */
@media(max-width:760px){

  /* Mobile Bio: remove empty editorial rail and use full readable width */
  .bio-layout{
    display:block !important;
    grid-template-columns:none !important;
    gap:0 !important;
    margin-top:24px !important;
    padding:28px 0 72px !important;
  }

  .bio-aside{
    display:none !important;
  }

  .bio-copy{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
    font-size:16.5px !important;
    line-height:1.54 !important;
  }

  .bio-lead{
    width:100% !important;
    max-width:none !important;
    margin:0 0 20px !important;
    font-size:20.5px !important;
    line-height:1.4 !important;
    text-align:left !important;
  }

  .bio-copy p{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:16px !important;
  }

  .bio-highlight{
    margin:24px 0 !important;
    padding:16px 0 !important;
  }

  .bio-closing{
    margin-top:24px !important;
  }

  /* Keep only nav on a single row; leave the author's name as V32 */
  .main-nav{
    display:flex !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    gap:8px !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }

  .main-nav a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    font-size:11px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }
}

@media(max-width:390px){
  .main-nav{
    gap:5px !important;
  }
  .main-nav a{
    font-size:10px !important;
  }
}

/* Neutralize Apple's automatic Maps/address styling if it still appears */
a[x-apple-data-detectors]{
  color:inherit !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  font:inherit !important;
}


/* V37 — robust mobile navigation */
@media(max-width:760px){
  .site-header{
    align-items:flex-start !important;
  }

  .main-nav{
    display:grid !important;
    grid-template-columns:repeat(3,max-content) !important;
    grid-auto-flow:column !important;
    align-items:center !important;
    justify-content:end !important;
    column-gap:clamp(7px,2.5vw,12px) !important;
    row-gap:0 !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    width:auto !important;
    min-width:max-content !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .main-nav a{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:2px 0 !important;
    white-space:nowrap !important;
    font-size:clamp(9.5px,2.8vw,11px) !important;
    line-height:1.2 !important;
  }
}
