
  body{margin:0;background:#f5f3ef;font-family:'Archivo',Helvetica,Arial,sans-serif;}
  p,.wk-p{font-family:'Space Grotesk',Helvetica,Arial,sans-serif;letter-spacing:-0.005em;}
  input,textarea,button,select{font-family:inherit;}
  a{color:#0a0a0a;text-decoration:none;transition:color .2s ease;}
  a:hover{color:#d4b012;}
  .wk-nav-link{color:#0a0a0a;font-weight:600;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;}
  .wk-nav-link:hover{color:#d4b012;}
  .wk-reveal{opacity:0;transform:translateY(16px);transition:opacity .45s cubic-bezier(0.23,1,0.32,1),transform .5s cubic-bezier(0.23,1,0.32,1);}
  .wk-reveal.wk-visible{opacity:1;transform:translateY(0);}
  .wk-play{transition:transform .18s cubic-bezier(0.23,1,0.32,1),background-color .18s ease;}
  @keyframes wk-heroscale{0%{transform:scale(1);}100%{transform:scale(1.08);}}
  .wk-card{transition:transform .3s cubic-bezier(0.23,1,0.32,1);}
  .wk-card-wrap{overflow:hidden;}
  @media (hover:hover) and (pointer:fine){
    .wk-card-wrap:hover .wk-card{transform:scale(1.04);}
    .wk-card-wrap:hover .wk-play{transform:scale(1.08);background:rgba(10,10,10,0.72);}
  }
  img[id^="cliente-"]{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;filter:grayscale(100%);opacity:0.7;transition:filter .3s ease,opacity .3s ease;}
  .cliente-logo{filter:grayscale(100%);opacity:0.7;transition:filter .25s ease,opacity .25s ease;}
  @media (hover:hover) and (pointer:fine){
    img[id^="cliente-"]:hover{filter:grayscale(0%);opacity:1;}
    .cliente-logo:hover{filter:grayscale(0%);opacity:1;}
  }

*{box-sizing:border-box;}
img{max-width:100%;}
[hidden]{display:none !important;}
.wk-nav-desktop{display:flex;}
.wk-hero-mobile{display:none;}
@media (max-width:999px) and (orientation:portrait){
  .wk-hero-mobile{display:block;}
  .wk-hero-desktop{display:none;}
}
.wk-burger{display:none;flex-direction:column;justify-content:center;}
@media (max-width:999px){
  .wk-nav-desktop{display:none;}
  .wk-burger{display:flex;}
}
.wk-chip{padding:8px 18px;border:1px solid #3a3936;background:transparent;color:#c9c6c0;font-family:'Archivo',sans-serif;font-weight:600;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;}
.wk-chip.is-active{border-color:#d4b012;background:#d4b012;color:#0a0a0a;}
.wk-switch{flex:none;width:46px;height:26px;border-radius:13px;border:1px solid #3a3936;background:transparent;display:flex;align-items:center;justify-content:flex-start;padding:2px;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.wk-switch span{display:block;width:20px;height:20px;border-radius:50%;background:#8a8781;}
.wk-switch[aria-pressed="true"]{border-color:#d4b012;background:#d4b012;justify-content:flex-end;}
.wk-switch[aria-pressed="true"] span{background:#0a0a0a;}

.legal-page h1{font-family:'Archivo',Helvetica,Arial,sans-serif;font-weight:900;font-size:clamp(34px,6vw,56px);line-height:1.04;letter-spacing:-0.02em;color:#0a0a0a;margin:0 0 clamp(32px,5vw,52px);}
.legal-page section{padding-top:clamp(28px,4vw,40px);margin-top:clamp(28px,4vw,40px);border-top:1px solid #ddd9d1;}
.legal-page section:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.legal-page h2{font-family:'Archivo',Helvetica,Arial,sans-serif;font-weight:800;font-size:clamp(19px,2.4vw,24px);letter-spacing:-0.01em;color:#0a0a0a;margin:0 0 18px;}
.legal-page p{font-size:15px;line-height:1.8;color:#5a5752;margin:0 0 16px;max-width:66ch;text-wrap:pretty;}
.legal-page p:last-child{margin-bottom:0;}
.legal-page strong{color:#0a0a0a;font-weight:600;}
.legal-page .legal-datos{line-height:2;}
.legal-page a{color:#0a0a0a;text-decoration:underline;text-underline-offset:3px;}
.legal-page a:hover{color:#d4b012;}

.legal-page ul{margin:0 0 16px;padding-left:22px;}
.legal-page li{font-family:'Space Grotesk',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.8;color:#5a5752;margin-bottom:6px;max-width:64ch;}
.legal-page li::marker{color:#d4b012;}

.legal-page h3{font-family:'Archivo',Helvetica,Arial,sans-serif;font-weight:700;font-size:16px;letter-spacing:0.01em;color:#0a0a0a;margin:28px 0 14px;}
.legal-page code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:#e6e2da;padding:2px 6px;}
.table-responsive{overflow-x:auto;margin:0 0 18px;border:1px solid #ddd9d1;}
.legal-page table{width:100%;border-collapse:collapse;min-width:520px;}
.legal-page th{font-family:'Archivo',Helvetica,Arial,sans-serif;font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#0a0a0a;text-align:left;padding:12px 14px;background:#e9e5dd;border-bottom:1px solid #ddd9d1;}
.legal-page td{font-family:'Space Grotesk',Helvetica,Arial,sans-serif;font-size:13.5px;line-height:1.6;color:#5a5752;padding:12px 14px;border-bottom:1px solid #e4e0d8;vertical-align:top;}
.legal-page tr:last-child td{border-bottom:none;}
.legal-page td:first-child{color:#0a0a0a;font-weight:500;white-space:nowrap;}


/* --- Movimiento: curvas cortas, solo transform y opacity --- */
:root{
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
}

/* Cabecera: el fondo entra desde arriba en lugar de conmutar de golpe */
#wk-header{transition:padding .45s var(--ease-drawer);}
#wk-header::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,10,10,0.96) 0%,rgba(10,10,10,0.92) 70%,rgba(10,10,10,0.86) 100%);
  border-bottom:1px solid rgba(245,243,239,0.10);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  opacity:0;transition:opacity .5s ease;
}
#wk-header.is-stuck::before{opacity:1;}

/* Modal de vídeo */
#wk-modal{opacity:0;transition:opacity .15s var(--ease-out);}
#wk-modal.is-open{opacity:1;transition-duration:.2s;}
#wk-modal > div{
  transform:scale(.96);opacity:0;transform-origin:center;
  transition:transform .16s var(--ease-out),opacity .14s var(--ease-out);
}
#wk-modal.is-open > div{transform:scale(1);opacity:1;transition-duration:.26s,.2s;}

/* Menú móvil: panel y enlaces en cascada */
#wk-menu{opacity:0;transition:opacity .14s var(--ease-out);}
#wk-menu.is-open{opacity:1;transition-duration:.2s;}
#wk-menu nav a{opacity:0;transform:translateY(10px);transition:opacity .1s var(--ease-out),transform .1s var(--ease-out);}
#wk-menu.is-open nav a{opacity:1;transform:translateY(0);transition-duration:.26s;}
#wk-menu.is-open nav a:nth-child(1){transition-delay:.04s;}
#wk-menu.is-open nav a:nth-child(2){transition-delay:.07s;}
#wk-menu.is-open nav a:nth-child(3){transition-delay:.10s;}
#wk-menu.is-open nav a:nth-child(4){transition-delay:.13s;}
#wk-menu.is-open nav a:nth-child(5){transition-delay:.16s;}
#wk-menu.is-open nav a:nth-child(6){transition-delay:.19s;}

/* Con una sola pieza visible, la tarjeta no debe ocupar todo el ancho */
#portfolio .wk-group.is-sparse{grid-template-columns:repeat(2,minmax(0,1fr)) !important;justify-content:start;}

/* Llamada a la acción del hero: subrayado que crece y flecha que avanza */
.wk-hero-cta-label{position:relative;}
.wk-hero-cta-label::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:#d4b012;transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(0.23,1,0.32,1);}
.wk-hero-cta-arrow{transition:transform .24s cubic-bezier(0.23,1,0.32,1);}
@media (hover:hover) and (pointer:fine){
  .wk-hero-cta:hover .wk-hero-cta-label::after{transform:scaleX(1);}
  .wk-hero-cta:hover .wk-hero-cta-arrow{transform:translateX(5px);}
}

/* Banner de cookies */
#wk-cookies{transform:translateY(12px);opacity:0;transition:transform .16s var(--ease-out),opacity .14s var(--ease-out);box-shadow:0 -24px 60px rgba(0,0,0,0.55);}
#wk-cookies::before{content:"";position:absolute;left:0;right:0;top:-88px;height:88px;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,0.45),rgba(0,0,0,0));}
#wk-cookies.is-open{transform:translateY(0);opacity:1;transition:transform .4s var(--ease-drawer),opacity .28s var(--ease-out);}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transform:none !important;animation:none !important;}
  .wk-reveal,.wk-group > *{opacity:1 !important;}
  #wk-menu nav a{opacity:1 !important;}
}

/* --- Revelado por grupos: entran en orden, no según acabe la descarga --- */
.wk-group > *{opacity:0;transform:translateY(14px);}
.wk-group > *{opacity:0;transform:translateY(10px);}
.wk-group.is-in > *{
  opacity:1;transform:translateY(0);
  transition:opacity .34s var(--ease-out),transform .38s var(--ease-out);
  transition-delay:calc(var(--i,0) * 35ms);
}
.wk-group.is-in img[id^="cliente-"]{transition:opacity .34s var(--ease-out),transform .38s var(--ease-out),filter .25s ease;}
@media (prefers-reduced-motion:reduce){
  .wk-group > *{opacity:1 !important;transform:none !important;}
}

/* --- Respuesta al pulsar: la interfaz confirma que ha oído --- */
button,.wk-chip,.wk-switch,#wk-cookies a{
  transition:transform .16s var(--ease-out),color .2s ease,background-color .2s ease,border-color .2s ease;
}
button:active,.wk-chip:active{transform:scale(0.97);}
.wk-switch:active{transform:scale(0.95);}
.wk-switch span{transition:background-color .2s ease;}
:focus-visible{outline:2px solid #d4b012;outline-offset:3px;}

/* El hero deja de moverse cuando el usuario ya no lo está mirando */
@media (prefers-reduced-motion:reduce){
  .wk-hero-desktop img,.wk-hero-mobile img{animation:none !important;}
}
