/* Partner explainer: four device interfaces, one integration, one usable view. */
.partner-system { --diagram-line:#379779; margin:0; padding:clamp(20px,3vw,32px); min-width:0; width:100%; border:1px solid #dce8e1; border-radius:24px; background:#f1f7f3; color:var(--rkv-navy); }
.partner-system figcaption { margin:0 0 28px; font:750 clamp(1.2rem,2vw,1.6rem)/1.3 var(--rkv-font-display); letter-spacing:-.025em; }
.partner-system-devices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.partner-system-device { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:0; min-height:96px; padding:14px 4px 12px; border:1px solid #dce8e1; border-radius:12px; background:#fff; text-align:center; font-size:clamp(.75rem,1vw,.8rem); font-weight:750; line-height:1.3; }
.partner-system-device svg { display:block; width:34px; height:34px; fill:currentColor; flex-shrink:0; }
.partner-system-device span { max-width:100%; }
.partner-system-bus { display:block; width:calc(100% + 8px); max-width:none; height:52px; margin-left:-4px; overflow:visible; }
.partner-system-bus path,.partner-system-output path { fill:none; stroke:var(--diagram-line); stroke-width:2; vector-effect:non-scaling-stroke; }
.partner-system-bus circle { fill:var(--diagram-line); }
.partner-system-core { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; width:100%; min-height:122px; padding:24px; border-radius:16px; background:var(--rkv-navy); color:#fff; }
.partner-system-core img { display:block; width:156px; max-width:80%; height:auto; }
.partner-system-core span { font-size:.875rem; line-height:1.4; }
.partner-system-output { display:block; width:24px; height:40px; margin:0 auto; }
.partner-system-result { display:flex; align-items:center; justify-content:center; gap:18px; min-height:102px; padding:20px 16px; border:1px solid #dce8e1; border-radius:14px; background:#fff; }
.partner-system-result svg { width:56px; height:50px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.partner-system-result .partner-screen-tile { fill:#ddf4e8; stroke:#379779; }
.partner-system-result strong { font:700 clamp(.9rem,1.3vw,1.05rem)/1.5 var(--rkv-font-display); letter-spacing:-.015em; }
.partner-system > p { margin:20px 0 0; color:#50655e; text-align:center; font-size:.72rem; line-height:1.6; }
@media(max-width:900px) { .partner-system { max-width:680px; } }
@media(max-width:400px) {
 .partner-system { padding:20px 16px; border-radius:20px; }
 .partner-system figcaption { margin-bottom:24px; }
 .partner-system-devices { gap:6px; }
 .partner-system-device { min-height:88px; gap:9px; border-radius:10px; font-size:.75rem; }
 .partner-system-device svg { width:30px; height:30px; }
 .partner-system-bus { width:calc(100% + 6px); margin-left:-3px; height:44px; }
 .partner-system-core { min-height:112px; padding:22px 14px; }
 .partner-system-result { gap:14px; padding:18px 12px; }
 .partner-system-result svg { width:46px; height:44px; }
}
