*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--midnight:#141E30;--vellum:#E8E0D0;--brass:#B8963C;--patina:#4A6858;--leather:#3A2820;--dust:#9A8A70;--spine:#2A3A50;--gilt:#D4AA40}
html{scroll-behavior:smooth}
body{background:var(--midnight);color:var(--vellum);font-family:'Crimson Pro',serif;font-weight:400;font-size:1.0625rem;line-height:1.85;overflow-x:hidden}

main{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.5rem;padding:0 2rem;max-width:1100px;margin:0 auto}
main>*{grid-column:2/12}

/* Frontispiece */
.frontispiece{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;text-align:center;grid-column:1/-1}
.bookplate{width:120px;height:120px}
.plate-border{stroke-dasharray:440;stroke-dashoffset:440;animation:draw-plate 3s ease forwards}
@keyframes draw-plate{to{stroke-dashoffset:0}}
.domain-title{font-weight:600;font-style:italic;font-size:clamp(2.5rem,5vw,4.5rem);color:var(--vellum)}
.margin-note{font-family:'Spectral',serif;font-style:italic;font-size:clamp(0.85rem,1.2vw,1.1rem);color:var(--dust)}

/* Border animate */
.border-animate{height:1px;background-size:0% 1px;background-image:linear-gradient(var(--dust),var(--dust));background-repeat:no-repeat;background-position:left;transition:background-size 0.8s cubic-bezier(0.4,0,0.2,1);margin:1.5rem 0}
.border-animate.visible{background-size:100% 1px}

/* Chapters */
.chapters{grid-column:1/-1}
.chapter{display:grid;grid-template-columns:repeat(12,1fr);gap:0 1.5rem;padding:3rem 2rem;position:relative}
.main-col{grid-column:2/9}
.margin-col{grid-column:9/12;padding-top:3.5rem}
.chapter h2{font-weight:600;font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:0.5rem;color:var(--vellum)}
.chapter p{margin-bottom:1.5rem;color:var(--vellum)}
.marginal{font-family:'Spectral',serif;font-style:italic;font-size:0.875rem;color:var(--dust);display:block;margin-bottom:1rem;line-height:1.6}
.mark{color:var(--brass);opacity:0.3;font-size:1.2rem;display:block;margin-bottom:0.5rem}

/* Appendix */
.appendix{grid-column:1/-1;padding:4rem 2rem;background:rgba(13,21,32,0.5)}
.appendix h2{font-weight:600;font-style:italic;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}
.taxonomy{max-width:600px}
.tax-row{padding:0.75rem 0;border-bottom:1px solid var(--spine);font-family:'Spectral',serif;font-style:italic;font-size:0.875rem;display:flex;gap:1rem}
.tax-row .mark{color:var(--brass);font-size:1rem;opacity:0.4}

/* Colophon */
.colophon{grid-column:1/-1;min-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;text-align:center;padding:4rem 2rem}
.closing{font-weight:600;font-style:italic;font-size:clamp(1.2rem,2.5vw,2rem);max-width:600px}
.bookplate.small{width:80px;height:80px;opacity:0.15}

@media(max-width:768px){
.chapter{display:block}
.margin-col{padding-top:1rem;border-top:1px solid var(--spine);margin-top:2rem}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
.border-animate{background-size:100% 1px}
}
