.svc-page .svc-wrap{max-width:1360px;padding:0 0 24px;text-align:left}
.svc-services-hero{
  display:flex;flex-direction:column;align-items:center;
  gap:14px;padding:30px 0 38px;text-align:center;
}
.svc-services-hero .svc-hero__title{
  margin-bottom:0;font-size:clamp(42px,4vw,56px);line-height:1.08;text-align:center;
}
.svc-services-hero .svc-hero__title br{display:none}
.svc-services-hero__intro{
  max-width:65ch;font-size:16px;font-weight:400;
  line-height:1.7;color:var(--ui-muted);text-wrap:pretty;
}
.svc-services{position:relative;scroll-margin-top:120px}
.svc-services__anchor{position:absolute;top:0;left:0;width:1px;height:1px;scroll-margin-top:120px}
.svc-services__grid{
  --svc-glow-x:0px;--svc-glow-y:0px;--svc-glow-opacity:0;
  position:relative;isolation:isolate;overflow:visible;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;min-width:0;margin:0;padding:0;border:0;
}
.svc-services__halo{
  position:absolute;z-index:0;inset:0;pointer-events:none;overflow:visible;
  filter:blur(10px);opacity:var(--svc-glow-opacity);
}
.svc-services__halo-ring{
  position:absolute;border-radius:16px;padding:5px;
  background:radial-gradient(260px circle
    at calc(var(--svc-glow-x) - var(--svc-card-x)) calc(var(--svc-glow-y) - var(--svc-card-y)),
    var(--brand-gradient-color1),var(--brand-gradient-color2) 28%,
    var(--brand-gradient-color3) 55%,transparent 85%);
  -webkit-mask:linear-gradient(var(--cream),var(--cream)) content-box,linear-gradient(var(--cream),var(--cream));
  -webkit-mask-composite:xor;
  mask:linear-gradient(var(--cream),var(--cream)) content-box,linear-gradient(var(--cream),var(--cream));
  mask-composite:exclude;
}
.svc-services__legend,.svc-service-card__radio{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;
  border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}
.svc-service-card{
  --svc-glow-x:50%;--svc-glow-y:35%;
  position:relative;z-index:1;isolation:isolate;display:flex;flex-direction:column;
  justify-content:space-between;gap:68px;width:100%;min-width:0;min-height:0;
  aspect-ratio:1;padding:28px 24px 30px;border-radius:16px;
  background:var(--ui-surface);color:var(--ui-text);text-shadow:none;
  box-shadow:inset 0 0 0 1px var(--ui-border),0 18px 32px -24px color-mix(in srgb,var(--ui-inverse-surface) 40%,transparent);
  cursor:pointer;touch-action:pan-y;
}
.svc-service-card::before,.svc-service-card::after,.svc-service-card__frame{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
}
.svc-service-card::before,.svc-service-card__frame{
  padding:2px;
  -webkit-mask:linear-gradient(var(--cream),var(--cream)) content-box,linear-gradient(var(--cream),var(--cream));
  -webkit-mask-composite:xor;
  mask:linear-gradient(var(--cream),var(--cream)) content-box,linear-gradient(var(--cream),var(--cream));
  mask-composite:exclude;
}
.svc-service-card::before{
  z-index:3;
  background:radial-gradient(260px circle at var(--svc-glow-x) var(--svc-glow-y),
    var(--brand-gradient-color1),var(--brand-gradient-color2) 28%,
    var(--brand-gradient-color3) 55%,transparent 85%);
  opacity:var(--svc-glow-opacity);
}
.svc-service-card__frame{
  z-index:2;opacity:.62;overflow:hidden;
  transition:opacity .24s cubic-bezier(.16,1,.3,1);
}
.svc-service-card__beam{
  position:absolute;display:block;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--ui-text),transparent);
  filter:drop-shadow(0 0 2px var(--ui-text));
  animation:svc-beam-horizontal 3.6s cubic-bezier(.45,0,.2,1) infinite both paused;
}
.svc-service-card__beam--top,.svc-service-card__beam--bottom{left:0;width:50%;height:2px}
.svc-service-card__beam--top{top:0;animation-delay:var(--svc-beam-delay,0s)}
.svc-service-card__beam--bottom{bottom:0;animation-delay:calc(var(--svc-beam-delay,0s) - 1.2s);animation-direction:reverse}
.svc-service-card__beam--right,.svc-service-card__beam--left{
  top:0;width:2px;height:50%;
  background:linear-gradient(180deg,transparent,var(--ui-text),transparent);
  animation-name:svc-beam-vertical;
}
.svc-service-card__beam--right{right:0;animation-delay:calc(var(--svc-beam-delay,0s) - .6s)}
.svc-service-card__beam--left{left:0;animation-delay:calc(var(--svc-beam-delay,0s) - 1.8s);animation-direction:reverse}
.svc-service-card:nth-of-type(2){--svc-beam-delay:-.45s}
.svc-service-card:nth-of-type(3){--svc-beam-delay:-.9s}
.svc-service-card:nth-of-type(4){--svc-beam-delay:-1.35s}
.svc-service-card:nth-of-type(5){--svc-beam-delay:-1.8s}
.svc-service-card--lit .svc-service-card__beam{animation-play-state:running}
.svc-service-card--tilting{
  z-index:2;will-change:transform;
  transform:perspective(1500px) rotateX(var(--svc-tilt-x,0deg)) rotateY(var(--svc-tilt-y,0deg));
}
.svc-service-card:has(:focus-visible) .svc-service-card__frame{opacity:1}
@media(hover:hover) and (pointer:fine){.svc-service-card:hover .svc-service-card__frame{opacity:1}}
@keyframes svc-beam-horizontal{
  0%{transform:translateX(-100%);opacity:0}
  12%,55%{opacity:1}
  75%,100%{transform:translateX(200%);opacity:0}
}
@keyframes svc-beam-vertical{
  0%{transform:translateY(-100%);opacity:0}
  12%,55%{opacity:1}
  75%,100%{transform:translateY(200%);opacity:0}
}
.svc-service-card::after{
  z-index:0;
  background:radial-gradient(320px circle at var(--svc-glow-x) var(--svc-glow-y),
    color-mix(in srgb,var(--brand-gradient-color2) 8%,transparent),transparent 72%);
  opacity:var(--svc-glow-opacity);
}
.svc-service-card:has(:checked){
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ui-text) 42%,var(--ui-border)),
    0 18px 32px -24px color-mix(in srgb,var(--ui-inverse-surface) 40%,transparent);
}
.svc-service-card:has(:checked) .svc-service-card__frame{opacity:1}
.svc-service-card:has(:focus-visible){outline:3px solid var(--ui-focus);outline-offset:5px}
.svc-service-card__top,.svc-service-card__copy{position:relative;z-index:1}
.svc-service-card__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.svc-service-card__icon{width:42px;height:42px;flex:none}
.svc-service-card__check{
  display:grid;place-items:center;width:27px;height:27px;border-radius:50%;
  border:1px solid var(--ui-border);flex:none;color:transparent;
  transition:color .2s ease,background .2s ease,border-color .2s ease;
}
.svc-service-card__check svg{width:19px;height:19px}
.svc-service-card:has(:checked) .svc-service-card__check{
  background:var(--ui-link);border-color:var(--ui-link);color:var(--ui-surface);
}
.svc-service-card__copy{display:flex;flex-direction:column}
.svc-service-card__title{font-size:clamp(23px,2vw,29px);font-weight:800;line-height:1.12;letter-spacing:-.03em;text-wrap:balance}
.svc-service-card__purpose{margin-top:12px;font-size:var(--type-small,16px);font-weight:700;line-height:1.5}
.svc-service-card__description{
  display:block;margin-top:22px;font-size:var(--type-body,17px);font-weight:400;
  line-height:1.7;color:var(--ui-muted);text-wrap:pretty;
}
.svc-services__actions{display:flex;justify-content:center;padding-top:28px}
:root .svc-services__actions .cta-web.cta-web--hero:is(button){padding:16px 24px}
:root .svc-services__actions .cta-web.cta-web--hero>span{min-width:0}
.svc-page .svc-footer{margin:0;min-width:0}
@media screen{
  html:has(body.svc-page){height:auto;overflow-x:hidden;overflow-y:auto}
  body.svc-page{height:auto;min-height:100dvh;overflow:visible}
  .svc-page>.page{
    display:grid;grid-template-rows:92px minmax(550px,1fr) auto;
    height:auto;min-height:100dvh;padding-bottom:0;
  }
  .svc-page .nav{align-self:start}
  .svc-page .svc-wrap{
    display:grid;grid-template-rows:minmax(max-content,1fr) auto minmax(96px,1fr);
    width:100%;min-height:0;padding:0;container-type:size;container-name:svc-services;
  }
  .svc-services-hero{grid-column:1;grid-row:1;align-self:center;z-index:1;gap:12px;padding:0}
  .svc-services-hero .svc-hero__title{font-size:clamp(30px,3.6vw,46px)}
  .svc-services-hero .svc-eyebrow{font-size:10px;margin-bottom:7px}
  .svc-services-hero__intro{font-size:14px;line-height:1.6}
  .svc-services{
    --svc-cols:4;--svc-rows:1;--svc-grid-gap:20px;
    --svc-heading-reserve:190px;--svc-actions-height:96px;--svc-actions-gap:24px;
    --svc-square-side:min(
      calc((100cqw - (var(--svc-cols) - 1)*var(--svc-grid-gap))/var(--svc-cols)),
      calc((100cqh - var(--svc-heading-reserve) - var(--svc-actions-height) - var(--svc-actions-gap) - (var(--svc-rows) - 1)*var(--svc-grid-gap))/var(--svc-rows))
    );
    --svc-group-width:calc(var(--svc-cols)*var(--svc-square-side) + (var(--svc-cols) - 1)*var(--svc-grid-gap));
    grid-column:1;grid-row:1/-1;display:grid;grid-template-rows:subgrid;
    min-height:0;
  }
  .svc-services__grid{
    width:var(--svc-group-width);height:calc(var(--svc-rows)*var(--svc-square-side) + (var(--svc-rows) - 1)*var(--svc-grid-gap));
    grid-row:2;justify-self:center;align-self:center;min-height:0;
    grid-template-columns:repeat(var(--svc-cols),minmax(0,1fr));
    grid-template-rows:repeat(var(--svc-rows),minmax(0,1fr));gap:var(--svc-grid-gap);
  }
  .svc-service-card{aspect-ratio:1;height:auto;align-self:start;min-height:0;gap:18px;padding:22px 20px}
  .svc-service-card__icon{width:32px;height:32px}
  .svc-service-card__title{font-size:clamp(21px,1.9vw,27px)}
  .svc-service-card__purpose{margin-top:9px;font-size:12px}
  .svc-service-card__description{margin-top:15px;font-size:13px;line-height:1.6}
  .svc-services__actions{grid-row:3;align-items:center;width:100%;min-height:var(--svc-actions-height);padding:0}
}
@container svc-services (max-height:600px){
  .svc-service-card__description{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
}
@media(prefers-reduced-motion:reduce){
  .svc-service-card__check,.svc-service-card__frame{transition:none}
  .svc-service-card__beam{animation:none;display:none}
  .svc-service-card--tilting{transform:none;will-change:auto}
  .svc-services__halo{display:none}
}
.portfolio-preview .svc-service-card__beam,.preview-estatica .svc-service-card__beam{animation:none;display:none}
.portfolio-preview .svc-services__halo,.preview-estatica .svc-services__halo{display:none}
@media(forced-colors:active){
  .svc-service-card{border:1px solid CanvasText;box-shadow:none}
  .svc-service-card::before,.svc-service-card::after,.svc-service-card__frame,.svc-services__halo{display:none}
  .svc-service-card:has(:checked){outline:2px solid Highlight;outline-offset:2px}
  .svc-service-card__check{forced-color-adjust:none;background:Canvas;color:Canvas;border-color:CanvasText}
  .svc-service-card:has(:checked) .svc-service-card__check{background:Highlight;color:HighlightText;border-color:Highlight}
}
@media print{
  .svc-service-card::before,.svc-service-card::after,.svc-service-card__frame,.svc-services__halo{display:none}
  .svc-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-service-card{min-height:0;aspect-ratio:auto;gap:24px;break-inside:avoid;box-shadow:none}
}
@media screen and (max-width:1100px){
  .svc-services{--svc-grid-gap:14px}
  .svc-service-card{padding:18px 16px}
  .svc-service-card__title{font-size:21px}
  .svc-service-card__description{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
}
@media screen and (max-width:820px){
  .svc-services-hero{gap:10px}
  .svc-services-hero__intro{max-width:60ch;margin:0;font-size:12px}
  .svc-service-card__title{font-size:20px}
  .svc-service-card__purpose{font-size:11px}
  .svc-service-card{padding:18px 14px}
  .svc-services{--svc-cols:2;--svc-rows:2}
}
@media screen and (max-width:560px){
  .svc-services-hero{gap:8px}
  .svc-services-hero .svc-hero__title{font-size:clamp(27px,7vw,36px)}
  .svc-services-hero .svc-eyebrow{margin-bottom:4px}
  .svc-services-hero__intro{max-width:48ch;font-size:12px;line-height:1.45}
  .svc-services{--svc-heading-reserve:150px;--svc-actions-gap:18px}
  .svc-service-card{gap:8px;padding:12px}
  .svc-service-card__icon{width:24px;height:24px}
  .svc-service-card__check{width:22px;height:22px}
  .svc-service-card__title{font-size:clamp(18px,5vw,20px);line-height:1.1}
  .svc-service-card__purpose{margin-top:5px;font-size:11px;line-height:1.35}
}
@media screen and (max-height:700px){
  .svc-services-hero .svc-hero__title{font-size:30px}
  .svc-services-hero .svc-eyebrow{display:none}
  .svc-services-hero__intro{font-size:11px;line-height:1.45}
  .svc-service-card__description{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
  .svc-service-card{padding:13px;gap:8px}
  .svc-service-card__icon{width:24px;height:24px}
  .svc-service-card__title{font-size:19px}
  .svc-service-card__purpose{font-size:10px}
  .svc-services{--svc-heading-reserve:140px;--svc-actions-gap:14px}
}
@media screen and (max-height:700px) and (max-width:560px){
  .svc-services-hero .svc-hero__title{font-size:26px}
  .svc-service-card__purpose{display:none}
}
@media screen and (max-height:500px) and (min-width:561px){
  .svc-services-hero{gap:4px}
  .svc-services-hero .svc-hero__title{font-size:22px}
  .svc-services-hero__intro{max-width:none;font-size:10px;line-height:1.4}
  .svc-services{--svc-actions-gap:10px}
  .svc-services{--svc-cols:4;--svc-rows:1}
  .svc-service-card__purpose{display:none}
}
/* El pie compartido conserva su altura y el contenido se recorre si no cabe. */
@media screen and (max-width:820px),
       screen and (max-height:500px){
  .svc-page>.page{height:auto;min-height:100dvh;grid-template-rows:92px auto auto}
  .svc-page .svc-wrap{grid-template-rows:auto auto;padding:24px 0;container-type:inline-size}
  .svc-services-hero{padding-bottom:24px}
  .svc-services-hero__intro{font-size:13px}
  .svc-services{
    grid-row:2;display:flex;flex-direction:column;align-items:center;gap:24px;
    --svc-actions-gap:24px;
    --svc-square-side:min(220px,calc((100cqw - (var(--svc-cols) - 1)*var(--svc-grid-gap))/var(--svc-cols)));
  }
  .svc-service-card{padding:14px;gap:16px;justify-content:space-between}
  .svc-service-card__top{position:relative;inset:auto;display:flex;gap:12px}
  .svc-service-card__icon{display:block;width:24px;height:24px}
  .svc-service-card__check{width:22px;height:22px;margin:0}
  .svc-service-card__check svg{width:16px;height:16px}
  .svc-service-card__title{font-size:18px;line-height:1.12;overflow-wrap:normal}
}
@media screen{
  .home-services .svc-service-card__title{font-size:clamp(24px,2.2vw,30px);line-height:1.18}
  .home-services .svc-service-card__purpose{display:block;margin-top:12px;font-size:var(--type-small,16px);font-weight:700;line-height:1.5}
  .home-services .svc-service-card__description{
    position:static;display:block;width:auto;height:auto;margin:18px 0 0;
    overflow:visible;clip-path:none;white-space:normal;
    font-size:var(--type-body,17px);line-height:1.7;
  }
}
