/* V10: meaningful interaction, with the accepted composition kept intact. */
.flow-ribbons [data-flow] { cursor:pointer; transition:filter 180ms,opacity 180ms; }
.flow-ribbons .ribbon-hit { fill:none; stroke:transparent; stroke-width:24px; pointer-events:stroke; }
.economics-section[data-active-flow]:not([data-active-flow=""]) .flow-ribbons path:not(.is-active):not(.ribbon-hit) { opacity:.32; }
.flow-ribbons path.is-active:not(.ribbon-hit) { filter:brightness(1.25) drop-shadow(0 0 7px #aed6ff50); }
.flow-destinations button { appearance:none; color:inherit; background:none; border:0; padding:8px 12px; margin:-8px -12px; font:inherit; cursor:pointer; border-radius:6px; display:flex; align-items:center; gap:12px; text-align:left; min-height:44px; }
.flow-destinations button span { font-size:16px; opacity:.65; }
.flow-destinations button:hover,.flow-destinations button.is-active { background:#ffffff13; color:white; }
.flow-destinations button:focus-visible { outline:2px solid #a7d0ff; outline-offset:4px; }
.flow-explanation { min-height:118px; padding:24px 28px; border-radius:8px; background:#ffffff09; display:grid; grid-template-columns:1fr 2fr; gap:30px; margin-top:20px; }
.flow-explanation > div { display:flex; flex-direction:column; gap:8px; }
.flow-explanation strong { font-size:18px; font-weight:500; }
.flow-explanation span { color:#a7d0ff; font-size:22px; }
.flow-explanation p { font-size:15px; line-height:1.65; color:#c9d7e7; margin:0; max-width:65ch; }
.flow-explanation:has(.flow-explanation-panel) { grid-template-columns:1fr; gap:0; }
.flow-explanation > .flow-explanation-panel { grid-area:1/1; display:grid; grid-template-columns:1fr 2fr; gap:30px; align-items:start; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 180ms ease,visibility 0s linear 180ms; }
.flow-explanation-panel > div { display:flex; flex-direction:column; gap:8px; }
.flow-explanation > .flow-explanation-panel.is-active { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
.financing-story { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:90px; }
.financing-copy h2 { font-size:46px; line-height:1.12; }
.financing-intro { max-width:460px; margin-top:26px; font-size:19px; line-height:1.65; color:var(--muted); }
.financing-copy .button { margin-top:30px; }
.financing-route { min-width:0; }
.financing-route ol { margin:0; padding:0; list-style:none; }
.financing-route li { position:relative; display:grid; grid-template-columns:38px 1fr; gap:20px; padding-bottom:30px; }
.financing-route li::before { content:""; position:absolute; left:18px; width:1px; top:40px; bottom:3px; background:#cbd9ed; }
.financing-route li:last-child::before { content:none; }
.financing-step { display:grid; place-items:center; width:38px; height:38px; border:1px solid #cbd9ed; border-radius:50%; color:var(--blue-dark); font-size:14px; }
.financing-route li:nth-child(2) .financing-step { background:var(--blue); color:white; border-color:var(--blue); }
.financing-route li h3 { margin:4px 0 9px; font-size:19px; font-weight:550; line-height:1.4; }
.financing-route li p { margin:0; max-width:370px; font-size:14px; line-height:1.65; color:var(--muted); }
.financing-outcome { margin:0 0 0 58px; padding:23px 25px; border-radius:8px; background:#eef5ff; }
.financing-outcome h3 { font-size:24px; font-weight:550; line-height:1.25; color:#204f87; }
.financing-outcome p { font-size:13px; line-height:1.65; color:var(--muted); margin-top:12px; max-width:370px; }
@media(max-width:1000px) {
 .financing-story { gap:44px; }
 .financing-copy h2 { font-size:38px; }
 .financing-intro { font-size:17px; }
 .financing-route li { gap:16px; }
 .financing-outcome { margin-left:54px; padding:21px; }
 .financing-outcome h3 { font-size:21px; }
 .financing-copy .button { font-size:14px; gap:16px; padding-inline:20px; }
}
@media(max-width:720px) {
 .financing-story { grid-template-columns:1fr; gap:38px; }
 .financing-copy h2 { font-size:36px; }
 .financing-intro { margin-top:22px; font-size:17px; }
 .financing-copy .button { width:100%; justify-content:space-between; margin-top:24px; }
 .financing-route li h3 { font-size:18px; }
 .financing-outcome { margin-left:0; padding:24px; }
 .financing-outcome h3 { font-size:24px; }
}
.review-feature { border:1px solid var(--line); }
.review-pair { gap:24px; margin-top:24px; }
.review-pair article { padding:32px; border:1px solid var(--line); border-radius:10px; background:white; display:flex; flex-direction:column; }
.review-pair .review-person { margin-top:auto; padding-top:24px; border-top:1px solid var(--line); }
.review-pair blockquote { flex:1; margin-bottom:28px; }
.review-person strong { font-size:17px; }
.review-person span { font-size:13px; }
.promotion [hidden] { display:none; }
@media(max-width:720px) {
 .flow-explanation { grid-template-columns:1fr; gap:14px; padding:22px; }
 .flow-explanation strong { font-size:16px; }
 .flow-explanation p { font-size:14px; }
 .flow-explanation > .flow-explanation-panel { grid-template-columns:1fr; gap:14px; }
 .review-pair article { padding:26px 24px; }
}
@media(prefers-reduced-motion:reduce) { .flow-ribbons [data-flow],.flow-explanation > .flow-explanation-panel { transition:none; } }
