/* Three readable chapters; only decorative illustrations enter, once. */
#steps:has(.conversion-journey){scroll-margin-top:105px}
.partners .conversion-intro{color:#566d83;margin-bottom:30px}
.conversion-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative;margin-top:28px}
.conversion-phase{min-width:0;position:relative}
.conversion-art{width:min(100%,270px);aspect-ratio:5/4;margin:0 auto 12px;pointer-events:none}
.conversion-art img{display:block;width:100%;height:auto;transform-origin:50% 65%}
.conversion-art.is-pending img{opacity:0;transform:translateY(10px) scale(.96)}
.conversion-art.is-entering img{animation:conversion-arrive 480ms cubic-bezier(.23,1,.32,1) var(--conversion-delay,0ms) both}
@keyframes conversion-arrive{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.conversion-phase-label{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:11px;letter-spacing:.10em;font-weight:600;color:#235c9a;border-top:2px solid #b7cbe0;padding-top:18px}
.conversion-phase-label span{font-size:11px;font-weight:400;letter-spacing:0;color:#667d91}
.partners .conversion-phase h3{font-size:25px;font-weight:600;letter-spacing:-.04em;line-height:1.4;margin:12px 0 9px;color:#193e68;word-break:keep-all}
.partners .conversion-phase p{font-size:14px;line-height:1.8;margin:0;color:#51687f;min-height:51px;word-break:keep-all}
.conversion-phase:not(:last-child):after{content:'→';position:absolute;right:-25px;top:108px;font-size:21px;font-weight:300;color:#829bb4}
.partners .conversion-detail{list-style:none;padding:0;margin:23px 0 0;border-top:1px solid #d7e0e8}
.partners .conversion-detail li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:14px 0;border-bottom:1px solid #d7e0e8;font-size:13px;line-height:1.8;color:#34516e;word-break:keep-all}
.conversion-step-no{color:#6985a1;font-size:11px;font-variant-numeric:tabular-nums;padding-top:2px}
@media(max-width:900px) and (min-width:641px){.conversion-journey{gap:24px}.partners .conversion-phase h3{font-size:22px}.conversion-phase:not(:last-child):after{right:-19px;top:85px}.partners .conversion-phase p{min-height:76px}}
@media(max-width:640px){
 .conversion-journey{display:block;margin-top:20px}
 .conversion-phase{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:15px;padding:22px 0 27px;border-top:1px solid #b7cbe0}
 .conversion-art{width:116px;margin:2px 0 0 -7px;align-self:center}
 .conversion-phase-label{padding:0;border:0;letter-spacing:.07em;font-size:10px;flex-wrap:wrap}
 .conversion-phase-label span{font-size:10px}
 .partners .conversion-phase h3{font-size:22px;margin:8px 0}
 .partners .conversion-phase p{font-size:12px;min-height:0;line-height:1.8}
 .partners .conversion-detail{grid-column:1/-1;margin-top:17px}
 .partners .conversion-detail li{font-size:13px;padding:12px 0;gap:8px}
 .conversion-phase:not(:last-child):after{display:none}
}
@media(max-width:350px){.conversion-phase{grid-template-columns:80px minmax(0,1fr);gap:12px}.conversion-art{width:92px}.partners .conversion-phase h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){.conversion-art.is-pending img,.conversion-art.is-entering img{opacity:1;transform:none;animation:none}}
@media print{.conversion-art.is-pending img,.conversion-art.is-entering img{opacity:1;transform:none;animation:none}}
/* Oversized decorative banner lettering must not widen the mobile document. */
@media(max-width:640px){.partners .page-banner{overflow:hidden}}
