*,*::before,*::after{box-sizing:border-box}img,svg{max-width:100%;height:auto}body{margin:0}
[data-revelar]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
[data-revelar].esta-visible{opacity:1;transform:none}
.hw-legal-pie{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:center;padding:1rem;font-size:.85rem}
.hw-texto{max-width:760px;margin:0 auto;padding:3rem 1.25rem;line-height:1.65;overflow-wrap:anywhere}
.hw-texto--ancho{max-width:calc(var(--hw-ancho,1180px) + 2.5rem)}
.hw-form{display:grid;gap:1rem;max-width:560px}.hw-form label{display:grid;gap:.35rem;font-weight:600}
.hw-form input:not([type=checkbox]),.hw-form textarea{width:100%;padding:.7rem .85rem;font:inherit;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit}
.hw-form .hw-acepto{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;font-size:.9rem}
.hw-form .hw-acepto input{flex:none;width:auto!important}
.hw-form .hw-acepto input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;width:1.15rem!important;height:1.15rem!important;min-height:0!important;padding:0!important;margin:.15rem 0 0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;accent-color:var(--hw-acento,#3b6db5);cursor:pointer}
.hw-form input[type=file]{padding:.65rem;border-style:dashed;cursor:pointer}.hw-archivos small{font-weight:400;font-size:.8rem;opacity:.7}
.hw-form button{justify-self:start;padding:.75rem 1.5rem;font:inherit;font-weight:600;cursor:pointer}
.hw-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hw-blog{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.hw-blog article{display:grid;gap:.4rem;align-content:start}
.hw-tarjeta__img{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:rgba(127,127,127,.12)}
.hw-tarjeta__img img{width:100%;height:100%;object-fit:cover;display:block}
.hw-tarjeta h3{margin:.2rem 0}.hw-tarjeta h3 a{color:inherit;text-decoration:none}
.hw-tarjeta time,.hw-post__meta{font-size:.85rem;opacity:.75}
.hw-paginas{display:flex;gap:.5rem;justify-content:center;margin-top:2rem}.hw-paginas a,.hw-paginas span{padding:.4rem .8rem;border-radius:8px;border:1px solid rgba(127,127,127,.35)}
.hw-post{max-width:780px;margin:0 auto;padding:3rem 1.25rem;line-height:1.7;overflow-wrap:anywhere}
.hw-post h1{line-height:1.2;margin:.3rem 0 1.2rem}
.hw-post__portada{margin:0 0 2rem}.hw-post__portada img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block}
.hw-post__texto img{border-radius:8px}.hw-post__volver{margin-top:2.5rem}
.hw-comentarios{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(127,127,127,.25)}
.hw-comentarios__lista{list-style:none;padding:0;display:grid;gap:1rem}.hw-comentario__autor{margin:0 0 .25rem;font-size:.9rem}
.hw-form--comentario{margin-top:1.5rem}
.hw-humano{--hw-acento:#3b6db5;display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;border:1px solid rgba(127,127,127,.35);border-radius:12px;background:rgba(127,127,127,.06);cursor:pointer;user-select:none;font-weight:400;max-width:340px}
.hw-humano__caja{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid rgba(127,127,127,.55);display:grid;place-items:center;transition:background .25s,border-color .25s}
.hw-humano__caja svg{width:16px;height:16px;stroke:#fff;stroke-width:3;fill:none;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .35s ease .1s}
.hw-humano__texto{display:grid;line-height:1.25}.hw-humano__texto small{font-size:.72rem;opacity:.65}
.hw-humano.esta-pensando .hw-humano__caja{border-color:var(--hw-acento);border-right-color:transparent;border-radius:50%;animation:hw-girar .8s linear infinite}
.hw-humano.esta-listo .hw-humano__caja{background:var(--hw-acento);border-color:var(--hw-acento)}
.hw-humano.esta-listo .hw-humano__caja svg{stroke-dashoffset:0}
.hw-humano.esta-fallo .hw-humano__caja{border-color:#c0392b}
@keyframes hw-girar{to{transform:rotate(360deg)}}
.hw-aviso{display:none;position:fixed;inset:0;z-index:1000;place-items:center;padding:1.25rem;background:rgba(15,23,42,.5)}
.hw-aviso:target{display:grid;animation:hw-aparecer .25s ease}
.hw-aviso__caja{max-width:420px;width:100%;padding:2rem 1.75rem;border-radius:16px;background:#fff;color:#1f2937;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.hw-aviso__icono{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#e8f5ee;color:#1e8a4c}
.hw-aviso--error .hw-aviso__icono{background:#fdecea;color:#c0392b}
.hw-aviso__icono svg{width:28px;height:28px;stroke:currentColor;stroke-width:2.5;fill:none}
.hw-aviso__caja h2{margin:0 0 .5rem;font-size:1.3rem}.hw-aviso__caja p{margin:0 0 1.25rem;line-height:1.5}
.hw-aviso__cerrar{display:inline-block;padding:.6rem 1.4rem;border-radius:10px;background:#1f2937;color:#fff;text-decoration:none;font-weight:600}
@keyframes hw-aparecer{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.hw-humano.esta-pensando .hw-humano__caja{animation:none}.hw-aviso:target{animation:none}}
/* Fuera del fondo nunca se ve: la hoja de la IA podría darle display y enseñarlo en la página. */
:not(.hw-modal-fondo)>[data-modal]{display:none!important}
.hw-modal-fondo{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:4.5rem 1rem 1.5rem;overflow-y:auto;background:rgba(15,23,42,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}
.hw-modal-fondo[hidden]{display:none}.hw-modal-fondo.esta-abierto{opacity:1}
:where(.hw-modal-fondo>[data-modal]){width:min(620px,100%);padding:2rem 1.75rem;border-radius:18px;background:#fff;color:#1f2937;box-shadow:0 24px 70px rgba(0,0,0,.3);transform:translateY(14px) scale(.98);transition:transform .3s ease}
.hw-modal-fondo.esta-abierto>[data-modal]{transform:none}
.hw-modal-cerrar{position:fixed;top:1rem;right:1rem;z-index:901;width:46px;height:46px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111827;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.hw-modal-cerrar svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.5;fill:none;stroke-linecap:round}
.hw-modal-cerrar:hover{transform:scale(1.06)}.hw-modal-cerrar:focus-visible{outline:3px solid #3b6db5;outline-offset:3px}
html.hw-con-modal{overflow:hidden}
@media (prefers-reduced-motion:reduce){.hw-modal-fondo,.hw-modal-fondo>[data-modal]{transition:none}}
.hw-solo-oscuro{display:none!important}
@media (prefers-color-scheme:dark){:root:not(:has(details[data-modo][open],details.modo[open])) .hw-solo-oscuro{display:revert!important}:root:not(:has(details[data-modo][open],details.modo[open])) .hw-solo-claro{display:none!important}}
@media (prefers-color-scheme:light){:root:has(details[data-modo][open],details.modo[open]) .hw-solo-oscuro{display:revert!important}:root:has(details[data-modo][open],details.modo[open]) .hw-solo-claro{display:none!important}}
:root{--fondo:#f6f4ef;--fondo-2:#ffffff;--texto:#141a24;--texto-2:#4a5565;--acento:#002e7a;--acento-suave:rgba(0,46,122,.1);--acento-tinta:#ffffff;--linea:rgba(20,26,36,.12);--tinta:#07173a;--tinta-2:#002e7a;--tinta-texto:#eef1f5;--tinta-texto-2:#b3bcc9;--sombra:0 20px 50px -24px rgba(15,23,36,.35);--radio:1.25rem;color-scheme:light}
.icono-sol{display:none}.icono-luna{display:block}
@media (prefers-color-scheme:dark){:root{--fondo:#0d1219;--fondo-2:#141b25;--texto:#eef1f5;--texto-2:#aab3c0;--acento:#7fb0ff;--acento-suave:rgba(127,176,255,.14);--acento-tinta:#061126;--linea:rgba(255,255,255,.12);--tinta:#050c1c;--tinta-2:#0b2252;--sombra:0 20px 50px -24px rgba(0,0,0,.7);color-scheme:dark}.icono-sol{display:block}.icono-luna{display:none}
:root:has(details[data-modo][open]){--fondo:#f6f4ef;--fondo-2:#ffffff;--texto:#141a24;--texto-2:#4a5565;--acento:#002e7a;--acento-suave:rgba(0,46,122,.1);--acento-tinta:#ffffff;--linea:rgba(20,26,36,.12);--tinta:#07173a;--tinta-2:#002e7a;--sombra:0 20px 50px -24px rgba(15,23,36,.35);color-scheme:light}:root:has(details[data-modo][open]) .icono-sol{display:none}:root:has(details[data-modo][open]) .icono-luna{display:block}}
@media (prefers-color-scheme:light){:root:has(details[data-modo][open]){--fondo:#0d1219;--fondo-2:#141b25;--texto:#eef1f5;--texto-2:#aab3c0;--acento:#7fb0ff;--acento-suave:rgba(127,176,255,.14);--acento-tinta:#061126;--linea:rgba(255,255,255,.12);--tinta:#050c1c;--tinta-2:#0b2252;--sombra:0 20px 50px -24px rgba(0,0,0,.7);color-scheme:dark}:root:has(details[data-modo][open]) .icono-sol{display:block}:root:has(details[data-modo][open]) .icono-luna{display:none}}

.hw-solo-oscuro{display:none}
@media (prefers-color-scheme:dark){.hw-solo-claro{display:none}.hw-solo-oscuro{display:block}:root:has(details[data-modo][open]) .hw-solo-claro{display:block}:root:has(details[data-modo][open]) .hw-solo-oscuro{display:none}}
@media (prefers-color-scheme:light){:root:has(details[data-modo][open]) .hw-solo-claro{display:none}:root:has(details[data-modo][open]) .hw-solo-oscuro{display:block}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--texto);background:var(--fondo);transition:background-color .3s,color .3s}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:'Outfit',sans-serif;line-height:1.1;letter-spacing:-.02em;margin:0 0 .6em;font-weight:700}
h1{font-size:clamp(2.4rem,6vw,4.4rem)}
h2{font-size:clamp(1.8rem,4vw,2.9rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1em}
a{color:var(--acento);text-decoration-thickness:1px;text-underline-offset:.2em;transition:color .2s}
:focus-visible{outline:3px solid var(--acento);outline-offset:3px;border-radius:.3em}
.contenedor{width:min(100% - 2.5rem,72rem);margin-inline:auto}
section{padding:clamp(4rem,9vw,7.5rem) 0}
.antetitulo{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acento);margin:0 0 1.2rem}
.antetitulo::before{content:'';width:2rem;height:2px;background:currentColor;border-radius:2px}
.apoyo{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--texto-2);max-width:40rem}
.boton{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1.6rem;border-radius:999px;background:var(--acento);color:var(--acento-tinta);text-decoration:none;border:2px solid var(--acento);cursor:pointer;font:inherit;font-weight:600;line-height:1.2;transition:transform .25s,box-shadow .25s,background-color .25s,color .25s,border-color .25s}
.boton:hover,.boton:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px -12px var(--acento)}
.boton svg{width:1.1em;height:1.1em;transition:transform .25s}
.boton:hover svg{transform:translateX(4px)}
.boton-linea{background:transparent;color:var(--texto);border-color:var(--linea)}
.boton-linea:hover,.boton-linea:focus-visible{border-color:var(--acento);color:var(--acento);box-shadow:none}
.boton-peq{padding:.6rem 1.1rem;font-size:.9rem}
.enlace-flecha{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;color:var(--acento)}
.enlace-flecha svg{width:1.1em;height:1.1em;transition:transform .25s}
.enlace-flecha:hover svg,.enlace-flecha:focus-visible svg{transform:translateX(5px)}
.acciones{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--fondo) 85%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linea);position:sticky}
.cabecera-int{width:min(100% - 2.5rem,72rem);margin-inline:auto;display:flex;align-items:center;gap:1rem;min-height:4.5rem;position:relative}
.logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--texto);font-family:'Outfit',sans-serif;font-size:1.25rem;letter-spacing:-.01em;margin-right:auto}
.logo strong{font-weight:700}
.logo img{height:clamp(2.1rem,4vw,2.8rem);width:auto;flex:none;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.logo:hover img,.logo:focus-visible img{transform:scale(1.04)}
.menu-boton{display:none}
.menu-lista{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.6rem}
.menu-lista a:not(.boton){color:var(--texto);text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding:.3rem 0}
.menu-lista a:not(.boton)::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--acento);transform:scaleX(0);transform-origin:right;transition:transform .3s}
.menu-lista a:not(.boton):hover::after,.menu-lista a:not(.boton):focus-visible::after{transform:scaleX(1);transform-origin:left}
.modo{margin-left:.5rem;flex:none}
.modo summary{list-style:none;cursor:pointer;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center;color:var(--texto);transition:background-color .25s,transform .25s,border-color .25s}
.modo summary::-webkit-details-marker{display:none}
.modo summary:hover{background:var(--acento-suave);border-color:var(--acento);transform:rotate(20deg)}
.modo svg{width:1.2rem;height:1.2rem}
@media (max-width:860px){
.menu-boton{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:2.6rem;height:2.6rem;background:none;border:1px solid var(--linea);border-radius:.6rem;cursor:pointer;padding:0;flex:none}
.menu-boton span{width:1.2rem;height:2px;background:var(--texto);border-radius:2px;transition:transform .3s,opacity .3s}
.menu{position:static}
.menu-lista{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--fondo-2);border-bottom:1px solid var(--linea);padding:.5rem 1.25rem 1.25rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s;box-shadow:var(--sombra)}
.menu-lista.esta-abierto{transform:none;opacity:1;visibility:visible}
.menu-lista li{border-bottom:1px solid var(--linea)}
.menu-lista li a:not(.boton){display:block;padding:.9rem 0;font-size:1.05rem}
.menu-lista li a:not(.boton)::after{display:none}
.menu-lista .menu-cta{border:0;padding-top:1rem}
}

/* Hero */
.hero{position:relative;overflow:hidden;padding:clamp(5rem,12vw,9rem) 0 clamp(4rem,10vw,7rem);min-height:min(88vh,52rem);display:flex;align-items:center}
.hero-int{position:relative;z-index:1;max-width:46rem}
.hero h1{margin-bottom:1.2rem}
.hero h1 em{font-style:normal;color:var(--acento)}
.hero-fondo{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-fondo .mancha{position:absolute;width:60vw;height:60vw;max-width:46rem;max-height:46rem;right:-18vw;top:-18vw;border-radius:50%;background:radial-gradient(circle,var(--acento-suave),transparent 65%);animation:respira 9s ease-in-out infinite}
.hero-fondo span{position:absolute;border-radius:50%;border:1.5px solid var(--acento);opacity:.4;animation:orbita 18s linear infinite}
.hero-fondo span::before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:var(--acento);top:-6px;left:50%;margin-left:-6px}
.hero-fondo .anillo-1{width:38vw;height:38vw;max-width:34rem;max-height:34rem;right:-6vw;top:-2vw}
.hero-fondo .anillo-2{width:26vw;height:26vw;max-width:24rem;max-height:24rem;right:0;top:12vw;animation-duration:26s;animation-direction:reverse;border-style:dashed}
.hero-fondo .anillo-3{width:14vw;height:14vw;max-width:14rem;max-height:14rem;right:6vw;top:24vw;animation-duration:12s;border-width:6px;opacity:.2}
@media (max-width:700px){.hero-fondo .anillo-1{width:70vw;height:70vw;right:-30vw;top:-10vw}.hero-fondo .anillo-2{width:45vw;height:45vw;right:-10vw;top:40vw}.hero-fondo .anillo-3{display:none}}
@keyframes orbita{to{transform:rotate(360deg)}}
@keyframes respira{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}
@keyframes subir{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero .antetitulo,.hero h1,.hero .apoyo,.hero .acciones{animation:subir .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1{animation-delay:.1s}.hero .apoyo{animation-delay:.22s}.hero .acciones{animation-delay:.34s}

/* Revelado al entrar en pantalla */
[data-revelar]{animation:subir .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--d,0)*.12s)}
@supports (animation-timeline:view()){[data-revelar]{animation-timeline:view();animation-range:entry calc(var(--d,0)*5%) entry 40%;animation-delay:0s}}

/* Propuesta */
.propuesta-rejilla{display:grid;gap:3rem;grid-template-columns:1fr}
@media (min-width:900px){.propuesta-rejilla{grid-template-columns:1.1fr 1fr;align-items:start}.propuesta-texto{position:sticky;top:6rem}}
.valores{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.valores li{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding:1.4rem;border:1px solid var(--linea);border-radius:var(--radio);background:var(--fondo-2);transition:transform .3s,box-shadow .3s,border-color .3s}
.valores li:nth-child(2){--d:1}.valores li:nth-child(3){--d:2}.valores li:nth-child(4){--d:3}
.valores li:hover{transform:translateY(-4px);box-shadow:var(--sombra);border-color:var(--acento)}
.valores .num{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:700;color:var(--acento);line-height:1}
.valores strong{display:block;font-family:'Outfit',sans-serif;font-size:1.15rem;margin-bottom:.25rem}
.valores p{margin:0;color:var(--texto-2);font-size:.98rem}

/* Banda oscura reutilizable */
.tinta,.marcas,.cta-caja,.pie{--acento:#7fb0ff;--acento-suave:rgba(127,176,255,.14);--acento-tinta:#061126;--texto:#eef1f5;--texto-2:#b3bcc9;--linea:rgba(255,255,255,.14);--fondo-2:#0f2654;--sombra:0 20px 50px -24px rgba(0,0,0,.7);color:var(--texto)}

/* Marcas */
.marcas{background:var(--tinta);position:relative;overflow:hidden}
.marcas-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:3rem}
.marcas-cabeza h2{max-width:18ch}
.marcas-tira{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marcas-pista{display:flex;width:max-content;animation:desfile 40s linear infinite;will-change:transform}
.marcas-grupo{display:flex;flex:none;gap:1.25rem;padding-right:1.25rem}
.marcas-tira:hover .marcas-pista,.marcas-tira:focus-within .marcas-pista{animation-play-state:paused}
.marca{flex:0 0 auto;width:13rem;height:6.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:1px dashed var(--linea);border-radius:1rem;background:rgba(255,255,255,.04);color:var(--texto-2);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;transition:border-color .3s,background-color .3s,transform .3s}
.marca svg{width:2rem;height:2rem;color:var(--acento);opacity:.7}
.marca img{max-height:3.5rem;max-width:78%;width:auto;object-fit:contain;transition:transform .3s}
.marca:hover img{transform:scale(1.04)}
.rejilla-marcas .marca img{max-height:4.2rem}
.marca:hover{border-color:var(--acento);background:var(--acento-suave);transform:translateY(-3px)}
@keyframes desfile{to{transform:translateX(calc(-100% / 3))}}

/* Servicios */
.servicios-rejilla{display:grid;gap:3rem}
@media (min-width:900px){.servicios-rejilla{grid-template-columns:1fr 1.3fr;align-items:start}}
.lista-servicios{list-style:none;margin:0;padding:0;counter-reset:s}
.lista-servicios li{counter-increment:s;display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:1.6rem 0;border-top:1px solid var(--linea);transition:padding-left .3s}
.lista-servicios li:nth-child(2){--d:1}.lista-servicios li:nth-child(3){--d:2}
.lista-servicios li:last-child{border-bottom:1px solid var(--linea)}
.lista-servicios li::before{content:'0' counter(s);font-family:'Outfit',sans-serif;font-weight:700;font-size:1.2rem;color:var(--acento)}
.lista-servicios li:hover{padding-left:.6rem}
.lista-servicios strong{display:block;font-family:'Outfit',sans-serif;font-size:1.2rem;margin-bottom:.2rem}
.lista-servicios p{margin:0;color:var(--texto-2)}
.lista-servicios svg{width:1.4rem;height:1.4rem;color:var(--acento);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.lista-servicios li:hover svg{opacity:1;transform:none}

/* CTA */
.cta{padding-top:0}
.cta-caja{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--tinta),var(--tinta-2));border-radius:calc(var(--radio)*1.5);padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,5vw,4rem);text-align:center}
.cta-caja::before{content:'';position:absolute;inset:-60%;background:conic-gradient(from 0deg,transparent 0 68%,rgba(127,176,255,.28) 84%,transparent 100%);animation:orbita 16s linear infinite;pointer-events:none}
.cta-caja>*{position:relative}
.cta-caja h2{margin-inline:auto;max-width:20ch}
.cta-caja p{max-width:44ch;margin:0 auto 1.5rem;color:var(--texto-2)}

/* Páginas interiores */
.pagina-cabeza{padding:clamp(4rem,9vw,6rem) 0 1rem}
.pagina-cabeza h1{max-width:20ch}
.rejilla-2{display:grid;gap:3rem}
@media (min-width:860px){.rejilla-2{grid-template-columns:1fr 1.2fr;align-items:start}}
.datos-contacto{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.datos-contacto li{display:grid;gap:.2rem}
.datos-contacto span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-2)}
.datos-contacto a{color:var(--texto);text-decoration:none;font-weight:500}
.datos-contacto a:hover{color:var(--acento)}
.caja{background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(1.5rem,4vw,2.5rem)}
.rejilla-marcas{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.rejilla-marcas .marca{width:auto;height:8rem;background:var(--fondo-2)}

/* Formularios */
.hw-form{display:grid;gap:1rem}
.hw-form label{display:grid;gap:.4rem;font-weight:500;font-size:.95rem}
.hw-form input,.hw-form textarea,.hw-form select{font:inherit;padding:.85rem 1rem;border:1px solid var(--linea);border-radius:.8rem;background:var(--fondo-2);color:var(--texto);width:100%;transition:border-color .2s,box-shadow .2s}
.hw-form input:focus,.hw-form textarea:focus,.hw-form select:focus{outline:none;border-color:var(--acento);box-shadow:0 0 0 4px var(--acento-suave)}
.hw-form textarea{min-height:8rem;resize:vertical}
.hw-form button,.hw-form [type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.6rem;border-radius:999px;background:var(--acento);color:var(--acento-tinta);border:2px solid var(--acento);cursor:pointer;font:inherit;font-weight:600;transition:transform .25s,box-shadow .25s}
.hw-form button:hover,.hw-form [type=submit]:hover{transform:translateY(-3px);box-shadow:0 14px 30px -12px var(--acento)}
.hw-humano{font-size:.9rem;color:var(--texto-2)}

/* Modal */
.modal-caja{background:var(--fondo-2);color:var(--texto);border-radius:var(--radio);padding:clamp(1.5rem,4vw,2.5rem);width:min(100%,34rem);box-shadow:var(--sombra);max-height:90vh;overflow:auto;animation:subir .4s cubic-bezier(.2,.7,.2,1) both}
.modal-caja h2{font-size:1.6rem}
.modal-caja .apoyo{font-size:1rem;margin-bottom:1.5rem}

/* Blog */
.hw-blog{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));padding:2rem 0 clamp(4rem,9vw,7rem)}
.hw-tarjeta{background:var(--fondo-2);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.hw-tarjeta:hover{transform:translateY(-5px);box-shadow:var(--sombra);border-color:var(--acento)}
.hw-tarjeta img{aspect-ratio:16/9;object-fit:cover;width:100%}
.hw-tarjeta a{color:var(--texto);text-decoration:none}
.hw-tarjeta h2,.hw-tarjeta h3{font-size:1.3rem}
.hw-post{width:min(100% - 2.5rem,46rem);margin-inline:auto;padding:clamp(3rem,7vw,5rem) 0}
.hw-post img{border-radius:var(--radio)}
.hw-post h1{font-size:clamp(2rem,5vw,3.2rem)}
.hw-post h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:2em}

/* Pie */
.pie{background:var(--tinta);padding:clamp(3.5rem,7vw,6rem) 0 2rem}
.pie-rejilla{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media (min-width:700px){.pie-rejilla{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.pie h2{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--acento);margin-bottom:1rem;font-weight:600}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pie a{color:var(--texto);text-decoration:none;transition:color .2s,padding-left .2s}
.pie ul a:hover,.pie ul a:focus-visible{color:var(--acento);padding-left:.3rem}
.pie address{font-style:normal;color:var(--texto-2);line-height:1.7}
.pie address a{display:block;color:var(--texto)}
.pie address a:hover{color:var(--acento)}
.pie .logo{color:var(--texto);margin:0 0 1rem}
.pie .logo img{height:3rem}
.pie-frase{color:var(--texto-2);max-width:30ch}
.pie-cta{margin-top:3rem;padding:2rem;border:1px solid var(--linea);border-radius:var(--radio);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;background:rgba(255,255,255,.03)}
.pie-cta p{margin:0;font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:600;max-width:28ch}
.pie-bajo{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.9rem;color:var(--texto-2)}

/* Logos de marcas sin versión invertida: máscara blanca sobre fondo oscuro */
.logo-mascara{filter:none}
.marcas .logo-mascara{filter:invert(1) grayscale(1) brightness(1.3) contrast(1.05)!important}
@media (prefers-color-scheme:dark){.logo-mascara{filter:invert(1) grayscale(1) brightness(1.3) contrast(1.05)}:root:has(details[data-modo][open]) .logo-mascara{filter:none}}
@media (prefers-color-scheme:light){:root:has(details[data-modo][open]) .logo-mascara{filter:invert(1) grayscale(1) brightness(1.3) contrast(1.05)}}

/* 404 */
.error{text-align:center;padding:clamp(5rem,12vw,9rem) 0}
.error .cifra{font-family:'Outfit',sans-serif;font-size:clamp(5rem,20vw,11rem);font-weight:700;line-height:1;color:var(--acento);margin:0;animation:flota 4s ease-in-out infinite}
.error h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.error .apoyo{margin-inline:auto}
@keyframes flota{50%{transform:translateY(-12px)}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}