:root{--text-paper:#f7f6f2;--text-ink:#20201e;--text-line:#d9d7d0;--text-muted:#77756f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--text-paper);color:var(--text-ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.text-back{padding:24px clamp(20px,5vw,85px);border-bottom:1px solid var(--text-line);font-size:13px}.text-back a{text-decoration:none}
.text-hero{padding:clamp(60px,8vw,120px) clamp(20px,7vw,110px) 60px;border-bottom:1px solid var(--text-line)}
.text-kicker{font:11px/1.5 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}
.text-hero h1{font:normal clamp(54px,9vw,145px)/1.02 Georgia,serif;letter-spacing:-.055em;max-width:1150px;margin:28px 0 32px;overflow-wrap:anywhere}.text-intro{max-width:720px;font:24px/1.5 Georgia,serif;white-space:pre-line}.text-count{font-size:12px;color:var(--text-muted);margin:32px 0 0}
.text-toc{margin-top:40px;max-width:1000px}.text-toc summary{font-size:14px;cursor:pointer;width:fit-content;padding:12px 0}.text-toc ol{list-style:none;padding:12px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.text-toc a{display:flex;gap:14px;border-top:1px solid var(--text-line);padding:12px 0;text-decoration:none;font-size:13px;line-height:1.5}.text-toc a:hover{text-decoration:underline}.text-toc a span{font-size:11px;color:var(--text-muted);padding-top:2px}
.text-sequence{max-width:1650px;margin:auto;padding:0 clamp(20px,5vw,85px)}.text-episode{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,6vw,100px);align-items:start;padding:85px 0;border-bottom:1px solid var(--text-line);scroll-margin-top:30px}.text-episode:nth-child(even):not(.text-only){grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.text-episode:nth-child(even) .text-illustration{order:-1}
.text-number{font-size:11px;letter-spacing:.18em;color:var(--text-muted);margin-bottom:26px}.text-copy h2{font:normal clamp(28px,3vw,43px)/1.16 Georgia,serif;letter-spacing:-.025em;margin:0 0 32px;overflow-wrap:anywhere}.poem{font:normal clamp(18px,1.45vw,22px)/1.72 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2}.text-illustration{margin:0;position:sticky;top:32px}.text-illustration a{display:block;cursor:zoom-in}.text-illustration img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain;mix-blend-mode:multiply}.text-only{display:block}.text-only .text-copy{max-width:760px;margin:0 auto}
.text-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:40px clamp(20px,5vw,85px);font-size:12px;color:var(--text-muted)}.text-footer a{text-decoration:none}
.text-index .text-hero{padding-bottom:75px}.text-cycles{padding:0 clamp(20px,7vw,110px) 90px}.text-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr) auto;gap:clamp(24px,5vw,80px);align-items:center;padding:55px 0;border-bottom:1px solid var(--text-line);text-decoration:none}.text-card figure{margin:0}.text-card img{display:block;width:100%;height:330px;object-fit:contain;mix-blend-mode:multiply}.text-card h2{font:normal clamp(32px,4.2vw,64px)/1.1 Georgia,serif;letter-spacing:-.04em;margin:22px 0}.text-card p{font-size:12px;color:var(--text-muted)}.text-card-arrow{font-size:30px}.text-card:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
@media(max-width:740px){.text-hero{padding:55px 20px 40px}.text-hero h1{font-size:clamp(48px,11vw,80px)}.text-episode,.text-episode:nth-child(even):not(.text-only){grid-template-columns:1fr;gap:34px;padding:50px 0}.text-episode:nth-child(even) .text-illustration{order:initial}.text-illustration{position:static;max-width:540px;width:100%;margin:auto}.text-illustration img{max-height:75svh}.text-copy h2{font-size:30px}.poem{font-size:18px;line-height:1.7}.text-toc ol{grid-template-columns:1fr}.text-card{grid-template-columns:1fr auto;gap:20px;padding:32px 0}.text-card figure{grid-column:1/-1}.text-card img{height:270px}.text-card h2{font-size:36px;margin:12px 0}.text-cycles{padding:0 20px 50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
