.flow-intro{max-width:var(--max);margin:0 auto;padding:clamp(40px,8vh,96px) var(--gutter) clamp(60px,10vh,120px);display:grid;grid-template-columns:auto 1fr;gap:clamp(32px,6vw,88px);align-items:stretch}.flow-intro__poem{writing-mode:vertical-rl;font-family:var(--serif-ja);font-weight:400;font-size:clamp(1.25rem,2vw,1.7rem);line-height:2.4;letter-spacing:.5em;color:var(--ink);max-height:520px;align-self:center;padding-right:36px;position:relative}.flow-intro__poem:before{content:"";position:absolute;top:6%;bottom:6%;right:14px;width:1px;background:linear-gradient(to bottom,transparent 0%,var(--ink) 18%,var(--ink) 82%,transparent 100%)}.flow-intro__poem em{font-style:normal;color:var(--rouge);font-weight:500}.flow-intro__visual{position:relative;aspect-ratio:4 / 3}.flow-intro__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02)}.flow-intro__visual figcaption{position:absolute;left:-18px;bottom:-28px;font-family:var(--serif-en);font-style:italic;font-size:.95rem;color:var(--moss-deep);background:var(--paper);padding:8px 18px;border-left:2px solid var(--gold)}@media(max-width:900px){.flow-intro{grid-template-columns:1fr;gap:48px}.flow-intro__poem{writing-mode:horizontal-tb;max-height:none;padding:0 0 24px;letter-spacing:.18em;line-height:2.1}.flow-intro__poem:before{display:none}}.flow-chapters{max-width:var(--max);margin:0 auto;padding:clamp(40px,8vh,96px) var(--gutter) clamp(80px,12vh,140px)}.flow-chapters__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:clamp(48px,8vh,96px);gap:24px;flex-wrap:wrap;padding-bottom:28px;border-bottom:var(--rule)}.flow-chapters__head h2{font-family:var(--serif-ja);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.4rem);letter-spacing:.22em}.flow-chapters__head .en{font-family:var(--serif-en);font-style:italic;color:var(--moss-deep);font-size:1rem;letter-spacing:.28em}.flow-chapter{display:grid;grid-template-columns:110px 1fr 1.1fr;gap:clamp(20px,4vw,56px);padding:clamp(48px,8vh,88px) 0;position:relative;border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);align-items:start}.flow-chapter:last-child{border-bottom:0}.flow-chapter:nth-child(2n){grid-template-columns:110px 1.1fr 1fr}.flow-chapter:nth-child(2n) .flow-chapter__visual{order:2}.flow-chapter:nth-child(2n) .flow-chapter__body{order:3}.flow-chapter__index{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:8px}.flow-chapter__num{font-family:var(--serif-en);font-style:italic;font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:.12em;color:var(--ink);line-height:1}.flow-chapter__num:before{content:"";display:block;width:28px;height:1px;background:var(--moss);margin-bottom:14px}.flow-chapter__vert{writing-mode:vertical-rl;font-family:var(--serif-ja);font-weight:400;font-size:clamp(1.05rem,1.4vw,1.2rem);letter-spacing:.42em;color:var(--ink);padding-left:14px;border-left:1px solid color-mix(in srgb,var(--ink) 22%,transparent);max-height:280px}.flow-chapter__visual{position:relative;aspect-ratio:4 / 3;overflow:hidden}.flow-chapter__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);transition:transform 1.4s cubic-bezier(.2,.7,.3,1)}.flow-chapter:hover .flow-chapter__visual img{transform:scale(1.03)}.flow-chapter__visual figcaption{position:absolute;right:0;bottom:0;padding:8px 14px;font-family:var(--serif-en);font-style:italic;font-size:.78rem;letter-spacing:.22em;color:var(--paper);background:color-mix(in srgb,var(--ink) 70%,transparent)}.flow-chapter__body{padding-top:4px}.flow-chapter__title{font-family:var(--serif-ja);font-weight:400;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.6;letter-spacing:.18em;color:var(--ink);margin-bottom:20px}.flow-chapter__lead{font-family:var(--serif-en);font-style:italic;font-size:.95rem;letter-spacing:.22em;color:var(--moss-deep);margin-bottom:18px;display:inline-block;padding-bottom:4px;border-bottom:1px solid color-mix(in srgb,var(--moss) 50%,transparent)}.flow-chapter__desc{font-size:.98rem;line-height:2.1;color:var(--ink-soft);letter-spacing:.06em;max-width:44ch}.flow-chapter__note{margin-top:18px;font-size:.85rem;line-height:1.9;color:var(--moss-deep);letter-spacing:.1em;padding-left:14px;border-left:2px solid var(--gold)}@media(max-width:900px){.flow-chapter,.flow-chapter:nth-child(2n){grid-template-columns:1fr;gap:28px}.flow-chapter:nth-child(2n) .flow-chapter__visual{order:initial}.flow-chapter:nth-child(2n) .flow-chapter__body{order:initial}.flow-chapter__index{flex-direction:row;align-items:center;gap:18px;padding-top:0}.flow-chapter__num:before{display:none}.flow-chapter__vert{writing-mode:horizontal-tb;padding-left:14px;border-left:1px solid color-mix(in srgb,var(--ink) 22%,transparent);max-height:none;letter-spacing:.22em}}.flow-timeline{background:var(--paper-deep);border-top:var(--rule);border-bottom:var(--rule);padding:clamp(64px,10vh,120px) var(--gutter)}.flow-timeline__inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(32px,5vw,72px);align-items:start}.flow-timeline__head h2{font-family:var(--serif-ja);font-weight:400;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:.2em;line-height:1.6;color:var(--ink);margin-bottom:18px}.flow-timeline__head .en{font-family:var(--serif-en);font-style:italic;font-size:.95rem;letter-spacing:.28em;color:var(--moss-deep)}.flow-timeline__list{display:grid;gap:0}.flow-timeline__row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent);align-items:baseline}.flow-timeline__row:first-child{padding-top:0}.flow-timeline__row:last-child{border-bottom:0}.flow-timeline__term{font-family:var(--serif-ja);font-weight:400;font-size:1rem;letter-spacing:.22em;color:var(--ink);position:relative;padding-left:22px}.flow-timeline__term:before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--gold)}.flow-timeline__desc{font-size:.95rem;line-height:1.95;color:var(--ink-soft);letter-spacing:.06em}.flow-timeline__desc em{font-style:italic;font-family:var(--serif-en);color:var(--moss-deep);font-size:.92rem;margin-left:4px;letter-spacing:.18em}@media(max-width:760px){.flow-timeline__inner{grid-template-columns:1fr}.flow-timeline__row{grid-template-columns:1fr;gap:6px}}
