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