/* Scoped to the request timeline; existing sections retain their styles. */
#flow.lim-flow{background:#0b0c0d;color:#f5f5f3;padding:120px clamp(24px,6vw,96px) 130px;scroll-margin-top:72px;overflow:visible}
#flow .flow-heading>span{font-size:12px;letter-spacing:.24em;color:#aaaeb1}
#flow h2{font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:clamp(40px,5vw,76px);letter-spacing:.07em;line-height:1.5;margin:22px 0 80px}
#flow .flow-viewport{max-width:100%;outline-offset:8px}
#flow .flow-track{--flow-progress:1;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;padding:0;margin:0;gap:0}
#flow .flow-track:before,#flow .flow-track:after{content:"";position:absolute;left:0;right:0;top:72px;height:1px;background:#383b3e}
#flow .flow-track:after{background:linear-gradient(90deg,#737a80,#e0e3e5);transform:scaleX(var(--flow-progress));transform-origin:left}
#flow .flow-step{position:relative;z-index:1;padding-right:24px;min-width:0}
#flow .flow-number{display:block;font-size:38px;line-height:48px;font-weight:300;letter-spacing:.02em;color:#d5d8da}
#flow .flow-number small{font-size:10px;letter-spacing:.16em;margin-right:8px}
#flow .lim-flow-node{height:7px;width:7px;margin:21px 0 34px;border-radius:50%;background:#d3d6d8;box-shadow:0 0 0 6px #0b0c0d}
#flow h3{font-size:clamp(17px,1.45vw,23px);font-weight:500;line-height:1.7;margin:0 0 18px;letter-spacing:.01em}
#flow .flow-step p{font-size:16px;line-height:2;color:#bfc2c5;margin:0;max-width:17em;overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:pretty}

#flow .flow-navigation{display:none}
@media(max-width:900px){#flow.lim-flow{padding:80px 24px 88px}#flow h2{margin-bottom:48px}#flow .flow-viewport{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#6f7478 #222528;padding-bottom:24px}#flow .flow-track{display:flex;width:max-content}#flow .flow-step{flex:0 0 min(74vw,360px);width:min(74vw,360px);padding-right:32px;scroll-snap-align:start;box-sizing:border-box}#flow h3{font-size:22px}#flow .flow-step p{font-size:16px}#flow .flow-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;color:#bcc1c5}#flow .flow-count{font-size:13px;letter-spacing:.12em;min-width:65px}#flow .flow-dots{display:flex;gap:0}#flow .flow-dots button{width:28px;height:44px;padding:0;border:0;background:transparent;position:relative;cursor:pointer}#flow .flow-dots button:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#4f5458;top:20px;left:12px}#flow .flow-dots button[aria-current=true]:after{background:#e1e3e5;box-shadow:0 0 0 3px #e1e3e51a}#flow .flow-hint{font-size:10px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){#flow .flow-track:after{transform:none}#flow.flow-enhanced .flow-step{opacity:1;transform:none}#flow .flow-viewport{scroll-behavior:auto}}
#flow .lim-flow-node{transform:translateY(-10px)}

/* The section owns the scroll runway; only its inner panel sticks. */
#flow.flow-enhanced{padding:0;height:300svh;scroll-margin-top:72px}
#flow .flow-pin{padding:100px clamp(24px,6vw,96px)}
#flow.flow-enhanced .flow-pin{position:sticky;top:72px;min-height:calc(100svh - 72px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
#flow .flow-track:after{height:2px;box-shadow:0 0 12px #dce4ec66}
#flow .flow-track:before,#flow .flow-track:after{right:20%}
#flow.flow-enhanced .flow-number,#flow.flow-enhanced h3,#flow.flow-enhanced .flow-step p{opacity:var(--step-opacity,1);transform:translateY(var(--step-y,0px))}
#flow.flow-enhanced .lim-flow-node{background:color-mix(in srgb,#34383c,#e8edef calc(var(--node,1)*100%));box-shadow:0 0 0 6px #0b0c0d,0 0 calc(var(--node,1)*22px) #e5edf0;scale:calc(1 + var(--node,1)*.5)}
#flow.flow-static{height:auto;padding:0}
#flow.flow-static .flow-pin{position:relative;top:auto;min-height:0}
@media(max-width:900px){#flow .flow-pin{padding:48px 24px}#flow h2{font-size:clamp(32px,8vw,48px);margin:0 0 40px}#flow .flow-track:before,#flow .flow-track:after{right:min(74vw,360px)}#flow.flow-enhanced .flow-pin{top:72px}#flow .flow-step p{max-width:16em}}
@media(prefers-reduced-motion:reduce){#flow.flow-enhanced{height:auto}#flow.flow-enhanced .flow-pin{position:relative;top:auto;min-height:0}#flow.flow-enhanced .flow-number,#flow.flow-enhanced h3,#flow.flow-enhanced .flow-step p{opacity:1;transform:none}}

#flow .flow-phrase{display:inline-block;max-width:100%}

/* Phone timeline: normal document flow; all copy stays visible. Tablet/desktop retain the existing rail. */
@media(max-width:700px){
 #flow.lim-flow,#flow.flow-enhanced,#flow.flow-static{height:auto;padding:0}
 #flow .flow-pin,#flow.flow-enhanced .flow-pin{position:relative;top:auto;min-height:0;display:block;padding:72px 24px 80px}
 #flow h2{font-size:clamp(30px,8vw,36px);line-height:1.5;margin:0 0 42px}
 #flow .flow-viewport{overflow:visible;padding:0;scroll-snap-type:none;overscroll-behavior:auto}
 #flow .flow-track{display:block;width:auto;padding:0 0 0 25px}
 #flow .flow-track:before,#flow .flow-track:after{left:3px;right:auto;top:20px;bottom:0;width:1px;height:auto;box-shadow:none;transform:none}
 #flow .flow-track:after{transform:scaleY(var(--flow-progress));transform-origin:top;background:linear-gradient(#737a80,#e0e3e5)}
 #flow .flow-step{width:auto;min-width:0;padding:0 0 36px 0;scroll-snap-align:none}
 #flow .flow-step:last-child{padding-bottom:0}
 #flow .flow-number{font-size:32px;line-height:40px;margin:0 0 12px}
 #flow .flow-number small{font-size:11px;letter-spacing:.12em}
 #flow .lim-flow-node{position:absolute;left:-25px;top:17px;width:7px;height:7px;margin:0;transform:none;scale:1;box-shadow:0 0 0 5px #0b0c0d}
 #flow h3{font-size:21px;line-height:1.65;margin:0 0 10px;overflow-wrap:anywhere}
 #flow .flow-step p{font-size:17px;line-height:1.95;max-width:none}
 #flow .flow-phrase{display:inline}
 #flow.flow-enhanced .flow-number,#flow.flow-enhanced h3,#flow.flow-enhanced .flow-step p{opacity:1;transform:none}
 #flow .flow-navigation{display:none}
}
