/* Galería de servicios: texto fijo y tarjetas de vidrio a la derecha. */
body{overflow-x:clip}
main .services-section{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  column-gap:2.5%;
  row-gap:12px;
  width:100%;
  max-width:none;
  height:100svh;
  min-height:0;
  margin:0;
  padding:100px clamp(28px,3.4vw,60px) 60px!important;
  overflow:hidden;
  background:#fff;
}
main .services-section .split-heading{
  position:relative;
  z-index:6;
  display:block;
  grid-column:1;
  grid-row:1 / 3;
  align-self:center;
  width:100%;
  min-width:0;
  margin:0;
  padding:0 0 8px;
}
main .services-section .split-heading>div{width:100%}
main .services-section .split-heading h2{
  max-width:660px;
  margin:20px 0 23px;
  font-size:var(--home-title);
  line-height:1.06;
  white-space:normal;
}
main .services-section .split-heading h2 em{display:block;white-space:normal}
main .services-section .split-heading>p{
  max-width:445px;
  margin:0;
  font-size:13px;
  line-height:1.8;
  color:#61758b;
  white-space:normal;
}
main .services-section .service-grid{
  --showcase-near:clamp(120px,10vw,190px);
  --showcase-far:clamp(210px,16vw,280px);
  position:relative;
  display:block;
  grid-column:2;
  grid-row:1;
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  transform:none;
  perspective:1400px;
  overflow:visible;
  clip-path:inset(-90px -90px -90px -90px);
}
main .services-section .vitrine-card,
main .services-section .vitrine-card-wide{
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto auto auto;
  gap:8px;
  align-content:stretch;
  width:min(390px,58%);
  height:calc(100% - 20px);
  max-height:420px;
  min-height:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:30px;
  background:transparent;
  isolation:isolate;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(37,64,84,.1);
  opacity:1;
  transform:translate(-50%,-50%) translateX(var(--showcase-x,0px)) rotateY(var(--showcase-angle,0deg)) scale(var(--showcase-scale,1));
  transition:transform .55s cubic-bezier(.2,.75,.25,1),opacity .45s,filter .45s,box-shadow .3s;
  will-change:transform;
  cursor:pointer;
}
main .services-section .vitrine-card::before,
main .services-section .vitrine-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
main .services-section .vitrine-card>*{position:relative;z-index:1}
main .services-section .vitrine-card::before{
  border-radius:inherit;
  background:linear-gradient(145deg,rgba(222,229,236,.34),rgba(222,229,236,.58) 54%,rgba(222,229,236,.44));
  backdrop-filter:blur(9px) saturate(112%);
  -webkit-backdrop-filter:blur(9px) saturate(112%);
}
main .services-section .vitrine-card::after{
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.3),transparent 22%,transparent 76%,rgba(255,255,255,.14));
  box-shadow:inset 0 2px 5px rgba(255,255,255,.86),inset 2px 0 7px rgba(255,255,255,.62),inset -2px -3px 7px rgba(126,170,198,.12);
}
main .services-section .vitrine-card .card-top{
  position:absolute;
  inset:30px 30px auto auto;
  z-index:3;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:auto;
  min-height:0;
  height:auto;
  margin:0;
  padding:0;
}
main .services-section .vitrine-card .service-icon{display:none}
main .services-section .vitrine-card .card-index{font-size:10px;color:#8c9dab;letter-spacing:.1em}
main .services-section .service-visual{
  grid-column:1;
  grid-row:1;
  align-self:stretch;
  width:100%;
  height:100%;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.85);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(241,247,251,.35));
  box-shadow:inset 0 1px 1px rgba(255,255,255,.84);
}
main .services-section .service-visual::before{content:"";position:absolute;left:18px;top:17px;z-index:2;width:7px;height:7px;border-radius:50%;background:#cab89c;box-shadow:12px 0 #d2c4a7,24px 0 #adc6d2}
main .services-section .vitrine-card h3{
  grid-column:1;
  grid-row:2;
  align-self:start;
  margin:5px 3px 0;
  font-size:clamp(21px,1.45vw,26px);
  line-height:1.12;
  color:#243754;
  text-shadow:none;
}
main .services-section .vitrine-card p{
  grid-column:1;
  grid-row:3;
  align-self:start;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
  margin:0 3px;
  font-size:13px;
  line-height:1.48;
  color:#596c7d;
}
main .services-section .vitrine-card .card-link{
  position:static;
  grid-column:1;
  grid-row:4;
  align-self:end;
  justify-self:start;
  width:max-content;
  margin:0 2px;
  padding:0;
  font-size:11px;
  line-height:1.35;
  white-space:nowrap;
  color:#244c6c;
}
main .services-section .vitrine-card .card-link span{color:#c78d10}
main .services-section .vitrine-card[data-showcase-position="center"]{
  --showcase-x:0px;
  --showcase-angle:0deg;
  --showcase-scale:1;
  z-index:5;
  opacity:1;
  cursor:default;
  box-shadow:0 22px 48px rgba(37,64,84,.13);
}
main .services-section .vitrine-card[data-showcase-position="center"]::before{
  background:linear-gradient(145deg,rgba(222,229,236,.42),rgba(222,229,236,.66) 54%,rgba(222,229,236,.5));
  backdrop-filter:blur(12px) saturate(112%);
  -webkit-backdrop-filter:blur(12px) saturate(112%);
}
main .services-section .vitrine-card[data-showcase-position="left-near"]{--showcase-x:calc(-1 * var(--showcase-near));--showcase-angle:9deg;--showcase-scale:.86;z-index:4;opacity:.78;filter:blur(.4px)}
main .services-section .vitrine-card[data-showcase-position="right-near"]{--showcase-x:var(--showcase-near);--showcase-angle:-9deg;--showcase-scale:.86;z-index:4;opacity:.78;filter:blur(.4px)}
main .services-section .vitrine-card[data-showcase-position="left-far"]{--showcase-x:calc(-1 * var(--showcase-far));--showcase-angle:13deg;--showcase-scale:.72;z-index:3;opacity:.53;filter:blur(.8px)}
main .services-section .vitrine-card[data-showcase-position="right-far"]{--showcase-x:var(--showcase-far);--showcase-angle:-13deg;--showcase-scale:.72;z-index:3;opacity:.53;filter:blur(.8px)}
main .services-section .vitrine-card:nth-child(1):not([data-showcase-position]){z-index:5}
main .services-section .vitrine-card:nth-child(2):not([data-showcase-position]){--showcase-x:var(--showcase-near);--showcase-angle:-9deg;--showcase-scale:.86;z-index:4;opacity:.78}
main .services-section .vitrine-card:nth-child(3):not([data-showcase-position]){--showcase-x:var(--showcase-far);--showcase-angle:-13deg;--showcase-scale:.72;z-index:3;opacity:.53}
main .services-section .vitrine-card:nth-child(4):not([data-showcase-position]){--showcase-x:calc(-1 * var(--showcase-far));--showcase-angle:13deg;--showcase-scale:.72;z-index:3;opacity:.53}
main .services-section .vitrine-card:nth-child(5):not([data-showcase-position]){--showcase-x:calc(-1 * var(--showcase-near));--showcase-angle:9deg;--showcase-scale:.86;z-index:4;opacity:.78}
main .services-section .vitrine-card[data-showcase-position="center"]:hover,
main .services-section .vitrine-card[data-showcase-position="center"]:focus-within{transform:translate(-50%,-50%) scale(1.012)}
main .services-section .vitrine-card:not([data-showcase-position="center"]) h3,
main .services-section .vitrine-card:not([data-showcase-position="center"]) p,
main .services-section .vitrine-card:not([data-showcase-position="center"]) .card-link{visibility:hidden}
main .services-section .vitrine-card:not([data-showcase-position="center"]) .card-link{pointer-events:none}
main .services-section .vitrine-card:not([data-showcase-position="center"]) h3{font-size:20px}
/* The illustrations grow with the card, without forcing the copy into the image. */
main .services-section .vitrine-card[data-showcase-position="center"] .software-window,
main .services-section .vitrine-card[data-showcase-position="center"] .web-browser{width:76%;height:68%;max-height:225px}
main .services-section .vitrine-card[data-showcase-position="center"] .service-tool{width:clamp(52px,4.1vw,70px);height:clamp(58px,4.6vw,76px)}
main .services-section .vitrine-card[data-showcase-position="center"] .service-tool img{width:38px;height:38px}
main .services-section .vitrine-card[data-showcase-position="center"] .service-tool small{font-size:9px}
main .services-section .vitrine-card[data-showcase-position="center"] .ai-logos span,
main .services-section .vitrine-card[data-showcase-position="center"] .web-stack span{width:46px;height:46px}
main .services-section .vitrine-card[data-showcase-position="center"] .ai-logos img,
main .services-section .vitrine-card[data-showcase-position="center"] .web-stack img{width:31px;height:31px}
main .services-section .vitrine-card[data-showcase-position="center"] .data-chart{height:55%}
main .services-section .vitrine-card[data-showcase-position="center"] .data-kpi{padding:13px}
.service-showcase-controls{
  position:relative;
  z-index:6;
  display:flex;
  grid-column:2;
  grid-row:2;
  justify-self:center;
  align-items:center;
  gap:18px;
  width:max-content;
  margin:0;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.82);
  border-radius:999px;
  background:rgba(225,237,245,.46);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.9),0 8px 25px rgba(53,92,125,.09);
}
.service-showcase-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(53,92,125,.18);border-radius:50%;background:rgba(255,255,255,.65);color:#355c7d;font-size:20px;cursor:pointer;transition:background .2s,transform .2s}
.service-showcase-arrow:hover,.service-showcase-arrow:focus-visible{background:#fff;transform:translateY(-2px)}
.service-showcase-count{min-width:62px;text-align:center;color:#355c7d;font-size:13px;font-weight:700;letter-spacing:.12em}
@media(max-width:1200px){
  main .services-section{grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);column-gap:1.5%}
  main .services-section .vitrine-card,main .services-section .vitrine-card-wide{width:min(360px,65%)}
  main .services-section .service-grid{--showcase-near:clamp(95px,9vw,145px);--showcase-far:clamp(170px,17vw,215px)}
}
@media(max-width:760px){
  main .services-section{height:auto;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(380px,54svh) auto;gap:16px;padding:110px 20px 50px!important}
  main .services-section .split-heading{grid-column:1;grid-row:1;padding:0}
  main .services-section .split-heading h2{font-size:var(--home-title);margin:12px 0 14px}
  main .services-section .split-heading>p{font-size:13px;line-height:1.8;max-width:560px}
  main .services-section .service-grid{grid-column:1;grid-row:2;--showcase-near:55vw;--showcase-far:100vw;width:100%;height:100%}
  main .services-section .vitrine-card,main .services-section .vitrine-card-wide{width:min(340px,88%);height:calc(100% - 16px);padding:12px;gap:6px;grid-template-rows:minmax(0,1fr) auto auto auto;border-radius:23px}
  main .services-section .vitrine-card .card-top{inset:26px 26px auto auto}
  main .services-section .vitrine-card h3{font-size:20px}
  main .services-section .vitrine-card p{font-size:13px;line-height:1.35}
  main .services-section .vitrine-card .card-link{font-size:12px}
  main .services-section .vitrine-card[data-showcase-position="left-far"],main .services-section .vitrine-card[data-showcase-position="right-far"]{opacity:0;pointer-events:none}
  .service-showcase-controls{grid-column:1;grid-row:3}
}
@media(max-height:720px) and (min-width:761px){
  main .services-section{height:100svh;min-height:0;padding-top:92px!important;padding-bottom:50px!important}
  main .services-section .service-grid{min-height:0}
  main .services-section .split-heading h2{margin:12px 0 14px}
  main .services-section .vitrine-card,main .services-section .vitrine-card-wide{width:min(350px,62%);height:calc(100% - 14px);max-height:min(360px,calc(100svh - 235px));padding:12px}
  main .services-section .vitrine-card .card-top{inset:26px 26px auto auto}
  main .services-section .vitrine-card h3{font-size:20px}
  main .services-section .vitrine-card p{font-size:12px}
  main .services-section .vitrine-card .card-link{font-size:10px}
  .service-showcase-arrow{width:36px;height:36px}
  .service-showcase-controls{padding:5px 8px}
}
@media(prefers-reduced-motion:reduce){main .services-section .vitrine-card,main .services-section .vitrine-card-wide,.service-showcase-arrow{transition:none;will-change:auto}}
@media(prefers-reduced-transparency:reduce){main .services-section .vitrine-card::before{background:#d7e5ee;backdrop-filter:none;-webkit-backdrop-filter:none}.service-showcase-controls{background:#e8f0f5;backdrop-filter:none;-webkit-backdrop-filter:none}}
