/* =====================================================================
   Estudio Consentido — sistema visual 2026
   Concepto: los cuatro círculos del logo. Cada servicio es un círculo;
   donde se cruzan está el resultado. Tipografía única: Montserrat,
   con el contraste del logotipo ("con" delgada, "sentido" gruesa).
   ===================================================================== */
:root{
  --lime:#D6DE23; --orange:#F6921E; --blue:#26A9E0; --red:#EE4036;
  --paper:#FFFFFF; --mist:#F4F5F7; --surface:#FFFFFF; --ink:#121316; --muted:#5B5F69; --line:#E3E5EA;
  --ink-band:#121316; --on-band:#F4F5F7;
  --link:#C9301F;               /* rojo de marca oscurecido para texto sobre blanco (AA) */
  --font:"Montserrat", "Helvetica Neue", Arial, system-ui, sans-serif;
  --s-1:.8125rem; --s0:1rem; --s1:1.2rem; --s2:1.65rem; --s3:clamp(1.9rem,3.6vw,2.75rem); --s4:clamp(2.5rem,6.2vw,5.4rem);
  --wrap:1200px;
  color-scheme:light;
}


*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--s0);line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:20;background:var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--font);line-height:1.05;letter-spacing:-.025em;text-wrap:balance;margin:0}
p{margin:0}
.c-wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.c-sec{padding-block:clamp(4rem,9vw,7rem)}
.c-sec--flush{padding-top:0}

/* Etiqueta: cuatro puntos del logo + texto espaciado como el tagline */
.c-eyebrow{display:flex;align-items:center;gap:.7rem;font-size:var(--s-1);font-weight:500;letter-spacing:.14em;text-transform:lowercase;color:var(--muted)}
.c-dots{display:inline-grid;grid-template-columns:6px 6px;gap:2px;flex-shrink:0}
.c-dots i{width:6px;height:6px;border-radius:50%}
.c-dots i:nth-child(1){background:var(--lime)} .c-dots i:nth-child(2){background:var(--orange)}
.c-dots i:nth-child(3){background:var(--blue)} .c-dots i:nth-child(4){background:var(--red)}
.c-head{display:grid;gap:1rem;max-width:780px;margin-bottom:clamp(2rem,5vw,3.5rem)}
.c-head h2{font-size:var(--s3);font-weight:700}
.c-head h2 .thin,.thin{font-weight:200}
.c-head p{color:var(--muted);font-size:var(--s1);max-width:60ch}

.c-btn{display:inline-flex;align-items:center;gap:.55rem;font:600 .95rem var(--font);text-decoration:none;padding:.9rem 1.35rem;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:transform .2s,background .2s,color .2s}
.c-btn:hover{transform:translateY(-2px)}
.c-btn--solid{background:var(--ink);color:var(--paper)}
.c-btn--solid:hover{background:var(--red);border-color:var(--red);color:#fff}
.c-btn--ghost:hover{background:var(--ink);color:var(--paper)}

/* ---------- Logo (archivo original del administrador) ---------- */
.c-logo{display:flex;align-items:center;text-decoration:none}
/* El PNG del logo trae aire transparente arriba y abajo (≈12 %): el margen negativo lo compensa.
   Grande al cargar para que se lea "smart digital performance."; se compacta al hacer scroll. */
.c-top{--logo-h:118px}
.c-logo img{height:var(--logo-h);width:auto;margin-block:calc(var(--logo-h) * -.13);transition:height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1)}
.c-top.is-compact{--logo-h:68px}
@media (max-width:900px){.c-top{--logo-h:92px}.c-top.is-compact{--logo-h:60px}}
.c-logo:hover img{transform:scale(1.04) rotate(-1deg)}

/* ---------- Header ---------- */
.c-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:15;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.c-top .c-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.c-nav{display:flex;gap:1.7rem;align-items:center}
.c-nav a{text-decoration:none;font-weight:500;font-size:.92rem;color:var(--muted)}
.c-nav a:hover{color:var(--ink)}
.c-nav .c-btn{padding:.6rem 1.05rem;font-size:.88rem;color:var(--paper)}
.c-burger{display:none;background:none;border:1.5px solid var(--line);border-radius:12px;width:44px;height:44px;cursor:pointer;color:var(--ink)}
.c-burger svg{width:22px;height:22px}
.c-mnav{border-top:1px solid var(--line);padding-block:1rem 1.4rem}
.c-mnav ul{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.c-mnav a{display:block;padding:.6rem 0;text-decoration:none;font-weight:600;font-size:1.15rem}
@media (max-width:900px){.c-nav a:not(.c-btn){display:none}.c-burger{display:grid;place-items:center}}
@media (max-width:600px){.c-nav .c-btn{display:none}}

/* ---------- Hero ---------- */
.c-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,4.5rem);position:relative;overflow:hidden}
.c-hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.c-hero__grid > *{min-width:0}
.c-hero__orbs{position:absolute;right:-8vw;top:-10vw;width:min(54vw,640px);aspect-ratio:1;z-index:-1;opacity:.16;isolation:isolate;pointer-events:none}
.c-hero__orbs i{position:absolute;width:56%;aspect-ratio:1;border-radius:50%;mix-blend-mode:multiply;animation:drift 14s ease-in-out infinite alternate}
.c-hero__orbs i:nth-child(1){left:0;top:0;background:var(--lime)}
.c-hero__orbs i:nth-child(2){right:0;top:0;background:var(--orange);animation-delay:-3s}
.c-hero__orbs i:nth-child(3){left:0;bottom:0;background:var(--blue);animation-delay:-6s}
.c-hero__orbs i:nth-child(4){right:0;bottom:0;background:var(--red);animation-delay:-9s}
@keyframes drift{to{transform:translate(4%,-3%) scale(1.04)}}

 .c-hero h1{display:grid;gap:1.2rem}
.c-hero h1 .kw{font-size:var(--s-1);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.7rem;line-height:1.4}
.c-hero h1 .big{font-size:var(--s4);font-weight:800;letter-spacing:-.04em;line-height:.98}
.c-hero h1 .big .thin{font-weight:200;letter-spacing:-.035em}
.c-hero h1 .big em{font-style:normal;background:linear-gradient(90deg,var(--orange),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.c-lede{font-size:var(--s1);color:var(--muted);max-width:52ch;margin-top:1.5rem}
.c-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.c-proof{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.c-proof div{display:grid}
.c-proof b{font-size:var(--s2);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.c-proof span{font-size:var(--s-1);color:var(--muted)}
@media (max-width:920px){.c-hero__grid{grid-template-columns:1fr}}

/* Widget "Pregúntale a Consentido" */
.c-ask{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:1.3rem;box-shadow:0 30px 70px -35px color-mix(in srgb,var(--ink) 40%,transparent);display:grid;gap:1rem}
.c-ask__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.c-ask__live{display:flex;align-items:center;gap:.55rem}
.c-ask__q{font-weight:700;font-size:1.15rem;line-height:1.3;padding:.9rem 1rem;border-radius:14px;background:var(--mist);border:1px solid var(--line)}
.c-ask__a{font-size:.97rem;min-height:9em}
.c-ask__a mark{background:color-mix(in srgb,var(--lime) 45%,transparent);color:var(--ink);padding:0 .2em;border-radius:4px}
.c-ask__src{display:block;margin-top:.8rem;font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.c-caret{display:inline-block;width:.5em;height:1.05em;background:var(--orange);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.c-chips{display:flex;flex-wrap:wrap;gap:.45rem}
.c-chip{font:500 .8rem var(--font);border:1px solid var(--line);background:transparent;color:var(--ink);padding:.45rem .85rem;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.c-chip:hover{border-color:var(--orange)}
.c-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ---------- Clientes ---------- */
.c-clients{padding-block:2.8rem 3rem;border-block:1px solid var(--line);overflow:hidden}
.c-clients .c-eyebrow{margin-bottom:1.3rem}
.c-marquee{display:flex;width:max-content;animation:scroll 70s linear infinite}
.c-marquee:hover{animation-play-state:paused}
.c-marquee ul{display:flex;align-items:center;gap:clamp(2.5rem,5vw,4.5rem);list-style:none;margin:0;padding:0 1.6rem}
.c-marquee li{flex-shrink:0;font-weight:600;font-size:1.2rem;white-space:nowrap;color:var(--muted)}
.c-marquee img{height:clamp(52px,7vw,76px);width:auto;max-width:clamp(150px,18vw,210px);object-fit:contain;filter:grayscale(1) contrast(1.25);opacity:.85;transition:filter .3s,opacity .3s,transform .3s}
.c-marquee li:hover img{transform:scale(1.08)}
.c-marquee li:hover img{filter:none;opacity:1}

@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- Servicios: diagrama de círculos + lista ---------- */
.c-svc{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.c-svc > *{min-width:0}
.c-venn{position:sticky;top:calc(90px + env(safe-area-inset-top,0px));aspect-ratio:1;max-width:440px;width:100%;isolation:isolate}
.c-venn button{position:absolute;width:58%;aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;mix-blend-mode:multiply;font:700 .95rem var(--font);color:#121316;display:grid;padding:14%;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
.c-venn button span{max-width:9ch;line-height:1.2}
.c-venn [data-c="lime"]{left:0;top:0;background:var(--lime);place-items:start start}
.c-venn [data-c="orange"]{right:0;top:0;background:var(--orange);place-items:start end;text-align:right}
.c-venn [data-c="blue"]{left:0;bottom:0;background:var(--blue);place-items:end start}
.c-venn [data-c="red"]{right:0;bottom:0;background:var(--red);place-items:end end;text-align:right}
.c-venn.is-focus button{opacity:.35}
.c-venn.is-focus button.is-on{opacity:1;transform:scale(1.05)}
.c-venn__core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;background:var(--paper);color:var(--ink);border-radius:999px;padding:.45rem .8rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--ink) 45%,transparent);white-space:nowrap}

.c-svc__list{display:grid;border-top:1px solid var(--line)}
.c-svc__item{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;padding-block:1.8rem;border-bottom:1px solid var(--line);transition:background .3s}
.c-svc__item > *{min-width:0}
.c-svc__dot{width:18px;height:18px;border-radius:50%;margin-top:.35rem}
.c-svc__q{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.c-svc__item h3{font-size:var(--s2);font-weight:700;margin-bottom:.7rem}
.c-svc__item p{color:var(--muted)}
.c-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;list-style:none;padding:0}
.c-tags li{font-size:.76rem;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:.2rem .65rem}
.c-more{display:inline-block;margin-top:1rem;font-weight:600;color:var(--ink);text-decoration-thickness:2px;text-underline-offset:5px}
.c-svc__item.is-on{background:linear-gradient(90deg,color-mix(in srgb,var(--mist) 100%,transparent),transparent)}
[data-c="lime"] .c-svc__dot,.c-svc__dot[data-c="lime"]{background:var(--lime)}
.c-svc__dot[data-c="orange"]{background:var(--orange)} .c-svc__dot[data-c="blue"]{background:var(--blue)} .c-svc__dot[data-c="red"]{background:var(--red)}
.c-svc__item[data-c="lime"] .c-more{text-decoration-color:var(--lime)} .c-svc__item[data-c="orange"] .c-more{text-decoration-color:var(--orange)}
.c-svc__item[data-c="blue"] .c-more{text-decoration-color:var(--blue)} .c-svc__item[data-c="red"] .c-more{text-decoration-color:var(--red)}
@media (max-width:860px){.c-svc{grid-template-columns:1fr}.c-venn{position:relative;top:0;max-width:340px;margin:0 auto}}

/* ---------- Banda AEO ---------- */
.c-band{background:var(--ink-band);color:var(--on-band)}
.c-band .c-eyebrow,.c-band .c-head p{color:color-mix(in srgb,var(--on-band) 65%,var(--ink-band))}
.c-engines{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.c-engines > div{border-top:4px solid var(--c);padding-top:1.3rem;display:grid;gap:.6rem;align-content:start;min-width:0}
.c-engines small{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.c-engines h3{font-size:1.3rem;font-weight:700}
.c-engines p{font-size:.93rem;color:color-mix(in srgb,var(--on-band) 68%,var(--ink-band))}
@media (max-width:900px){.c-engines{grid-template-columns:1fr 1fr;gap:2rem 1rem}}
@media (max-width:520px){.c-engines{grid-template-columns:1fr}}

/* ---------- Portafolio ---------- */
.c-works{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem 1rem}
.c-work{text-decoration:none;display:grid;gap:.8rem}
.c-work__img{aspect-ratio:510/621;border-radius:18px;overflow:hidden;background:var(--mist);position:relative}
.c-work__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.c-work:hover .c-work__img img{transform:scale(1.05)}
.c-work__img span{position:absolute;left:12px;top:12px;background:var(--paper);color:var(--ink);font-size:.72rem;font-weight:700;border-radius:999px;padding:.25rem .6rem;font-variant-numeric:tabular-nums}
.c-work h3{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}
.c-work p{font-size:.85rem;color:var(--muted)}
.c-center{display:flex;justify-content:center;margin-top:2.5rem}
@media (max-width:900px){.c-works{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.c-works{grid-template-columns:1fr}}

/* ---------- Acerca ---------- */
.c-about{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.c-about > *{min-width:0}
.c-num{font-weight:800;font-size:clamp(7rem,17vw,12.5rem);line-height:.8;letter-spacing:-.07em;background:linear-gradient(135deg,var(--lime),var(--orange) 35%,var(--red) 65%,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.c-num small{display:block;font-size:var(--s1);letter-spacing:0;color:var(--ink);-webkit-text-fill-color:var(--ink);font-weight:600;margin-top:1.2rem;line-height:1.3;max-width:18ch}
.c-about__text{display:grid;gap:1.1rem;font-size:1.04rem;color:var(--muted);max-width:62ch}
.c-about__text strong{color:var(--ink);font-weight:700}
@media (max-width:820px){.c-about{grid-template-columns:1fr}}

/* ---------- Diagnóstico digital ---------- */
.c-diag{position:relative;overflow:hidden;border-radius:32px;background:var(--mist);padding:clamp(2rem,6vw,4.5rem)}
.c-diag__text{position:relative;max-width:560px;display:grid;gap:1rem}
.c-diag h2{font-size:var(--s3);font-weight:700}
.c-diag__text > p:not(.c-eyebrow){color:var(--muted);font-size:var(--s1)}
.c-diag__list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:.3rem 0 0;padding:0}
.c-diag__list li{font-size:.85rem;font-weight:600;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.35rem .85rem}
.c-diag .c-cta{margin-top:.6rem}
.c-diag__orbs{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(46%,460px);aspect-ratio:1;isolation:isolate;pointer-events:none}
.c-diag__orbs i{position:absolute;width:56%;aspect-ratio:1;border-radius:50%;mix-blend-mode:multiply;animation:drift 12s ease-in-out infinite alternate}
.c-diag__orbs i:nth-child(1){left:0;top:0;background:var(--lime)}
.c-diag__orbs i:nth-child(2){right:0;top:0;background:var(--orange);animation-delay:-3s}
.c-diag__orbs i:nth-child(3){left:0;bottom:0;background:var(--blue);animation-delay:-6s}
.c-diag__orbs i:nth-child(4){right:0;bottom:0;background:var(--red);animation-delay:-9s}

@media (max-width:760px){.c-diag__orbs{position:relative;right:auto;top:auto;transform:none;width:200px;margin:0 0 1.5rem}}

/* ---------- Equipo ---------- */
.c-team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem 1rem}
.c-member{display:grid;gap:.1rem}
.c-member__ph{aspect-ratio:4/5;max-width:100%;border-radius:20px;overflow:hidden;margin-bottom:.8rem;background:var(--mist);position:relative;display:grid;place-items:center;font-weight:800;font-size:2.4rem;color:var(--muted)}
.c-member__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .4s}
.c-member:hover .c-member__ph img{filter:none}
.c-member__ph::after{content:"";position:absolute;width:26px;height:26px;border-radius:50%;right:12px;bottom:12px;background:var(--c,var(--orange));box-shadow:0 0 0 3px var(--paper)}
.c-member h3{font-size:1rem;font-weight:700;letter-spacing:-.005em}
.c-member h3 a{text-decoration:none}
.c-member h3 a:hover{text-decoration:underline;text-decoration-color:var(--c,var(--orange));text-underline-offset:4px}
.c-member p{font-size:.84rem;color:var(--muted)}
@media (max-width:860px){.c-team{grid-template-columns:repeat(2,1fr)}}

/* ---------- Testimonios ---------- */
.c-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.c-quote{margin:0;padding:2rem;border-radius:24px;background:var(--mist);display:grid;gap:1.4rem;align-content:space-between}
.c-quote:first-child{grid-row:span 2;background:var(--ink-band);color:var(--on-band)}
.c-quote:first-child blockquote{font-size:clamp(1.3rem,2.4vw,1.85rem);font-weight:300;line-height:1.3;letter-spacing:-.015em}
.c-quote:first-child figcaption span{color:color-mix(in srgb,var(--on-band) 65%,var(--ink-band))}
.c-quote blockquote{margin:0;font-size:1rem}
.c-quote blockquote::before{content:"";display:block;width:34px;height:34px;margin-bottom:1rem;border-radius:50%;background:var(--c,var(--orange))}
.c-quote figcaption{font-weight:700;display:grid}
.c-quote figcaption span{font-weight:400;font-size:.88rem;color:var(--muted)}
@media (max-width:820px){.c-quotes{grid-template-columns:1fr}.c-quote:first-child{grid-row:auto}}

/* ---------- Noticias ---------- */
.c-news{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.c-post{text-decoration:none;display:grid;gap:.8rem;align-content:start}
.c-post__img{aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:var(--mist)}
.c-post__img img{width:100%;height:100%;object-fit:cover}
.c-post time{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.c-post h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.c-post p{font-size:.92rem;color:var(--muted)}
@media (max-width:860px){.c-news{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.c-faq{display:grid;gap:.6rem;max-width:880px}
.c-faq details{border-radius:16px;background:var(--mist);padding:0 1.4rem}
.c-faq summary{cursor:pointer;list-style:none;padding:1.2rem 0;font-weight:700;font-size:1.08rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary::after{content:"+";font-weight:300;font-size:1.7rem;line-height:1;transition:transform .25s;flex-shrink:0}
.c-faq details[open] summary::after{transform:rotate(45deg)}
.c-faq details p{padding-bottom:1.3rem;color:var(--muted);max-width:68ch}

/* ---------- Contacto ---------- */
.c-contact{background:var(--ink-band);color:var(--on-band);position:relative;overflow:hidden}
.c-contact h2{font-size:var(--s4);font-weight:800;letter-spacing:-.04em;max-width:13ch}
.c-contact h2 .thin{font-weight:200}
.c-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.c-contact__grid > *{min-width:0}
.c-nap{display:grid;gap:1.2rem;margin-top:2rem}
.c-nap div{display:grid;gap:.15rem}
.c-nap small{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--on-band) 60%,var(--ink-band))}
.c-nap b{font-size:1.2rem;font-weight:600;user-select:all;word-break:break-word}
.c-form{display:grid;gap:.9rem;background:color-mix(in srgb,var(--on-band) 6%,var(--ink-band));padding:1.6rem;border-radius:24px}
.c-form label{display:grid;gap:.35rem;font-size:.8rem;font-weight:600}
.c-form input,.c-form select,.c-form textarea{font:500 1rem var(--font);color:var(--on-band);background:transparent;border:1px solid color-mix(in srgb,var(--on-band) 25%,var(--ink-band));border-radius:12px;padding:.8rem .9rem;width:100%}
.c-form select option{color:#121316}
.c-form input:focus,.c-form select:focus,.c-form textarea:focus{outline:none;border-color:var(--orange)}
.c-form .c-check{grid-template-columns:auto 1fr;align-items:start;gap:.6rem;font-weight:400;font-size:.8rem;color:color-mix(in srgb,var(--on-band) 75%,var(--ink-band))}
.c-form .c-check input{width:18px;height:18px;margin-top:.1rem}
.c-form .c-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.c-form .c-btn{border-color:var(--on-band);color:var(--ink-band);background:var(--on-band);justify-content:center}
.c-form .c-btn:hover{background:var(--orange);border-color:var(--orange);color:#121316}
.c-form__msg{font-size:.9rem;font-weight:600;min-height:1.4em}
.c-contact .c-cta .c-btn{border-color:var(--on-band);color:var(--on-band)}
.c-contact .c-cta .c-btn:hover{background:var(--on-band);color:var(--ink-band)}
@media (max-width:860px){.c-contact__grid{grid-template-columns:1fr}}
@media (max-width:480px){.c-form .c-row{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.c-foot{padding-block:2.5rem;font-size:.86rem;color:var(--muted)}
.c-foot .c-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}
.c-foot nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.c-foot a{text-decoration:none} .c-foot a:hover{color:var(--ink)}
.c-foot .c-tag{letter-spacing:.14em}

.c-wa{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:14;background:#1FA855;color:#fff;border-radius:999px;padding:.8rem 1.15rem;font-weight:700;font-size:.92rem;text-decoration:none;display:flex;gap:.5rem;align-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
.c-wa svg{width:20px;height:20px}

[hidden]{display:none!important}
@media (min-width:901px){.c-mnav{display:none}}
.c-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

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

/* =====================================================================
   Microinteracciones
   ===================================================================== */
/* Barra de progreso de lectura con los cuatro colores */
.c-progress{position:absolute;left:0;bottom:-1px;height:3px;width:100%;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--lime),var(--orange),var(--red),var(--blue))}

/* Titular: palabras que suben al cargar (el estado final es el visible) */
.c-w{display:inline-block;animation:wordUp .8s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 70ms + 120ms)}
@keyframes wordUp{from{transform:translateY(.45em);opacity:.15;filter:blur(4px)}}

/* Botones: flecha que avanza y efecto magnético */
.c-arrow{display:inline-block;transition:transform .25s}
.c-btn:hover .c-arrow{transform:translateX(4px)}
[data-magnetic]{transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,border-color .2s}
.c-btn:active{transform:scale(.97)}

/* Esferas del hero siguen el cursor */
.c-hero__orbs{transition:translate .8s cubic-bezier(.2,.8,.2,1);translate:var(--mx,0) var(--my,0)}

/* Proyectos: inclinación 3D suave */
.c-works{perspective:1000px}
[data-tilt] .c-work__img{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
[data-tilt]:hover .c-work__img{box-shadow:0 24px 40px -24px color-mix(in srgb,var(--ink) 50%,transparent)}
.c-work h3{transition:color .2s}

/* Servicios: el punto late en el servicio activo */
.c-svc__dot{transition:transform .3s}
.c-svc__item.is-on .c-svc__dot{transform:scale(1.35);animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,currentColor 0%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--mist) 70%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.c-tags li{transition:background .2s,border-color .2s}
.c-tags li:hover{border-color:var(--ink)}

/* Equipo: el punto de color crece */
.c-member__ph::after{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.c-member:hover .c-member__ph::after{transform:scale(1.5)}

/* Testimonios: el círculo gira de color */
.c-quote blockquote::before{transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.c-quote:hover blockquote::before{transform:scale(1.2) translateX(4px)}

/* FAQ: apertura suave */
.c-faq details{transition:background .25s}
.c-faq details:hover{background:color-mix(in srgb,var(--mist) 70%,var(--line))}
.c-faq details[open] p{animation:faqIn .35s ease both}
@keyframes faqIn{from{opacity:.2;transform:translateY(-4px)}}

/* Copiar correo / teléfono */
.c-nap div{grid-template-columns:auto auto;justify-content:start;align-items:baseline;column-gap:.8rem}
.c-nap small{grid-column:1 / -1}
.c-copy{font:600 .72rem var(--font);letter-spacing:.06em;text-transform:uppercase;color:inherit;background:transparent;border:1px solid color-mix(in srgb,var(--on-band) 30%,var(--ink-band));border-radius:999px;padding:.25rem .6rem;cursor:pointer;opacity:.75;transition:opacity .2s,background .2s}
.c-copy:hover{opacity:1;background:color-mix(in srgb,var(--on-band) 12%,var(--ink-band))}
.c-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;background:var(--ink);color:var(--paper);font-weight:600;font-size:.9rem;padding:.7rem 1.1rem;border-radius:999px;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);animation:toastIn .3s cubic-bezier(.2,.8,.2,1)}
@keyframes toastIn{from{transform:translate(-50%,12px);opacity:0}}

/* WhatsApp: saluda una vez */
.c-wa{animation:waHi 1s 2.5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes waHi{0%{transform:scale(1)}40%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1)}}
.c-wa:hover{transform:translateY(-2px)}

@media (prefers-reduced-motion:reduce){.c-w{animation:none}.c-hero__orbs{translate:none}[data-tilt] .c-work__img{transform:none}}
.c-hero h1 .big em .c-w{background:linear-gradient(90deg,var(--orange),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Equipo: toda la tarjeta (foto + nombre) abre el perfil en pestaña nueva */
a.c-member{text-decoration:none;color:inherit;border-radius:20px}
a.c-member:hover h3{text-decoration:underline;text-decoration-color:var(--c,var(--orange));text-decoration-thickness:2px;text-underline-offset:4px}
.c-member__net{position:absolute;left:12px;bottom:12px;z-index:1;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--paper);color:#0A66C2;box-shadow:0 6px 16px -8px rgba(0,0,0,.45);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.c-member__net svg{width:18px;height:18px}
a.c-member:hover .c-member__net{transform:translateY(-3px) scale(1.08)}
a.c-member:hover .c-member__ph img{filter:none}
.c-marquee a{display:block}

/* =====================================================================
   Clientes sin logo: nombre como marca tipográfica
   ===================================================================== */
.c-marquee li > span,.c-marquee a > span{display:inline-flex;align-items:center;height:clamp(52px,7vw,76px);font-weight:800;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:-.02em;color:var(--ink);opacity:.8;text-transform:uppercase}

/* =====================================================================
   Alcance global
   ===================================================================== */
.c-reach__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.c-reach__grid > *{min-width:0}
.c-reach__text{display:grid;gap:1rem}
.c-reach__text h2{font-size:var(--s3);font-weight:700}
.c-reach__intro{color:var(--muted);font-size:var(--s1);max-width:46ch}
.c-reach__count{display:flex;align-items:baseline;gap:.8rem;margin-top:.4rem}
.c-reach__count b{font-size:clamp(4rem,9vw,6rem);font-weight:800;line-height:.9;letter-spacing:-.05em;background:linear-gradient(135deg,var(--orange),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.c-reach__count span{font-weight:600;color:var(--muted);max-width:10ch;line-height:1.25}
.c-reach__list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.c-reach__list li{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:.35rem .8rem .35rem .45rem;background:var(--paper);transition:border-color .2s,transform .2s}
.c-reach__list li:hover{border-color:var(--ink);transform:translateY(-2px)}
.c-reach__list .c-svc__dot{width:12px;height:12px;margin:0}
.c-reach__list .is-hub{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.c-reach__list small{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.c-reach__map svg{width:100%;height:auto;display:block}
.c-reach__grid-dot{fill:var(--line)}
.c-reach__arc{stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 9;opacity:.85;animation:arcFlow 1.4s linear infinite}
@keyframes arcFlow{to{stroke-dashoffset:-30}}
.c-reach__leader{stroke:var(--muted);stroke-width:1.2;stroke-dasharray:2 4;opacity:.7}
.c-reach__label{font:600 24px var(--font);fill:var(--ink)}
.c-reach__label.is-hub{font-weight:800;font-size:28px}
.c-reach__dot{fill:var(--c);stroke:var(--paper);stroke-width:4}
.c-reach__ring{fill:var(--c);opacity:.25;transform-box:fill-box;transform-origin:center;animation:ring 2.4s ease-out infinite;animation-delay:calc(var(--i) * 220ms)}
.c-reach__pt.is-hub .c-reach__dot{fill:var(--ink)}
.c-reach__pt.is-hub .c-reach__ring{fill:var(--orange);opacity:.35}
@keyframes ring{0%{transform:scale(.6);opacity:.45}100%{transform:scale(1.8);opacity:0}}
@media (max-width:900px){.c-reach__grid{grid-template-columns:1fr}}

/* =====================================================================
   Páginas internas
   ===================================================================== */
.c-pagehead{position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,4vw,3rem)}
.c-pagehead .c-wrap{display:grid;gap:1rem}
.c-pagehead h1{font-size:clamp(2.2rem,5.2vw,4.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;max-width:20ch}
.c-pagehead h1 .thin{font-weight:200}
.c-pagehead .c-lede{margin-top:.3rem}
.c-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem;color:var(--muted)}
.c-crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.c-crumbs a{text-decoration:none} .c-crumbs a:hover{color:var(--ink);text-decoration:underline}
.c-crumbs [aria-current]{color:var(--ink);font-weight:600}

/* Índice de servicios */
.c-index{position:sticky;top:calc(env(safe-area-inset-top,0px) + 68px);z-index:12;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block:1px solid var(--line)}
.c-index ul{list-style:none;margin:0;padding:.7rem 0;display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none}
.c-index ul::-webkit-scrollbar{display:none}
.c-index a{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;text-decoration:none;font-weight:600;font-size:.88rem;padding:.45rem .9rem .45rem .5rem;border-radius:999px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.c-index a:hover,.c-index a.is-on{border-color:var(--ink);background:var(--mist)}
.c-index .c-svc__dot{width:14px;height:14px;margin:0}

/* Servicio (página /servicios) */
.c-services{display:grid;gap:clamp(3.5rem,8vw,6rem);padding-block:clamp(3rem,7vw,5rem)}
.c-service{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;scroll-margin-top:150px}
.c-service > *{min-width:0}
.c-service:nth-child(even) .c-service__media{order:2}
.c-service__media{position:relative;aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:var(--mist)}
.c-service__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.c-service:hover .c-service__media img{transform:scale(1.04)}
.c-service__media::after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-20px;bottom:-20px;background:var(--c);mix-blend-mode:multiply}
.c-service__num{position:absolute;left:18px;top:14px;font-weight:800;font-size:1rem;background:var(--paper);border-radius:999px;padding:.25rem .65rem;font-variant-numeric:tabular-nums}
.c-service__art{position:absolute;inset:0;isolation:isolate}
.c-service__art i{position:absolute;width:42%;aspect-ratio:1;border-radius:50%;mix-blend-mode:multiply;animation:drift 12s ease-in-out infinite alternate}
.c-service__art i:nth-child(1){left:18%;top:10%;background:var(--lime)} .c-service__art i:nth-child(2){right:18%;top:10%;background:var(--orange);animation-delay:-3s}
.c-service__art i:nth-child(3){left:18%;bottom:10%;background:var(--blue);animation-delay:-6s} .c-service__art i:nth-child(4){right:18%;bottom:10%;background:var(--red);animation-delay:-9s}
.c-service__body{display:grid;gap:.9rem;align-content:start}
.c-service__body h2{font-size:var(--s3);font-weight:800}
.c-service__lead{font-size:var(--s1);font-weight:500}
@media (max-width:860px){.c-service{grid-template-columns:1fr}.c-service:nth-child(even) .c-service__media{order:0}}

/* Texto largo (contenido de Voyager) */
.c-prose{font-size:1.04rem;line-height:1.75;color:var(--muted);max-width:68ch}
.c-prose > * + *{margin-top:1em}
.c-prose p{margin:0}
.c-prose h2,.c-prose h3,.c-prose h4{color:var(--ink);font-weight:700;letter-spacing:-.015em;margin-top:1.6em;line-height:1.2}
.c-prose h2{font-size:1.6rem} .c-prose h3{font-size:1.3rem} .c-prose h4{font-size:1.1rem}
.c-prose strong,.c-prose b{color:var(--ink)}
.c-prose a{color:var(--link);text-underline-offset:3px}
.c-prose ul,.c-prose ol{padding-left:1.3em} .c-prose li+li{margin-top:.35em}
.c-prose img{border-radius:18px;height:auto}
.c-prose blockquote{margin:1.5em 0;padding-left:1.2em;border-left:4px solid var(--orange);color:var(--ink);font-size:1.15rem}
.c-prose table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.c-prose td,.c-prose th{border:1px solid var(--line);padding:.5rem .7rem}
.c-prose iframe{max-width:100%;border-radius:18px}
/* Compatibilidad con HTML antiguo guardado en Voyager (clases Bootstrap de la plantilla anterior) */
.c-legacy .row{display:flex;flex-wrap:wrap;gap:1.5rem}
.c-legacy [class*="col-"]{flex:1 1 280px;min-width:0}
.c-legacy .container{max-width:100%;padding:0}
.c-legacy .text-center{text-align:center}
.c-legacy [class*="pt-"],.c-legacy [class*="pb-"],.c-legacy [class*="mt-"],.c-legacy [class*="mb-"]{margin-block:0;padding-block:0}

/* Filtro de proyectos */
.c-filter{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem}
.c-filter .c-chip{font-size:.85rem;padding:.5rem .95rem}
.c-filter small{opacity:.6;font-weight:700;margin-left:.2rem}
.c-work.is-hidden{display:none}
.c-work__title{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}
.c-empty{color:var(--muted);padding-block:2rem}

/* Noticias: destacada */
.c-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;text-decoration:none;margin-bottom:clamp(2.5rem,5vw,4rem)}
.c-feature > *{min-width:0}
.c-feature__img{aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:var(--mist)}
.c-feature__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.c-feature:hover .c-feature__img img{transform:scale(1.04)}
.c-feature__body{display:grid;gap:.8rem;align-content:start}
.c-feature__body h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.025em}
.c-feature__body p{color:var(--muted)}
.c-feature time,.c-post time{font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.c-pill{justify-self:start;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--lime);color:#121316;border-radius:999px;padding:.25rem .7rem}
.c-news--list{row-gap:2.4rem}
.c-post__title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.c-post:hover h2,.c-post:hover h3{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:4px}
@media (max-width:860px){.c-feature{grid-template-columns:1fr}}

/* Artículo */
.c-article .c-pagehead h1{max-width:24ch;font-size:clamp(2rem,4.6vw,3.6rem)}
.c-article__img{margin:0 0 clamp(2rem,5vw,3.5rem);border-radius:28px;overflow:hidden;aspect-ratio:16/8;background:var(--mist)}
.c-article__img img{width:100%;height:100%;object-fit:cover}
.c-article__grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);max-width:900px;margin-inline:auto;padding-bottom:clamp(2rem,5vw,4rem)}
.c-article .c-prose{font-size:1.1rem;color:color-mix(in srgb,var(--ink) 80%,var(--paper))}
.c-share{display:flex;flex-direction:column;gap:.5rem;position:sticky;top:110px;align-self:start}
.c-share span{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
.c-share a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);text-decoration:none;font-weight:800;font-size:.85rem;transition:background .2s,color .2s,transform .2s}
.c-share a:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.c-share--row{flex-direction:row;align-items:center;position:static;margin-top:1.4rem}
.c-share--row span{margin:0 .4rem 0 0}
@media (max-width:760px){.c-article__grid{grid-template-columns:1fr}.c-share{flex-direction:row;align-items:center;position:static}.c-share span{margin:0 .4rem 0 0}}

/* Proyecto */
.c-project{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.c-project > *{min-width:0}
.c-project__img{margin:0;border-radius:28px;overflow:hidden;background:var(--mist)}
.c-project__img img{width:100%;height:auto}
.c-project__info{position:sticky;top:110px;display:grid;gap:1.4rem}
.c-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin:0;padding:1.2rem 1.4rem;border-radius:20px;background:var(--mist)}
.c-facts dt{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.c-facts dd{margin:.2rem 0 0;font-weight:700}
@media (max-width:860px){.c-project{grid-template-columns:1fr}.c-project__info{position:static}}

/* 404 */
.c-404{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding-bottom:2rem}
.c-404 a{display:flex;align-items:center;gap:.7rem;padding:1.4rem;border-radius:20px;background:var(--mist);text-decoration:none;font-weight:700;font-size:1.1rem;transition:transform .2s,background .2s}
.c-404 a:hover{transform:translateY(-3px);background:color-mix(in srgb,var(--mist) 60%,var(--line))}
.c-404 .c-svc__dot{margin:0}
@media (max-width:760px){.c-404{grid-template-columns:1fr 1fr}}

/* Próximamente */
.c-coming{min-height:100vh;display:grid;place-content:center;justify-items:center;text-align:center;gap:1.2rem;padding:3rem max(16px,env(safe-area-inset-left,0px));position:relative;overflow:hidden}
.c-coming img{height:120px;width:auto}
.c-coming h1{font-size:clamp(2.2rem,6vw,4.4rem);font-weight:800;letter-spacing:-.04em}
.c-coming p{color:var(--muted);max-width:50ch}
.c-coming__contact{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;font-weight:600;color:var(--ink)!important}
.c-coming nav{display:flex;gap:1.2rem}
.c-coming nav a{font-weight:600;text-decoration:none}

/* =====================================================================
   Asistente de calificación de leads
   ===================================================================== */
.c-bot{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;font-family:var(--font)}
.c-bot__avatar{display:inline-grid;grid-template-columns:repeat(2,9px);gap:2px;flex-shrink:0}
.c-bot__avatar i{width:9px;height:9px;border-radius:50%}
.c-bot__avatar i:nth-child(1){background:var(--lime)} .c-bot__avatar i:nth-child(2){background:var(--orange)} .c-bot__avatar i:nth-child(3){background:var(--blue)} .c-bot__avatar i:nth-child(4){background:var(--red)}
.c-bot__launch{display:flex;align-items:center;gap:.6rem;border:0;cursor:pointer;background:var(--ink);color:var(--paper);font:700 .95rem var(--font);padding:.85rem 1.2rem .85rem 1rem;border-radius:999px;box-shadow:0 16px 34px -14px rgba(0,0,0,.55);transition:transform .25s cubic-bezier(.2,.8,.2,1);animation:waHi 1s 2.5s cubic-bezier(.3,1.6,.5,1) both}
.c-bot__launch:hover{transform:translateY(-3px)}
.c-bot__launch:hover .c-bot__avatar i{animation:dotHop .5s ease both}
.c-bot__launch:hover .c-bot__avatar i:nth-child(2){animation-delay:.06s} .c-bot__launch:hover .c-bot__avatar i:nth-child(3){animation-delay:.12s} .c-bot__launch:hover .c-bot__avatar i:nth-child(4){animation-delay:.18s}
@keyframes dotHop{50%{transform:translateY(-3px)}}
.c-bot.is-open .c-bot__launch{animation:none}
.c-bot__nudge{display:flex;align-items:flex-start;gap:.4rem;max-width:260px;background:var(--paper);border:1px solid var(--line);border-radius:18px 18px 4px 18px;padding:.75rem .6rem .75rem .9rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.45);animation:toastIn .35s cubic-bezier(.2,.8,.2,1)}
.c-bot__nudge-open{background:none;border:0;padding:0;text-align:left;font:600 .88rem/1.4 var(--font);color:var(--ink);cursor:pointer}
.c-bot__nudge-close{background:none;border:0;font-size:1.2rem;line-height:1;color:var(--muted);cursor:pointer;padding:0 .2rem}
.c-bot__panel{width:min(390px,calc(100vw - 32px));height:min(620px,calc(100vh - 120px));background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px -25px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:botIn .35s cubic-bezier(.2,.8,.2,1)}
@keyframes botIn{from{transform:scale(.92) translateY(10px);opacity:0}}
.c-bot__head{position:relative;display:flex;align-items:center;gap:.8rem;padding:1rem 1rem .95rem;background:var(--ink);color:var(--paper)}
.c-bot__head .c-bot__avatar{grid-template-columns:repeat(2,11px)} .c-bot__head .c-bot__avatar i{width:11px;height:11px}
.c-bot__title{font-weight:700;font-size:1rem;line-height:1.2}
.c-bot__status{font-size:.74rem;opacity:.7}
.c-bot__close{margin-left:auto;background:transparent;border:0;color:inherit;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.c-bot__close:hover{background:rgba(255,255,255,.12)}
.c-bot__close svg{width:20px;height:20px}
.c-bot__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.c-bot__progress span{display:block;height:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--lime),var(--orange),var(--red),var(--blue));transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.c-bot__log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.55rem;background:var(--mist)}
.c-bot__msg{max-width:86%;padding:.65rem .9rem;border-radius:18px;font-size:.92rem;line-height:1.45;animation:msgIn .3s cubic-bezier(.2,.8,.2,1) both;white-space:pre-line}
@keyframes msgIn{from{transform:translateY(6px);opacity:0}}
.c-bot__msg--bot{background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}
.c-bot__msg--user{background:var(--ink);color:var(--paper);border-bottom-right-radius:6px;align-self:flex-end}
.c-bot__msg--hint{background:transparent;color:var(--muted);font-size:.78rem;padding:0 .3rem;align-self:flex-start}
.c-bot__typing{display:flex;gap:4px;padding:.8rem .9rem}
.c-bot__typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:dotHop .9s ease-in-out infinite}
.c-bot__typing span:nth-child(2){animation-delay:.15s} .c-bot__typing span:nth-child(3){animation-delay:.3s}
.c-bot__actions{padding:.8rem 1rem 1rem;display:grid;gap:.55rem;border-top:1px solid var(--line);max-height:58%;overflow-y:auto}
.c-bot__actions:empty{display:none}
.c-bot__opts{display:flex;flex-wrap:wrap;gap:.4rem}
.c-bot__opt{font:600 .84rem var(--font);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:.5rem .85rem;cursor:pointer;text-align:left;animation:msgIn .3s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 40ms);transition:border-color .2s,background .2s,transform .2s}
.c-bot__opt:hover,.c-bot__opt:focus-visible{border-color:var(--ink);transform:translateY(-1px)}
.c-bot__input,.c-bot__form{display:grid;gap:.55rem}
.c-bot__input textarea,.c-bot__form input:not([type=checkbox]){font:500 .92rem var(--font);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:.65rem .75rem;width:100%;resize:vertical}
.c-bot__input textarea:focus,.c-bot__form input:focus{outline:none;border-color:var(--orange)}
.c-bot__form{grid-template-columns:1fr 1fr}
.c-bot__form label{display:grid;gap:.25rem;font-size:.74rem;font-weight:600;color:var(--muted)}
.c-bot__form .c-bot__check,.c-bot__form .c-bot__send,.c-bot__form .c-bot__err{grid-column:1 / -1}
.c-bot__check{grid-template-columns:auto 1fr!important;align-items:start;gap:.5rem!important;font-weight:500!important}
.c-bot__check input{width:16px;height:16px;margin-top:.1rem}
.c-bot__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.c-bot__row{display:flex;gap:.5rem}
.c-bot__send{font:700 .9rem var(--font);background:var(--ink);color:var(--paper);border:0;border-radius:999px;padding:.75rem 1.1rem;cursor:pointer;transition:background .2s}
.c-bot__send:hover{background:var(--red)}
.c-bot__send:disabled{opacity:.6;cursor:wait}
.c-bot__skip{font:600 .85rem var(--font);background:none;border:0;color:var(--muted);cursor:pointer}
.c-bot__back{justify-self:start;font:600 .76rem var(--font);background:none;border:0;color:var(--muted);cursor:pointer;padding:.2rem 0;text-decoration:underline;text-underline-offset:3px}
.c-bot__err{font-size:.8rem;color:var(--link);font-weight:600;min-height:0}
.c-bot__cta{display:flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;font-weight:700;font-size:.92rem;border-radius:999px;padding:.85rem 1rem;text-align:center;transition:transform .2s}
.c-bot__cta:hover{transform:translateY(-2px)}
.c-bot__cta--wa{background:#1FA855;color:#fff}
.c-bot__cta--solid{background:var(--ink);color:var(--paper)}
.c-bot__cta--ghost{border:1.5px solid var(--ink);color:var(--ink)}
@media (max-width:480px){.c-bot__panel{height:calc(100vh - 100px)}.c-bot__form{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.c-bot__launch,.c-bot__panel,.c-bot__msg,.c-bot__opt{animation:none}}

/* HubSpot no se usa: si algún script externo (p. ej. desde Tag Manager) carga su chat, se oculta
   para que no tape el botón "Hablemos". La solución de fondo es quitar el script de HubSpot en Tag Manager. */
#hubspot-messages-iframe-container,#hubspot-conversations-iframe,.hs-shadow-container{display:none!important}
