.elementor-9888 .elementor-element.elementor-element-071937e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-d332576{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-29d8396{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-1a71c8f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-ef16214{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-b3f8f1e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-c00186a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-2bde065{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-bb2dab5{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-a573b84{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-92a0959{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-dccf7d2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-6da3305{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9888 .elementor-element.elementor-element-61ac5e0{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* Elementor: contenedores y widgets no añaden cajas propias; el diseño manda */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .e-con, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer).e-con { display: block; padding: 0; margin: 0; gap: normal; max-width: none; width: auto; min-height: 0; min-width: 0; border: 0; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .elementor-widget, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .elementor-widget-container { display: contents; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; line-height: inherit; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-scripts { display: none; }
/* El kit del sitio colorea títulos y redondea imágenes; aquí manda el diseño */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) :is(h1, h2, h3, h4, h5, h6) { color: inherit; font-family: inherit; text-transform: none; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) img { border-radius: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) [hidden] { display: none !important; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) a { font-family: inherit; font-size: inherit; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) :is(label, input, textarea, select, button) { font-family: inherit; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; border-radius: 0; box-shadow: none; text-transform: none; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) button:hover, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) button:focus, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) button:active { background: none; color: inherit; box-shadow: none; }
html, html body { overflow-x: clip !important; overflow-y: visible !important; }
body .elementor-location-header { position: sticky; top: -36px; z-index: 30; overflow: visible !important; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-header { position: relative; background: var(--marfil); border-bottom: 1px solid var(--linea); }
@media (max-width: 960px) { body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-header .bar { min-height: 58px; } }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer){--marfil: #F5F1EC;
  --arena: #E3D9CF;
  --negro: #141414;
  --taupe: #B8A99A;
  --tinta: #2B2724;
  --gris: #5E564F;
  --linea: rgba(43, 39, 36, .16);
  --linea-osc: rgba(245, 241, 236, .18);
  --f: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --maxw: 1240px;
  color-scheme: light;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer), body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) *{box-sizing: border-box;}
html{scroll-padding-top: 100px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer){background: var(--marfil); color: var(--tinta); font-family: var(--f); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) a{color: inherit;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) img, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) video{max-width: 100%; display: block;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h1, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h2, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h3{margin: 0; text-wrap: balance;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h2{font-size: var(--fs-h2); font-weight: 500; letter-spacing: -.025em; line-height: 1.1; max-width: 18ch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h2 b{font-weight: inherit;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) h3{font-size: 1.08rem; font-weight: 500; line-height: 1.3; letter-spacing: -.01em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) p{margin: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .eyebrow{font-size: .7rem; font-weight: 400; text-transform: uppercase; letter-spacing: .16em; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .muted{color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wrap{max-width: var(--maxw); margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));}
@media (min-width: 720px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wrap{padding-left: max(40px, env(safe-area-inset-left, 0px)); padding-right: max(40px, env(safe-area-inset-right, 0px));}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) section{position: relative;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer){--sp: clamp(64px, 9vw, 120px);
  /* Escala de títulos de staminamarketing.com */
  --fs-h2: clamp(2rem, 3.3vw, 3rem);
  --fs-h3: clamp(1.5rem, 2.1vw, 1.94rem);
  --fs-lead: clamp(1.125rem, 1.4vw, 1.25rem);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .band{padding-block: var(--sp);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bg-marfil{background: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bg-arena{background: var(--arena);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bg-negro{background: var(--negro); color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bg-negro .eyebrow{color: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .kicker{display: grid; gap: 18px; margin-bottom: clamp(32px, 4vw, 48px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .kicker .eyebrow{padding-bottom: 0; border-bottom: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .kicker-row{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .btn{display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 44px; padding: 0 24px; font-family: var(--f); font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; text-decoration: none; border: 1px solid var(--negro); color: var(--negro); background: transparent; cursor: pointer; transition: background .25s, color .25s, border-color .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .btn:hover{background: var(--negro); color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .btn-solid{background: var(--negro); color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .btn-solid:hover{background: transparent; color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .on-dark{border-color: var(--marfil); color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .on-dark:hover{background: var(--arena); border-color: var(--arena); color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .link{font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) :focus-visible{outline: 2px solid var(--negro); outline-offset: 3px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bg-negro :focus-visible, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero :focus-visible, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail :focus-visible{outline-color: var(--arena);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) body::before{content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar{font-size: .72rem; letter-spacing: .04em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar .wrap{display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 36px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar span{color: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar nav{display: flex; gap: 24px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar a{color: var(--arena); text-decoration: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar a:hover{color: var(--marfil); text-decoration: underline; text-underline-offset: 4px;}
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar span{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar .wrap{justify-content: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar nav{gap: 18px;}}
@media (max-width: 420px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .topbar a:nth-child(3){display: none;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-header{position: sticky; top: env(safe-area-inset-top, 0px); z-index: 15; background: var(--marfil); border-bottom: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bar{display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; min-height: 64px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bar > .mainnav{justify-self: end;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mainnav{display: flex; align-items: center; gap: 32px; font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .12em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mainnav > a, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd > button{display: inline-flex; align-items: center; min-height: 64px; padding: 0; background: none; border: 0; color: var(--tinta); font: inherit; letter-spacing: inherit; text-transform: inherit; text-decoration: none; cursor: pointer;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mainnav > a:hover, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd:hover > button, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd:focus-within > button{text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 1px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd > button::after{content: ""; width: 5px; height: 5px; margin-left: 9px; margin-top: -3px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .site-logo{justify-self: start;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .site-logo img{height: 26px; width: auto;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .right{display: flex; justify-content: flex-end; align-items: center; gap: 28px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel{position: absolute; left: 0; right: 0; top: 100%; display: none; background: var(--marfil); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea); box-shadow: 0 24px 40px rgba(20,20,20,.08); text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 1rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd:hover .panel, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .dd:focus-within .panel{display: block;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid{display: grid; grid-template-columns: 1fr 1fr 1fr 300px; gap: 40px; padding-block: 36px 40px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div{display: grid; gap: 10px; align-content: start;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div .eyebrow{margin-bottom: 6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a{text-decoration: none; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a:hover{text-decoration: underline; text-underline-offset: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-feature{display: grid; gap: 12px; text-decoration: none; background: var(--arena); padding: 14px 14px 18px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid:has(.sp-media){grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.25fr);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a{position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 4px 0; color: var(--gris); transition: color .2s, padding .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a::after{content: "→"; opacity: 0; transition: opacity .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a:hover, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a.on{color: var(--tinta); padding-left: 8px; text-decoration: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid > div a.on::after{opacity: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-media{position: relative; padding: 0; background: none; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-media::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--negro); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.6,0,.2,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-media:hover::after{transform: scaleX(1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-photo{position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--arena);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-photo img{width: 100%; height: 100%; object-fit: cover; object-position: center; aspect-ratio: auto; transition: opacity .3s;}
@media (max-width: 1080px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid:has(.sp-media){grid-template-columns: repeat(3, minmax(0, 1fr));}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-photo::after{content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(20,20,20,.45)); pointer-events: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-cap{position: absolute; left: 16px; bottom: 14px; z-index: 2; color: var(--marfil); font-weight: 500; letter-spacing: -.02em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-ph{position: absolute; inset: 0; display: grid; place-content: center; text-align: center; gap: 6px; background: var(--arena); color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-ph b{font-size: 1.2rem; font-weight: 500; letter-spacing: -.02em; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-ph small{font-size: .62rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-txt{font-size: .88rem; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sp-media .link{padding-bottom: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-feature img{width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: top;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-feature span:first-of-type{font-weight: 500; letter-spacing: -.01em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-feature .link{justify-self: start;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd{grid-template-columns: repeat(4, 1fr);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd{gap: 16px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a{position: relative; display: grid; gap: 10px; align-content: start; padding: 22px 22px 24px; background: var(--arena); color: var(--tinta); text-decoration: none; overflow: hidden;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--negro); transform: scaleX(0); transform-origin: left; transition: transform .45s cubic-bezier(.6,0,.2,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a:hover::after, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a:focus-visible::after{transform: scaleX(1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .dd-art{display: block; width: 70%; max-width: 170px; margin-bottom: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .dd-art *{animation-play-state: paused !important;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a:hover .dd-art *, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a:focus-visible .dd-art *{animation-play-state: running !important;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .eyebrow{font-size: .64rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd b{font-size: 1.1rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.25;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .dd-go{margin-top: 6px; font-size: .64rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; display: inline-flex; gap: 8px; opacity: .6; transition: opacity .25s, gap .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .dd-go::after{content: "→";}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd a:hover .dd-go{opacity: 1; gap: 12px;}
@media (max-width: 1080px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd{grid-template-columns: repeat(4, 1fr);}}
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .services-dd .dd-art *{animation: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger{display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0; background: none; border: 0; font: 500 .72rem var(--f); text-transform: uppercase; letter-spacing: .12em; color: var(--tinta); cursor: pointer;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger span, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger span::before{display: block; width: 20px; height: 1.5px; background: currentColor; position: relative;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger span::before{content: ""; position: absolute; top: 6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger span{margin-top: -6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mmenu{border-top: 1px solid var(--linea); max-height: calc(100vh - 64px); overflow-y: auto;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mmenu .wrap{display: grid; padding-block: 8px 24px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mmenu summary, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mm-link{display: block; padding: 16px 0; border-bottom: 1px solid var(--linea); font-size: 1.05rem; font-weight: 500; text-decoration: none; cursor: pointer;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mmenu details div{display: grid; gap: 4px; padding: 10px 0 16px 14px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mmenu details a{padding: 6px 0; text-decoration: none; color: var(--gris);}
@media (max-width: 1080px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mainnav{gap: 24px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-grid{grid-template-columns: 1fr 1fr 1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .panel-feature{display: none;}}
@media (max-width: 960px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .bar{grid-template-columns: 1fr auto auto; gap: 20px; min-height: 58px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .mainnav{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .right{order: 2;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger{display: inline-flex; order: 3; justify-self: end;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .site-logo img{height: 20px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .right .btn{min-height: 40px; padding: 0 16px;}}
@media (max-width: 420px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .burger{font-size: 0; gap: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .site-logo img{height: 17px;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero{position: relative; min-height: min(76vh, 720px); display: grid; align-items: end; color: var(--marfil); background: var(--negro); overflow: hidden;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero video{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero::after{content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,20,20,.6) 0%, rgba(20,20,20,.35) 60%, rgba(20,20,20,.25) 100%);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-body{position: relative; z-index: 2; width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 32px 48px; padding-block: 72px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-copy{display: grid; gap: 22px; justify-items: start; min-width: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero h1{font-size: .74rem; font-weight: 400; text-transform: uppercase; letter-spacing: .2em; color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero .big{font-size: clamp(2.6rem, 6.4vw, 5.6rem); font-weight: 200; letter-spacing: -.035em; line-height: 1.02;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero .big b{font-weight: 600;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-copy p:last-child{max-width: 58ch; text-wrap: balance; font-weight: 400; color: rgba(245,241,236,.95);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-proof{display: grid; gap: 20px; width: min(100%, 440px); padding-bottom: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating{display: flex; align-items: center; gap: 14px; padding-bottom: 20px; border-bottom: 1px solid rgba(245,241,236,.22); color: inherit; text-decoration: none; transition: opacity .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating:hover{opacity: .85;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating .g{width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--marfil); display: grid; place-items: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating .g img{width: 22px; height: 22px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating b{font-size: 2.4rem; font-weight: 300; letter-spacing: -.02em; line-height: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating .stars{display: block; color: #FBBC04; letter-spacing: 3px; font-size: 1.15rem; line-height: 1.1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating small{display: block; font-size: .84rem; font-weight: 400; color: var(--marfil); text-shadow: 0 1px 6px rgba(20,20,20,.55);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ai p{font-size: .84rem; font-weight: 400; color: var(--marfil); text-shadow: 0 1px 6px rgba(20,20,20,.55); margin-bottom: 10px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .chips{display: flex; flex-wrap: wrap; gap: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .chip{display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px 0 8px; border-radius: 999px; border: 1px solid rgba(245,241,236,.22); background: rgba(20,20,20,.35); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-size: .84rem; color: var(--marfil); text-decoration: none; transition: border-color .2s, background .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .chip:hover{border-color: var(--marfil); background: rgba(20,20,20,.55);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .chip img{width: 22px; height: 22px; border-radius: 6px; flex: none;}
@media (max-width: 760px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-body{grid-template-columns: 1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero .big br{display: none;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro .wrap{display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(40px, 6vw, 96px); align-items: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro-copy{display: grid; gap: 20px; min-width: 0;}
@media (max-width: 900px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro .wrap{grid-template-columns: 1fr;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit{--n: clamp(40px, 8.4vw, 58px); position: relative; width: 100%; max-width: 560px; aspect-ratio: 1; justify-self: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit svg.rings{position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .sector{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .garc, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .ring{fill: none; stroke: var(--taupe); stroke-width: .35; stroke-dasharray: .6 1.4; stroke-linecap: round; transition: stroke .4s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .garc.live{stroke: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .glabel{font-family: var(--f); font-size: 2.3px; font-weight: 500; letter-spacing: .5px; fill: var(--tinta); text-transform: uppercase;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .spoke{stroke: var(--taupe); stroke-width: .3;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit #flow :is(circle, path){fill: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core{position: absolute; left: 50%; top: 50%; width: 27%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: var(--negro); color: var(--marfil); display: grid; place-content: center; justify-items: center; gap: 5px; box-shadow: 0 0 0 10px rgba(20,20,20,.06), 0 0 0 22px rgba(20,20,20,.035), 0 20px 40px rgba(20,20,20,.18);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core::before{content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid var(--negro); animation: pulse 3.2s ease-out infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core.hit{animation: hit .5s ease-out;}
@keyframes hit{ 40% { transform: translate(-50%, -50%) scale(1.05); } }
@keyframes pulse{ from { transform: scale(1); opacity: .5; } to { transform: scale(1.5); opacity: 0; } }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core svg{width: clamp(30px, 6vw, 46px); height: auto;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core b{font-size: clamp(.82rem, 1.7vw, 1.1rem); font-weight: 500; letter-spacing: -.02em; white-space: nowrap;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core span{font-size: clamp(.46rem, .95vw, .56rem); font-weight: 400; text-transform: uppercase; letter-spacing: .14em; color: var(--taupe); white-space: nowrap;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .slots rect{fill: none; stroke: rgba(245,241,236,.35); stroke-width: .8; transition: fill .3s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .slots rect.on{fill: var(--cian); stroke: var(--cian);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node{position: absolute; width: 0; height: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node i{position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); width: var(--n); height: var(--n); border-radius: 50%; display: grid; place-items: center; background: var(--marfil); border: 1px solid var(--taupe); box-shadow: 0 8px 20px rgba(43,39,36,.08); transition: border-color .25s, transform .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node i img{width: 52%; height: 52%; object-fit: contain;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node i img.tile{width: 62%; height: 62%; border-radius: 22%;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node i.emit{border-color: var(--negro); transform: translate(-50%, -50%) scale(1.08);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node.up span{top: auto; bottom: calc(var(--n) / 2 + 7px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node span{position: absolute; left: 0; top: calc(var(--n) / 2 + 7px); transform: translateX(-50%); white-space: nowrap; font-size: .56rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta);}
@media (max-width: 480px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node span{display: none;}}
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .core::before{animation: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .sector, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .garc, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit .node i{transition: none;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro .stat:first-child{padding-left: 0;}
@media (max-width: 520px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .orbit{width: 84%; margin-block: 8px 24px;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .seal{width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--negro); margin-bottom: 6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .seal img{width: 26px; height: 26px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro h2{max-width: 16ch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro p.muted{max-width: 48ch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stats{display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 16px; padding-top: 24px; border-top: 1px solid rgba(43,39,36,.25);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stat{display: grid; gap: 4px; padding: 6px 20px; border-left: 1px solid var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stat:first-child{border-left: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stat b{font-weight: 300; font-size: clamp(2.2rem, 3.6vw, 3rem); letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stat span{font-size: .8rem; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail{--per: 4; --g: 16px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--per) - 1) * var(--g)) / var(--per)); gap: var(--g); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail::-webkit-scrollbar{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail > *{scroll-snap-align: start;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail-foot{display: flex; align-items: center; gap: 24px; margin-top: 28px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .progress{position: relative; flex: 0 1 320px; height: 1px; background: var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .progress i{position: absolute; left: 0; top: -1px; height: 3px; width: 30%; background: var(--negro); transition: width .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .arrows{display: flex; gap: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .arrows button{width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--linea); background: transparent; cursor: pointer; font-size: 1rem; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .arrows button:hover{border-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec{position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; text-decoration: none; color: var(--marfil); background: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec img{width: 100%; height: 100%; object-fit: cover; transition: transform .7s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec:hover img{transform: scale(1.04);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec::after{content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(20,20,20,.62));}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec-cap{position: absolute; left: 22px; right: 22px; bottom: 22px; z-index: 2; display: grid; gap: 6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec-cap .eyebrow{color: var(--arena); font-size: .64rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec-cap h3{font-size: 1.25rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec.all{display: grid; align-content: end; gap: 14px; padding: 28px; background: var(--arena); color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec.all::after{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec.all b{font-weight: 300; font-size: var(--fs-h2); letter-spacing: -.04em; line-height: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .clients{margin-top: clamp(40px, 5vw, 64px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .clients img{width: 100%; max-width: none; height: auto; mix-blend-mode: multiply; filter: grayscale(1) contrast(1.1); opacity: .85;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split{display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; column-gap: clamp(40px, 6vw, 96px); padding-block: var(--sp); padding-inline: max(16px, env(safe-area-inset-left, 0px));}
@media (min-width: 720px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split{padding-inline: max(40px, calc((100% - var(--maxw)) / 2 + 40px));}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-media{position: relative; min-height: 420px; overflow: hidden; background: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-media img{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-text{display: grid; align-content: center; gap: 20px; min-width: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-text p.muted{max-width: 48ch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split.flip .split-media{order: -1;}
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split{grid-template-columns: 1fr; row-gap: 40px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-media{min-height: 300px; order: -1;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list{list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list li{border-bottom: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list button{width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 0; background: none; border: 0; text-align: left; font: 400 1rem var(--f); color: var(--gris); cursor: pointer; transition: color .2s, padding .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list button::after{content: "→"; opacity: 0; transition: opacity .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list button.on, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list button:hover{color: var(--tinta); padding-left: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .case-list button.on::after{opacity: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .play{position: absolute; left: 22px; bottom: 22px; z-index: 2; display: inline-flex; align-items: center; gap: 12px; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--marfil);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .play::before{content: ""; width: 44px; height: 44px; border-radius: 50%; background: var(--marfil) no-repeat 55% 50% / 12px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M0 0l10 6-10 6z' fill='%23141414'/%3E%3C/svg%3E");}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cases-media video{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; opacity: 0; transition: opacity .45s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cases-media.playing video{opacity: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cases-media .play{transition: opacity .3s; cursor: pointer;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cases-media.playing .play::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M1 0h3v12H1zM6 0h3v12H6z' fill='%23141414'/%3E%3C/svg%3E"); background-position: 50% 50%;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .split-media.cases-media::after{content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(20,20,20,.5));}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc{border-top: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc details{border-bottom: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc summary{list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; cursor: pointer; font-size: clamp(1.05rem, 1.6vw, 1.25rem); font-weight: 500; letter-spacing: -.015em; line-height: 1.3; transition: padding .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc summary::-webkit-details-marker{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc summary:hover{padding-left: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc summary::after{content: "+"; flex: none; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--linea); border-radius: 50%; font-weight: 300; font-size: 1.2rem; transition: transform .3s, background .3s, color .3s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc details[open] summary::after{transform: rotate(45deg); background: var(--negro); color: var(--marfil); border-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc .open-body{display: grid; gap: 24px; padding: 0 0 32px; animation: fade .35s ease;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cols2{columns: 2; column-gap: 56px; column-rule: 1px solid var(--linea); color: var(--gris); font-size: .96rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cols2 p{break-inside: avoid;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cols2 p + p{margin-top: 12px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc .btn{justify-self: start;}
@keyframes fade{ from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cols2{columns: 1;}}
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc .open-body{animation: none;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal{position: relative; margin-top: clamp(56px, 7vw, 96px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .intro .gal{display: block;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal .rail-foot{justify-content: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal .progress{flex: 0 1 500px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-track{display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; cursor: none; outline-offset: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-track::-webkit-scrollbar{display: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-item{margin: 0; flex: none; height: clamp(260px, 34vw, 460px); overflow: hidden; background: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-item img{height: 100%; width: auto; max-width: none; object-fit: cover; user-select: none; -webkit-user-drag: none; transition: transform .6s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-item:hover img{transform: scale(1.03);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-track.dragging .gal-item img{transform: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal .progress i{width: var(--w, 20%); transform: translateX(var(--p, 0)); transition: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-cursor{position: fixed; left: 0; top: 0; width: 96px; height: 96px; margin: -48px 0 0 -48px; border-radius: 50%; background: var(--negro); color: var(--marfil); display: grid; place-items: center; font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; pointer-events: none; z-index: 40; opacity: 0; transform: translate3d(var(--x, 0), var(--y, 0), 0) scale(.6); transition: opacity .2s, transform .2s cubic-bezier(.3,.7,.4,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-cursor.on{opacity: 1; transform: translate3d(var(--x, 0), var(--y, 0), 0) scale(1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-cursor.on.down{transform: translate3d(var(--x, 0), var(--y, 0), 0) scale(.85);}
@media (hover: none){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-track{cursor: auto;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal-cursor{display: none;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-lead{max-width: 44ch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy{display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); align-items: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-ring{position: relative; max-width: 500px; width: 100%; margin: 0 auto; aspect-ratio: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-loopsvg{position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-arc{transition: stroke-dasharray .8s cubic-bezier(.6,0,.2,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node{all: unset; box-sizing: border-box; cursor: pointer; position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; -webkit-tap-highlight-color: transparent;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node span{width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; background: var(--marfil); border: 1px solid var(--linea); font-size: .8rem; font-weight: 500; letter-spacing: .08em; color: var(--gris); transition: background .35s, color .35s, border-color .35s, box-shadow .35s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node{gap: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node b{position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); padding: 0 6px; background: var(--arena); line-height: 1.5; font-size: .84rem; font-weight: 500; color: var(--gris); transition: color .35s; white-space: nowrap;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node:hover span{border-color: var(--negro); color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node[aria-selected="true"] span{background: var(--negro); color: var(--marfil); border-color: var(--negro); box-shadow: 0 0 0 8px rgba(20,20,20,.07);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node[aria-selected="true"] b{color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node:focus-visible span{outline: 2px solid var(--negro); outline-offset: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-center{position: absolute; left: 50%; top: 50%; width: 60%; transform: translate(-50%, -50%); display: grid;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-center > div{grid-area: 1 / 1; opacity: 0; transition: opacity .4s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-center > div.on{opacity: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-info{display: grid;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-pane{grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateX(12px); transition: opacity .45s, transform .45s, visibility 0s .45s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-pane.on{opacity: 1; visibility: visible; transform: none; transition: opacity .45s, transform .45s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-meta{font-size: .7rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-n{font-weight: 600; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-pane h3{font-size: var(--fs-h3); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; margin: 10px 0 12px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-text{max-width: 46ch; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-sub{font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; margin: 22px 0 12px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-list{list-style: none; margin: 0; padding: 0; display: grid; gap: 9px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-list li{display: flex; gap: 10px; font-size: .94rem; line-height: 1.45;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-list li::before{content: ""; flex: none; width: 16px; height: 16px; margin-top: 2px; border-radius: 50%; background: var(--negro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23F5F1EC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-tools{display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-tools span{font-size: .74rem; padding: 4px 10px; border: 1px solid rgba(43,39,36,.25); color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-tools .own{background: var(--negro); border-color: var(--negro); color: var(--marfil); font-weight: 500;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-deliv{display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 22px; padding-top: 16px; border-top: 1px solid rgba(43,39,36,.25); font-size: .9rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-deliv b{font-weight: 500;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-deliv i{font-style: normal; font-size: .64rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--marfil); background: var(--negro); padding: 4px 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-note{margin-top: 28px; font-size: .86rem; line-height: 1.45; color: var(--gris); display: flex; gap: 10px; align-items: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-note::before{content: ""; width: 22px; height: 22px; flex: none; border-radius: 50%; border: 1.5px dashed var(--tinta); animation: cy-spin 6s linear infinite; animation-play-state: paused;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #metodo.cy-in .cy-note::before{animation-play-state: running;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim{display: block; width: 100%; height: auto; overflow: visible;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim .st{stroke: rgba(43,39,36,.3);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim .c{stroke: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim .fc{fill: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim .fw{fill: rgba(43,39,36,.14);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim *{animation-play-state: paused;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #metodo.cy-in .cy-anim *{animation-play-state: running;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-sweep{transform-origin: 60px 40px; animation: cy-spin 4s linear infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-blip{opacity: 0; transform-box: fill-box; transform-origin: center; animation: cy-blip 4s ease-out infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-bar{transform-box: fill-box; transform-origin: left center; animation: cy-grow 4.8s cubic-bezier(.6,0,.2,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-tick{opacity: 0; transform-box: fill-box; transform-origin: center; animation: cy-tick 4.8s ease-out infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-line{stroke-dasharray: 160; stroke-dashoffset: 160; animation: cy-draw 4.5s cubic-bezier(.5,0,.2,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-area{opacity: 0; animation: cy-area 4.5s ease infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-end{opacity: 0; transform-box: fill-box; transform-origin: center; animation: cy-end 4.5s ease infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-pop{opacity: 0; transform-box: fill-box; transform-origin: center; animation: sa-pop 5s cubic-bezier(.3,1.4,.5,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-draw{stroke-dasharray: 1; stroke-dashoffset: 1; animation: sa-dash 5s ease infinite;}
@keyframes cy-spin{ to { transform: rotate(360deg); } }
@keyframes cy-blip{ 0%, 100% { opacity: 0; transform: scale(.4); } 12% { opacity: 1; transform: scale(1.4); } 40% { opacity: .9; transform: scale(1); } 80% { opacity: 0; } }
@keyframes cy-grow{ 0% { transform: scaleX(0); } 30%, 85% { transform: scaleX(1); } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes cy-tick{ 0%, 28% { opacity: 0; transform: scale(.3); } 36%, 85% { opacity: 1; transform: scale(1); } 100% { opacity: 0; } }
@keyframes cy-draw{ 0% { stroke-dashoffset: 160; } 55%, 88% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes cy-area{ 0%, 40% { opacity: 0; } 60%, 88% { opacity: 1; } 100% { opacity: 0; } }
@keyframes cy-end{ 0%, 52% { opacity: 0; transform: scale(0); } 60% { opacity: 1; transform: scale(1.6); } 70%, 88% { opacity: 1; transform: scale(1); } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-anim *, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-note::before{animation: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-bolt{display: none;}}
@media (max-width: 1000px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy{grid-template-columns: 1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-ring{max-width: 440px;}}
@media (max-width: 767px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node b{font-size: .74rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-node span{width: 46px; height: 46px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-ring{width: 86%;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv{display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: stretch;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav{display: flex; flex-direction: column; border-top: 1px solid var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button{display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 0; background: none; border: 0; border-bottom: 1px solid var(--linea); cursor: pointer; text-align: left; font-family: var(--f); color: var(--gris); transition: color .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-name{display: grid; gap: 10px; font-size: var(--fs-h3); font-weight: 500; letter-spacing: -.02em; line-height: 1.08; text-wrap: balance;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-name small{font-size: .68rem; font-weight: 400; letter-spacing: .16em; text-transform: uppercase; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button svg{width: 22px; height: 22px; flex: none; opacity: 0; transform: translateX(-8px); transition: opacity .25s, transform .25s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button:hover, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button[aria-selected="true"]{color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button[aria-selected="true"] svg{opacity: 1; transform: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-panel{position: relative; overflow: hidden; display: flex; padding: clamp(28px, 3.5vw, 52px); background: var(--arena); color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-stack{display: grid; width: 100%;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane{grid-area: 1 / 1; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .35s, transform .35s, visibility 0s linear .35s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane.on{opacity: 1; visibility: visible; transform: none; transition: opacity .35s, transform .35s, visibility 0s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane .eyebrow{color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane p:not(.eyebrow){max-width: 38ch; font-size: var(--fs-lead); font-weight: 300; line-height: 1.45; letter-spacing: -.01em; color: var(--tinta); text-wrap: pretty;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane .btn{margin-top: auto;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button{position: relative;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button::before{content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 2px; background: var(--negro); transform: scaleX(0); transform-origin: left; transition: transform .5s cubic-bezier(.6,0,.2,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button[aria-selected="true"]::before{transform: scaleX(1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-panel::before{content: ""; position: absolute; width: 380px; height: 380px; right: -150px; top: -170px; border-radius: 50%; background: radial-gradient(closest-side, rgba(245,241,236,.75), transparent); pointer-events: none; animation: sv-glow 7s ease-in-out infinite alternate;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane{position: relative;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-art{width: clamp(160px, 40%, 230px); margin-bottom: 10px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane > *{transition: opacity .5s, transform .5s cubic-bezier(.2,.7,.2,1);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane:not(.on) > *{opacity: 0; transform: translateY(10px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane.on > :nth-child(2){transition-delay: .06s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane.on > :nth-child(3){transition-delay: .14s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane.on > :nth-child(4){transition-delay: .22s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa{display: block; width: 100%; height: auto; overflow: visible;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa .st{stroke: rgba(43,39,36,.35);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa .c{stroke: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa .fc{fill: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa .fw{fill: rgba(43,39,36,.14);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-pop{opacity: 0; transform-box: fill-box; transform-origin: center; animation: sa-pop 5s cubic-bezier(.3,1.4,.5,1) infinite; animation-delay: var(--d);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-caret{animation: sa-caret 1s steps(1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-type{transform-box: fill-box; transform-origin: left; animation: sa-type 6s steps(8) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-row{animation: sa-down 6s cubic-bezier(.6,0,.2,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-me{animation: sa-up 6s cubic-bezier(.6,0,.2,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-badge{transform-box: fill-box; transform-origin: center; animation: sa-badge 6s ease infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-ai{transform-box: fill-box; transform-origin: center; animation: sa-ai 6s ease infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-cursor{animation: sa-cursor 4s cubic-bezier(.5,0,.2,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-ripple{transform-box: fill-box; transform-origin: center; opacity: 0; animation: sa-ripple 4s ease-out infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-lead{transform-box: fill-box; transform-origin: center; opacity: 0; animation: sa-lead 4s cubic-bezier(.3,1.4,.5,1) infinite;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-bar{transform-box: fill-box; transform-origin: bottom; animation: sa-bar 5s cubic-bezier(.6,0,.2,1) infinite; animation-delay: calc(var(--d) * .12s);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-trend{stroke-dasharray: 1; stroke-dashoffset: 1; animation: sa-dash 5s ease infinite; animation-delay: .6s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sa-dot{transform-box: fill-box; transform-origin: center; opacity: 0; animation: sa-lead 5s ease infinite; animation-delay: 1.4s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-art *{animation-play-state: paused !important;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv.in .sv-pane.on .sv-art *{animation-play-state: running !important;}
@keyframes sv-glow{ to { transform: translate(-60px, 50px) scale(1.15); } }
@keyframes sa-pop{ 0% { opacity: 0; transform: scale(.6); } 12%, 86% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1); } }
@keyframes sa-caret{ 50% { opacity: 0; } }
@keyframes sa-dash{ 0% { stroke-dashoffset: 1; } 20%, 86% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes sa-type{ 0% { transform: scaleX(0); } 25%, 100% { transform: scaleX(1); } }
@keyframes sa-down{ 0%, 30% { transform: none; } 48%, 90% { transform: translateY(14px); } 100% { transform: none; } }
@keyframes sa-up{ 0%, 30% { transform: none; } 48%, 90% { transform: translateY(-42px); } 100% { transform: none; } }
@keyframes sa-badge{ 0%, 44% { transform: scale(0); } 54% { transform: scale(1.3); } 60%, 90% { transform: scale(1); } 100% { transform: scale(0); } }
@keyframes sa-ai{ 0%, 55% { opacity: 0; transform: scale(.3) rotate(0); } 65%, 90% { opacity: 1; transform: scale(1) rotate(90deg); } 100% { opacity: 0; } }
@keyframes sa-cursor{ 0% { transform: translate(24px, 22px); } 30%, 38% { transform: none; } 42% { transform: scale(.9); } 46%, 85% { transform: none; } 100% { transform: translate(24px, 22px); } }
@keyframes sa-ripple{ 0%, 40% { opacity: 0; transform: scale(.4); } 44% { opacity: 1; } 70%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes sa-lead{ 0%, 48% { opacity: 0; transform: translateY(6px) scale(.6); } 58%, 88% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes sa-bar{ 0% { transform: scaleY(0); } 30%, 86% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-art *, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-panel::before{animation: none !important; opacity: 1 !important; stroke-dashoffset: 0 !important;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-pane > *, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button::before{transition: none;}}
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv{grid-template-columns: 1fr; gap: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button::before{content: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-panel{margin: 4px 0 20px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button svg{opacity: 1; transform: rotate(90deg);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-nav button[aria-selected="true"] svg{transform: rotate(-90deg);}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .svc{display: grid; justify-items: center; align-content: start; gap: 14px; padding: 40px 30px 44px; background: var(--arena); text-align: center;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .svc img{width: 60px; height: 60px; padding: 10px; background: var(--negro); border-radius: 50%; margin-bottom: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .svc p{font-size: .92rem; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.svc-rail, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.quote-rail{--per: 3;}
@media (max-width: 960px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.svc-rail, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.quote-rail{--per: 2;}}
@media (max-width: 600px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.svc-rail, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.quote-rail{grid-auto-columns: 84%;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote{display: grid; grid-template-rows: auto 1fr auto; gap: 18px; padding: 32px 28px; margin: 0; background: var(--arena); border: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote .stars{letter-spacing: .2em; font-size: .8rem; color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote p{font-size: .96rem; line-height: 1.6;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote footer{display: flex; gap: 12px; align-items: center; border-top: 1px solid var(--linea); padding-top: 16px; font-size: .84rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote footer img{width: 42px; height: 42px; border-radius: 50%; object-fit: cover;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote footer b{display: block; font-weight: 500;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote footer span{color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.quote-rail{grid-auto-columns: clamp(280px, 30vw, 400px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .allies{display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--linea); border-bottom: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally{display: grid; justify-items: center; align-content: start; gap: 10px; padding: 36px 24px; text-align: center; border-left: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally:first-child{border-left: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally img{width: 76px; height: 76px; object-fit: contain; mix-blend-mode: multiply; margin-bottom: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally p:last-child{font-size: .88rem; color: var(--gris);}
@media (max-width: 960px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .allies{grid-template-columns: repeat(2, 1fr);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally:nth-child(3){border-left: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally:nth-child(n+3){border-top: 1px solid var(--linea);}}
@media (max-width: 520px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .allies{grid-template-columns: 1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally{border-left: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .ally + .ally{border-top: 1px solid var(--linea);}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .merged{grid-template-columns: .9fr 1.1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .merged .split-media{min-height: 600px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred-list{display: grid; margin-top: 10px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred{display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 20px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--linea);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred img{width: 56px; height: 56px; object-fit: contain; mix-blend-mode: multiply;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred-head{display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 4px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred h3{font-size: 1rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cred > div > p{font-size: .86rem; color: var(--gris); line-height: 1.55;}
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .merged{grid-template-columns: 1fr;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .merged .split-media{min-height: 320px;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) form{display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-width: 0; margin-top: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .field{display: grid; gap: 6px; min-width: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .field.full, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) fieldset, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .consent, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) form .btn, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sent{grid-column: 1 / -1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) label, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) legend{font-size: .7rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) input[type="text"], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) input[type="email"], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) input[type="tel"], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) textarea{width: 100%; padding: 12px 14px; font: inherit; font-size: .96rem; color: var(--tinta); background: var(--marfil); border: 1px solid var(--taupe); border-radius: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) input:focus, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) textarea:focus{outline: 2px solid var(--negro); outline-offset: 0; border-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) textarea{min-height: 100px; resize: vertical;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) fieldset{border: 0; padding: 0; margin: 0; display: grid; gap: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .opts{display: flex; flex-wrap: wrap; gap: 6px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .opt input{position: absolute; opacity: 0; pointer-events: none;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .opt span{display: inline-block; padding: 8px 14px; font-size: .86rem; font-weight: 400; letter-spacing: 0; text-transform: none; border: 1px solid var(--taupe); background: var(--marfil); cursor: pointer;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .opt input:checked + span{background: var(--negro); color: var(--marfil); border-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .opt input:focus-visible + span{outline: 2px solid var(--negro); outline-offset: 2px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .consent{display: flex; gap: 10px; align-items: flex-start; font-size: .86rem; text-transform: none; letter-spacing: 0; font-weight: 400;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .consent input{margin-top: 4px; accent-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) form .btn{justify-self: start; min-height: 48px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sent{font-size: .9rem;}
@media (max-width: 520px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) form{grid-template-columns: 1fr;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .footer{border-top: 1px solid var(--linea); padding-block: var(--sp) 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top{display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: clamp(48px, 6vw, 72px);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top .fcol{display: grid; gap: 8px; align-content: start; min-width: 0;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top .eyebrow{margin-bottom: 8px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top img.flogo{height: 24px; width: auto; margin-bottom: 12px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top a, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top p{font-size: .9rem; text-decoration: none; color: var(--gris);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top a:hover{color: var(--tinta); text-decoration: underline;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-bottom{font-size: .74rem; letter-spacing: .04em;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-bottom .wrap{display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block: 16px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-bottom span{color: var(--taupe);}
@media (max-width: 860px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top{grid-template-columns: 1fr 1fr;}}
@media (max-width: 520px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .foot-top{grid-template-columns: 1fr;}}
@media (prefers-reduced-motion: reduce){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer), body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) *{transition: none !important; scroll-behavior: auto !important;}}
/* Formulario CF7 con el aspecto del mockup */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wpcf7 form { display: block; margin-top: 8px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-width: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .stm-full { grid-column: 1 / -1; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-field { display: grid; gap: 6px; min-width: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form label, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form legend { font-size: .68rem; font-weight: 500; text-transform: uppercase; letter-spacing: .14em; color: var(--gris); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-form-control-wrap { display: block; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form input[type=text], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form input[type=tel], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form input[type=email], body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form textarea { width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid rgba(43,39,36,.25); border-radius: 0; background: var(--marfil); font: 400 1rem var(--f); color: var(--tinta); box-shadow: none; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form textarea { min-height: 110px; height: 110px; resize: vertical; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form input:focus, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form textarea:focus { outline: 0; border-color: var(--negro); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form legend { padding: 0; margin-bottom: 8px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 8px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-list-item { margin: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio label { position: relative; display: block; cursor: pointer; font-size: inherit; text-transform: none; letter-spacing: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio .wpcf7-list-item-label { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid rgba(43,39,36,.25); background: var(--marfil); font-size: .88rem; font-weight: 400; color: var(--tinta); transition: background .2s, color .2s, border-color .2s; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio label:hover .wpcf7-list-item-label { border-color: var(--negro); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio input:checked + .wpcf7-list-item-label { background: var(--negro); color: var(--marfil); border-color: var(--negro); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .wpcf7-radio input:focus-visible + .wpcf7-list-item-label { outline: 2px solid var(--negro); outline-offset: 2px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-consent, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-consent label { font-size: .86rem; text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--gris); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-consent .wpcf7-list-item { margin: 0; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-consent input { accent-color: var(--negro); margin-right: 8px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-consent a { color: var(--tinta); text-decoration: underline; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .stm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border: 1px solid var(--negro); border-radius: 0; background: var(--negro); color: var(--marfil); font: 600 .7rem var(--f); text-transform: uppercase; letter-spacing: .16em; cursor: pointer; transition: background .2s, color .2s; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form .stm-btn:hover { background: transparent; color: var(--negro); }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wpcf7-spinner { margin: 0 0 0 12px; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wpcf7-not-valid-tip { font-size: .78rem; margin-top: 4px; color: #9b2c2c; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--negro); font-size: .88rem; }
@media (max-width: 520px) { body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stm-form { grid-template-columns: 1fr; } }

/* Con la barra de administración de WordPress la cabecera fija baja lo que ocupa esa barra */
body.admin-bar .elementor-location-header { top: -4px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 10px; } }
@media (max-width: 600px) { body.admin-bar .elementor-location-header { top: -36px; } }
/* Hero: el titular se ajusta al ancho de su columna para quedarse en dos líneas */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero-copy { container-type: inline-size; }
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero .big { font-size: clamp(2.4rem, 10cqi, 4.6rem); }
/* Cómo trabajamos: la entradilla arranca en la misma columna que el contenido de la etapa */
#metodo .kicker-row{display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 20px clamp(24px, 4vw, 64px);}
#metodo .kicker-row h2, #metodo .cy-lead{max-width: none;}
#metodo .cy-lead{max-width: 46ch;}
@media (max-width: 1000px){#metodo .kicker-row{grid-template-columns: 1fr;}}
/* Acordeón: abre y cierra con transición (la altura la anima el JS) */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc details{overflow: hidden;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc .open-body{animation: none;}
/* Copia 9554: la plantilla de cabecera trae una copia del CSS antiguo; aquí se refuerzan los pesos nuevos de la cabecera */
body.page-id-9888 .elementor-location-header .eyebrow{font-weight: 400;}
body.page-id-9888 .elementor-location-header .kicker .eyebrow{padding-bottom: 0; border-bottom: 0;}
body.page-id-9888 .elementor-location-header .btn{font-weight: 600;}
body.page-id-9888 .elementor-location-header .link{font-weight: 600;}
body.page-id-9888 .elementor-location-header .mainnav{font-weight: 500;}
body.page-id-9888 .elementor-location-header .sp-cap{font-weight: 500;}
body.page-id-9888 .elementor-location-header .sp-ph b{font-weight: 500;}
body.page-id-9888 .elementor-location-header .sp-ph small{font-weight: 500;}
body.page-id-9888 .elementor-location-header .panel-feature span:first-of-type{font-weight: 500;}
body.page-id-9888 .elementor-location-header .services-dd b{font-weight: 500;}
body.page-id-9888 .elementor-location-header .services-dd .dd-go{font-weight: 600;}
body.page-id-9888 .elementor-location-header .burger{font: 500 .72rem var(--f);}
body.page-id-9888 .elementor-location-header .mmenu summary, body.page-id-9888 .elementor-location-header .mm-link{font-weight: 500;}
body.page-id-9888 .elementor-location-header .sv-pane p:not(.eyebrow){max-width: 38ch; font-size: var(--fs-lead);}
/* Pie: pesos -100, titular más contenido y gris con contraste AA, por encima de la plantilla del pie */
body.page-id-9888 .elementor-location-footer{--gris: #5E564F;}
body.page-id-9888 .elementor-location-footer .eyebrow{font-weight: 500;}
body.page-id-9888 .elementor-location-footer .ft-claim h2{font-size: clamp(2.25rem, 4.4vw, 3.75rem);}
body.page-id-9888 .elementor-location-footer .ft-claim h2 b{font-weight: 600;}
body.page-id-9888 .elementor-location-footer .ft-cta{font-weight: 600;}
body.page-id-9888 .elementor-location-footer .ft-phone small, body.page-id-9888 .elementor-location-footer .ft-addr small{font-weight: 500;}
body.page-id-9888 .elementor-location-footer .ft-nav a{font-weight: 500;}
body.page-id-9888 .elementor-location-footer .ft-client-txt b{font-weight: 500;}
body.page-id-9888 .elementor-location-footer .ft-go{font-weight: 600;}
/* «la primera opción»: más fina y con subrayado taupe de la paleta (hero y pie) */
body.page-id-9888 :is(.elementor-9888 .hero .big b, .elementor-location-footer .ft-claim h2 b){font-weight: 400; background-image: linear-gradient(var(--taupe), var(--taupe)); background-repeat: no-repeat; background-size: 100% .09em; background-position: 0 92%; padding-bottom: .04em; -webkit-box-decoration-break: clone; box-decoration-break: clone;}

/* ===== Ajustes nov 2026 ===== */
/* FAQs: negritas de apoyo a la lectura */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .acc .cols2 strong{font-weight: 600; color: var(--tinta);}
/* Hero: la valoración de Google ya no es un enlace */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rating:hover{opacity: 1;}
/* Galería del equipo a ancho completo: la primera foto alinea con el contenido y el resto llega al borde */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal.gal-full{width: 100%;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal.gal-full .gal-track{--g: max(16px, calc((100% - var(--maxw)) / 2 + 16px)); padding-inline: var(--g); scroll-padding-inline: var(--g);}
@media (min-width: 720px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal.gal-full .gal-track{--g: max(40px, calc((100% - var(--maxw)) / 2 + 40px));}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .gal.gal-full .rail-foot{max-width: var(--maxw); margin-inline: auto; padding-inline: 40px;}
/* Formulario: etiquetas más legibles, iconos en los campos y foco con la paleta (anula el turquesa del kit) */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form label, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form legend{font-size: .72rem; font-weight: 600; letter-spacing: .12em; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form :is(input[type=text], input[type=tel], input[type=email], textarea){padding-left: 44px; background-color: var(--marfil); background-repeat: no-repeat; background-size: 18px 18px; background-position: 14px 50%; border-color: rgba(43,39,36,.3); color: var(--tinta); transition: border-color .2s, box-shadow .2s, background-color .2s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form textarea[name="Mensaje"]{background-position: 14px 15px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form :is(input, textarea)::placeholder{color: #8A8078; opacity: 1;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form :is(input[type=text], input[type=tel], input[type=email], textarea):hover{border-color: rgba(43,39,36,.55);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form :is(input[type=text], input[type=tel], input[type=email], textarea):focus{outline: 0; border-color: var(--negro); box-shadow: inset 0 0 0 1px var(--negro); background-color: #FFFDFA; color: var(--tinta);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form .stm-btn:focus{background: var(--negro); color: var(--marfil); border-color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form .stm-btn:hover{background: transparent; color: var(--negro);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form .stm-btn:focus-visible{outline: 2px solid var(--negro); outline-offset: 3px;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form [name="Nombre"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E564F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.2-4 4.4-6 8-6s6.8 2 8 6'/%3E%3C/svg%3E");}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form [name="Marca"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E564F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18M5 21V7l7-4 7 4v14'/%3E%3Cpath d='M12 9v6M9 12h6'/%3E%3C/svg%3E");}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form [name="Telefono"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E564F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form [name="Email"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E564F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form [name="Mensaje"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E564F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E");}


/* ===== Página marketing para clínicas capilares: porfolio en carrusel ===== */
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port-band{padding-bottom: 0;}
@media (min-width: 961px){body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .rail.port-rail{--per: 3;}}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port{margin: 0; display: grid; gap: 14px; align-content: start;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port-img{aspect-ratio: 16 / 9; overflow: hidden; background: var(--taupe);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port-img img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port:hover .port-img img{transform: scale(1.04);}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port figcaption{display: grid; gap: 4px; font-style: normal;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port figcaption .eyebrow{font-size: .64rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port figcaption h3{font-size: 1.15rem; font-weight: 500; letter-spacing: -.015em; line-height: 1.3;}

/* === Ajustes nov 2026 === */
/* Escritorio: titulares concretos en 2 líneas (el base es 18ch) */
@media (min-width: 1025px){
body .elementor-9888 :is(.elementor-element-9764ece, .elementor-element-76eb5e42, .elementor-element-5acdb99f) h2{max-width: 24ch;}
}
/* Móvil: etiquetas, botones y textos de apoyo más legibles */
@media (max-width: 767px){
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .eyebrow{font-size: .78rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .btn, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .link{font-size: .76rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .hero h1{font-size: .8rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .spec-cap .eyebrow, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .port figcaption .eyebrow{font-size: .72rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .sv-name small, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-sub{font-size: .74rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-meta{font-size: .76rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .stat span{font-size: .88rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .cy-note{font-size: .92rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) .quote footer{font-size: .9rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form label, body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-form legend{font-size: .76rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto .stm-consent label{font-size: .86rem;}
body :is(.elementor-9888, .elementor-location-header, .elementor-location-footer) #contacto [type="submit"]{font-size: .76rem;}
}/* End custom CSS */