/* Navigation and responsive composition for the opening selection. */
html { scroll-padding-top: 1rem; }
.skip-link { position: fixed; top: .5rem; left: 1rem; z-index: 20000; padding: .5rem 1rem; background: var(--ink); color: var(--paper); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.edition-nav { max-width: var(--frame); margin: auto; padding: 1.2rem clamp(1.4rem,4vw,3.4rem); display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; border-bottom: 1px solid var(--hair); }
.edition-brand { font-family: Fraunces,Georgia,serif; font-size: 1.08rem; font-weight: 500; text-decoration: none; }
.edition-nav>div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem 1.3rem; }
.edition-nav>div a { font-size: .83rem; color: var(--soft); text-decoration: none; text-underline-offset: .25em; }
.edition-nav>div a:hover,.edition-nav a[aria-current] { text-decoration: underline; }
.edition-nav a,.footer-links a { padding-block: .3rem; }
.edition-kicker,.reading-plate,.section-heading>span,.edition-caption,.leaf-kicker,.leaf-kicker .pk-tag,.ln-cell .lab { text-transform: none; font-variant-caps: small-caps; letter-spacing: .08em; }
.edition-kicker { font-family: Fraunces,Georgia,serif; color: var(--soft); font-size: .85rem; margin: 1.5rem 0 .65rem; }
.opening-head { padding-bottom: 3.2rem; }
.opening-head .imprint { color: var(--soft); font-size: 1rem; }
.opening-head .standfirst { max-width: 35rem; }
.start-link { display: inline-block; margin-top: 1.5rem; font-size: .95rem; text-decoration: none; border-bottom: 1px solid var(--num); padding: .35rem 0; }
.start-link span { display: inline-block; margin-left: .7rem; }
.start-link:hover { border-color: var(--ink); }
.opening-contents { max-width: 54rem; margin: 0 auto; }
.section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; border-top: 1px solid var(--ink); padding-top: .9rem; }
.section-heading h2 { font-family: Fraunces,Georgia,serif; font-size: 1rem; font-weight: 400; margin: 0; }
.section-heading>span { font-size: .8rem; color: var(--faint); }
.reading-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.reading-list li { display: grid; grid-template-columns: 3.7rem 1fr; column-gap: 1.5rem; padding: 1.7rem 0 2rem; border-top: 1px solid var(--hair); }
.reading-number { font-family: Fraunces,Georgia,serif; font-size: 1.8rem; font-weight: 400; color: var(--faintest); line-height: 1.2; padding-top: .1rem; }
.reading-plate { color: var(--faint); font-size: .78rem; margin: 0 0 .25rem; }
.reading-list h2 { font-family: Fraunces,Georgia,serif; font-weight: 400; font-size: clamp(1.7rem,3vw,2.15rem); line-height: 1.2; margin: 0 0 .55rem; }
.reading-list h2 a { text-decoration: none; }
.reading-list h2 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.reading-list h2 span { font-family: Newsreader,Georgia,serif; font-size: .65em; color: var(--faint); margin-left: .4rem; }
.reading-description { max-width: 42rem; color: var(--soft); font-size: 1rem; line-height: 1.55; margin: 0; }
.edition-note { max-width: 43rem; margin: 2.5rem auto 0; padding-top: 2rem; border-top: 1px solid var(--hair); }
.edition-note h2,.source-list h2 { font-family: Fraunces,Georgia,serif; font-weight: 400; font-size: 1.45rem; margin: 0 0 1rem; }
.edition-note p { color: var(--soft); margin: 0 0 .9rem; font-size: 1rem; line-height: 1.65; }
.edition-note p:last-child { font-size: .9rem; }
.edition-note a,.about-prose a,.source-list a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
.site-footer .f-mark { text-decoration: none; }
.edition-caption { font-size: .82rem; color: var(--faint); }
.footer-links { display: flex; flex-wrap: wrap; gap: .5rem 1.7rem; font-size: .85rem; color: var(--faint); }
.footer-links a,.essay-source a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
.essay-source { margin-top: 1.5rem; color: var(--faint); font-size: .8rem; line-height: 1.7; }
.essay-source>span { margin-inline: .5rem; }
.about-main { max-width: 48rem; margin: 3.2rem auto 0; }
.about-main header { text-align: center; margin-bottom: 2.5rem; }
.about-main h1 { font-size: clamp(2.2rem,5vw,3.8rem); line-height: 1.08; }
.about-prose { max-width: 39rem; margin: auto; }
.about-prose p { font-size: 1.05rem; line-height: 1.75; margin: 0 0 1.1rem; }
.source-list { margin: 2.7rem 0; border-top: 1px solid var(--hair); padding-top: 1.8rem; }
.source-list ul { list-style: none; margin: 0; padding: 0; }
.source-list li { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; border-top: 1px solid var(--hair); padding: 1rem 0; }
.source-list li>a:first-child { font-family: Fraunces,Georgia,serif; }
.source-list li>span { font-size: .85rem; color: var(--faint); }
.source-list li>a:last-child { grid-column: 1/-1; font-size: .83rem; color: var(--faint); margin-top: .3rem; }
@media(max-width:600px) {
  .edition-nav { flex-direction: column; align-items: flex-start; gap: .35rem; padding-top: .8rem; padding-bottom: .8rem; }
  .edition-nav>div { justify-content: flex-start; gap: .2rem 1rem; }
  .edition-nav>div a { font-size: .8rem; }
  .opening-head { padding-top: 2.2rem; }
  .opening-head h1 { font-size: 3.4rem; }
  .reading-list li { grid-template-columns: 2.3rem 1fr; gap: .7rem; padding-block: 1.4rem; }
  .reading-number { font-size: 1.35rem; }
  .reading-description { font-size: .97rem; }
  .reading-list h2 { font-size: 1.75rem; }
  .note-separator { display: block; height: .3rem; font-size: 0; }
  .leaf-loc { line-height: 1.9; }
  .leaf-loc>span:last-child { white-space: nowrap; }
  .essay-source>span { margin-inline: .25rem; }
  .about-main { margin-top: 2rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  .edition-nav,.skip-link,.progress,.leaf-nav,.essay-source,.footer-links { display:none; }
  body { background:white; }
  body::before { display:none; }
  .frame { padding:0; }
  a { text-decoration:none; }
  .rise { opacity:1!important; transform:none!important; }
  .sidenote { float:none; width:auto; margin:.7rem 0 1.05rem; padding-left:.9rem; border-left:2px solid #ddd; border-top:0; }
}
