/* WebKoi web design tokens, copied from the existing site source. */
:root {

  /* --- Color. Cada uno tiene UN trabajo. --------------------- */
  --color-blue: #133155;        /* suelo y tinta */
  --color-blue-deep: #0C2039;   /* cierres, tarjetas sobre campo calido */
  --color-rust: #BE4A1B;        /* campo calido a pantalla completa */
  --color-orange: #FF931E;      /* SENAL Y SOLO SENAL: boton, foco, dato vivo */
  --color-chalk: #EFEBE2;       /* lectura y herramientas */
  /* Tinta sobre campo calido. El rust es demasiado claro para atenuar
     texto encima: medido contra el 4.5 de la AA, la crema se queda en
     4.22 incluso a pleno color y el blanco al 90% en 4.37. El blanco
     puro da 5.02 y es la unica que pasa, asi que sobre rust la
     jerarquia la marcan el tamano y el peso, nunca la opacidad. */
  --color-on-rust: #FFFFFF;

  /* Derivados de estado. No son colores nuevos: son el mismo
     sistema en sus variantes funcionales. */
  --color-chalk-raised: #FBF9F5;
  --color-error: #A3341C;
  --color-success: #2F6B4F;
  --color-line: rgb(19 49 85 / 0.14);
  --color-line-inverse: rgb(239 235 226 / 0.20);

  /* Lavados de la tinta azul para los artefactos del Recorrido: relleno de
     burbuja entrante y tinte de cabecera (wash), burbuja saliente (strong).
     No son colores nuevos: la misma tinta que --color-line, en dos
     intensidades. Van en @theme para que Tailwind genere bg-ink-wash y
     bg-ink-wash-strong; el consumo va por esas utilidades. */
  --color-ink-wash: rgb(19 49 85 / 0.06);
  --color-ink-wash-strong: rgb(19 49 85 / 0.12);

  /* --- Tipografia ------------------------------------------- */
  --font-sans: var(--font-clash);
  --font-numeric: var(--font-archivo);

  --text-display: clamp(2.75rem, 6vw, 4.25rem);
  /* Titulo de pagina. Un escalon por debajo del display, que es solo de
     portada: si una pagina interior abre al tamano del hero, el sitio pierde
     la jerarquia entre "la portada" y "una pagina". */
  --text-h1: clamp(2.1rem, 4.6vw, 3.1rem);
  --text-h2: clamp(1.6rem, 3.2vw, 2.2rem);
  --text-h3: 1.0625rem;
  /* Entrada de seccion y de pagina (spec rediseno-editorial §3.5). El cuerpo
     de 0.9rem se queda para el texto de lectura; la entrada, que hoy salia
     a ese tamano y atenuada, pasa a pesar por tamano y no por opacidad. */
  --text-lead: 1.125rem;
  --text-lead--line-height: 1.55;
  --text-body: 0.9rem;
  --text-label: 0.625rem;

  --tracking-display: -0.033em;
  --tracking-h2: -0.026em;
  --tracking-h3: -0.012em;
  --tracking-label: 0.19em;

  /* --- Espaciado: CINCO niveles. Nada intermedio. ------------ */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 2rem;
  --space-4: 4rem;
  --space-5: 8rem;

  /* --- Foco: los dos tonos del anillo (ver la regla al final) - */
  --color-focus-inner: var(--color-orange);
  --color-focus-outer: var(--color-blue-deep);

  /* --- Forma: DOS radios. Nada mas. ------------------------- */
  --radius-control: 3px;
  --radius-surface: 6px;

  /* --- Motion: UN gesto ------------------------------------- */
  --ease-reveal: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-reveal: 600ms;
}
@font-face{font-family:Clash Grotesk;src:url('/fonts/ClashGrotesk-Variable.woff2') format('woff2');font-weight:200 700;font-display:swap}
@font-face{font-family:Archivo;src:url('/fonts/Archivo-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--font-clash:'Clash Grotesk',system-ui,sans-serif;--font-archivo:Archivo,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--color-chalk);color:var(--color-blue);font:400 var(--text-body)/1.6 var(--font-sans);font-synthesis:none}a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-h1);line-height:1.08;letter-spacing:var(--tracking-display);font-weight:600;margin-bottom:var(--space-3)}h2{font-size:var(--text-h2);line-height:1.12;letter-spacing:var(--tracking-h2);font-weight:600}h3{font-size:var(--text-h3);line-height:1.3;letter-spacing:var(--tracking-h3)}.eyebrow{font-size:var(--text-label);font-weight:500;letter-spacing:var(--tracking-label);line-height:1.6;text-transform:uppercase;margin-bottom:var(--space-2)}.lead{font-size:var(--text-lead);line-height:var(--text-lead--line-height);max-width:44rem}.wk-wrap{max-width:1280px;margin-inline:auto;padding-inline:24px}.wk-header{position:sticky;top:0;z-index:50;background:var(--color-chalk);border-bottom:1px solid var(--color-line)}.wk-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding-block:16px}.wk-logo{display:flex;flex-shrink:0}.wk-logo img{height:32px;width:auto}.wk-desktop-links{display:flex;gap:24px;align-items:center}.wk-desktop-links a{font-size:.875rem;font-weight:500;text-decoration:none;opacity:.7;white-space:nowrap}.wk-desktop-links a:hover,.wk-desktop-links [aria-current]{opacity:1}.wk-desktop-links [aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.wk-agenda{display:inline-flex;gap:8px;align-items:center;padding:10px 20px;border-radius:999px;background:var(--color-orange);color:var(--color-blue-deep);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.wk-agenda:hover{background:var(--color-rust);color:var(--color-chalk)}.wk-mobile-menu{display:none}.wk-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;font-size:.75rem;margin-bottom:var(--space-3);color:var(--color-blue)}.wk-breadcrumb a{opacity:.7;text-decoration:none}.wk-breadcrumb a:hover{text-decoration:underline;opacity:1}.wk-breadcrumb span[aria-hidden]{opacity:.4}.wk-page{padding-top:var(--space-3);padding-bottom:var(--space-4)}.wk-page-intro{max-width:48rem;margin-bottom:var(--space-4)}.wk-page-intro h1{max-width:46rem}.button,button.primary{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:14px 24px;border:1px solid transparent;border-radius:var(--radius-control);font-size:.9rem;font-weight:600;text-decoration:none;line-height:1.4;background:var(--color-orange);color:var(--color-blue-deep)}.button:hover,button.primary:hover{background:var(--color-rust);color:var(--color-chalk-raised)}.button.secondary{background:transparent;border-color:var(--color-line);color:var(--color-blue)}.button.secondary:hover{background:var(--color-chalk-raised);border-color:var(--color-blue)}.wk-note{font-size:.75rem;line-height:1.7;opacity:.75}.wk-footer{background:var(--color-blue-deep);color:var(--color-chalk);padding-block:var(--space-4);margin-top:0}.wk-footer a{opacity:.75;text-decoration:none}.wk-footer a:hover{opacity:1;text-decoration:underline}.wk-footer-top{display:grid;grid-template-columns:4fr 5fr 3fr;gap:32px}.wk-footer-brand{display:flex;align-items:flex-start;flex-direction:column;gap:16px;font-size:.875rem;max-width:17rem;opacity:1!important}.wk-footer-brand img{width:130px;height:auto}.wk-footer h2{font-size:var(--text-label);letter-spacing:var(--tracking-label);font-weight:500;text-transform:uppercase;opacity:.7;margin-bottom:16px;line-height:1.5}.wk-footer ul{list-style:none;margin:0;padding:0;font-size:.875rem}.wk-footer li{margin-bottom:8px}.wk-service-links{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.wk-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--color-line-inverse);margin-top:32px;padding-top:16px;font-size:.875rem}.wk-footer-bottom>ul,.wk-footer-legal{display:flex;flex-wrap:wrap;gap:8px 24px}.wk-footer-legal{max-width:30rem}.wk-copyright{font-size:.75rem;opacity:.7;margin:16px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-orange);outline-offset:2px;box-shadow:0 0 0 6px var(--color-blue-deep)}.wk-skip{position:fixed;top:-100px;left:16px;background:var(--color-chalk-raised);padding:12px;z-index:100}.wk-skip:focus{top:8px}
@media(min-width:1024px){.wk-wrap{padding-inline:32px}}@media(max-width:1100px){.wk-desktop-links{gap:16px}.wk-agenda{padding-inline:14px}}@media(max-width:1023px){.wk-desktop-links,.wk-agenda{display:none}.wk-mobile-menu{display:block}.wk-mobile-menu summary{display:flex;gap:12px;align-items:center;list-style:none;cursor:pointer;min-height:40px;padding:8px;font-size:1.25rem}.wk-mobile-menu summary::-webkit-details-marker{display:none}.wk-menu-label{font-size:.875rem}.wk-mobile-menu>nav{position:absolute;left:0;right:0;top:100%;background:var(--color-chalk);padding:24px;border-bottom:1px solid var(--color-line);display:grid;gap:16px}.wk-mobile-menu>nav a{font-size:1.125rem;text-decoration:none;justify-self:start}.wk-mobile-menu [aria-current]{text-decoration:underline}.wk-footer-top{grid-template-columns:1fr 1fr}.wk-footer-brand{grid-column:1/-1}.wk-footer-bottom{flex-direction:column}.wk-footer-legal{max-width:none}}
@media(max-width:600px){.wk-page{padding-bottom:var(--space-4)}.wk-page-intro{margin-bottom:var(--space-3)}.wk-footer-top{grid-template-columns:1fr}.wk-footer-brand{grid-column:auto}.wk-service-links{grid-template-columns:1fr 1fr}.wk-footer-bottom>ul{flex-direction:column;gap:0}.wk-footer-legal{gap:12px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.wk-header,.wk-footer,.wk-breadcrumb,.wk-skip{display:none}body{background:white}.wk-page{padding:0}}

.wk-mobile-contact,.wk-icon-close{display:none}.wk-mobile-menu[open] .wk-icon-menu{display:none}.wk-mobile-menu[open] .wk-icon-close{display:block}.wk-icon{width:20px;height:20px}@media(max-width:1023px){.wk-mobile-contact{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;margin-left:auto;border:1px solid var(--color-line);border-radius:999px;background:var(--color-chalk-raised)}.wk-nav{gap:12px}.wk-mobile-menu summary{padding:8px;min-width:40px;justify-content:center}}
