:root{
  --paper:#F5F1E7; --panel:#FBF9F2; --ink:#231F18; --ink-soft:#5D5443;
  --rule:#D9D1BE; --blue:#1E3A5A; --blue-deep:#16293F; --gold:#9C7C33; --gold-soft:#B7973F;
  --seal-ink:inline; --seal-cream:none;
  --shadow:0 18px 40px -22px rgba(35,27,12,.45);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#15120C; --panel:#1E1A12; --ink:#ECE4D1; --ink-soft:#B0A488;
  --rule:#332B1C; --blue:#8FB0D6; --blue-deep:#0f1a26; --gold:#CBA75B; --gold-soft:#D9BD79;
  --seal-ink:none; --seal-cream:inline; --shadow:0 20px 46px -22px rgba(0,0,0,.7);
}}
:root[data-theme="dark"]{
  --paper:#15120C; --panel:#1E1A12; --ink:#ECE4D1; --ink-soft:#B0A488;
  --rule:#332B1C; --blue:#8FB0D6; --blue-deep:#0f1a26; --gold:#CBA75B; --gold-soft:#D9BD79;
  --seal-ink:none; --seal-cream:inline; --shadow:0 20px 46px -22px rgba(0,0,0,.7);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-size:18px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.08;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.seal--ink{display:var(--seal-ink)} .seal--cream{display:var(--seal-cream)}

/* header */
.hdr{position:sticky;top:0;z-index:20;background:transparent;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr.solid{background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;max-width:1120px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.02em}
.brand img{width:34px;height:34px}
.brand span{font-family:"Cormorant Garamond",serif;font-size:1.35rem;font-weight:600;white-space:nowrap}
.nav{display:flex;gap:26px}
.nav a{text-decoration:none;color:var(--ink-soft);font-size:1.02rem;transition:color .2s}
.nav a:hover{color:var(--ink)}
@media(max-width:680px){.hdr__in{flex-direction:column;justify-content:center;gap:10px;padding:12px 16px}.nav{gap:22px;font-size:1rem}}
@media(max-width:380px){.nav{gap:14px;font-size:.92rem}}

/* hero */
.hero{text-align:center;padding:64px 0 30px;position:relative}
.hero__seal{width:150px;height:150px;margin:0 auto 20px}
.hero h1{font-size:clamp(3rem,8vw,5.4rem);letter-spacing:.01em}
.hero__latin{font-style:italic;color:var(--gold);font-size:clamp(1.1rem,2.6vw,1.5rem);margin-top:2px}
.hero__lead{max-width:33rem;margin:20px auto 0;color:var(--ink-soft);font-size:1.16rem}
.ornament{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px auto;color:var(--gold)}
.ornament::before,.ornament::after{content:"";height:1px;width:min(120px,22vw);background:linear-gradient(to var(--d,right),transparent,var(--rule))}
.ornament::before{--d:left}
.ornament b{font-size:.7rem}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:8px}
.btn{display:inline-block;text-decoration:none;font-family:"EB Garamond",serif;font-size:1.05rem;
  padding:11px 24px;border:1px solid var(--blue);color:#fff;background:var(--blue);border-radius:2px;transition:background .2s,color .2s}
.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn--ghost:hover{border-color:var(--gold);color:var(--ink);background:transparent}

/* section scaffolding */
.section{padding:66px 0}
.section--alt{background:var(--panel);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.eyebrow{font-style:italic;color:var(--gold);font-size:1.05rem;margin:0 0 6px}
.section h2{font-size:clamp(2rem,4.4vw,2.9rem)}
.section__head{text-align:center;max-width:40rem;margin:0 auto 40px}
.section__head p{color:var(--ink-soft);margin:.6rem 0 0}

/* differentials */
.diffs{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:960px;margin:0 auto}
.diff{border-top:2px solid var(--gold);padding-top:16px}
.diff h3{font-size:1.5rem;margin-bottom:6px}
.diff p{color:var(--ink-soft);margin:0;font-size:1.04rem}
@media(max-width:760px){.diffs{grid-template-columns:1fr;gap:22px}}

/* catalog */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 34px}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr);gap:30px 22px}}
@media(max-width:460px){.grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}}
.book{appearance:none;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:center;
  display:flex;flex-direction:column;align-items:center;color:inherit;font-family:inherit}
.book__frame{display:block;width:100%;aspect-ratio:557/800;box-shadow:var(--shadow);
  border:1px solid var(--rule);transition:box-shadow .25s,transform .25s;background:var(--panel)}
.book__frame img{width:100%;height:100%;object-fit:cover}
.book[data-book]:hover .book__frame,.book--live:hover .book__frame,.book[data-book]:focus-visible .book__frame,.book--live:focus-visible .book__frame{box-shadow:0 26px 52px -20px rgba(35,27,12,.6);transform:translateY(-4px)}
.book__title{font-family:"Cormorant Garamond",serif;font-size:1.28rem;font-weight:600;margin-top:16px;line-height:1.14;max-width:22ch}
.book__author{color:var(--ink-soft);font-style:italic;font-size:1rem;margin-top:2px}
.book--six{cursor:default}
.book--six.book--live{cursor:pointer}

/* modal */
.modal{border:0;padding:0;max-width:860px;width:calc(100% - 40px);background:var(--panel);color:var(--ink);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);border:1px solid var(--rule);border-radius:3px}
.modal::backdrop{background:rgba(20,15,8,.62);backdrop-filter:blur(3px)}
.modal__grid{display:grid;grid-template-columns:300px 1fr}
.modal__cover{background:var(--blue-deep);display:flex;align-items:center;justify-content:center;padding:28px}
.modal__cover img{box-shadow:0 16px 34px -16px rgba(0,0,0,.6);border-radius:2px}
.modal__body{padding:34px 34px 38px;position:relative}
.modal__close{position:absolute;top:16px;right:18px;background:none;border:1px solid var(--rule);color:var(--ink-soft);
  font-family:inherit;font-size:.92rem;padding:5px 12px;border-radius:2px;cursor:pointer}
.modal__close:hover{border-color:var(--gold);color:var(--ink)}
.modal__title{font-size:1.9rem;max-width:22ch;margin-top:6px}
.modal__sub{font-style:italic;color:var(--gold);margin:.35rem 0 1.1rem}
.sheet{margin:0 0 1.2rem;border-top:1px solid var(--rule)}
.sheet__row{display:grid;grid-template-columns:11rem 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}
.sheet dt{color:var(--ink-soft);font-style:italic}
.sheet dd{margin:0}
.modal__syn{color:var(--ink);margin:0 0 1.4rem}
@media(max-width:640px){.modal__grid{grid-template-columns:1fr}.modal__cover{padding:22px 22px 0}.modal__cover img{max-height:230px}}

/* about */
.about{display:grid;grid-template-columns:280px 1fr;gap:52px;align-items:start;max-width:1000px;margin:0 auto}
.about__seal{width:220px;height:220px;margin:0 auto}
.about h2{font-size:clamp(2rem,4vw,2.7rem);margin-bottom:14px}
.about p{margin:0 0 1rem}
.about .lead{font-size:1.16rem}
@media(max-width:760px){.about{grid-template-columns:1fr;gap:26px;text-align:center}.about__seal{width:150px;height:150px}}

/* editor */
.editor{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;max-width:900px;margin:0 auto}
.editor__photo{border:1px solid var(--rule);border-radius:3px;overflow:hidden;box-shadow:var(--shadow)}
.editor__role{font-style:italic;color:var(--gold);margin:.2rem 0 1rem}
.editor h3{font-size:2rem}
.editor p{color:var(--ink-soft);margin:0}
@media(max-width:640px){.editor{grid-template-columns:1fr;justify-items:center;text-align:center;gap:22px}.editor__photo{max-width:200px}}

/* authors */
.authors{max-width:820px;margin:0 auto}
.author{padding:22px 0;border-bottom:1px solid var(--rule)}
.author:first-child{border-top:1px solid var(--rule)}
.author__name{font-size:1.6rem}
.author__note{color:var(--ink-soft);margin:.3rem 0 0}
.author--highlight .author__name{color:var(--gold)}
.author--highlight .author__note{font-style:italic}

/* contact */
.contact{text-align:center;max-width:640px;margin:0 auto}
.channels{display:flex;flex-direction:column;gap:0;margin:26px 0 0;border-top:1px solid var(--rule)}
.channel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;border-bottom:1px solid var(--rule);text-decoration:none}
.channel span:first-child{font-style:italic;color:var(--ink-soft)}
.channel span:last-child{font-family:"Cormorant Garamond",serif;font-size:1.35rem}
.channel:hover span:last-child{color:var(--gold)}

/* footer */
.foot{border-top:1px solid var(--rule);padding:40px 0 54px;text-align:center;color:var(--ink-soft)}
.foot__seal{width:60px;height:60px;margin:0 auto 12px}
.foot__brand{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:var(--ink);letter-spacing:.03em}
.foot a{color:var(--ink-soft);text-decoration:none}
.foot a:hover{color:var(--gold)}
.foot__links{margin:12px 0;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}
.foot__fine{font-size:.9rem;margin-top:10px}

/* reveal (single page-load) */
.reveal{opacity:0;transform:translateY(14px)}
.revealed .reveal{animation:rise .9s cubic-bezier(.2,.65,.3,1) forwards}
.revealed .reveal:nth-child(2){animation-delay:.12s}
.revealed .reveal:nth-child(3){animation-delay:.22s}
.revealed .reveal:nth-child(4){animation-delay:.32s}
.revealed .reveal:nth-child(5){animation-delay:.42s}
@keyframes rise{to{opacity:1;transform:none}}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;animation:none!important}
  .book__frame{transition:none}
}