@font-face{font-family:Titular;src:url('assets/fonts/league-spartan-black.woff2') format('woff2');font-weight:900;font-display:swap}
@font-face{font-family:Swash;src:url('assets/fonts/knewave.woff2') format('woff2');font-display:swap}
@font-face{
  font-family:Instrument;
  src:url('assets/fonts/instrument-variable.woff2') format('woff2-variations');
  font-weight:400 700;
  font-stretch:75% 100%;
  font-display:swap;
}

:root{
  --negro:#0B0B0C;
  --negro-2:#121214;
  --blanco:#EBEDF7;
  --gris:#8D8F99;
  --gris-apagado:#CBCDD6;
  --gris-claro:#DCDEE7;
  --rojo:#8A1C2E;
  --rojo-claro:#DB5468;
  --rojo-denso:#5E1220;
  --azul:#0041A8;
  --azul-tinta:#18254C;
  --azul-claro:#9DB0FF;
  --ambar:#D9A46A;
  /* Polvo: los tonos de la marca con menos saturación, para superficies grandes. */
  --polvo-claro:#E4E5EA;
  --polvo-azul:#A3AECB;
  --polvo-mar:#33467A;
  --polvo-noche:#1D2540;
  --polvo-granate:#74303B;
  --polvo-sol:#EFDDBF;
  --fuente-titular:Titular,Instrument,system-ui,sans-serif;
  --curva:cubic-bezier(.22,1,.36,1);
  --texto:.9s var(--curva);
  --imagen:1s var(--curva);
  --margen:clamp(20px,4.4vw,72px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--negro)}
body{
  margin:0;
  background:var(--negro);
  color:var(--blanco);
  font:400 1.125rem/1.5 Instrument,system-ui,sans-serif;
  font-variation-settings:"wght" 400;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;overflow-wrap:anywhere;text-wrap:balance;font-weight:500;font-variation-settings:"wght" 500;letter-spacing:-.03em;line-height:1.02}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
body{overflow-wrap:anywhere}
main>section{scroll-margin-top:100px}
@media (min-width:621px){main>section{scroll-margin-top:76px}}
:focus-visible{outline:2px solid var(--rojo-claro);outline-offset:3px}
::selection{background:var(--rojo-claro);color:var(--negro)}
.skip{
  position:absolute;left:-9999px;top:0;z-index:60;
  display:flex;align-items:center;min-height:44px;
  background:var(--rojo);color:var(--blanco);padding:10px 16px;
}
.skip:focus{position:fixed;left:8px;top:8px}
.masthead{
  position:fixed;inset:0 0 auto 0;z-index:40;
  display:flex;align-items:center;gap:clamp(16px,4vw,48px);
  padding:10px var(--margen);
  font-size:0.9375rem;letter-spacing:.01em;
  background:linear-gradient(180deg,rgba(11,11,12,.92),rgba(11,11,12,.72) 58%,transparent);
  transition:transform .5s var(--curva),background-color .4s var(--curva);
}
.masthead.is-fondo{
  background:var(--negro);
  box-shadow:0 1px 0 rgba(235,237,247,.12);
}
.masthead.is-oculta{transform:translateY(-100%)}
.brand{
  flex:none;
  font-weight:500;font-variation-settings:"wght" 500;letter-spacing:-.03em;font-size:1.1875rem;
  text-decoration:none;display:flex;align-items:center;min-height:44px;
}
.menu{display:flex;align-items:center;gap:clamp(16px,3vw,40px);margin-left:auto}
.menu__rotulo,.menu__acciones,.menu__abrir,.menu__cerrar{display:none}
.masthead nav{display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,28px)}
.masthead .nav-accion{
  padding:0 14px;border:1px solid rgba(235,237,247,.34);opacity:1;
  transition:border-color .3s var(--curva),background-color .3s var(--curva);
}
.masthead .nav-accion:hover{border-color:var(--rojo-claro);background:color-mix(in srgb,var(--rojo-claro) 12%,transparent)}
.masthead nav a{
  display:flex;align-items:center;min-height:44px;min-width:44px;
  text-decoration:none;opacity:.8;transition:opacity .3s var(--curva);
}
.masthead nav a:hover{opacity:1}
.locale{display:flex;gap:clamp(2px,1vw,10px)}
.locale a{
  position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;
  font:inherit;font-size:0.8125rem;letter-spacing:.08em;padding:0 4px;
  flex:none;min-height:44px;min-width:44px;cursor:pointer;
  opacity:.62;font-variation-settings:"wght" 400;
  transition:opacity .3s var(--curva);
}
.locale a:hover{opacity:1}
.locale a[aria-current="page"]{opacity:1;font-variation-settings:"wght" 620}
.locale a[aria-current="page"]::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  top:calc(50% + .78em);width:1.85em;height:2px;background:var(--rojo-claro);
}
.accion{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;padding:0 20px;
  border:1px solid rgba(235,237,247,.34);
  color:var(--blanco);text-decoration:none;
  font-size:0.9375rem;letter-spacing:.01em;line-height:1.3;
  border-radius:999px;
  transition:border-color .3s var(--curva),background-color .3s var(--curva);
}
.accion:hover{border-color:var(--rojo-claro);background:color-mix(in srgb,var(--rojo-claro) 12%,transparent)}
.accion--fuerte{background:var(--rojo-denso);border-color:var(--rojo)}
.accion--fuerte:hover{background:var(--rojo);border-color:var(--rojo-claro)}
@media (max-width:860px){
  .menu-listo .menu__abrir{
    display:inline-flex;align-items:center;gap:10px;order:3;margin-left:14px;
    min-height:44px;min-width:44px;padding:0 4px;white-space:nowrap;
    background:none;border:0;color:inherit;font:inherit;font-size:0.9375rem;cursor:pointer;
  }
  .menu-listo .menu__abrir span[data-copy]{max-width:46vw;overflow:hidden;text-overflow:ellipsis}
  .menu-listo .locale{order:2;margin-left:auto}
  .menu__barras{display:grid;gap:5px;width:20px}
  .menu__barras i{display:block;height:1px;background:currentColor}
  .menu-listo .menu{
    position:fixed;inset:0;z-index:50;margin:0;
    display:grid;grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr) auto;
    align-items:start;
    gap:0 16px;padding:14px var(--margen) calc(20px + env(safe-area-inset-bottom));
    overflow-y:auto;
    background:var(--negro);
    display:none;
  }
  .menu-listo .menu.is-abierto{display:grid;animation:menu-aparece .3s var(--curva)}
  @keyframes menu-aparece{from{opacity:0}}
  .menu-listo .menu__rotulo{
    display:flex;align-items:center;align-self:center;min-height:44px;
    font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-apagado);
  }
  .menu-listo .menu__cerrar{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;background:none;border:0;color:inherit;cursor:pointer;
  }
  .menu__cerrar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
  .menu-listo .menu nav{
    grid-column:1 / -1;grid-row:2;display:grid;gap:0;align-content:start;
    margin-top:clamp(18px,5vh,46px);
  }
  .menu-listo .menu nav a{
    display:flex;align-items:center;min-height:52px;
    font-size:clamp(1.75rem,8.2vw,2.5rem);line-height:1.04;letter-spacing:-.03em;
    font-variation-settings:"wght" 500;opacity:1;
  }
  .menu-listo .masthead .nav-accion{border:0;padding:0}
  .menu-listo .menu nav a:last-child{
    margin-top:12px;padding-top:18px;border-top:1px solid var(--rojo);border-radius:0;
    color:var(--rojo-claro);
  }
  .menu-listo .menu__acciones{
    display:grid;gap:12px;justify-items:start;
    grid-column:1 / -1;grid-row:3;padding-top:clamp(24px,5vh,56px);
  }
  .menu-listo .menu__acciones .menu__rotulo{display:flex;min-height:0}
  .menu-listo .menu__acciones .accion{width:100%;justify-content:flex-start;max-width:420px}
  .menu-abierto{overflow:hidden}
}
@media (max-width:359px){
  .menu-listo .menu__abrir span[data-copy]{display:none}
  .menu-listo .menu__abrir{gap:0;margin-left:10px}
}

footer{
  display:flex;flex-wrap:wrap;gap:16px 24px;justify-content:space-between;align-items:baseline;
  padding:32px var(--margen) 40px;
  font-size:0.875rem;color:var(--gris-claro);
}
footer .brand{font-size:0.9375rem;color:var(--blanco);min-height:0}
footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.entrada{height:205vh;position:relative}
.entrada__escena{
  position:sticky;top:0;min-height:100vh;min-height:100svh;overflow:hidden;
  display:grid;grid-template-rows:minmax(0,.85fr) auto auto;
  gap:clamp(16px,2.6vh,30px);
  padding:clamp(86px,12vh,116px) var(--margen) clamp(14px,2.6vh,26px);
  background:var(--negro);
  isolation:isolate;
}
.escena__marca{
  margin:0;min-height:0;
  display:grid;place-items:center;z-index:2;
}
.nudo{container-type:size;width:100%;height:100%;position:relative;perspective:1100px}
.nudo__objeto{
  position:relative;
  width:min(96cqw, calc(88cqh * 1220 / 1300));aspect-ratio:1220/1300;
  transform-style:preserve-3d;will-change:transform;
  animation:nudo-respira 7s ease-in-out infinite alternate;
}
@keyframes nudo-respira{
  from{scale:1;rotate:0deg}
  to{scale:1.022;rotate:-.8deg}
}
.nudo__cinta{
  position:absolute;inset:0;width:100%;height:100%;
  will-change:transform;transform-origin:50% 50%;
}
.entrada.is-fuera .nudo__objeto{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .nudo__objeto{animation:none}
}
.cortina{display:none}
.con-cortina .cortina{
  position:fixed;inset:0;z-index:100;background:var(--negro);
  display:grid;place-content:center;justify-items:center;gap:22px;
}
.con-cortina{overflow:hidden}
.cortina__trazo{width:min(34vw,150px);height:auto;overflow:visible}
.cortina__trazo path{
  fill:var(--rojo);fill-opacity:0;stroke:var(--rojo-claro);stroke-width:2.2;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:cortina-traza .82s cubic-bezier(.65,0,.35,1) forwards,cortina-llena .3s .86s ease-out forwards;
}
.cortina__trazo path:nth-child(2){animation-delay:.1s,.9s}
.cortina__trazo path:nth-child(3){animation-delay:.2s,.94s}
@keyframes cortina-traza{to{stroke-dashoffset:0}}
@keyframes cortina-llena{to{fill-opacity:1}}
.cortina__palabra{font-size:1.0625rem;letter-spacing:.08em;color:var(--gris-claro);min-height:1.5em}
.escena__grano{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:url('assets/textura/grano.png') repeat;
  background-size:230px 230px;
  opacity:.34;mix-blend-mode:overlay;
}
.escena__texto{position:relative;z-index:3;max-width:46ch}
.entrada__escena h1{
  font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;
  font-size:clamp(2.8rem,13.5vw,6rem);
  text-transform:uppercase;letter-spacing:-.02em;line-height:.86;
  max-width:none;
}
.entrada__escena h1 em{
  display:inline-block;position:relative;z-index:1;
  font-family:Swash,cursive;font-style:normal;font-weight:400;
  font-size:1.16em;line-height:1;letter-spacing:0;text-transform:none;
  color:var(--rojo-claro);
  transform:rotate(-6deg);margin:0 .02em 0 .06em;vertical-align:-.04em;
}
.entrada__frase{
  margin-top:clamp(22px,3.6vh,40px);
  font-size:clamp(1.25rem,2.3vw,2.125rem);line-height:1.25;letter-spacing:-.01em;
  color:var(--blanco);max-width:30ch;
}
.entrada__pie{
  position:relative;z-index:3;
  display:flex;flex-wrap:wrap;gap:8px 36px;align-items:center;justify-content:space-between;
  padding-top:14px;
  font-size:0.875rem;color:var(--gris-claro);
}
@media (min-width:861px){
  .entrada__escena{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    grid-template-rows:minmax(0,1fr) auto;
    grid-template-areas:"texto marca" "pie pie";
    align-items:end;column-gap:clamp(28px,4vw,72px);
    padding-block:clamp(92px,11vh,132px) clamp(18px,3vh,32px);
  }
  .escena__marca{grid-area:marca;align-self:center;height:min(72vh,720px);width:100%;margin:0}
  .escena__texto{grid-area:texto;align-self:end;padding-bottom:clamp(8px,2vh,28px);max-width:none}
  .entrada__escena h1{font-size:clamp(3rem,min(9vw,15vh),11rem)}
  .entrada__escena h1 em{margin-top:.16em}
  .entrada__pie{grid-area:pie;padding-top:18px}
}
.entrada__acciones{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.entrada__enlace{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  text-decoration:none;color:var(--blanco);font-size:0.9375rem;letter-spacing:.01em;
}
.entrada__enlace svg{width:15px;height:15px;fill:none;stroke:var(--rojo-claro);stroke-width:1.6;transition:transform .5s var(--curva)}
.entrada__enlace:hover svg{transform:translateY(4px)}
.contacto{
  display:grid;grid-template-columns:1fr minmax(240px,34%);gap:clamp(24px,4vw,64px);align-items:end;
  padding-top:88px;padding-bottom:72px;padding-left:var(--margen);padding-right:var(--margen);
  background:var(--negro);
}
.contacto h2{position:relative;font-size:clamp(2.5rem,6.6vw,6rem);letter-spacing:-.045em;line-height:.96}
.contacto__datos{position:relative;display:grid;gap:16px;font-size:1.0625rem;color:var(--gris-claro);line-height:1.5}
.contacto__acciones{display:flex;flex-wrap:wrap;gap:12px}
.contacto__acciones .accion{min-width:min(100%,220px)}
.contacto .accion--fuerte{background:var(--polvo-granate);color:#fff;border-color:var(--polvo-granate)}
.contacto .accion--fuerte:hover{background:var(--rojo);border-color:var(--rojo)}
.contacto__correo{font-size:clamp(1.1875rem,1.8vw,1.5rem);line-height:1.4}
.contacto__correo a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--blanco);
  text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;
}
.rev{opacity:0;transform:translateY(18px);transition:opacity var(--texto),transform var(--texto)}
.rev.is-on{opacity:1;transform:none}
.sin-script .rev{opacity:1;transform:none}
.sin-script .entrada{height:100vh}
.sin-script .masthead{background:var(--negro);box-shadow:0 1px 0 rgba(235,237,247,.12)}
@media (min-width:861px){
  .contacto{padding-top:104px;padding-bottom:88px}
}
@media (min-width:1280px){
  .contacto{padding-top:124px;padding-bottom:96px}
}

@media (max-width:860px){
  .contacto{grid-template-columns:1fr;align-items:start}
  .entrada{height:185vh}
}
@media (max-width:620px){
  .brand{font-size:1.125rem}
}
@media (max-width:620px){
  html:not(.menu-listo) .masthead{flex-wrap:wrap;gap:0 16px;padding:0 var(--margen) 2px}
  html:not(.menu-listo) .menu{flex-basis:100%;order:3;margin-left:0;flex-wrap:wrap;gap:0 16px}
  html:not(.menu-listo) .masthead nav{gap:14px;font-size:0.9375rem}
  html:not(.menu-listo) .masthead .nav-accion{padding:0 10px}
  html:not(.menu-listo) main>section{scroll-margin-top:160px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .rev{opacity:1;transform:none}
  .entrada{height:110vh}
  .masthead{transition:none}
  .masthead.is-oculta{transform:none}
}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){
  .entrada{height:auto}
  .entrada__escena{position:relative}
}

.escribenos{position:relative;z-index:1;background:var(--polvo-noche);overflow:clip}
.formulario{
  position:relative;z-index:3;
  padding:clamp(64px,10vh,120px) var(--margen) clamp(72px,12vh,140px);
}
.formulario__rotulo{font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;font-variation-settings:"wght" 560;color:#fff}
.formulario__titulo{font-size:clamp(3.25rem,11vw,9rem);letter-spacing:-.045em;line-height:.95;margin:12px 0 clamp(18px,3vh,32px)}
.frase{font-size:clamp(1.75rem,4.6vw,3.6rem);line-height:1.28;letter-spacing:-.025em;font-variation-settings:"wght" 500;max-width:1240px}
.frase__linea{display:block;margin:0 0 .25em;padding:0;border:0}
.frase__linea>label,.frase__linea>.hueco,.frase__linea>input{margin-right:.28em}
.frase__linea legend{float:left;margin-right:.3em}
.frase input[type=text],.frase input[type=email]{
  display:inline-block;vertical-align:baseline;
  font:inherit;color:#fff;background:transparent;border:0;min-height:44px;
  border-bottom:3px solid var(--azul-claro);
  padding:0 .1em;width:auto;max-width:100%;min-width:3ch;field-sizing:content;caret-color:var(--rojo-claro);
  transition:opacity .4s var(--curva),transform .08s;
}
.frase input::placeholder{color:rgba(255,255,255,.62)}
.frase input:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px}
.frase input.is-golpe{transform:translateY(2px)}
.frase input[aria-invalid="true"]{border-bottom-color:#FFC2B8}
.frase__oficios{display:block}
.frase__oficios .pildora{margin-right:.3em;vertical-align:middle}
.pildora{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0 .55em;border-radius:999px;
  border:2px solid rgba(255,255,255,.75);font-size:.62em;cursor:pointer;margin:.1em 0;transition:background-color .3s,color .3s}
.pildora input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pildora:has(input:checked){background:var(--polvo-sol);color:var(--polvo-noche);border-color:var(--polvo-sol)}
.pildora:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}
.frase__error{font-size:1rem;color:#fff;background:rgba(11,11,12,.35);display:inline-block;padding:6px 14px;border-radius:999px;margin:0 0 .6em;letter-spacing:0}
.frase__pie{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:clamp(20px,4vh,40px);font-size:1rem;letter-spacing:0}
.frase__enviar{background:var(--polvo-granate);color:#fff;border-color:var(--polvo-granate)}
.frase__enviar:hover{background:var(--rojo);border-color:var(--rojo-claro)}
.frase__nota{color:#fff;max-width:36ch}
.maquina-l{opacity:0}
.maquina-l.is-on{opacity:1;animation:golpe .12s ease-out}
@keyframes golpe{from{transform:translateY(-.08em)}to{transform:none}}
.frase .is-cerrado{opacity:0}
.frase .pildora.is-cerrado{opacity:0;transform:scale(.6)}
@media (prefers-reduced-motion:reduce){
  .maquina-l{opacity:1}
}
.frase__error[hidden]{display:none}
.hueco{display:inline-flex;align-items:baseline;white-space:nowrap}
.masthead a,.masthead button,.nav-accion{border-radius:999px}
.grafo{position:relative;background:var(--negro)}
.grafo__sala{height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden;padding:0 var(--margen)}
.grafo__svg{width:100%;height:100%;max-height:100%;display:block;overflow:visible}
.grafo__nodo{fill:var(--polvo-mar)}
.grafo__nodo--foco{fill:var(--polvo-granate)}
.grafo__hueco{fill:var(--negro)}
/* La cámara entra por este hueco: tiene el color de la noche del formulario. */
.grafo__nodo--foco + .grafo__hueco{fill:var(--polvo-noche)}
.grafo__cable{fill:none;stroke:var(--polvo-mar);stroke-width:14;stroke-linecap:round}
.grafo__forma{will-change:transform}
.ascii-preparando > *:not(.ascii-lienzo){opacity:0}
.ascii-relevo > *:not(.ascii-lienzo){animation:ascii-relevo .45s ease-out both}
@keyframes ascii-relevo{from{opacity:0}to{opacity:1}}
.ic{width:1.15em;height:1.15em;flex:none}
.dm-busca{display:flex;align-items:center;gap:10px;background:#fff;color:#1b1b1f;border-radius:999px;padding:13px 18px;font-size:1.0625rem}
.dm-busca .ic{color:#6b6b73}
@keyframes parpadeo{50%{opacity:0}}
.dm-cursor{width:2px;height:1.1em;background:var(--rojo);animation:parpadeo 1s steps(2) infinite}
.dm-ficha{background:#fff;color:#1b1b1f;border-radius:24px;padding:18px;display:grid;gap:8px}
.dm-ficha__nombre{font-size:1.375rem;font-weight:600;letter-spacing:-.01em}
.dm-ficha__oficio{color:#55555d;font-size:.9375rem}
.dm-ficha__datos{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.9375rem;color:#2c2c33}
.dm-ficha__datos li{display:flex;align-items:center;gap:6px}
.dm-ficha__datos li:first-child{color:#0b7a3e}
.dm-ficha__acciones{display:flex;gap:8px;margin-top:4px}
.dm-boton{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:9px 16px;background:var(--polvo-mar);color:#fff;font-size:.9375rem}
.dm-boton--claro{background:#eef0f7;color:#1b1b1f}
.chat{background:#0f0f12;border-radius:24px;padding:0 0 14px;display:grid;gap:8px;overflow:hidden}
.chat__cab{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#1a1a1f}
.chat__cab b{display:block;font-size:.9375rem;font-weight:600}
.chat__cab small{display:block;font-size:.75rem;color:#b9bac3}
.chat__avatar{width:36px;height:36px;border-radius:50%;background:var(--polvo-granate);display:grid;place-items:center;font-size:.8125rem;font-weight:700;color:#fff}
.msg{position:relative;max-width:78%;margin:0 14px;padding:9px 13px 7px;border-radius:18px;font-size:.9375rem;line-height:1.35;display:grid;gap:2px}
.msg small{justify-self:end;display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;opacity:.8}
.msg--ellos{background:#25252b;border-bottom-left-radius:5px;justify-self:start}
.msg--nos{background:var(--polvo-mar);color:#fff;border-bottom-right-radius:5px;justify-self:end}
.msg--nos .ic{width:14px;height:14px;color:#9fd4ff}
.msg--escribe{background:#25252b;justify-self:start;display:flex;gap:4px;padding:12px 14px}
.msg--escribe i{width:7px;height:7px;border-radius:50%;background:#b9bac3;animation:escribe 1s infinite}
.msg--escribe i:nth-child(2){animation-delay:.15s}.msg--escribe i:nth-child(3){animation-delay:.3s}
@keyframes escribe{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.chat__tarjeta{margin:0 14px;justify-self:end;display:flex;align-items:center;gap:10px;background:#fff;color:#1b1b1f;border-radius:16px;padding:10px 14px;font-size:.875rem;max-width:84%}
.chat__tarjeta .ic{width:22px;height:22px;color:var(--polvo-mar)}
.chat__tarjeta--pdf .ic{color:var(--polvo-granate)}
.chat__tarjeta b{display:block;font-weight:600}
.chat__tarjeta span span{display:block;color:#55555d}
@keyframes aparece-y-se-va{0%{opacity:0;transform:translateY(6px)}15%,80%{opacity:1;transform:none}100%{opacity:0;height:0;padding:0;margin-block:-4px}}
@media (prefers-reduced-motion:reduce){
  .msg--escribe{display:none}
}
.msg small{font-size:.75rem}
.chat__tarjeta span span,.dm-ficha__oficio{color:#3c3c44}
@keyframes aparece{from{transform:translateY(14px) scale(.96)}to{transform:none}}
@media (max-width:860px){
  .chat{gap:6px;padding-bottom:10px}
  .chat__cab{padding:9px 12px}
  .chat__tarjeta{max-width:92%;padding:8px 12px}
}
.gs-grafo .escribenos{margin-top:-100vh;margin-top:-100svh;background:transparent;z-index:2}
.escribenos .formulario{transition:opacity .45s var(--curva)}
.escribenos.is-espera .formulario{opacity:0;pointer-events:none}
.gs-grafo .escribenos:not(.is-espera){background:var(--polvo-noche)}
main>section.catalogo,main>section.escribenos{scroll-margin-top:0}
@media (prefers-reduced-motion:reduce){
  .grafo__sala{height:auto;padding-block:clamp(48px,8vh,96px)}
  .grafo__svg{height:auto}
}
.gs-grafo .grafo__sala{overflow-x:clip;overflow-y:visible}

/* Un martes cualquiera. Sin la clase dia--vivo (sin JS, movimiento reducido o texto
   ampliado) cada hora es un bloque. */
.dia{position:relative;z-index:2;padding:0 clamp(8px,1.6vw,24px);--cielo:var(--negro-2);--tinta:var(--blanco);--suelo:#000}
.dia__titulo{font-size:clamp(2.6rem,7vw,6.5rem);line-height:.95;letter-spacing:-.045em;padding:clamp(56px,9vh,104px) var(--margen) clamp(20px,3vh,36px)}
.dia__horas{display:grid;gap:8px}
.hora{
  background:var(--cielo);color:var(--tinta);
  border-radius:clamp(28px,4vw,56px);overflow:hidden;
  padding:clamp(28px,5vw,72px) clamp(20px,4vw,64px);
  display:grid;gap:clamp(24px,3vw,48px);align-items:center;
}
@media (min-width:861px){.hora{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}}
.hora__texto{display:grid;gap:clamp(12px,2vh,20px);align-content:start}
.hora__titulo{display:grid;gap:.25em;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.03em;max-width:18ch}
.hora__hora{font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;font-size:clamp(3.2rem,7vw,7rem);line-height:.85;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;overflow-wrap:normal}
.hora__texto>p{font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.5;max-width:42ch}
.hora__texto>.hora__oficio{
  justify-self:start;display:inline-flex;align-items:center;min-height:34px;padding:0 16px;
  border:1.5px solid currentColor;border-radius:999px;
  font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;
}
.hora__demo{
  background:var(--negro);color:var(--blanco);border:1px solid rgba(235,237,247,.1);border-radius:28px;padding:14px;
  display:grid;gap:12px;width:100%;max-width:460px;justify-self:end;
  box-shadow:0 40px 80px -40px color-mix(in srgb,var(--suelo) 60%,#000);
}
.hora__aviso{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-claro)}
.dm{display:grid;gap:10px;align-content:start}

.dia--vivo .dia__sala{
  position:relative;isolation:isolate;overflow:hidden;
  height:100vh;height:100svh;
  border-radius:clamp(28px,4vw,56px);
  background:var(--cielo);color:var(--tinta);
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  grid-template-rows:auto auto minmax(0,1fr);column-gap:clamp(24px,4vw,72px);
  padding:max(76px,clamp(20px,4vh,48px)) clamp(20px,4vw,64px) clamp(20px,5vh,56px);
}
.dia--vivo .dia__titulo{grid-column:1 / -1;padding:0;font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.2;letter-spacing:-.01em}
.dia--vivo .dia__horas{grid-column:1 / -1;grid-row:2 / 4;display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;gap:0}
.dia--vivo .hora{
  grid-column:1 / -1;grid-row:1 / -1;
  display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;gap:0;
  background:none;color:inherit;padding:0;border-radius:0;overflow:visible;
}
.dia--vivo .hora__texto{grid-column:1;grid-row:2;align-self:end;padding:clamp(12px,2.4vh,28px) 0 clamp(8px,3vh,32px)}
.dia--vivo .hora__demo{grid-column:2;grid-row:1 / -1;align-self:center}
@media (max-width:860px){
  .dia--vivo .dia__sala{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);padding:72px 18px 18px}
  .dia--vivo .dia__horas{grid-row:2 / 5}
  .dia--vivo .hora__texto{grid-row:2;align-self:start;padding:8px 0 0}
  .dia--vivo .hora__texto>p{font-size:1rem;line-height:1.45}
  .dia--vivo .hora__titulo{font-size:clamp(1.375rem,6vw,1.75rem)}
  .dia--vivo .hora__demo{grid-column:1;grid-row:3;align-self:start;justify-self:start;margin-top:14px;zoom:.78}
}

.post{background:#0f0f12;border-radius:24px;overflow:hidden;display:grid}
.post__cartel{
  margin:0 14px;border-radius:18px;background:var(--polvo-granate);color:var(--ambar);
  display:grid;place-items:center;aspect-ratio:16 / 8;
  font-family:Swash,cursive;font-size:clamp(2.6rem,5vw,3.6rem);line-height:1;
}
.post__cartel span{display:block;transform:rotate(-6deg)}
.post__pie{padding:12px 16px 0;font-size:.9375rem;line-height:1.4;color:var(--gris-claro)}
.post__acciones{display:flex;gap:16px;padding:10px 16px 14px;color:var(--rojo-claro)}
.post__acciones .ic{width:20px;height:20px}

.hora:not(.is-ahora) .msg--escribe{display:none}
.dia--vivo .hora.is-ahora .msg--escribe{display:flex;animation:aparece-y-se-va 1.1s .35s both}
.dia--vivo .hora.is-ahora .msg--nos{animation:aparece .4s 1.35s both}
.dia--vivo .hora.is-ahora .chat__tarjeta--cal{animation:aparece .4s 1.85s both}
.dia--vivo .hora.is-ahora .chat__tarjeta--pdf{animation:aparece .4s 2.3s both}
.dia--vivo .hora:not(.is-ahora) .app__dias i{transform:scaleY(.1)}
.dia--vivo .hora:not(.is-ahora) .app__origen i{transform:scaleX(0)}
.dia--vivo .hora.is-ahora .app__aviso{animation:aparece .5s .2s var(--curva) both}
.dia--vivo .hora.is-ahora .app__fila{animation:aparece .45s calc(.5s + var(--i) * .12s) var(--curva) both}
.dia--vivo .hora.is-ahora .post__cartel span{animation:cartel .7s .3s var(--curva) both}
@keyframes cartel{from{transform:rotate(-14deg) scale(.6);opacity:0}}


/* El cierre, en negro como el resto. */
.contacto{position:relative;overflow:clip;isolation:isolate}
footer{background:var(--negro)}

/* El nudo en 3D que acompaña la página (assets/js/nudo3d.js). */
.nudo3d{position:fixed;inset:0;width:100%;height:100%;z-index:6;pointer-events:none}
.nudo-3d .nudo__objeto{visibility:hidden}
.nudo3d__guia{
  position:fixed;left:0;top:0;z-index:7;display:none;align-items:center;gap:8px;min-height:44px;padding:0 16px;
  border-radius:999px;background:rgba(11,11,12,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(235,237,247,.18);color:var(--blanco);text-decoration:none;
  font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;will-change:transform;
  transition:border-color .3s var(--curva),background-color .3s var(--curva);
}
.nudo-3d .nudo3d__guia{display:inline-flex}
.nudo3d__guia:hover{border-color:var(--rojo-claro);background:var(--rojo)}
.nudo3d__guia svg{width:14px;height:14px;fill:none;stroke:var(--rojo-claro);stroke-width:2}
.nudo3d__guia:hover svg{stroke:#fff}
.nudo3d__guia.is-arriba svg{rotate:180deg}
.nudo3d__guia.is-oculta{opacity:0;pointer-events:none}
/* En el teléfono es un botón redondo bajo el nudo (por debajo del lienzo, que no recibe toques). */
.nudo3d__guia.is-boton{z-index:5;min-height:0;padding:0;border:1px solid rgba(235,237,247,.14);background:rgba(11,11,12,.78);border-radius:50%;justify-content:center}
.nudo3d__guia.is-boton svg,.nudo3d__guia.is-boton span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.nudo3d__guia{transition:opacity .3s var(--curva),border-color .3s var(--curva),background-color .3s var(--curva)}
.con-cortina .nudo3d,.con-cortina .nudo3d__guia{opacity:0}

/* La cabecera no tapa el principio de la escena fija. */
.dia--vivo .dia__sala{padding-top:max(76px,clamp(20px,4vh,48px))}
.formulario__correo{margin-top:clamp(28px,5vh,48px);font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--gris-claro)}
.formulario__correo a{display:inline-flex;align-items:center;min-height:44px;color:var(--blanco);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

.escribenos,.gs-grafo .escribenos:not(.is-espera){background:var(--negro)}
.frase input[type=text],.frase input[type=email]{border-bottom-color:var(--rojo-claro)}
.pildora:has(input:checked){background:var(--rojo);color:#fff;border-color:var(--rojo)}
.frase__enviar{background:var(--rojo);border-color:var(--rojo)}

/* Cabecera editorial: sin barra ni degradado. Marca a la izquierda y un índice numerado
   a la derecha; en escritorio se invierte sobre lo que tenga debajo (difference). */
.masthead{background:none}
@media (max-width:860px){.masthead.is-fondo{background:var(--negro);box-shadow:none}}
.locale a{font-size:.75rem}
.locale a[aria-current="page"]::after{top:calc(50% + .9em);width:1.2em;height:1px;background:currentColor}
@media (min-width:861px){
  .masthead,.masthead.is-fondo{background:none;box-shadow:none;mix-blend-mode:difference;color:#fff}
  .masthead .brand{font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;text-transform:uppercase;letter-spacing:.02em;font-size:1rem}
  .masthead .menu nav{counter-reset:indice}
  .masthead .menu nav a{counter-increment:indice;gap:.55em;opacity:1;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase}
.masthead .menu nav a::before{content:"0" counter(indice);font-size:.6875rem;letter-spacing:.04em;opacity:.5;font-variant-numeric:tabular-nums}
  .masthead .nav-accion,.masthead .nav-accion:hover{border:0;padding:0;background:none}
  .masthead .menu nav a span{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .45s var(--curva)}
  .masthead .menu nav a:hover span,.masthead .menu nav a:focus-visible span{background-size:100% 1px}
}

/* Quién hay detrás: la foto en círculo, como una foto de perfil. */
.quien{position:relative;z-index:1;background:var(--negro);display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;
  padding:clamp(72px,14vh,160px) var(--margen);max-width:1200px}
.quien__foto{width:clamp(132px,16vw,220px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgba(235,237,247,.16),0 0 0 10px var(--negro),0 0 0 11px var(--rojo)}
.quien__texto{display:grid;gap:14px}
.quien__perfil{display:grid;justify-items:center;gap:18px}
.quien__ig{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--blanco);font-size:.9375rem;text-decoration:none}
.quien__ig .ic{width:18px;height:18px}
.quien__ig:hover{color:var(--rojo-claro)}
.quien__rotulo{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-claro)}
.quien__titulo{font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;text-transform:uppercase;font-size:clamp(2.2rem,6vw,5rem);line-height:.92;letter-spacing:-.01em}
.quien__bio{font-size:clamp(1.0625rem,1.5vw,1.375rem);line-height:1.45;max-width:38ch;color:var(--gris-claro)}
@media (max-width:620px){.quien{grid-template-columns:1fr;justify-items:start}}

/* Todo lo que hacemos: un plano por oficio, problema ⇒ herramienta. Sin la clase
   catalogo--vivo (sin JS, movimiento reducido o texto ampliado) los planos se apilan y
   la demo se ve terminada. */
.catalogo{position:relative;z-index:2;background:var(--negro);padding:0 clamp(8px,1.6vw,24px)}
.catalogo__titulo{
  display:grid;font-size:clamp(2.6rem,7vw,6.5rem);line-height:.95;letter-spacing:-.045em;
  padding:clamp(120px,22vh,240px) var(--margen) clamp(56px,12vh,140px);
}
.catalogo__titulo span:first-child{color:var(--gris)}
.catalogo__planos{display:grid;gap:8px}
.plano{
  background:var(--negro-2);border-radius:clamp(28px,4vw,56px);
  padding:clamp(28px,5vw,72px) clamp(20px,4vw,64px);
  display:grid;gap:clamp(24px,3vw,48px);align-items:center;
}
@media (min-width:861px){.plano{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}}
.plano__texto{display:grid;gap:clamp(16px,2.4vh,28px);align-content:start}
.plano__nombre{font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;font-size:clamp(3.2rem,7vw,7rem);line-height:.85;letter-spacing:-.02em;text-transform:uppercase;overflow-wrap:normal}
.plano__nombre--largo{font-size:clamp(2.2rem,4.4vw,4rem)}
.plano__frases{display:grid;gap:14px}
.plano__problema{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.03em;font-variation-settings:"wght" 500;max-width:20ch;text-wrap:balance}
.plano__solucion{font-size:clamp(1rem,1.3vw,1.1875rem);line-height:1.5;max-width:42ch;color:var(--gris-claro)}
.plano__ejemplos{display:grid;gap:2px;max-width:44ch}
.plano__ejemplos li{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;border-top:1px solid rgba(235,237,247,.12);font-size:clamp(.9375rem,1.1vw,1.0625rem);line-height:1.3}
.plano__ejemplos .ic{width:20px;height:20px;color:var(--rojo-claro)}
.plano__demo{
  background:var(--negro);border:1px solid rgba(235,237,247,.1);border-radius:28px;padding:14px;
  display:grid;gap:12px;width:100%;max-width:460px;justify-self:end;
}
.plano__escena{position:relative;display:grid}
.plano__ecos{display:none}
.chat__opciones{display:flex;flex-wrap:wrap;gap:6px;margin:0 14px;justify-content:flex-end}
.chat__opciones span{border:1px solid rgba(235,237,247,.28);border-radius:999px;padding:6px 12px;font-size:.8125rem}
.chat__opciones .is-elegida{background:var(--blanco);color:var(--negro);border-color:var(--blanco)}

.catalogo--vivo .catalogo__sala{height:100vh;height:100svh;padding:max(76px,clamp(20px,4vh,48px)) 0 clamp(8px,1.6vw,24px)}
.catalogo--vivo .catalogo__planos,.catalogo--vivo .plano{height:100%}
.catalogo--vivo .plano{grid-template-rows:minmax(0,1fr);overflow:hidden}
.catalogo--vivo .plano__frases{grid-template-areas:"f"}
.catalogo--vivo .plano__frases>p{grid-area:f}
.catalogo--vivo .plano__solucion{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.03em;font-variation-settings:"wght" 500;max-width:20ch;color:var(--blanco);text-wrap:balance}
.catalogo--vivo .plano__ecos{display:block;position:absolute;inset:0;z-index:2;pointer-events:none}
.eco{position:absolute;left:var(--x);top:var(--y);transform:rotate(var(--r));background:#25252b;border-radius:18px 18px 18px 5px;padding:9px 13px;font-size:.9375rem;white-space:nowrap;box-shadow:0 18px 40px -18px #000}
.plano__veces{position:absolute;right:0;bottom:-4px;font-family:var(--fuente-titular);font-weight:900;font-size:clamp(4rem,9vw,7.5rem);line-height:.8;color:var(--rojo-claro);font-variant-numeric:tabular-nums}
@media (max-width:860px){
  .catalogo--vivo .plano{grid-template-rows:auto auto minmax(0,1fr) auto;align-items:start;padding:20px 18px;gap:14px}
  .catalogo--vivo .plano__demo{order:1;align-self:center}
  /* A la derecha queda sitio para el nudo, que en el teléfono es el botón de seguir. */
  .catalogo--vivo .plano__ejemplos{order:2;padding-right:64px}
  .catalogo--vivo .plano__texto{display:contents}
  .catalogo--vivo .plano__nombre{font-size:clamp(2.6rem,12vw,3.4rem)}
  .catalogo--vivo .plano__problema,.catalogo--vivo .plano__solucion{font-size:clamp(1.25rem,5.6vw,1.6rem)}
  .catalogo--vivo .plano__demo{justify-self:stretch;max-width:none;zoom:.86}
  .catalogo--vivo .plano__ejemplos li{min-height:0;padding:6px 0;font-size:.875rem}
  .catalogo--vivo .plano__ejemplos .ic{width:16px;height:16px}
}
.catalogo:not(.catalogo--vivo) .msg--escribe{display:none}
/* Plano «Dashboard»: los trozos sueltos (archivos, tickets, notas) acaban en un solo panel.
   Septiembre va en gris discontinuo: es la referencia, no una serie que compita con octubre. */
.eco--archivo{display:flex;align-items:center;gap:8px;background:#1f1f25;border:1px solid rgba(235,237,247,.12);border-radius:10px;font-size:.875rem}
.eco--archivo .ic{width:16px;height:16px;color:var(--gris-apagado)}
.eco--ticket{display:grid;gap:2px;background:#ecebe4;color:#1b1b1f;border-radius:4px;padding:10px 14px;font-family:ui-monospace,Menlo,monospace;font-size:.75rem}
.eco--ticket b{font-size:1rem}
.eco--nota{background:var(--polvo-sol);color:#3a2b14;border-radius:3px;padding:12px 14px}
.plano__veces--cifra{font-size:clamp(2.4rem,4.6vw,4rem);white-space:nowrap}
.panel{
  display:grid;gap:8px;padding:8px;border-radius:20px;
  background:#ecebe6;color:#1b1b1f;font-size:.6875rem;line-height:1.3;
}
.panel .ic{width:13px;height:13px;flex:none}
.panel__cab{display:flex;align-items:center;gap:8px;padding:4px 4px 0}
.panel__cab b{font-size:1rem;font-weight:600;letter-spacing:-.02em}
.panel__cab .ic{color:#6b6b73}
.panel__cab small{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#fff;color:#3a3a40}
.panel__cab small i{width:6px;height:6px;border-radius:50%;background:#3f9a62}
.panel__kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.panel__kpis li,.panel__linea,.panel__card{background:#fff;border-radius:14px}
.panel__kpis li{padding:10px 12px;display:grid;gap:2px;align-content:start}
.panel__kpis li:first-child{grid-column:1 / -1;grid-template-columns:auto 1fr;align-items:end;column-gap:12px}
.panel__kpis li:first-child span{grid-column:1 / -1}
.panel__kpis span{font-size:.75rem;color:#6b6b73}
.panel__kpis b{font-size:1.375rem;font-weight:500;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.panel__kpis li:first-child b{font-size:3rem;letter-spacing:-.05em;line-height:.95}
.panel__kpis small{justify-self:end;align-self:center;padding:4px 9px;border-radius:999px;background:#e6f3ea;color:#2f7a4b;font-size:.6875rem;white-space:nowrap}
.panel__linea{margin:0;padding:10px 12px 8px;display:grid;gap:6px}
.panel__linea figcaption{display:flex;gap:14px;color:#6b6b73}
.panel__ley::before{content:"";display:inline-block;width:14px;border-top:2px solid var(--rojo-claro);vertical-align:middle;margin-right:6px}
.panel__ley--antes::before{border-top-style:dashed;border-top-color:#8d8f99}
.panel__linea svg{display:block;width:100%;height:auto;overflow:visible}
.panel__rejilla{fill:none;stroke:#efefeb;stroke-width:1}
.panel__este,.panel__antes{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.panel__este{stroke:var(--rojo-claro)}
.panel__antes{stroke:#8d8f99;stroke-dasharray:5 4}
.panel__hoy{fill:var(--rojo-claro);stroke:#fff;stroke-width:2}
.panel__card{padding:10px 12px;display:grid;gap:7px}
.panel__card h4{font-size:.75rem;font-weight:600}
.panel__canales{display:grid;gap:5px}
.panel__canales li{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:6px;color:#3a3a40}
.panel__canales i{
  --c:#b9b9bf;display:flex;justify-content:flex-end;align-items:center;width:max(30px,calc(var(--v) * 100%));height:18px;padding:2px;
  border-radius:999px;font-style:normal;transform-origin:left;
  background:repeating-linear-gradient(-45deg,var(--c) 0 3px,color-mix(in srgb,var(--c) 65%,#fff) 3px 6px);
}
.panel__canales .is-top i{--c:var(--rojo-claro)}
.panel__canales b{padding:1px 7px;border-radius:999px;background:#1b1b1f;color:#fff;font-size:.5625rem;font-weight:600;font-variant-numeric:tabular-nums}
.panel__aviso{display:flex;align-items:center;gap:9px;padding:8px 8px 8px 10px;border-radius:14px;background:#fff}
.panel__aviso>.ic{width:26px;height:26px;padding:6px;border-radius:50%;background:#fbefd9;color:#9a6a1f}
.panel__aviso b{display:block;font-weight:600}
.panel__aviso small{display:block;color:#6b6b73}
.panel__aviso em{margin-left:auto;padding:6px 11px;border-radius:999px;background:#1b1b1f;color:#fff;font-style:normal;white-space:nowrap}
/* Con varios planos vivos, todos ocupan la misma celda y el siguiente sube por encima. */
.catalogo--vivo .catalogo__planos{grid-template-areas:"p";overflow:hidden;border-radius:clamp(28px,4vw,56px)}
.catalogo--vivo .plano{grid-area:p}
.catalogo--vivo .plano+.plano{box-shadow:0 -24px 60px -12px rgba(0,0,0,.7)}
/* Domingo: el panel de la semana, como una pantalla de producto de verdad. Claro sobre la
   sala, con números grandes y barras gruesas rayadas que llevan su cifra en la punta. */
.hora--domingo .hora__demo{max-width:640px}
.app{
  display:grid;grid-template-columns:116px minmax(0,1fr);gap:8px;padding:8px;
  background:#ecebe6;color:#1b1b1f;border-radius:20px;font-size:.6875rem;line-height:1.3;
}
.app .ic{width:13px;height:13px;flex:none}
.app__lado{display:grid;align-content:start;gap:2px;padding:6px 0}
.app__marca{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:600;margin:0 4px 6px}
.app__marca span{width:22px;height:22px;border-radius:50%;background:var(--polvo-granate);color:#fff;display:grid;place-items:center;font-size:.5625rem}
.app__grupo{margin:8px 8px 2px;font-size:.625rem;color:#8a8a90}
.app__nav li{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:999px;color:#3a3a40;white-space:nowrap}
.app__nav .is-activo{background:#fff;color:#111;font-weight:600}
.app__nav em{margin-left:auto;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#1b1b1f;color:#fff;font-style:normal;font-size:.5625rem;display:grid;place-items:center}
.app__nav--pie{margin-top:10px}
.app__main{display:grid;gap:8px;align-content:start;min-width:0}
.app__cab{display:flex;align-items:center;gap:8px;padding:2px}
.app__cab>b{margin-right:auto;font-size:1.125rem;font-weight:600;letter-spacing:-.02em}
.app__tabs{display:flex;padding:2px;border-radius:999px;background:#fff}
.app__tabs span{padding:3px 9px;border-radius:999px;color:#6b6b73}
.app__tabs .is-activo{background:#1b1b1f;color:#fff}
.app__busca{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#6b6b73}
.app__aviso{display:flex;align-items:center;gap:9px;padding:8px 8px 8px 10px;border-radius:14px;background:#fff}
.app__aviso>.ic{width:26px;height:26px;padding:6px;border-radius:50%;background:#f6e4e7;color:var(--rojo)}
.app__aviso b{display:block;font-weight:600}
.app__aviso small{display:block;color:#6b6b73}
.app__aviso em{margin-left:auto;padding:6px 11px;border-radius:999px;background:#1b1b1f;color:#fff;font-style:normal;white-space:nowrap}
.app__fila2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8px}
.app__card{display:grid;gap:6px;align-content:start;padding:10px 12px;border-radius:14px;background:#fff}
.app__card h4{font-size:.75rem;font-weight:600}
.app__ley{display:flex;gap:10px;font-size:.625rem;color:#6b6b73}
.app__ley li{display:flex;align-items:center;gap:5px}
.app__ley li::before{content:"";width:7px;height:7px;border-radius:50%;background:#cfcfd4}
.app__ley .app__ley--b::before{background:var(--rojo-claro)}
.app__dias{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));height:104px;gap:2px}
.app__dias p{height:100%;display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:minmax(0,1fr) auto;justify-content:center;column-gap:2px}
.app__dias i{align-self:end;height:max(3px,calc(var(--a) * 100%));border-radius:999px;background:#d8d8dc;transform-origin:bottom;transition:transform .7s var(--curva)}
.app__dias i+i{--c:var(--rojo-claro);height:max(3px,calc(var(--b) * 100%))}
.app__dias i+i,.app__origen i{background:repeating-linear-gradient(-45deg,var(--c) 0 3px,color-mix(in srgb,var(--c) 65%,#fff) 3px 6px)}
.app__dias span{grid-column:1/-1;margin-top:4px;text-align:center;font-size:.5625rem;color:#8a8a90}
.app__total{display:flex;align-items:baseline;gap:6px}
.app__total b{font-size:2.75rem;font-weight:500;letter-spacing:-.05em;line-height:.9}
.app__total span{font-size:.8125rem;color:#3a3a40}
.app__card--total small{color:#6b6b73}
.app__origen{display:grid;gap:5px;margin-top:4px}
.app__origen li{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:6px;color:#3a3a40}
.app__origen i{--c:#b9b9bf;display:flex;justify-content:flex-end;align-items:center;width:max(30px,calc(var(--v) * 100%));height:18px;padding:2px;border-radius:999px;font-style:normal;transform-origin:left;transition:transform .7s .2s var(--curva)}
.app__origen .is-top i{--c:var(--rojo-claro)}
.app__origen b{padding:1px 7px;border-radius:999px;background:#1b1b1f;color:#fff;font-size:.5625rem;font-weight:600}
.app__tabla ul{display:grid}
.app__fila{display:grid;grid-template-columns:22px minmax(0,1.7fr) minmax(0,1fr) 52px auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #efefeb}
.app__ini{width:22px;height:22px;border-radius:50%;background:#f6e4e7;color:var(--polvo-granate);display:grid;place-items:center;font-weight:600}
.app__quien b{display:block;font-weight:600}
.app__quien small{display:block;color:#6b6b73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app__canal{display:flex;align-items:center;gap:5px;color:#3a3a40}
.app__cuando{color:#6b6b73;white-space:nowrap}
.app__estado{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border:1px solid #e4e4df;border-radius:999px;white-space:nowrap}
.app__estado::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rojo-claro)}
.app__estado--ok::before{background:#3f9a62}
.app__estado--presu::before{background:var(--ambar)}
@media (max-width:860px){
  .app{grid-template-columns:minmax(0,1fr)}
  .app__lado,.app__cuando,.app__fila:nth-child(n+3){display:none}
  .app__fila{grid-template-columns:22px minmax(0,1.7fr) minmax(0,1fr) auto}
}
@media (prefers-reduced-motion:reduce){.app__dias i,.app__origen i{transform:none !important}}
@media (max-width:860px){
  .panel__kpis li:not(:first-child),.panel__aviso{display:none}
  .panel__kpis li:first-child b{font-size:2.4rem}
}
/* Planos Web, Automatizaciones y Marketing: misma piel clara de producto que el dashboard. */
.sitio,.flujo,.plan{
  position:relative;display:grid;gap:8px;padding:8px;border-radius:20px;
  background:#ecebe6;color:#1b1b1f;font-size:.6875rem;line-height:1.3;
}
.sitio .ic,.flujo .ic,.plan .ic{width:13px;height:13px;flex:none}
.eco--teclas{display:flex;gap:4px;padding:0;background:none;box-shadow:none}
.eco--teclas kbd{padding:8px 12px;border-radius:8px;background:#ecebe4;color:#1b1b1f;font:600 .9375rem ui-monospace,Menlo,monospace;box-shadow:0 3px 0 #a9a9a0}
.eco--grito{background:#ffe600;color:#d4001a;font-family:Impact,"Arial Black",sans-serif;font-size:1.125rem;letter-spacing:.02em;border-radius:2px}
.eco--cursiva{background:#f9d6e8;color:#7a3b5c;font-family:Georgia,serif;font-style:italic;font-size:1.0625rem;border-radius:14px}
.plano__veces--dias{display:grid;justify-items:end}
.plano__veces--dias small{font-family:inherit;font-weight:500;font-size:.875rem;letter-spacing:0;line-height:1.4}

.sitio__barra{display:flex;align-items:center;gap:5px;padding:4px 6px 0}
.sitio__barra i{width:7px;height:7px;border-radius:50%;background:#cfcfd4}
.sitio__barra span{flex:1;margin-left:8px;padding:3px 10px;border-radius:999px;background:#fff;color:#6b6b73;text-align:center}
.sitio__pagina{display:grid;gap:10px;padding:14px;border-radius:14px;background:#fff}
.sitio__nav{display:flex;justify-content:space-between;align-items:center}
.sitio__nav b{font-weight:600}
.sitio__nav span{color:#6b6b73}
.sitio__titular{max-width:14ch;font-family:var(--fuente-titular);font-weight:900;font-variation-settings:normal;text-transform:uppercase;font-size:1.75rem;line-height:.92;letter-spacing:-.01em}
.sitio__botones{display:flex;gap:6px}
.sitio__botones>span{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border:1px solid #e4e4df;border-radius:999px}
.sitio__botones .is-pri{background:var(--rojo);border-color:var(--rojo);color:#fff}
.sitio__fotos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sitio__foto{aspect-ratio:4 / 3;display:grid;place-items:center;border-radius:10px;background:var(--polvo-granate);color:var(--ambar);font-family:Swash,cursive;font-size:1.25rem;line-height:1}
.sitio__foto--b{background:var(--polvo-mar);color:var(--polvo-sol)}
.sitio__foto--c{background:var(--polvo-sol);color:var(--polvo-granate)}
.sitio__datos{display:grid;gap:4px;color:#3a3a40}
.sitio__datos li{display:flex;align-items:center;gap:6px}
.sitio__toast{position:absolute;left:0;right:0;top:44px;width:max-content;margin:auto;display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:#1b1b1f;color:#fff;white-space:nowrap;box-shadow:0 14px 30px -10px rgba(0,0,0,.55)}
.sitio__toast .ic{color:#6fd39a}

.flujo__cab,.plan__cab{display:flex;align-items:center;gap:8px;padding:4px 4px 0}
.flujo__cab b,.plan__cab b{font-size:1rem;font-weight:600;letter-spacing:-.02em}
.flujo__cab small{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;background:#fff;color:#3a3a40}
.flujo__cab small i{width:6px;height:6px;border-radius:50%;background:#3f9a62}
.flujo__pasos{display:grid;gap:10px}
.flujo__pasos li{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff}
.flujo__pasos li+li::before{content:"";position:absolute;left:26px;top:-11px;width:2px;height:12px;background:#cfcfd4}
.flujo__ic{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#f6e4e7;color:var(--rojo)}
.flujo__ic .ic{width:15px;height:15px}
.flujo__pasos b{display:block;font-size:.75rem;font-weight:600}
.flujo__pasos small{display:block;color:#6b6b73}
.flujo__pasos em{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:#e6f3ea;color:#2f7a4b;font-style:normal}
.flujo__pasos em::before{content:"";width:6px;height:6px;border-radius:50%;background:#3f9a62}
.flujo__pie,.plan__pie{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px;color:#3a3a40}
.flujo__pie .ic,.plan__pie .ic{color:#3f9a62}

.plan__cab small{margin-left:auto;color:#6b6b73}
.plan__semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:8px;border-radius:14px;background:#fff}
.plan__semana li{min-height:40px;display:grid;justify-items:center;align-content:start;gap:5px;color:#8a8a90;font-size:.625rem}
.plan__semana em{padding:2px 6px;border-radius:999px;background:#1b1b1f;color:#fff;font-style:normal;font-size:.5625rem}
.plan__rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px;border-radius:14px;background:#fff}
.plan__pieza{aspect-ratio:1;display:grid;place-items:center;padding:6px;border-radius:8px;background:var(--polvo-granate);color:var(--ambar);font-family:Swash,cursive;font-size:1.0625rem;line-height:1;text-align:center}
.plan__pieza--b{background:var(--polvo-sol);color:var(--polvo-granate)}
.plan__pieza--c{background:var(--polvo-mar);color:var(--polvo-sol)}
@media (max-width:860px){.catalogo--vivo .plano__nombre--largo{font-size:clamp(1.6rem,8.4vw,2.2rem)}}
