/* Scoped showcase for /desarrollo-web/ > Qué desarrollamos. */
.web-showcase-section{background:linear-gradient(180deg,#fff 0,#f7f8fc 100%)}
.web-showcase-heading{max-width:1120px}.web-showcase-heading h2{margin-top:14px}.web-showcase-heading>p{max-width:790px;margin-bottom:0;font-size:17px}
.web-showcase{display:grid;grid-template-columns:minmax(340px,38%) minmax(0,62%);gap:18px;width:min(1240px,calc(100% - 40px));margin:34px auto 0}
.web-showcase-tabs{display:grid;grid-template-rows:repeat(4,1fr);gap:10px;min-width:0}
.web-showcase-tabs button{position:relative;display:grid;grid-template-columns:30px 42px minmax(0,1fr) 24px;gap:12px;align-items:center;width:100%;min-height:126px;padding:20px;border:1px solid #e0e2ec;border-radius:18px;background:#fff;color:#171728;text-align:left;box-shadow:0 8px 22px rgba(9,9,70,.025);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease,color .3s ease;overflow:hidden}
.web-showcase-tabs button::before{content:"";position:absolute;inset:14px auto 14px 0;width:4px;border-radius:0 5px 5px 0;background:transparent;transition:background .3s ease}
.web-showcase-tabs button:hover{transform:translateX(4px);border-color:#bfc2da;box-shadow:0 12px 26px rgba(9,9,121,.07)}
.web-showcase-tabs button.is-active{border-color:#1717a8;background:linear-gradient(135deg,#090979,#1717b4);color:#fff;box-shadow:0 15px 34px rgba(9,9,121,.17)}
.web-showcase-tabs button.is-active::before{background:#ff6b00}
.web-showcase-tabs button:focus-visible{outline:3px solid #c64f00;outline-offset:4px}
.web-tab-number{align-self:start;color:#a13c00;font-size:11px;font-weight:900;letter-spacing:.1em}.is-active .web-tab-number{color:#ffb37d}
.web-showcase-tabs svg{width:34px;height:34px;fill:none;stroke:#090979;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.is-active svg{stroke:#fff}
.web-tab-copy{display:grid;gap:7px;min-width:0}.web-tab-copy strong{font-size:17px;line-height:1.22}.web-tab-copy small{color:#62677b;font-size:13px;line-height:1.45}.is-active .web-tab-copy small{color:#d6d7ef}
.web-tab-arrow{color:#090979;font-size:20px;font-weight:900;transition:transform .3s ease,color .3s ease}.is-active .web-tab-arrow{color:#ff9b55}.web-showcase-tabs button:hover .web-tab-arrow{transform:translateX(4px)}
.web-showcase-panels{display:grid;min-width:0;touch-action:pan-y}
.web-showcase-panel{grid-area:1/1;display:grid;align-content:start;min-width:0;padding:14px;border:1px solid #e1e3ec;border-radius:26px;background:linear-gradient(145deg,#fff,#f2f5fb);box-shadow:0 20px 48px rgba(19,27,73,.1);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(14px) scale(.985);transition:opacity .55s ease,transform .55s ease,visibility 0s linear .55s}
.web-showcase-panel.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.web-visual-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:20px;background:#e8edf7;box-shadow:inset 0 0 0 1px rgba(9,9,121,.07)}
.web-visual-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.web-visual-frame picture,.web-visual-frame img{display:block;width:100%;height:100%}.web-visual-frame img{object-fit:cover}
.web-panel-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:22px 14px 10px}.web-panel-caption h3{margin:0 0 7px;color:#171728;font-size:24px}.web-panel-caption p{max-width:720px;margin:0;color:#555a70;font-size:14px;line-height:1.65}
.web-panel-chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:220px}.web-panel-chips span{padding:7px 9px;border:1px solid #d8dbea;border-radius:999px;background:#fff;color:#090979;font-size:10px;font-weight:850;white-space:nowrap}

@media(max-width:900px){
  .web-showcase{grid-template-columns:1fr;gap:13px}
  .web-showcase-tabs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px 10px}
  .web-showcase-tabs::-webkit-scrollbar{display:none}
  .web-showcase-tabs button{flex:0 0 auto;grid-template-columns:26px 30px minmax(0,1fr) 18px;gap:9px;width:215px;min-height:68px;padding:13px 14px;border-radius:14px;scroll-snap-align:center}
  .web-showcase-tabs button:hover{transform:translateY(-2px)}
  .web-showcase-tabs button::before{inset:0 13px auto;height:3px;width:auto;border-radius:0 0 5px 5px}
  .web-showcase-tabs svg{width:27px;height:27px}.web-tab-copy{gap:0}.web-tab-copy strong{font-size:14px}.web-tab-copy small{display:none}.web-tab-arrow{font-size:16px}
}
@media(max-width:540px){
  .web-showcase{width:min(100% - 28px,1240px);margin-top:25px}
  .web-showcase-heading>p{font-size:15px}
  .web-showcase-tabs button{width:190px;min-height:64px;padding:11px 12px}
  .web-showcase-panel{padding:8px;border-radius:21px}
  .web-visual-frame{border-radius:16px}
  .web-panel-caption{grid-template-columns:1fr;gap:16px;padding:19px 11px 11px}
  .web-panel-caption h3{font-size:22px}.web-panel-caption p{font-size:14px}
  .web-panel-chips{justify-content:flex-start;max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .web-showcase-tabs button,.web-tab-arrow,.web-showcase-panel{transition:none!important;transform:none!important}
}
