/* Marco común de SNE Solución: cabecera y pie compartidos por todas las páginas. */
html,body{margin:0}body{background:#071b29}
.sne-marco{--cyan:#29d5ee;--bs-link-color-rgb:13,110,253;--bs-link-hover-color-rgb:10,88,202;--bs-gutter-x:1.5rem;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:#071522;-webkit-text-size-adjust:100%}
.sne-marco *,.sne-marco ::before,.sne-marco ::after{box-sizing:border-box}
.sne-marco *,.sne-marco ::after,.sne-marco ::before{box-sizing: border-box;}
.sne-marco h4{margin-top: 0px; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; color: var(--bs-heading-color);}
.sne-marco h4{font-size: calc(1.275rem + 0.3vw);}
@media (min-width: 1200px){.sne-marco h4{font-size: 1.5rem;}}
.sne-marco p{margin-top: 0px; margin-bottom: 1rem;}
.sne-marco ul{padding-left: 2rem;}
.sne-marco ul{margin-top: 0px; margin-bottom: 1rem;}
.sne-marco b{font-weight: bolder;}
.sne-marco small{font-size: 0.875em;}
.sne-marco a{color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1)); text-decoration: underline;}
.sne-marco a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb);}
.sne-marco img,.sne-marco svg{vertical-align: middle;}
.sne-marco button{border-radius: 0px;}
.sne-marco button:focus:not(:focus-visible){outline: 0px;}
.sne-marco button{margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit;}
.sne-marco button{text-transform: none;}
.sne-marco [type="button"],.sne-marco button{appearance: button;}
.sne-marco [type="button"]:not(:disabled),.sne-marco button:not(:disabled){cursor: pointer;}
.sne-marco .container,.sne-marco .container-fluid{--bs-gutter-x: 1.5rem; --bs-gutter-y: 0; width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-right: auto; margin-left: auto;}
@media (min-width: 576px){.sne-marco .container{max-width: 540px;}}
@media (min-width: 768px){.sne-marco .container{max-width: 720px;}}
@media (min-width: 992px){.sne-marco .container{max-width: 960px;}}
@media (min-width: 1200px){.sne-marco .container{max-width: 1140px;}}
@media (min-width: 1400px){.sne-marco .container{max-width: 1320px;}}
.sne-marco #header .brand{min-width: 92px;}
.sne-marco #header .brand img{width: 76px; height: 76px; object-fit: contain; border-radius: 0px;}
@media (max-width: 900px){.sne-marco #header .brand img{width: 62px; height: 62px;}}
.sne-marco *{box-sizing: border-box;}
.sne-marco a{text-decoration: none; color: inherit;}
.sne-marco img{max-width: 100%; display: block;}
.sne-marco .container{max-width: 1320px;}
.sne-marco #header{position: fixed; top: 0px; left: 0px; right: 0px; z-index: 1000; transition: 0.35s;}
.sne-marco .nav-shell{height: 88px; display: flex; align-items: center; padding: 10px 3%; gap: 30px;}
.sne-marco .brand{display: flex; align-items: center; gap: 13px; color: rgb(255, 255, 255); min-width: 310px;}
.sne-marco .brand img{width: 56px; height: 56px; object-fit: cover; border-radius: 2px;}
.sne-marco .nav-shell nav{margin-left: auto; display: flex; gap: 27px;}
.sne-marco .nav-shell nav a{color: rgb(255, 255, 255); font-size: 14px;}
.sne-marco .nav-cta{display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(90deg,#2267ff,var(--cyan)); color: rgb(255, 255, 255); padding: 16px 24px; border-radius: 30px; font-weight: 700; border: 0px;}
.sne-marco .nav-cta{padding: 14px 22px;}
.sne-marco .menu-btn{display: none; background: none; border: 0px; color: rgb(255, 255, 255); font-size: 24px;}
.sne-marco .scrolled{background: rgba(5, 25, 40, 0.95); box-shadow: rgba(0, 0, 0, 0.12) 0px 10px 30px;}
.sne-marco .scrolled .nav-shell{height: 74px;}
.sne-marco footer{background: rgb(6, 19, 31); color: rgb(255, 255, 255); padding: 34px 0px;}
.sne-marco footer p{color: rgb(147, 166, 183); font-size: 12px; margin: 0px;}
@media (max-width: 1100px){.sne-marco .nav-shell nav{display: none;}}
@media (max-width: 1100px){.sne-marco .menu-btn{display: block; margin-left: auto;}}
@media (max-width: 1100px){.sne-marco .nav-cta{display: none;}}
@media (max-width: 1100px){.sne-marco .brand{min-width: 0px;}}
@media (max-width: 767px){.sne-marco .nav-shell{height: 72px;}}
@media (max-width: 767px){.sne-marco .brand img{width: 44px; height: 44px;}}
.sne-marco .site-footer{position: relative; background: rgb(5, 7, 12); color: rgb(255, 255, 255); padding: 72px 0px 0px; border-top: 1px solid rgba(255, 255, 255, 0.05);}
.sne-marco .footer-main{display: grid; grid-template-columns: 1.45fr 0.75fr 0.75fr 1.45fr; gap: 64px; padding-bottom: 52px;}
.sne-marco .footer-brand{display: flex; align-items: center; gap: 15px; margin-bottom: 22px;}
.sne-marco .footer-brand img{width: 58px; height: 58px; object-fit: cover;}
.sne-marco .footer-brand span{display: flex; flex-direction: column;}
.sne-marco .footer-brand b{font-size: 21px; letter-spacing: 0.02em;}
.sne-marco .footer-brand small{font-size: 10px; letter-spacing: 0.13em; color: rgb(154, 171, 184); margin-top: 3px;}
.sne-marco .footer-brand-block > p,.sne-marco .footer-updates > p{max-width: 370px; color: rgb(137, 153, 168); line-height: 1.7; font-size: 14px;}
.sne-marco .footer-social{display: flex; gap: 10px; margin-top: 22px;}
.sne-marco .footer-social a{width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgb(21, 24, 30); color: rgb(185, 195, 204); transition: 0.3s;}
.sne-marco .footer-social a:hover{background: rgb(23, 130, 239); color: rgb(255, 255, 255); transform: translateY(-3px);}
.sne-marco .site-footer h4{font-size: 12px; letter-spacing: 0.11em; margin: 8px 0px 20px; color: rgb(255, 255, 255);}
.sne-marco .footer-col{display: flex; flex-direction: column; align-items: flex-start; gap: 11px;}
.sne-marco .footer-col a{font-size: 14px; color: rgb(141, 154, 167); transition: 0.25s;}
.sne-marco .footer-col a::before{content: "›"; color: rgb(75, 191, 255); margin-right: 7px;}
.sne-marco .footer-col a:hover{color: rgb(255, 255, 255); transform: translateX(3px);}
.sne-marco .footer-updates small{display: block; color: rgb(104, 119, 131); font-size: 11px; line-height: 1.55; margin-top: 17px;}
.sne-marco .footer-news-btn{margin-top: 18px; min-height: 48px; border: 1px solid rgb(43, 48, 56); background: rgb(23, 25, 30); border-radius: 11px; padding: 0px 7px 0px 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: rgb(203, 212, 220); font-size: 14px; transition: 0.3s;}
.sne-marco .footer-news-btn i{width: 43px; height: 38px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(135deg, rgb(79, 98, 255), rgb(24, 200, 239)); color: rgb(255, 255, 255);}
.sne-marco .footer-news-btn:hover{border-color: rgb(79, 141, 202); color: rgb(255, 255, 255); transform: translateY(-2px);}
.sne-marco .footer-bottom{min-height: 76px; border-top: 1px solid rgb(25, 29, 35); display: flex; align-items: center; justify-content: space-between; gap: 25px; color: rgb(89, 99, 110); font-size: 12px;}
.sne-marco .footer-bottom div{display: flex; gap: 26px;}
.sne-marco .footer-bottom a{color: rgb(101, 113, 124);}
.sne-marco .footer-bottom a:hover{color: rgb(255, 255, 255);}
.sne-marco .back-top{position: absolute; right: 28px; bottom: 22px; width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(135deg, rgb(82, 97, 255), rgb(22, 201, 239)); color: rgb(255, 255, 255); box-shadow: rgba(31, 120, 255, 0.25) 0px 10px 30px; transition: 0.3s;}
.sne-marco .back-top:hover{transform: translateY(-4px); color: rgb(255, 255, 255);}
@media (max-width: 991px){.sne-marco .footer-main{grid-template-columns: 1fr 1fr; gap: 42px;}}
@media (max-width: 991px){.sne-marco .footer-updates{grid-column: 1 / -1; max-width: 560px;}}
@media (max-width: 600px){.sne-marco .site-footer{padding-top: 54px;}}
@media (max-width: 600px){.sne-marco .footer-main{grid-template-columns: 1fr; gap: 34px;}}
@media (max-width: 600px){.sne-marco .footer-updates{grid-column: auto;}}
@media (max-width: 600px){.sne-marco .footer-bottom{padding: 22px 15px 84px; align-items: flex-start; flex-direction: column;}}
@media (max-width: 600px){.sne-marco .footer-bottom div{flex-direction: column; gap: 8px;}}
@media (max-width: 600px){.sne-marco .back-top{right: 18px; bottom: 22px;}}
@media (max-width: 600px){.sne-marco .footer-brand b{font-size: 18px;}}
.sne-marco *,.sne-marco ::before,.sne-marco ::after{box-sizing: border-box;}
.sne-marco img,.sne-marco svg{max-width: 100%;}
.sne-marco img{height: auto;}
.sne-marco a,.sne-marco button{max-width: 100%;}
.sne-marco p,.sne-marco h4,.sne-marco a,.sne-marco span{overflow-wrap: break-word;}
.sne-marco .container{width: min(100% - 48px, 1240px); margin-left: auto; margin-right: auto;}
@media (min-width: 1600px){.sne-marco .container{width: min(100% - 96px, 1320px);}}
@media (max-width: 1366px){.sne-marco .container{width: min(100% - 40px, 1180px);}}
@media (max-width: 1100px){.sne-marco .container{width: min(100% - 36px, 1040px);}}
@media (max-width: 900px){.sne-marco .container{width: min(100% - 32px, 820px);}}
@media (max-width: 640px){.sne-marco .container{width: calc(100% - 28px);}}
@media (max-width: 380px){.sne-marco .container{width: calc(100% - 22px);}}
@media (prefers-reduced-motion: reduce){.sne-marco *,.sne-marco ::before,.sne-marco ::after{scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important;}}
.sne-marco #header .nav-shell nav{position: static;}
.sne-marco #header .sne-areas-submenu{display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: min(1100px, -36px + 100vw); padding: 21px 22px 24px; background: rgb(3, 19, 33); border: 1px solid rgba(109, 161, 204, 0.3); border-radius: 0px 0px 10px 10px; box-shadow: rgba(0, 0, 0, 0.28) 0px 20px 38px; z-index: 1200;}
.sne-marco #header .sne-areas-submenu.is-open{display: block;}
.sne-marco #header .sne-menu-heading{font-size: 12px; font-weight: 700; letter-spacing: 0.17em; color: rgb(148, 185, 216); margin: 0px 0px 17px;}
.sne-marco #header .sne-menu-columns{display: grid; grid-template-columns: repeat(5, minmax(0px, 1fr)); gap: 0px;}
.sne-marco #header .sne-menu-area{display: flex; flex-direction: column; min-width: 0px; min-height: 135px; gap: 10px; padding: 13px 17px 10px; border-left: 1px solid rgba(127, 161, 189, 0.22); background: transparent; transition: background-color 0.18s; text-decoration: none !important; color: rgb(255, 255, 255) !important;}
.sne-marco #header .sne-menu-area:first-child{border-left: 0px;}
.sne-marco #header .sne-menu-name{font-size: 15px; font-weight: 500; line-height: 1.3; color: rgb(255, 255, 255);}
.sne-marco #header .sne-menu-description{font-size: 11.5px; line-height: 1.55; color: rgb(185, 201, 216); flex: 1 1 0%;}
.sne-marco #header .sne-menu-line{height: 3px; width: 100%; background: rgb(49, 80, 105); border-radius: 4px; transition: background 0.18s, box-shadow 0.18s;}
.sne-marco #header .sne-menu-area:hover{background: rgb(11, 43, 70);}
.sne-marco #header .sne-menu-area:hover .sne-menu-line{background: rgb(18, 166, 255); box-shadow: rgba(18, 166, 255, 0.36) 0px 0px 9px;}
@media (max-width: 900px){.sne-marco #header .sne-areas-submenu{position: fixed; top: 72px; left: 10px; transform: none; width: calc(-20px + 100vw); max-height: calc(100dvh - 84px); overflow: auto; padding: 18px;}}
@media (max-width: 900px){.sne-marco #header .sne-menu-columns{grid-template-columns: 1fr; gap: 0px;}}
@media (max-width: 900px){.sne-marco #header .sne-menu-area{min-height: unset; padding: 12px 14px; border-left: 0px; border-top: 1px solid rgba(127, 161, 189, 0.22); gap: 6px;}}
@media (max-width: 900px){.sne-marco #header .sne-menu-description{font-size: 12px;}}
@media (max-width: 900px){.sne-marco #header .sne-menu-line{margin-top: 4px;}}
@media (max-width: 900px){.sne-marco #header .nav-shell nav{max-height: calc(-90px + 100vh); overflow-y: auto;}}
@media (prefers-reduced-motion: reduce){.sne-marco #header .sne-menu-area,.sne-marco #header .sne-menu-line{transition: none;}}
.sne-marco .footer-social{flex-wrap: wrap;}
.sne-marco .footer-social a{flex: 0 0 38px;}
.sne-marco .sne-share-page{display: inline-flex; align-items: center; position: relative; flex: 0 0 auto; line-height: 1;}
.sne-marco .sne-share-page.sne-share-top{margin: 0px;}
.sne-marco .sne-share-page.sne-share-bottom{position: absolute; top: 18px; right: 24px; z-index: 2;}
.sne-marco .sne-share-footer-anchor{position: relative;}
.sne-marco .sne-share-page button{display: inline-flex; align-items: center; justify-content: center; cursor: pointer; background: rgb(10, 27, 45); color: rgb(255, 255, 255); border: 1px solid rgb(70, 204, 239); border-radius: 50%; width: 34px; height: 34px; padding: 0px; flex: 0 0 34px;}
.sne-marco .sne-share-page button:hover{background: rgb(18, 85, 129); box-shadow: rgba(57, 201, 238, 0.25) 0px 0px 12px;}
.sne-marco .sne-share-page svg{width: 17px; height: 17px; fill: none; stroke: currentcolor; stroke-width: 1.8;}
.sne-marco .sne-share-page .sne-share-status{position: absolute; top: calc(100% + 8px); right: 0px; white-space: normal; min-width: 160px; max-width: 240px; color: rgb(255, 255, 255); background: rgb(10, 27, 45); border: 1px solid rgb(49, 81, 107); border-radius: 6px; padding: 8px 10px; font: 12px / 1.4 Arial, Helvetica, sans-serif; z-index: 100;}
.sne-marco .sne-share-page .sne-share-status:empty{display: none;}
@media (max-width: 767px){.sne-marco .sne-share-page button{width: 32px; height: 32px; flex-basis: 32px;}}
@media (max-width: 767px){.sne-marco .sne-share-page.sne-share-bottom{right: 20px;}}
.sne-marco #header .sne-tel{display: none; align-items: center; gap: 8px; color: rgb(255, 255, 255); font-weight: 700; font-size: 14px; white-space: nowrap;}
.sne-marco #header .sne-tel i{color: rgb(37, 211, 102); font-size: 17px;}
.sne-marco #header .sne-tel:hover{color: rgb(37, 211, 102);}
.sne-marco .footer-contacto{list-style: none; padding: 0px; margin: 20px 0px 0px; display: flex; flex-direction: column; gap: 9px; font-size: 14px; color: rgb(201, 212, 221);}
.sne-marco .footer-contacto a{color: rgb(255, 255, 255);}
.sne-marco .footer-contacto i{color: rgb(75, 191, 255); width: 18px; margin-right: 6px;}
@media (min-width: 1280px){.sne-marco #header .sne-tel{display: inline-flex;}}
.sne-marco .footer-social{flex-wrap:wrap}.sne-marco .footer-social a{flex:0 0 38px}

.sne-marco #header .sne-tel{display:none;align-items:center;gap:8px;color:#fff;font-weight:700;font-size:14px;white-space:nowrap}
.sne-marco #header .sne-tel i{color:#25d366;font-size:17px}
.sne-marco #header .sne-tel:hover{color:#25d366}
.sne-marco .sne-flotantes{display:none}
.sne-marco .footer-contacto{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:9px;font-size:14px;color:#c9d4dd}
.sne-marco .footer-contacto a{color:#fff}
.sne-marco .footer-contacto i{color:#4bbfff;width:18px;margin-right:6px}
.sne-marco .footer-contacto i.fa-whatsapp{color:#25d366}
@media(min-width:1280px){.sne-marco #header .sne-tel{display:inline-flex}}
@media(max-width:1100px){
.sne-marco .sne-flotantes{display:flex;gap:10px;position:fixed;left:16px;bottom:18px;z-index:1100}
.sne-marco .sne-flotantes a{display:inline-flex;align-items:center;gap:8px;padding:13px 18px;border-radius:999px;color:#fff!important;font-weight:800;font-size:15px;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.sne-marco .sne-flotantes .sne-wa{background:#25d366}
.sne-marco .sne-flotantes .sne-llamar{display:none!important;background:linear-gradient(90deg,#2267ff,#29d5ee)}
}
@media(max-width:767px) and (pointer:coarse){.sne-marco .sne-flotantes .sne-llamar{display:inline-flex!important}}

body.sne-seccion .sne-marco #header{background:#061724}
body.sne-seccion .sne-contenido{padding-top:80px}
@media(max-width:767px){body.sne-seccion .sne-contenido{padding-top:72px}}
body.sne-seccion-86 .sne-contenido{padding-top:86px}
@media(max-width:767px){body.sne-seccion-86 .sne-contenido{padding-top:72px}}
.sne-cuerpo>.back-top{display:none!important}
.sne-marco .site-footer{margin-top:0}
/* Contacto rápido en todas las páginas y pantallas: pestaña discreta en el costado derecho.
   Se guarda mientras el usuario avanza (scroll) y sale del costado cuando se detiene. */
#sne-whatsapp-float{display:none!important}
.sne-marco .sne-flotantes{display:none!important}
.sne-cr{display:block;position:fixed;right:0;top:62%;z-index:1100;font-family:Arial,Helvetica,sans-serif;transition:transform .4s ease,opacity .4s ease}
.sne-cr.sne-cr-guardada{transform:translateX(110%);opacity:0;pointer-events:none}
.sne-cr-pestana{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 7px;border:1px solid rgba(255,255,255,.35);border-right:0;border-radius:10px 0 0 10px;background:#0b2b46;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.3);cursor:pointer;opacity:.92}
.sne-cr-pestana svg{width:18px;height:18px;fill:none;stroke:#29d5ee;stroke-width:2}
.sne-cr-pestana span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.sne-cr.is-open .sne-cr-pestana{display:none}
.sne-cr-panel{position:absolute;right:0;top:50%;transform:translateY(-50%);width:210px;padding:16px 14px 14px;background:#061724;border:1px solid rgba(109,161,204,.4);border-right:0;border-radius:12px 0 0 12px;box-shadow:0 12px 30px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:10px;animation:sne-cr-entra .22s ease-out}
.sne-cr-panel[hidden]{display:none}
.sne-cr-titulo{margin:0 26px 2px 2px;color:#fff;font-size:15px;font-weight:700}
.sne-cr-op{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:999px;color:#fff!important;text-decoration:none;font-weight:700;font-size:15px}
.sne-cr-wa{background:#25d366}
.sne-cr-tel{background:linear-gradient(90deg,#2267ff,#29d5ee)}
.sne-cr-cerrar{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#b9c9d8;font-size:22px;line-height:1;cursor:pointer}
.sne-cr.sne-cr-oculto{display:none}
@keyframes sne-cr-entra{from{opacity:0;transform:translate(24px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:reduce){.sne-cr,.sne-cr-panel{animation:none;transition:none}}

.sne-share-hueco{display:inline-block;width:34px;height:34px;flex:0 0 34px}@media(max-width:767px){.sne-share-hueco{width:32px;height:32px;flex-basis:32px}}
