/* ==========================================================================
   Menú Solve Advisors Group · extraído de la maqueta "Solve Web v8"
   Todo el CSS va encerrado en #slvm para no chocar con el tema ni con Elementor.
   ========================================================================== */
#slvm{
  --paper:#FFFFFF; --mist:#F1F3F6; --mist-2:#E6EAF0; --line:#DDE3EA; --line-2:#C7D0DC;
  --ink:#0B1626; --ink-2:#36465C; --muted:#64748A; --night:#07111E; --deep:#0D1B30; --deep-2:#14273F;
  --on-dark:#EEF2F7; --on-dark-2:#A8B5C7; --dline:rgba(255,255,255,.13);
  --brand:#3F7EC1; --brand-ink:#2C67A8; --brand-soft:#E7EFF8; --sky:#86B7EC; --ember:#B5414D;
  --grad:linear-gradient(var(--brand), var(--brand));
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --body:"Instrument Sans","Segoe UI",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --w:1280px; --hh:78px; --ease:cubic-bezier(.2,.7,.2,1); --ease-io:cubic-bezier(.7,0,.2,1);
  font-family:var(--body); font-size:16px; line-height:1.6; color:var(--ink);
  -webkit-font-smoothing:antialiased; text-align:left;
}
@media (max-width:760px){ #slvm{ --hh:68px; } }

/* Defensa frente a estilos del tema / kit de Elementor */
#slvm a, #slvm a:hover, #slvm a:focus{ text-decoration:none; box-shadow:none; }
#slvm h1, #slvm h2, #slvm h3, #slvm h4, #slvm h5{ color:inherit; text-transform:none; line-height:inherit; padding:0; border:0; background:none; }
#slvm button{ font:inherit; letter-spacing:inherit; text-transform:none; box-shadow:none; margin:0; min-height:0; line-height:normal; }
#slvm button:hover, #slvm button:focus{ background:none; color:inherit; }
#slvm svg{ display:block; }
#slvm :focus-visible{ outline:2px solid var(--sky); outline-offset:2px; }

/* Modo sólido: la cabecera es blanca desde el inicio y reserva su altura */
#slvm .slvm-spacer{ display:none; height:var(--hh); }
#slvm[data-mode="solid"] .slvm-spacer{ display:block; }

/* Barra de administración de WordPress (usuarios conectados) */
body.admin-bar #slvm .hdr{ top:32px; }
@media (max-width:782px){ body.admin-bar #slvm .hdr{ top:46px; } }
body.admin-bar #slvm .mnav{ padding-top:calc(var(--hh) + 32px + 18px); }

#slvm img {max-width: 100%;}
#slvm * {box-sizing: border-box;}
#slvm a {color: inherit;}
#slvm img, #slvm video {max-width: 100%; display: block;}
#slvm p {margin: 0px;}
#slvm .wrap {max-width: var(--w); margin: 0px auto; padding-left: max(28px, env(safe-area-inset-left, 0px)); padding-right: max(28px, env(safe-area-inset-right, 0px));}
#slvm .mono {font-family: var(--mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;}
#slvm h1, #slvm h2, #slvm h3, #slvm h4 {font-family: var(--display); margin: 0px; text-wrap: balance; letter-spacing: -0.01em;}
#slvm h3 {font-size: 21px; font-weight: 650; font-stretch: 95%; line-height: 1.22;}
#slvm .btn {display: inline-flex; align-items: center; gap: 12px; font-family: var(--body); font-weight: 600; font-size: 16px; padding: 15px 24px; border-radius: 2px; border: 1px solid transparent; text-decoration: none; cursor: pointer; transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.25s;}
#slvm .btn.light {background: rgb(255, 255, 255); color: var(--ink);}
#slvm .btn.light:hover {background: var(--mist-2);}
#slvm .btn .arr {transition: transform .25s var(--ease);}
#slvm .btn:hover .arr {transform: translateX(4px);}
#slvm .link {color: var(--brand); font-weight: 600; text-decoration: none; background: linear-gradient(currentcolor, currentcolor) 0px 100% / 0px 1px no-repeat; transition: background-size .3s var(--ease);}
#slvm .link:hover {background-size: 100% 1px;}
#slvm .hdr {position: fixed; inset: 0px 0px auto; z-index: 80; color: rgb(255, 255, 255); transition: background 0.35s, color 0.35s, box-shadow 0.35s; padding-top: env(safe-area-inset-top, 0px);}
#slvm .hdr::after {content: ""; position: absolute; inset: auto 0px 0px; height: 1px; background: rgba(255, 255, 255, 0.14); transition: background 0.35s;}
#slvm .hdr .bar {display: flex; align-items: center; gap: 28px; height: var(--hh);}
#slvm .logo {display: block; margin-right: auto; position: relative; height: 46px; flex: 0 0 auto;}
#slvm .logo img {height: 46px; width: auto; transition: opacity 0.3s;}
#slvm .logo .lc {position: absolute; inset: 0px auto auto 0px; opacity: 0;}
#slvm .hdr.solid {background: rgba(255, 255, 255, 0.97); color: var(--ink); box-shadow: rgba(11, 22, 38, 0.35) 0px 10px 30px -22px; backdrop-filter: blur(10px);}
#slvm .hdr.solid::after {background: var(--line);}
#slvm .hdr.solid .logo .lw {opacity: 0;}
#slvm .hdr.solid .logo .lc {opacity: 1;}
#slvm .hdr.menu {background: var(--night); color: rgb(255, 255, 255); box-shadow: none;}
#slvm .hdr.menu::after {background: rgba(255, 255, 255, 0.1);}
#slvm .hdr.menu .logo .lw {opacity: 1;}
#slvm .hdr.menu .logo .lc {opacity: 0;}
#slvm .nav {display: flex; align-items: center; gap: 2px; height: 100%;}
#slvm .ni {height: 100%; display: flex; align-items: center;}
#slvm .nl {font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-size: 15.5px; font-weight: 500; background: none; border: 0px; color: inherit; padding: 10px 14px; text-decoration: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; opacity: 0.88; transition: opacity 0.2s;}
#slvm .nl:hover, #slvm .nl[aria-expanded="true"], #slvm .nl.on {opacity: 1;}
#slvm .nav-ind {position: absolute; bottom: 0px; left: 0px; height: 2px; width: 0px; background: var(--grad); transition: left .35s var(--ease), width .35s var(--ease), opacity .25s; opacity: 0; pointer-events: none; z-index: 2;}
#slvm .hdr-cta {padding: 11px 18px; font-size: 14.5px; background: rgb(255, 255, 255); color: var(--ink);}
#slvm .hdr-cta:hover {background: var(--sky);}
#slvm .hdr.solid .hdr-cta {background: var(--brand); color: rgb(255, 255, 255);}
#slvm .hdr.solid .hdr-cta:hover {background: var(--brand-ink);}
#slvm .hdr.menu .hdr-cta {background: rgb(255, 255, 255); color: var(--ink);}
#slvm .burger {display: none; position: relative; background: none; border: 1px solid rgba(255, 255, 255, 0.35); color: inherit; width: 46px; height: 46px; border-radius: 2px; cursor: pointer;}
#slvm .hdr.solid .burger {border-color: var(--line-2);}
#slvm .hdr.menu .burger {border-color: rgba(255, 255, 255, 0.35);}
#slvm .burger i {position: absolute; left: 13px; right: 13px; height: 1.5px; background: currentcolor; transition: transform .35s var(--ease), opacity .2s, top .35s var(--ease);}
#slvm .burger i:nth-child(1) {top: 16px;}
#slvm .burger i:nth-child(2) {top: 22px;}
#slvm .burger i:nth-child(3) {top: 28px;}
#slvm .burger[aria-expanded="true"] i:nth-child(1) {top: 22px; transform: rotate(45deg);}
#slvm .burger[aria-expanded="true"] i:nth-child(2) {opacity: 0;}
#slvm .burger[aria-expanded="true"] i:nth-child(3) {top: 22px; transform: rotate(-45deg);}
#slvm .mega {position: absolute; left: 0px; right: 0px; top: 100%; background: var(--night); color: var(--on-dark); visibility: hidden; clip-path: inset(0px 0px 100%); transition: clip-path .5s var(--ease-io), visibility 0s linear .5s; box-shadow: rgba(0, 0, 0, 0.6) 0px 40px 80px -40px;}
#slvm .mega.open {visibility: visible; clip-path: inset(0px 0px -60px); transition: clip-path .5s var(--ease-io), visibility 0s;}
#slvm .mega-in {padding-block: 34px 40px;}
#slvm .mg-top {display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px solid var(--dline);}
#slvm .mg-top h3 {font-size: 30px; font-weight: 720; font-stretch: 88%;}
#slvm .mg-top a {font-size: 15px;}
#slvm .mg-grid {display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)) minmax(0px, 1.35fr); gap: 30px;}
#slvm .mg-col h5 {font-family: var(--mono); font-weight: 500; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sky); margin: 0px 0px 10px;}
#slvm .mg-col h5 + a {margin-top: 0px;}
#slvm .mg-col a.ml {display: block; text-decoration: none; color: var(--on-dark); font-size: 15px; line-height: 1.3; padding: 7px 0px; position: relative; transition: color .2s, transform .3s var(--ease);}
#slvm .mg-col a.ml:hover, #slvm .mg-col a.ml:focus-visible {color: rgb(255, 255, 255); transform: translateX(6px);}
#slvm .mg-col a.ml::before {content: ""; position: absolute; left: -14px; top: 50%; width: 6px; height: 2px; background: var(--grad); opacity: 0; transition: opacity 0.2s;}
#slvm .mg-col a.ml:hover::before, #slvm .mg-col a.ml:focus-visible::before {opacity: 1;}
#slvm .mg-col, #slvm .mg-prev, #slvm .mg-card {opacity: 0; transform: translateY(14px); transition: opacity .4s var(--ease), transform .5s var(--ease);}
#slvm .mega.open .mg-col, #slvm .mega.open .mg-prev, #slvm .mega.open .mg-card {opacity: 1; transform: none; transition-delay: calc(.12s + var(--i,0) * .05s);}
#slvm .mg-prev {position: relative; border-radius: 2px; overflow: hidden; min-height: 300px; background: var(--deep); text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end;}
#slvm .mg-prev .pi {position: absolute; inset: 0px; background: var(--img) center/cover; transition: opacity .35s, transform 1.2s var(--ease); transform: scale(1.04);}
#slvm .mg-prev:hover .pi {transform: scale(1.08);}
#slvm .mg-prev::after {content: ""; position: absolute; inset: 0px; background: linear-gradient(to top, rgba(7, 17, 30, 0.95) 10%, rgba(7, 17, 30, 0.25) 70%);}
#slvm .mg-prev .pt {position: relative; z-index: 1; padding: 22px;}
#slvm .mg-prev .pt .mono {color: var(--sky); font-size: 11px;}
#slvm .mg-prev .pt h4 {font-size: 22px; font-weight: 680; font-stretch: 92%; margin-top: 6px; color: rgb(255, 255, 255);}
#slvm .mg-prev .pt p {font-size: 14.5px; color: var(--on-dark-2); margin-top: 6px; line-height: 1.45;}
#slvm .mg-cards {display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 18px;}
#slvm .mg-card {position: relative; aspect-ratio: 4 / 3.1; border-radius: 2px; overflow: hidden; text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end; background: var(--deep);}
#slvm .mg-card .pi {position: absolute; inset: 0px; background: var(--img) center/cover; transition: transform 1.2s var(--ease);}
#slvm .mg-card:hover .pi, #slvm .mg-card:focus-visible .pi {transform: scale(1.06);}
#slvm .mg-card::after {content: ""; position: absolute; inset: 0px; background: linear-gradient(to top, rgba(7, 17, 30, 0.92) 8%, rgba(7, 17, 30, 0.1) 65%);}
#slvm .mg-card .pt {position: relative; z-index: 1; padding: 18px 20px;}
#slvm .mg-card h4 {font-size: 21px; font-weight: 680; font-stretch: 92%; color: rgb(255, 255, 255); display: flex; justify-content: space-between; gap: 10px;}
#slvm .mg-card h4::after {content: "→"; transition: transform .3s var(--ease);}
#slvm .mg-card:hover h4::after {transform: translateX(5px);}
#slvm .mg-card p {font-size: 14px; color: var(--on-dark-2); margin-top: 4px; line-height: 1.4;}
#slvm .scrim {position: fixed; inset: 0px; z-index: 70; background: rgba(4, 10, 20, 0.55); opacity: 0; visibility: hidden; transition: opacity 0.4s, visibility linear 0.4s; backdrop-filter: blur(3px);}
#slvm .scrim.on {opacity: 1; visibility: visible; transition: opacity 0.4s, visibility;}
#slvm .mnav {position: fixed; inset: 0px; z-index: 75; background: var(--night); color: var(--on-dark); padding: calc(var(--hh) + env(safe-area-inset-top, 0px) + 18px) max(22px, env(safe-area-inset-right, 0px)) 40px max(22px, env(safe-area-inset-left, 0px)); overflow-y: auto; visibility: hidden; clip-path: inset(0px 0px 100%); transition: clip-path .55s var(--ease-io), visibility 0s linear .55s; display: none;}
#slvm .mnav.open {visibility: visible; clip-path: inset(0px); transition: clip-path .55s var(--ease-io), visibility 0s;}
#slvm .mnav .mi {border-bottom: 1px solid var(--dline); opacity: 0; transform: translateY(16px); transition: opacity .4s var(--ease), transform .5s var(--ease);}
#slvm .mnav.open .mi {opacity: 1; transform: none; transition-delay: calc(.18s + var(--i,0) * .05s);}
#slvm .mnav .mt {display: flex; width: 100%; justify-content: space-between; align-items: center; font-family: var(--display); font-weight: 680; font-stretch: 90%; font-size: 30px; line-height: 1.1; padding: 18px 0px; color: rgb(255, 255, 255); background: none; border: 0px; text-align: left; text-decoration: none; cursor: pointer;}
#slvm .mnav .mt .pl {width: 16px; height: 16px; position: relative; flex: 0 0 auto;}
#slvm .mnav .mt .pl::before, #slvm .mnav .mt .pl::after {content: ""; position: absolute; left: 0px; right: 0px; top: 7px; height: 2px; background: currentcolor; transition: transform .35s var(--ease);}
#slvm .mnav .mt .pl::after {transform: rotate(90deg);}
#slvm .mnav .mt[aria-expanded="true"] .pl::after {transform: rotate(0deg);}
#slvm .mnav .acc {display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease);}
#slvm .mnav .acc.open {grid-template-rows: 1fr;}
#slvm .mnav .acc > div {overflow: hidden;}
#slvm .mnav .acc .in {padding: 0px 0px 20px;}
#slvm .mnav .acc h5 {font-family: var(--mono); font-weight: 500; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sky); margin: 14px 0px 4px;}
#slvm .mnav .acc a {display: block; text-decoration: none; color: var(--on-dark); padding: 8px 0px; font-size: 16.5px;}
#slvm .mnav .acc a:active {color: var(--sky);}
#slvm .mnav .mfoot {margin-top: 30px; opacity: 0; transition: opacity 0.4s 0.45s;}
#slvm .mnav.open .mfoot {opacity: 1;}
#slvm .mnav .mfoot .btn {width: 100%; justify-content: center;}
#slvm .mnav .mfoot p {color: var(--on-dark-2); font-size: 14px; margin-top: 20px; line-height: 1.7;}
@media (prefers-reduced-motion: reduce){
#slvm *, #slvm ::before, #slvm ::after {animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important;}
}
@media (max-width: 1240px){
#slvm .mg-grid {grid-template-columns: repeat(4, minmax(0px, 1fr)) minmax(0px, 1.1fr); gap: 24px;}
#slvm .nl {padding: 10px 11px;}
}

@media (max-width: 760px){
#slvm .logo, #slvm .logo img {height: 38px;}
}
@media (max-width: 560px){
#slvm .wrap {padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px));}
#slvm .mnav .mt {font-size: 26px;}
}
#slvm .ni {position: static;}
#slvm .ni .nl {padding-right: 4px;}
#slvm .car {background: none; border: 0px; color: inherit; width: 26px; height: 34px; display: inline-grid; place-items: center; cursor: pointer; opacity: 0.8; padding: 0px; margin-right: 6px; border-radius: 2px;}
#slvm .car:hover, #slvm .car[aria-expanded="true"] {opacity: 1;}
#slvm .car .chev {width: 10px; height: 10px; transition: transform .35s var(--ease);}
#slvm .car[aria-expanded="true"] .chev {transform: rotate(180deg);}
#slvm .hdr .bar {gap: 18px;}
#slvm .mg-cards.five {grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 14px;}
#slvm .mg-cards.five .mg-card {aspect-ratio: 3 / 3.4;}
#slvm .mg-cards.five .mg-card h4 {font-size: 19px;}
#slvm .mg-svc {display: grid; grid-template-columns: minmax(0px, 320px) minmax(0px, 1fr); gap: 0px; min-height: 430px;}
#slvm .mg-rail {display: flex; flex-direction: column; border-right: 1px solid var(--dline); padding-right: 22px;}
#slvm .rail-i {display: grid; grid-template-columns: 44px minmax(0px, 1fr); grid-template-rows: auto auto; column-gap: 6px; padding: 16px 16px 16px 14px; text-decoration: none; color: var(--on-dark-2); position: relative; border-radius: 2px; transition: background 0.3s, color 0.3s; opacity: 0; transform: translateX(-10px);}
#slvm .mega.open .rail-i {opacity: 1; transform: none; transition: background .3s, color .3s, opacity .4s var(--ease) calc(.1s + var(--i) * .05s), transform .5s var(--ease) calc(.1s + var(--i) * .05s);}
#slvm .rail-i::before {content: ""; position: absolute; left: 0px; top: 12px; bottom: 12px; width: 2px; background: var(--grad); transform: scaleY(0); transition: transform .35s var(--ease);}
#slvm .rail-i.on {background: rgba(255, 255, 255, 0.06); color: rgb(255, 255, 255);}
#slvm .rail-i.on::before {transform: scaleY(1);}
#slvm .rail-i .rn {grid-row: 1 / 3; font-family: var(--display); font-weight: 800; font-stretch: 110%; font-size: 22px; line-height: 1.05; color: var(--sky); opacity: 0.7;}
#slvm .rail-i.on .rn {opacity: 1;}
#slvm .rail-i .rt {font-family: var(--display); font-weight: 680; font-stretch: 92%; font-size: 19px; line-height: 1.15; color: inherit;}
#slvm .rail-i .rm {font-size: 13px; margin-top: 3px; color: var(--on-dark-2);}
#slvm .rail-x {margin-top: auto; padding: 18px 14px 0px; border-top: 1px solid var(--dline); display: flex; flex-direction: column; gap: 6px;}
#slvm .rail-x .mono {font-size: 10.5px; color: var(--on-dark-2);}
#slvm .rail-x a {color: var(--on-dark); text-decoration: none; font-size: 14.5px;}
#slvm .rail-x a:hover {color: var(--sky);}
#slvm .mg-panes {position: relative; padding-left: 36px;}
#slvm .mg-pane {position: absolute; inset: 0px 0px auto 36px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .3s, transform .4s var(--ease), visibility 0s linear .3s;}
#slvm .mg-pane.on {position: relative; inset: auto; opacity: 1; visibility: visible; transform: none; transition: opacity .35s .05s, transform .45s var(--ease) .05s, visibility 0s;}
#slvm .pane-h {display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--dline);}
#slvm .pane-h .mono {color: var(--sky); font-size: 11px;}
#slvm .pane-h h4 {font-family: var(--display); font-size: 30px; font-weight: 740; font-stretch: 86%; color: rgb(255, 255, 255); margin-top: 6px; line-height: 1.05;}
#slvm .pane-h p {color: var(--on-dark-2); font-size: 15px; margin-top: 8px; max-width: 60ch;}
#slvm .pane-h .btn {flex: 0 0 auto; padding: 12px 18px; font-size: 14.5px;}
#slvm .pane-b {display: grid; grid-template-columns: minmax(0px, 1fr) 250px; gap: 30px; padding-top: 22px;}
#slvm .pane-cols {display: grid; gap: 26px;}
#slvm .pane-cols.pc3 {grid-template-columns: repeat(3, minmax(0px, 1fr));}
#slvm .pane-cols.pc2 {grid-template-columns: repeat(2, minmax(0px, 1fr));}
#slvm .pane-cols.pc1 {grid-template-columns: minmax(0px, 1fr);}
#slvm .mega .mg-pane .mg-col {opacity: 1; transform: none;}
#slvm .pane-img {display: block; border-radius: 2px; background: var(--img) center/cover; min-height: 230px; position: relative; overflow: hidden;}
#slvm .pane-img.ecar {background: var(--img) center/auto 70% no-repeat, radial-gradient(90% 80% at 50% 40%, #1D3756, var(--deep));}
#slvm .pane-img::after {content: ""; position: absolute; inset: auto 0px 0px; height: 3px; background: var(--grad);}
#slvm .mg-grid.tal {grid-template-columns: repeat(3, minmax(0px, 1fr)) minmax(0px, 1.35fr);}
/* Escritorio compacto (portátiles 1024-1240 px): el menú completo se mantiene, más apretado */
@media (max-width: 1240px){
#slvm .hdr .bar {gap: 12px;}
#slvm .ni .nl {padding: 10px 2px 10px 8px; font-size: 14.5px;}
#slvm .car {width: 20px; margin-right: 2px;}
#slvm .hdr-cta {padding: 10px 14px; font-size: 13.5px;}
#slvm .mg-svc {grid-template-columns: minmax(0px, 270px) minmax(0px, 1fr);}
#slvm .pane-b {grid-template-columns: minmax(0px, 1fr) 200px; gap: 22px;}
#slvm .mg-cards.five {gap: 10px;}
#slvm .mg-cards.five .mg-card h4 {font-size: 17px;}
}
@media (max-width: 1100px){
#slvm .logo, #slvm .logo img {height: 40px;}
#slvm .hdr-cta .long {display: none;}
}
/* Menú hamburguesa solo en tablet y móvil */
@media (max-width: 1023px){
#slvm .nav, #slvm .hdr-cta {display: none;}
#slvm .burger {display: block;}
#slvm .mnav {display: block;}
}
#slvm .mg-col a.ml.rich {padding: 10px 0px; border-bottom: 1px solid var(--dline);}
#slvm .mg-col a.ml.rich b {display: block; font-weight: 600; color: rgb(255, 255, 255); font-size: 16px;}
#slvm .mg-col a.ml.rich span {display: block; font-size: 13.5px; color: var(--on-dark-2); margin-top: 3px; line-height: 1.4;}
#slvm .pane-cols.pc1 .mg-col {max-width: 560px;}
#slvm .mg-card h4 {text-shadow: rgba(7, 17, 30, 0.45) 0px 1px 18px;}
#slvm .mega {--grad: linear-gradient(var(--sky), var(--sky));}
#slvm .mg-cards.two {grid-template-columns: repeat(2, minmax(0px, 1fr)); max-width: 860px;}
#slvm .mg-cards.two .mg-card {aspect-ratio: 16 / 8;}
