.rl-showcase { padding:84px 32px 64px; color:var(--rl-navy,#071c3b); background:radial-gradient(ellipse at 84% 55%,rgba(209,245,236,.45),transparent 65%),linear-gradient(115deg,#f5fbfc,#f0faf7); }
.rl-showcase [hidden] { display:none!important; }
.rl-showcase:focus-visible { outline:3px solid #008d81; outline-offset:-6px; }
.rl-showcase__inner { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.5fr); align-items:center; gap:clamp(32px,4.5vw,72px); width:min(1390px,100%); margin:auto; }
.rl-showcase__copy { min-width:0; padding-bottom:44px; }
.rl-showcase h2 { margin:0 0 24px; color:#008c7c; font-size:13px; line-height:1.4; font-weight:800; letter-spacing:.025em; text-transform:uppercase; }
.rl-showcase__descriptions { display:grid; min-height:200px; }
.rl-showcase__descriptions > article { grid-area:1/1; }
/* Reserve the tallest caption at every width, without exposing inactive text. */
.rl-showcase__descriptions > article[aria-hidden="true"] { visibility:hidden; pointer-events:none; }
.rl-showcase h3 { max-width:460px; margin:0 0 20px; font-size:clamp(25px,2.35vw,34px); line-height:1.2; font-weight:750; letter-spacing:-.035em; }
.rl-showcase__copy p { max-width:465px; margin:0; color:#536780; font-size:17px; line-height:1.65; }
.rl-showcase__arrows { display:flex; align-items:center; gap:10px; margin-top:28px; }
.rl-showcase__arrows button { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:0; border:1px solid #d4e1e9; border-radius:50%; color:#163251; background:#fff; box-shadow:0 2px 5px rgba(17,54,80,.06); cursor:pointer; transition:background .16s ease,border-color .16s ease; }
.rl-showcase__arrows button:hover { border-color:#7bc9bf; background:#e7f6f2; }
.rl-showcase__arrows svg { width:20px; height:20px; }
.rl-showcase__media { min-width:0; }
.rl-showcase__stage { overflow:hidden; padding:8px; border:1px solid rgba(200,221,227,.55); border-radius:16px; background:#fff; box-shadow:0 16px 40px rgba(15,54,66,.12),0 4px 10px rgba(15,54,66,.06); touch-action:pan-y pinch-zoom; }
.rl-showcase__stage figure { position:relative; aspect-ratio:1640/1016; margin:0; overflow:hidden; border-radius:9px; background:#f3faf9; }
.rl-showcase__stage img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.rl-showcase[aria-busy="true"] .rl-showcase__stage { cursor:progress; }
.rl-showcase__pagination { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:12px; }
.rl-showcase__pagination button { display:inline-flex; align-items:center; justify-content:center; width:36px; height:44px; padding:0; border:0; border-radius:10px; background:transparent; cursor:pointer; }
.rl-showcase__pagination button span { display:block; width:9px; height:9px; border-radius:50%; background:#bdcfd4; transition:background .16s ease,transform .16s ease; }
.rl-showcase__pagination button[aria-pressed="true"] span { background:#008f80; transform:scale(1.15); }
.rl-showcase__pagination button:hover span { background:#008f80; }
@media(max-width:1050px) {
    .rl-showcase { padding:64px 28px 48px; }
    .rl-showcase__inner { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:32px; }
    .rl-showcase__descriptions { min-height:245px; }
    .rl-showcase__copy p { font-size:16px; }
    .rl-showcase h3 { font-size:27px; }
}
@media(max-width:780px) {
    .rl-showcase { padding:52px 24px 40px; }
    .rl-showcase__inner { grid-template-columns:minmax(0,1fr); gap:28px; max-width:640px; }
    .rl-showcase__copy { padding-bottom:0; }
    .rl-showcase h2 { margin-bottom:18px; font-size:12px; }
    .rl-showcase h3 { max-width:540px; font-size:29px; }
    .rl-showcase__copy p { max-width:none; }
    .rl-showcase__descriptions { min-height:190px; }
    .rl-showcase__arrows { margin-top:20px; }
    .rl-showcase__stage { padding:5px; border-radius:11px; }
    .rl-showcase__stage figure { border-radius:6px; }
    .rl-showcase__pagination { margin-top:10px; }
}
@media(max-width:420px) {
    .rl-showcase { padding-inline:20px; }
    .rl-showcase h3 { font-size:27px; }
    .rl-showcase__descriptions { min-height:215px; }
}
@media(prefers-reduced-motion:reduce) {
    .rl-showcase__arrows button,.rl-showcase__pagination button span { transition:none; }
}
