/* SOT&VIDA 5.1 · refinamiento visual: misma identidad, menos elementos ruidosos. */
:root{--sv-deep:#082f68;--sv-royal:#1263b7;--sv-cyan:#00a7df;--sv-ice:#eaf7ff;--sv-line:rgba(33,93,151,.14);--sv-ease:cubic-bezier(.2,.8,.2,1)}

/* Navegación ligera y accesible. */
.site-header{backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}
.nav-shell{height:78px!important;gap:22px}
.nav-links{gap:clamp(14px,1.8vw,32px)}
.nav-links a{transition:color .2s var(--sv-ease)}
.header-cta{min-height:45px;padding:11px 18px!important;border-radius:14px!important;gap:13px!important;font-weight:750;box-shadow:0 7px 18px rgba(12,81,159,.13)!important;background:linear-gradient(115deg,#0b55a6,#076cb2)!important}
.header-cta:hover{box-shadow:0 10px 25px rgba(12,81,159,.2)!important;transform:translateY(-1px)}
.header-cta .v5-nav-count{font-size:11px!important;min-width:24px;height:24px;display:inline-grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);color:#fff}

/* Un sistema de botones más elegante: esquinas refinadas, tipografía y flecha lineal sutil. */
.button{min-height:50px;padding:15px 19px!important;gap:19px!important;border-radius:15px!important;font-size:12px;line-height:1.2;font-weight:740;letter-spacing:.005em;box-shadow:0 8px 22px rgba(17,83,155,.1);transition:transform .24s var(--sv-ease),box-shadow .24s var(--sv-ease),background .24s var(--sv-ease)}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,83,155,.16)}
.button:active,.header-cta:active{transform:translateY(0)!important}
.hero .button-light{background:linear-gradient(110deg,#155db5,#067ebe)!important;box-shadow:0 9px 25px rgba(17,101,186,.2)!important}
.hero .button-light:hover{box-shadow:0 13px 27px rgba(17,101,186,.25)!important}
.button-primary,.button-dark{background:linear-gradient(115deg,#1554a5,#096eb4);box-shadow:0 9px 23px rgba(15,87,169,.16)}
.button-primary:hover,.button-dark:hover{background:#084d96}
/* El icono ya no es la flecha diagonal de texto: dibujo SVG de línea fina. */
.button>span{display:inline-block;flex:0 0 16px;width:16px;height:16px;font-size:0!important;line-height:0;background:center/16px 16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12h14m-5.5-5.5L18.5 12 13 17.5'/%3E%3C/svg%3E");transition:transform .25s var(--sv-ease)}
.button:hover>span{transform:translateX(3px)}
.button-light>span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e4d8e' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12h14m-5.5-5.5L18.5 12 13 17.5'/%3E%3C/svg%3E")}
.text-link{gap:10px!important;font-size:12px;letter-spacing:.005em}
.text-link>span,.dark-inline-link>span[aria-hidden="true"],.outline-link>span[aria-hidden="true"],.product-inline-link>span[aria-hidden="true"],.round-link>span,.sv-footer-contact>span{display:inline-block;vertical-align:middle;width:15px;height:15px;flex:0 0 15px;font-size:0!important;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23135b9d' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E");transition:transform .2s var(--sv-ease)}
.text-link:hover>span,.dark-inline-link:hover>span,.outline-link:hover>span,.product-inline-link:hover>span,.round-link:hover>span,.sv-footer-contact:hover>span{transform:translateX(3px)}
.round-link>span{width:35px;height:35px;flex-basis:35px;border-radius:50%;border:1px solid #b9d6eb;background-size:15px;background-color:#f2faff}
.round-link:hover>span{background-color:#e2f3ff;border-color:#79b5e5}
.outline-link{gap:15px;padding:13px 17px;border-radius:13px}
.category-arrow,.product-view{font-size:0!important;background:center/17px 17px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231468ad' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")}

/* Hero: claridad visual, sin sello flotante que compita con el producto. */
.hero-chip{padding:9px 13px!important;box-shadow:0 5px 16px rgba(37,105,170,.045)!important}
.hero-actions{gap:23px}
.hero-lower{margin-top:56px!important;letter-spacing:.14em;font-size:9px}
.hero-art .floating-tag-one{right:10px;top:95px;padding:9px 13px;font-size:10px;letter-spacing:.025em;border-radius:11px;background:rgba(255,255,255,.66);box-shadow:0 8px 28px rgba(21,90,160,.075)!important}
.hero-art .floating-tag-one .tag-icon{color:#0698c8;font-size:14px}
.hero-art .floating-tag-two{display:none!important}
.hero-art::after{font-size:8px;opacity:.48;letter-spacing:.18em}
.hero .hero-content>p{max-width:485px}

/* El CTA de cierre debe ser una transición, no una segunda portada. */
.closing-cta{padding:64px 0 68px!important}
.closing-cta::before{font-size:440px;right:-55px;bottom:-170px;opacity:.65}
.closing-cta .eyebrow{letter-spacing:.14em}
.closing-cta h2{font-size:clamp(38px,4.7vw,66px)!important;line-height:1.06!important;margin:16px 0 18px!important;max-width:850px}
.closing-cta p{font-size:14px;max-width:480px;margin-bottom:22px}

/* Footer de identidad propia: compacto, nítido y sin un titular monumental. */
.site-footer.sv-footer{background:linear-gradient(122deg,#061d46 0%,#062b5c 67%,#063b70 100%);color:#eff7ff;padding:34px 0 16px;overflow:hidden}
.sv-footer-main{display:grid;grid-template-columns:minmax(280px,1.13fr) minmax(340px,1fr);gap:clamp(35px,6vw,105px);align-items:start;padding-bottom:23px}
.sv-footer-intro{min-width:0}
.sv-footer-kicker{display:inline-block;font-size:9px;letter-spacing:.16em;font-weight:780;color:#90c6f1}
.sv-footer-intro h2{font-size:clamp(26px,2.7vw,39px);letter-spacing:-.052em;line-height:1.13;font-weight:750;margin:11px 0 9px;color:#fff}
.sv-footer-intro h2 span{color:#94d9fc}
.sv-footer-intro p{font-size:12px;color:#b5cde5;line-height:1.7;max-width:355px;margin:0 0 10px}
.sv-footer-contact{display:inline-flex;align-items:center;gap:11px;color:#eefaff;font-size:12px;font-weight:740;border-bottom:1px solid rgba(190,223,255,.35);padding-bottom:8px}
.sv-footer-contact:hover{color:white;border-color:#9ae0ff}
.sv-footer-contact>span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b5e9ff' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.sv-footer-links{display:grid;grid-template-columns:minmax(110px,1fr) minmax(190px,1.15fr);gap:30px;padding-top:6px}
.sv-footer-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.sv-footer-col h3{margin:0 0 7px;color:#a4c9ee;font-size:10px;font-weight:770;text-transform:uppercase;letter-spacing:.13em}
.sv-footer-col a,.sv-footer-col span{font-size:12px;line-height:1.5;color:#c7d9ed;overflow-wrap:anywhere}
.sv-footer-col a:hover{color:#fff}
.sv-footer-social{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid rgba(200,224,249,.14);padding:13px 0 12px}
.sv-footer-social>span{font-size:9px;letter-spacing:.14em;font-weight:780;color:#aac6e5;white-space:nowrap}
.sv-footer .social-links{gap:9px}
.sv-footer .social-link{border-radius:11px;padding:5px 9px 5px 6px;border-color:rgba(198,225,250,.18);background:rgba(255,255,255,.055);font-size:11px}
.sv-footer .social-symbol{width:28px;height:28px;border-radius:8px;font-size:17px}
.sv-footer .social-link small{font-size:9px}
.sv-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:11px;border-top:1px solid rgba(200,224,249,.14);font-size:10px;color:#9ab6d2;line-height:1.6}
.sv-footer-bottom>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.sv-footer-bottom a{color:#bdd9f3}
.sv-footer-bottom a:hover{color:#fff}

/* Tratamiento coherente de navegación teclado, espacio y movimiento. */
.site-header a:focus-visible,.site-footer a:focus-visible,.button:focus-visible,.text-link:focus-visible,.category-card:focus-visible{outline:3px solid #00a9e7;outline-offset:4px}
@media(max-width:1000px){.sv-footer-main{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px}.sv-footer-links{gap:20px}.hero-art .floating-tag-one{top:78px;right:0}}
@media(max-width:760px){.nav-shell{height:69px!important}.site-footer.sv-footer{padding-top:32px}.sv-footer-main{grid-template-columns:1fr;gap:29px}.sv-footer-links{padding-top:0;max-width:570px}.sv-footer-social{align-items:flex-start;flex-direction:column;gap:14px}.sv-footer-bottom{align-items:flex-start;flex-direction:column;gap:7px}.closing-cta{padding:54px 0 59px!important}.hero-art .floating-tag-one{top:30px;right:8px;font-size:9px}.hero-art::after{display:none}.hero-lower{margin-top:36px!important}}
@media(max-width:520px){.hero-actions{display:flex;flex-wrap:wrap;gap:17px}.hero-actions .button{min-height:49px}.sv-footer-links{grid-template-columns:1fr 1.2fr;gap:16px}.sv-footer-intro h2{font-size:29px}.sv-footer .social-links{gap:8px}.sv-footer .social-link{padding-right:7px}.sv-footer .social-link small{display:none}.closing-cta h2{font-size:clamp(36px,9vw,46px)!important}.hero-art .floating-tag-one{display:none}.hero-chip{font-size:9px!important}}
@media(prefers-reduced-motion:reduce){.button,.text-link>span,.round-link>span,.sv-footer-contact>span,.header-cta{transition:none!important}.button:hover,.header-cta:hover{transform:none!important}}

/* Flechas de enlaces editoriales: iconos de trazo fino, no caracteres diagonales. */
.sv-inline-arrow{display:inline-block;vertical-align:middle;width:14px;height:14px;margin-left:4px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4eeff' stroke-width='1.65' stroke-linecap='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E");transition:transform .2s var(--sv-ease)}
.v5-pathways-card a{display:inline-flex;align-items:center;gap:4px}
.v5-pathways-card a:hover .sv-inline-arrow{transform:translateX(3px)}
.hero .button-light>span{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12h14m-5.5-5.5L18.5 12 13 17.5'/%3E%3C/svg%3E")}

/* v5.2: en tabletas el menú completo no cabe: prioriza navegación móvil sin desbordamiento. */
@media (min-width:761px) and (max-width:900px){
  .nav-links,.header-cta{display:none}
  .menu-toggle{width:43px;height:43px;border:1px solid #d8eafb;background:#eff7ff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0}
  .menu-toggle span{height:2px;width:18px;background:#0b4285;border-radius:3px}
  .mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:9px 32px 20px;gap:3px;background:rgba(250,253,255,.98);border-top:1px solid #d9e9fc}
  .mobile-nav a{padding:13px 5px;font-size:14px;font-weight:700}
}
