/* All presentation rules are scoped to Rail Lab. */
.rl, .rl-dialog { --rl-ink:#242722; --rl-muted:#797d75; --rl-line:#d7d9d2; --rl-paper:#fafbf8; color:var(--rl-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.5; font-size:15px; }
.rl *, .rl-dialog * { box-sizing:border-box; }
.rl { width:100%; max-width:1600px; margin:0 auto; padding:56px 0 36px; background:#fff; overflow:hidden; isolation:isolate; }
.rl button, .rl-dialog button { font:inherit; cursor:pointer; color:inherit; text-transform:none; letter-spacing:inherit; box-shadow:none; }
.rl button:focus-visible, .rl-dialog button:focus-visible { outline:2px solid #3a6650; outline-offset:6px; }
.rl-heading { text-align:center; padding:0 24px; }
.rl-eyebrow { margin:0 0 20px; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.rl-eyebrow span { display:inline-block; margin-left:12px; padding-left:12px; border-left:1px solid #cfd2ca; color:var(--rl-muted); font-weight:400; }
.rl .rl-heading h2 { margin:0; font-weight:400; font-size:clamp(24px,2.6vw,38px); letter-spacing:-.04em; line-height:1.15; }
.rl-stage { position:relative; margin-top:62px; }
.rl-bar { position:absolute; z-index:0; left:0; right:0; top:0; height:8px; background:linear-gradient(#8f928e 0%,#f5f6f3 24%,#b4b7b0 48%,#70756d 70%,#c9cdc4 100%); box-shadow:0 3px 5px #252c2421; }
.rl-bar::before,.rl-bar::after { content:''; position:absolute; top:-8px; width:28px; height:24px; border:1px solid #a1a59c; border-radius:2px; background:linear-gradient(110deg,#d6d9d1,#898e85,#dbded6); box-shadow:1px 2px 4px #0002; }
.rl-bar::before{left:0}.rl-bar::after{right:0}
.rl-viewport { position:relative; z-index:1; overflow-x:auto; overflow-y:hidden; padding:0 24px 28px; scrollbar-width:none; touch-action:pan-x pan-y; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.rl-viewport::-webkit-scrollbar { display:none; }
.rl-track { display:flex; align-items:flex-start; justify-content:center; gap:16px; min-width:max-content; padding:0 36px; }
.rl .rl-piece { flex:0 0 112px; position:relative; width:112px; height:386px; padding:0; border:0; background:transparent; border-radius:0; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent; transition:flex-basis 850ms cubic-bezier(.25,.46,.45,.94),width 850ms cubic-bezier(.25,.46,.45,.94),margin 850ms cubic-bezier(.25,.46,.45,.94); }
.rl .rl-piece.rl-active { flex-basis:250px; width:250px; margin:0 14px; }
.rl-pivot { display:block; position:relative; height:100%; transform-origin:50% 3px; transform:rotate(var(--rl-angle,0deg)); will-change:transform; }
.rl-hook { position:absolute; top:4px; left:50%; width:14px; height:34px; border:2px solid #9b9b8f; border-left-color:transparent; border-bottom:0; border-radius:10px 10px 0 0; transform:translateX(-50%); }
.rl-hanger { position:absolute; top:31px; left:50%; width:66px; height:21px; transform:translateX(-50%); clip-path:polygon(50% 0,100% 80%,96% 100%,4% 100%,0 80%); background:linear-gradient(15deg,#674731,#b5895c 60%,#765235); }
.rl-garment { position:absolute; top:40px; left:50%; width:250px; height:340px; transform:translateX(-50%); perspective:900px; }
.rl-view { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:contain; object-position:center top; pointer-events:none; filter:drop-shadow(2px 6px 3px #17201616); transition:opacity 480ms ease,transform 650ms cubic-bezier(.22,.72,.2,1); }
.rl-view-side { opacity:1; transform:rotateY(0deg); }
.rl-view-front { opacity:0; transform:rotateY(78deg) scale(.94); }
.rl-active .rl-view-side { opacity:0; transform:rotateY(-78deg); }
.rl-active .rl-view-front { opacity:1; transform:rotateY(0deg) scale(1); }
.rl-tag { position:absolute; top:48px; left:calc(50% + 10px); display:grid; place-items:center; min-width:39px; height:26px; padding:0 7px; border:1px solid #e0dfd5; border-radius:3px; background:#fffef5; box-shadow:1px 3px 6px #151b1721; font-size:10px; font-weight:700; letter-spacing:.06em; transform-origin:8px -13px; transform:rotate(-12deg); transition:transform 700ms cubic-bezier(.3,1.45,.45,1); }
.rl-active .rl-tag { transform:rotate(8deg); }
.rl-in-dialog .rl-pivot { visibility:hidden; }
.rl .rl-footer { padding:24px 20px 0; text-align:center; }
.rl-caption { min-height:24px; margin:0 0 24px; font-size:13px; }
.rl-navigation { display:flex; justify-content:center; align-items:center; gap:16px; }
.rl .rl-navigation>button { border:1px solid #ddd; background:#fff; border-radius:50%; width:38px; height:38px; padding:0; }
.rl-dots { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; max-width:min(600px,65vw); gap:2px; }
.rl .rl-dots button { width:26px; height:32px; border:0; padding:0; background:transparent; position:relative; }
.rl-dots button::after { content:''; display:block; margin:auto; width:5px; height:5px; border-radius:5px; background:#c8ccc3; transition:width .25s,background .25s; }
.rl-dots button[aria-current=true]::after { width:20px; background:#303b31; }
.rl-hint { color:var(--rl-muted); font-size:11px; margin:22px 0 0; }
.rl .rl-autoplay { background:transparent; color:#596454; border:0; border-bottom:1px solid #c6cdbf; padding:6px 0; margin-top:16px; font-size:11px; }
.rl .rl-autoplay:disabled { opacity:.4; cursor:default; }
.rl [hidden], .rl-dialog [hidden] { display:none!important; }
.rl-dragging { cursor:grabbing; scroll-behavior:auto; }
.rl-sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rl-image-error::after { content:'Imagen no disponible'; position:absolute; bottom:40px; left:0; width:100%; font-size:11px; background:#f3f1ea; }
.rl-broken { opacity:0!important; }
.rl-dialog { max-width:none; max-height:none; width:100vw; height:100dvh; border:0; padding:0; margin:0; background:rgba(250,251,248,.98); overflow:auto; overscroll-behavior:contain; }
.rl-dialog::backdrop { background:#fff9; backdrop-filter:blur(16px); }
.rl-dialog[open] { animation:rl-appear 380ms ease both; }
.rl-close { position:fixed; z-index:3; top:22px; right:28px; border:0; background:var(--rl-paper); display:flex; gap:12px; align-items:center; padding:7px 10px; font-size:12px!important; border-radius:20px; }
.rl-close span { font-size:27px; line-height:1; }
.rl-dialog-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); align-items:center; min-height:100%; max-width:1320px; padding:70px 7vw; gap:7vw; margin:auto; }
.rl-dialog-art { position:relative; text-align:center; min-width:0; }
.rl-detail-image { display:block; width:100%; height:min(72vh,720px); object-fit:contain; filter:drop-shadow(4px 12px 9px #17201612); }
.rl-dialog-hook { position:absolute; left:50%; top:-22px; height:30px; border-left:2px solid #94978d; }
.rl-dialog-meta h2 { font-size:clamp(26px,3vw,42px); font-weight:400; line-height:1.15; letter-spacing:-.035em; margin:0 0 15px; }
.rl-counter { color:var(--rl-muted); }
.rl-detail-label { font-size:11px; letter-spacing:.1em; }
.rl-faces { display:flex; flex-wrap:wrap; gap:22px; margin:34px 0; }
.rl-faces button { background:transparent; border:0; border-bottom:1px solid transparent; padding:9px 0; opacity:.5; font-size:13px; }
.rl-faces button[aria-pressed=true] { opacity:1; border-color:currentColor; }
.rl-description { color:#697063; font-size:14px; max-width:36ch; line-height:1.8; white-space:pre-line; }
.rl-demo-notice { color:#8b9085; font-size:10px; margin:30px 0; text-transform:uppercase; letter-spacing:.1em; }
.rl-return { display:flex; width:100%; justify-content:space-between; align-items:center; padding:17px 22px; border:1px solid var(--rl-ink); border-radius:30px; background:var(--rl-ink); color:white!important; font-size:13px!important; }
.rl-image-warning { background:#fff4d7; color:#66552b; font-size:12px; padding:10px; }
@keyframes rl-appear { from { opacity:0; } to { opacity:1; } }
@media(min-width:1500px) { .rl .rl-piece{flex-basis:140px;width:140px} }
@media(max-width:760px) {
    .rl { padding:42px 0 30px; }
    .rl-eyebrow { font-size:9px; }
    .rl-eyebrow span { margin-left:8px; padding-left:8px; }
    .rl .rl-heading h2 { font-size:26px; }
    .rl-stage { margin-top:44px; }
    .rl-viewport { padding-left:22px; padding-right:22px; }
    .rl-track { justify-content:flex-start; gap:16px; padding:0 10px; }
    .rl .rl-piece { flex-basis:92px; width:92px; height:324px; }
    .rl .rl-piece.rl-active { flex-basis:200px; width:200px; margin:0 8px; }
    .rl-garment { width:210px; height:280px; }
    .rl-tag { top:45px; min-width:33px; height:23px; font-size:9px; }
    .rl-footer { padding-top:12px!important; }
    .rl-hint { max-width:32ch; margin-left:auto; margin-right:auto; line-height:1.8; }
    .rl-dialog-layout { display:flex; flex-direction:column; padding:85px 24px 36px; gap:30px; }
    .rl-dialog-art { width:100%; }
    .rl-detail-image { height:42dvh; min-height:220px; max-height:460px; }
    .rl-dialog-meta { width:100%; text-align:center; }
    .rl-dialog-meta h2 { font-size:27px; }
    .rl-dialog-meta .rl-eyebrow { margin-bottom:12px; }
    .rl-faces { justify-content:center; margin:22px 0; }
    .rl-description { margin:0 auto; font-size:13px; }
    .rl-demo-notice { margin:22px 0; }
    .rl-close { right:14px; top:12px; }
}
@media(prefers-reduced-motion:reduce) {
    .rl *, .rl-dialog, .rl-dialog * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .rl-pivot { transform:none!important; will-change:auto; }
}
@media print { .rl-navigation,.rl-hint,.rl-autoplay,.rl-dialog { display:none!important; } }
.rl:not(.rl-ready) .rl-piece { width:220px; flex-basis:220px; }
.rl:not(.rl-ready) .rl-view-side { opacity:0; }
.rl:not(.rl-ready) .rl-view-front { opacity:1; transform:none; }
.rl:not(.rl-ready) .rl-footer { display:none; }
.rl noscript p { font-size:12px; padding:0 20px; text-align:center; }
.rl.rl-booting * { transition:none!important; }
