*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#1A1410;font-family:'Source Serif 4',serif;font-weight:400;font-size:17px;line-height:1.85;color:#C8B8A0;overflow-x:hidden}
.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}
h1{font-family:'Playfair Display',serif;font-weight:700;font-size:36px;color:#E8D8C0;letter-spacing:-0.01em;margin-bottom:12px}
.subtitle{font-family:'Caveat',cursive;font-size:18px;color:#9A8A70}
.editorial{max-width:680px;margin:0 auto;padding:0 20px 80px;position:relative}
.entry{position:relative;padding:40px 0;opacity:0;transform:translateY(20px);transition:opacity 0.6s ease-out,transform 0.6s ease-out}
.entry.visible{opacity:1;transform:translateY(0)}
.annotation{font-family:'Caveat',cursive;font-size:14px;color:#9A8A70;letter-spacing:0.06em;display:block;margin-bottom:12px}
h2{font-family:'Playfair Display',serif;font-weight:700;font-size:28px;color:#E8D8C0;margin-bottom:16px;letter-spacing:-0.01em}
.marginalia{font-family:'Caveat',cursive;font-size:14px;color:#9A8A70;position:absolute;max-width:160px;line-height:1.5;display:none}
.marginalia.left{left:-180px;text-align:right}
.marginalia.right{right:-180px}
.thread-line{width:2px;height:60px;background:linear-gradient(180deg,transparent,#C04030,transparent);margin:0 auto;opacity:0.4}
@media(min-width:1100px){.marginalia{display:block}}
@media(max-width:768px){h1{font-size:28px}h2{font-size:22px}}
