/* Hero de la home (.wh2) */
.l-section.wol-hero2{padding:0!important;background:#0a1322}
.wol-hero2>.l-section-h{padding:0!important;max-width:none!important}
.wol-hero2 .g-cols{margin:0!important}
.wol-hero2 .vc_column-inner{padding:0!important}
.wh2,.wh2 *{box-sizing:border-box}
.wh2{position:relative;overflow:hidden;min-height:max(680px,100vh);display:flex;flex-direction:column;color:#fff;text-align:left;font-family:var(--font-family);
	background:radial-gradient(60% 55% at 72% 48%,rgba(49,100,160,.38),transparent 70%),radial-gradient(40% 40% at 10% 70%,rgba(49,100,160,.14),transparent 70%),#0a1322}
.wh2-field{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.wh2-field.is-on{opacity:1}
.wh2-in{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;width:100%;max-width:calc(var(--site-content-width,1400px) + 80px);margin:0 auto;padding:150px 40px 80px}
.wh2-head{margin:auto 0;padding:40px 0}
.wh2 h1{display:flex;align-items:center;gap:14px;font-size:15px!important;line-height:1.4!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase!important;margin:0 0 22px!important;color:#6ea8ff!important}
.wh2 h1:before{content:"";width:34px;height:2px;background:#6ea8ff}
.wh2-big{margin:0!important;padding:0!important;font-family:var(--font-family);font-weight:700;font-size:clamp(52px,7.6vw,116px);line-height:.98;letter-spacing:-.035em;color:#fff}
.wh2-rot{display:grid}
.wh2-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wh2-rot>span{grid-area:1/1;opacity:0;transform:translateY(.35em);animation:wh2rot 16s infinite cubic-bezier(.25,.6,.3,1);
	color:transparent;-webkit-text-stroke:2px #6ea8ff;background:linear-gradient(90deg,#6ea8ff 50%,transparent 50%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;padding:0 .06em .16em 0;margin-bottom:-.16em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.wh2-rot>span:nth-child(2){animation-delay:4s}.wh2-rot>span:nth-child(3){animation-delay:8s}.wh2-rot>span:nth-child(4){animation-delay:12s}
/* la primera palabra sale rellena al cargar (wh2hold) y desde la segunda vuelta hace el contorno + relleno como las demás */
.wh2-rot>span:first-child{animation:wh2hold 4s cubic-bezier(.25,.6,.3,1) 1,wh2rot 16s cubic-bezier(.25,.6,.3,1) 16s infinite}
@keyframes wh2hold{0%,90%{opacity:1;transform:none;background-position:0 0}100%{opacity:0;transform:translateY(-.3em);background-position:0 0}}
@keyframes wh2rot{0%{opacity:0;transform:translateY(.35em);background-position:100% 0}3%{opacity:1;transform:none}5.5%{background-position:100% 0}13%{background-position:0 0}22.5%{opacity:1;transform:none;background-position:0 0}25%{opacity:0;transform:translateY(-.3em);background-position:0 0}100%{opacity:0}}
.wh2-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-top:30px;position:relative}
.wh2-desc{max-width:640px}
.wh2-bottom p{max-width:640px;margin:0!important;font-size:17px;line-height:1.6;color:rgba(255,255,255,.78)}
.wh2-btns{display:flex;gap:14px;flex-wrap:wrap;flex-shrink:0}
.wh2-btns a{font-family:var(--h1-font-family);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:40px;font-weight:700;font-size:16px;text-decoration:none!important;transition:.25s}
.wh2-b1{background:#3164a0;color:#fff!important}.wh2-b1:hover{background:#6ea8ff}
.wh2-b2{border:1px solid rgba(255,255,255,.35);color:#fff!important}.wh2-b2:hover{border-color:#fff;background:rgba(255,255,255,.06)}
@media (max-width:900px){
	.wh2{min-height:auto}
	.wh2-in{padding:120px 24px 56px}
	.wh2-head{padding:60px 0 50px}.wh2-big{font-size:clamp(44px,13vw,84px)}.wh2 h1{font-size:13px!important;letter-spacing:.1em!important}
	.wh2-rot>span{-webkit-text-stroke-width:1.5px}
	.wh2-bottom{flex-direction:column;align-items:stretch;gap:24px}
	.wh2-bottom p{font-size:16px}
	.wh2-btns a{flex:1 1 220px}
}
@media (prefers-reduced-motion:reduce){.wh2-rot>span{animation:none}.wh2-rot>span:first-child{animation:none;opacity:1;transform:none;background-position:0 0}}
/* Tarjeta de badges flotante y espaciado de #sobre-woland (antes en el contenido de la home) */
.l-section.wol-badges-float{position:relative;z-index:5;margin-top:-64px;background:transparent!important;padding-top:0!important;padding-bottom:30px!important;border-bottom:0!important}.wol-badges-float>.l-section-h>.g-cols>.wpb_column>.vc_column-inner{background:#fff;border-radius:18px;box-shadow:0 18px 50px rgba(22,38,59,.16);padding:26px 34px!important}.wol-badges-float .w-iconbox{justify-content:center}@media (max-width:1024px){.l-section.wol-badges-float{margin-top:-40px}}@media (max-width:767px){.l-section.wol-badges-float{margin-top:-24px}.wol-badges-float>.l-section-h>.g-cols>.wpb_column>.vc_column-inner{padding:18px 16px!important}.wol-badges-float .g-cols.via_flex{flex-wrap:wrap!important;row-gap:14px}.wol-badges-float .vc_column_container .wpb_column{flex:0 0 50%!important;max-width:50%!important;width:50%!important}.wol-badges-float .w-iconbox{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;gap:8px;text-align:left!important}.wol-badges-float .w-iconbox-icon{margin:0!important;flex-shrink:0}.wol-badges-float .w-iconbox-meta{text-align:left!important}.wol-badges-float .w-iconbox-title{font-size:13px!important;line-height:1.3!important;margin:0!important;padding:0!important}}.l-section.wol-badges-float{padding-bottom:10px!important}#sobre-woland.l-section{padding-top:40px!important}@media (min-width:768px){#sobre-woland.l-section{padding-top:62px!important;padding-bottom:72px!important}}
/* Tarjeta de badges partida justo por la mitad entre el hero y el blanco */
body:has(.wh2) .l-section.wol-badges-float{margin-top:0!important;padding-bottom:0!important;background:linear-gradient(#0a1322 50%,transparent 50%)!important}
/* Descripción: servicios destacados y accesos directos */
.wh2-bottom p strong{color:#fff;font-weight:600}
.wh2 .wh2-svc{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0!important;padding:0!important;list-style:none!important}
.wh2 .wh2-svc li{margin:0!important;padding:0!important;list-style:none!important}
.wh2-svc a{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:30px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff!important;font-size:14px;font-weight:500;line-height:1.3;text-decoration:none!important;transition:.25s}
.wh2-svc a i{color:#6ea8ff;font-size:13px}
.wh2-svc a:hover{border-color:#6ea8ff;background:rgba(110,168,255,.12)}
@media (max-width:900px){.wh2-svc a{font-size:13px;padding:6px 12px}}
/* En móvil los accesos se ocultan para que el botón principal quede en la primera pantalla */
@media (max-width:767px){.wh2 .wh2-svc{display:none!important}}
/* Tarjeta de badges: responsive. Va con body delante para ganar a la regla de style.css que pone el icono encima del texto por debajo de 900 px */
body .l-section.wol-badges-float .w-iconbox{display:flex!important;flex-direction:row!important;align-items:center!important;text-align:left!important;gap:10px}
body .l-section.wol-badges-float .w-iconbox-icon{margin:0!important;flex-shrink:0}
body .l-section.wol-badges-float .w-iconbox-meta{text-align:left!important}
@media (max-width:767px){body .l-section.wol-badges-float>.l-section-h>.g-cols>.wpb_column>.vc_column-inner{margin:0 16px}body .l-section.wol-badges-float .w-iconbox{gap:8px}}
/* Tarjeta de badges en tablet: 2 x 2 con texto compacto */
@media (max-width:900px){body .l-section.wol-badges-float .g-cols.via_flex{flex-wrap:wrap!important;row-gap:14px}body .l-section.wol-badges-float .vc_column_container .wpb_column{flex:0 0 50%!important;max-width:50%!important;width:50%!important}body .l-section.wol-badges-float .w-iconbox-title{font-size:15px!important;line-height:1.3!important;margin:0!important;padding:0!important}body .l-section.wol-badges-float .w-iconbox{justify-content:flex-start!important}}
@media (max-width:767px){body .l-section.wol-badges-float .w-iconbox-title{font-size:13px!important}}
/* Línea sobre la descripción: se desvanece hacia la derecha para no cruzar la onda */
.wh2-bottom:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.12) 30%,rgba(255,255,255,0) 50%)}
/* Móvil: la onda se oculta detrás del titular y aparece bajo él */
@media (max-width:900px){.wh2-field{-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 46%,#000 62%);mask-image:linear-gradient(to bottom,transparent 0,transparent 46%,#000 62%)}}
/* Mientras se ve el hero, el botón flotante de presupuesto (y su burbuja) se oculta: el hero ya tiene su CTA. Arranca oculto hasta que hero-wave.js marca .wh2-ready, para que no aparezca y desaparezca al cargar */
.to-top-content{transition:opacity .3s ease,transform .3s ease,visibility .3s}
body:has(.wh2):not(.wh2-ready) .to-top-content,body.wh2-visible .to-top-content{opacity:0!important;visibility:hidden;transform:translateY(16px);pointer-events:none}
