@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo-var.woff2") format("woff2-variations"),url("/assets/fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@view-transition{navigation:auto}
:root{
  --hueso:#F7F6F3;--papel:#ECEAE4;--tinta:#121212;--tinta-2:#2A2A28;--gris:#5C5B57;--gris-claro:#B8B6AF;
  --cobalto:#2441E8;--linea:rgba(18,18,18,.14);--linea-clara:rgba(247,246,243,.16);
  --ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);
  --gutter:16px;--max:1320px;--cab:64px;color-scheme:light;
}
@media (min-width:700px){:root{--gutter:32px;--cab:72px}}
@media (min-width:1100px){:root{--gutter:48px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--cab) + 16px);scrollbar-color:var(--tinta) var(--papel)}
body{margin:0;background:var(--hueso);color:var(--tinta);font-family:"Archivo",system-ui,sans-serif;font-size:1rem;line-height:1.55;font-weight:420;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol,dl,dd,figure,fieldset{margin:0}
ul,ol{padding:0;list-style:none}
fieldset{border:0;padding:0;min-width:0}
::selection{background:var(--cobalto);color:var(--hueso)}
:focus-visible{outline:2px solid var(--cobalto);outline-offset:3px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.saltar{position:fixed;left:12px;top:12px;z-index:90;padding:10px 14px;background:var(--tinta);color:var(--hueso);transform:translateY(-200%);transition:transform 160ms var(--ease-out)}
.saltar:focus{transform:none}

/* tipografía */
.t1{font-size:clamp(2.6rem,8vw,6.4rem);font-weight:660;font-stretch:125%;line-height:.94;letter-spacing:-.03em;text-wrap:balance}
.t2{font-size:clamp(2rem,5.6vw,4.4rem);font-weight:640;font-stretch:125%;line-height:.98;letter-spacing:-.025em;text-wrap:balance}

/* botones y enlaces */
.boton{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;background:var(--tinta);color:var(--hueso);text-decoration:none;font-weight:600;font-stretch:112%;font-size:.98rem;border-radius:2px;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease-out);-webkit-tap-highlight-color:transparent}
.boton:active{transform:scale(.97)}
.boton--chico{min-height:44px;padding:0 16px;font-size:.88rem}
.boton--grande{min-height:60px;padding:0 32px;font-size:1.05rem}
.boton--claro{background:var(--hueso);color:var(--tinta);min-height:60px;padding:0 32px}
.boton:disabled{opacity:.7;cursor:progress}
.enlace{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-stretch:112%;text-decoration:none;background:linear-gradient(currentColor,currentColor) left calc(100% - 10px)/100% 1.5px no-repeat;transition:background-size 240ms var(--ease-out)}
.enlace--claro{color:var(--hueso)}
.cuenta{font-weight:450;color:var(--gris);font-stretch:100%}
@media (hover:hover) and (pointer:fine){
  .boton:hover{background:var(--cobalto)}
  .boton--claro:hover{background:var(--tinta);color:var(--hueso)}
  .enlace:hover{background-size:0 1.5px;background-position:right calc(100% - 10px)}
}

/* intro */
.intro{position:fixed;inset:0;z-index:100;background:var(--tinta);clip-path:inset(0 0 0 0);transition:clip-path 800ms var(--ease-io);cursor:pointer}
.intro--sale{clip-path:inset(0 0 100% 0)}
.intro__svg{width:100%;height:100%;display:block}
.intro-activa body{overflow:hidden}

/* cabecera y pestañas */
.cab{position:sticky;top:0;z-index:50;height:var(--cab);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);background:var(--hueso);border-bottom:1px solid transparent;transition:border-color 200ms ease;view-transition-name:cab}
.cab[data-scrolled]{border-color:var(--linea)}
.cab__logo{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.cab__logo svg{height:28px;width:auto;color:var(--cobalto)}
.cab__logo span{font-size:13.5px;line-height:1.02;font-weight:620;font-stretch:112%;letter-spacing:.01em}
.cab__nav{display:none}
.cab__acc{display:flex;align-items:center;gap:8px}
.idioma{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 10px;font-size:.82rem;font-weight:620;font-stretch:112%;letter-spacing:.04em;text-decoration:none;border:1px solid var(--linea);border-radius:2px;transition:border-color 200ms ease}
.menu-btn{width:44px;height:44px;display:grid;place-content:center;gap:6px}
.menu-btn i{display:block;width:22px;height:2px;background:currentColor;transition:transform 240ms var(--ease-out)}
.menu-btn[aria-expanded="true"] i:first-of-type{transform:translateY(4px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}
.menu-movil{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - var(--cab));display:flex;flex-direction:column;padding:16px var(--gutter) 32px;background:var(--hueso);overflow:auto;animation:menu-entra 240ms var(--ease-out)}
.menu-movil[hidden]{display:none}
.menu-movil a{padding:12px 0;font-size:clamp(2rem,9vw,2.8rem);font-weight:660;font-stretch:125%;letter-spacing:-.02em;line-height:1.1;text-decoration:none;border-bottom:1px solid var(--linea)}
.menu-movil a[aria-current]{color:var(--cobalto)}
.menu-movil a.menu-movil__idioma{margin-top:auto;font-size:1rem;border:0;min-height:44px;display:flex;align-items:center}
@keyframes menu-entra{from{opacity:0;transform:translateY(-8px)}}
@media (max-width:379px){.cab .boton--chico{display:none}}
@media (min-width:960px){
  .cab__nav{display:flex;gap:36px;position:absolute;left:50%;transform:translateX(-50%)}
  .cab__nav a{position:relative;padding:10px 0;font-size:.95rem;font-weight:560;font-stretch:110%;text-decoration:none}
  .cab__nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--cobalto);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease-out)}
  .cab__nav a[aria-current]::after{transform:scaleX(1)}
  .cab__nav a[aria-current]{color:var(--cobalto)}
  .menu-btn,.menu-movil{display:none!important}
}
@media (hover:hover) and (pointer:fine){.cab__nav a:hover::after{transform:scaleX(1)}.idioma:hover{border-color:var(--tinta)}}


/* bloques generales */
.t3{font-size:clamp(1.35rem,2.4vw,1.9rem);font-weight:640;font-stretch:118%;letter-spacing:-.015em;line-height:1.08}
.sec{max-width:var(--max);margin:0 auto;padding:clamp(64px,9vw,128px) var(--gutter)}
.sec--linea{border-top:1px solid var(--linea)}
.sec--sin-arriba{padding-top:0}
.sec--interna{padding-left:0;padding-right:0}
.sec__cab{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px)}
.sec__cab p{color:var(--gris);max-width:46ch}
@media (min-width:900px){.sec__cab{grid-template-columns:1fr auto;align-items:end;column-gap:48px}.sec__cab p{grid-column:1}.sec__cab>.enlace{grid-row:1;grid-column:2}}
.pag-cab{max-width:var(--max);margin:0 auto;padding:clamp(28px,5vw,64px) var(--gutter) clamp(40px,6vw,80px);display:grid;gap:18px}
.pag-cab p{max-width:54ch;color:var(--gris);font-size:clamp(1rem,1.3vw,1.15rem)}
.pag-cab--grande .t1{max-width:16ch}
.dos-col{display:grid;gap:28px}
@media (min-width:900px){.dos-col{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}}
.texto-grande{font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5;color:var(--tinta-2);display:grid;gap:24px;justify-items:start}

/* migas */
.migas ol{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.86rem;color:var(--gris)}
.migas li{display:flex;align-items:center;gap:8px}
.migas li+li::before{content:"";width:10px;height:2px;background:var(--cobalto);transform:rotate(-22deg)}
.migas a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.migas a:hover{color:var(--tinta);text-decoration:underline}
.migas [aria-current]{color:var(--tinta);min-height:44px;display:inline-flex;align-items:center}

/* hero */
.hero{max-width:var(--max);margin:0 auto;padding:clamp(28px,6vw,72px) var(--gutter) clamp(40px,6vw,80px);display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:1000px){.hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.hero__txt{display:grid;gap:clamp(20px,2.4vw,32px);justify-items:start}
.hero__t{font-size:clamp(2.45rem,7.6vw,6.2rem);font-weight:660;font-stretch:125%;line-height:.94;letter-spacing:-.03em;max-width:13ch;text-wrap:balance}
.hero__p{max-width:50ch;color:var(--gris);font-size:clamp(1rem,1.25vw,1.15rem)}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.hero__txt>*{animation:sube-txt 800ms var(--ease-out) both}
.hero__txt>*:nth-child(2){animation-delay:90ms}.hero__txt>*:nth-child(3){animation-delay:180ms}
.intro-activa .cap--primero>*{animation-play-state:paused}
@keyframes sube-txt{from{opacity:0;transform:translateY(24px)}}

/* historia de inicio */
.historia{max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:grid}
.hg-wrap{position:sticky;top:var(--cab);z-index:2;height:34vh;padding:12px 0;background:var(--hueso)}
.hg{position:relative;height:100%;display:flex;align-items:center;justify-content:center;background:var(--tinta);border-radius:2px;overflow:hidden}
.hg__svg{width:100%;height:100%;max-width:560px;overflow:visible;font-family:"Archivo",system-ui,sans-serif}
.historia__caps{position:relative;z-index:1}
.cap{display:flex;flex-direction:column;justify-content:flex-start;gap:16px;padding:28px 0 16vh}
@media (max-width:999px){.cap__n{display:none}.hg-wrap::after{content:"";position:absolute;left:0;right:0;top:100%;height:28px;background:linear-gradient(var(--hueso),rgba(247,246,243,0));pointer-events:none}}
.cap--primero{padding-top:20px}
.cap:last-child{padding-bottom:12vh}
.cap__n{font-size:.85rem;font-weight:700;font-stretch:112%;color:var(--cobalto);font-variant-numeric:tabular-nums}
.cap__t{font-size:clamp(2rem,5vw,4.2rem);font-weight:660;font-stretch:125%;line-height:.98;letter-spacing:-.028em;max-width:14ch;text-wrap:balance}
.cap--primero .cap__t{font-size:clamp(2.5rem,6.6vw,5.8rem);line-height:.94}
.cap__p{max-width:42ch;font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.5;color:var(--tinta-2)}
.cap--primero .cap__p{font-size:clamp(1.15rem,2vw,1.6rem);font-weight:520;color:var(--tinta)}
.cap--primero>*{animation:sube-txt 1200ms var(--ease-out) both}
.cap--primero>*:nth-child(3){animation-delay:200ms}.cap--primero>*:nth-child(4){animation-delay:400ms}
@media (min-width:1000px){
  .historia{grid-template-columns:minmax(0,6fr) minmax(0,6fr);column-gap:56px}
  .hg-wrap{grid-column:2;grid-row:1;top:calc(var(--cab) + 24px);height:calc(100vh - var(--cab) - 48px);padding:0;align-self:start}
  .historia__caps{grid-column:1;grid-row:1}
  .cap,.cap--primero,.cap:last-child{min-height:calc(100vh - var(--cab));justify-content:center;padding:40px 0}
  .js .cap{transition:opacity 900ms ease}
  .js .cap:not([data-activo]){opacity:.22}
}
/* estados del gráfico */
.hg .hb,.hg .fr,.hg .anillo,.hg .ra,.hg .et{transition:transform 1500ms var(--ease-io),opacity 900ms ease}
.hb{transform:translate(120px,100px) scale(1.15) translate(-83px,-55px)}
.hb__sil{fill:var(--cobalto)}
.hb__l{stroke:var(--tinta);stroke-width:5.8;stroke-dasharray:1;stroke-dashoffset:0}
.anillo{fill:none;stroke:var(--cobalto);stroke-width:2.5;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transform:rotate(-90deg);transform-origin:120px 100px}
.anillo-pista{fill:none;stroke:var(--hueso);stroke-opacity:0;stroke-width:2.5;transition:stroke-opacity 900ms ease}
[data-e="e2"] .anillo-pista{stroke-opacity:.15}
.fr{opacity:0;transform:translate(120px,100px) scale(.2)}
.fr__r{fill:var(--gris);transition:fill 1000ms ease}
.fr__s{fill:rgba(18,18,18,.5);transition:fill 1000ms ease}
.fr__logo{fill:var(--hueso);opacity:0;transition:opacity 800ms ease 700ms}
[data-e="e6"] .fr__s{fill:var(--hueso)}
[data-e="e6"] .fr__logo{opacity:1}
.fr__m{fill:var(--hueso);opacity:0;transition:opacity 800ms ease 600ms}
.ra{stroke:var(--cobalto);stroke-width:2.4;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.et{fill:var(--hueso);font-size:9px;font-weight:600;font-stretch:112%;opacity:0}
[data-e="e2"] .hb{transform:translate(120px,100px) scale(.48) translate(-83px,-55px)}
[data-e="e2"] .anillo{opacity:1;animation:cuenta 4.5s cubic-bezier(.4,0,.6,1) 500ms forwards}
@keyframes cuenta{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
[data-e="e3"] .hb{opacity:0;transform:translate(120px,100px) scale(.3) translate(-83px,-55px)}
[data-e="e3"] .fr{opacity:1}
[data-e="e3"] .fr1{transform:translate(52px,56px) rotate(-14deg)}
[data-e="e3"] .fr2{transform:translate(118px,44px) rotate(9deg) scale(.8)}
[data-e="e3"] .fr3{transform:translate(188px,66px) rotate(-6deg) scale(1.1)}
[data-e="e3"] .fr4{transform:translate(64px,142px) rotate(18deg) scale(.9)}
[data-e="e3"] .fr5{transform:translate(132px,150px) rotate(-22deg)}
[data-e="e3"] .fr6{transform:translate(194px,140px) rotate(7deg) scale(.75)}
[data-e="e3"] .fr1 .fr__r{fill:#6B6B6B}[data-e="e3"] .fr2 .fr__r{fill:#C94F3D}[data-e="e3"] .fr3 .fr__r{fill:#E2B93B}
[data-e="e3"] .fr4 .fr__r{fill:#3D8C5A}[data-e="e3"] .fr5 .fr__r{fill:#8E5BB5}[data-e="e3"] .fr6 .fr__r{fill:#B8B6AF}
[data-e="e4"] .hb__l{animation:traza-hb 1300ms var(--ease-out) 500ms both}
[data-e="e4"] .hb__l:nth-of-type(2){animation-delay:850ms}[data-e="e4"] .hb__l:nth-of-type(3){animation-delay:1200ms}
@keyframes traza-hb{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
[data-e="e5"] .hb{transform:translate(44px,100px) scale(.5) translate(-83px,-55px)}
[data-e="e5"] .ra{opacity:1;animation:traza-ra 700ms var(--ease-out) 600ms forwards}
[data-e="e5"] .et{opacity:1;transition-delay:900ms}
[data-e="e5"] .ra2{animation-delay:800ms}[data-e="e5"] .et2{transition-delay:1100ms}[data-e="e5"] .ra3{animation-delay:1000ms}[data-e="e5"] .et3{transition-delay:1300ms}
[data-e="e5"] .ra4{animation-delay:1200ms}[data-e="e5"] .et4{transition-delay:1500ms}[data-e="e5"] .ra5{animation-delay:1400ms}[data-e="e5"] .et5{transition-delay:1700ms}
[data-e="e5"] .ra6{animation-delay:1600ms}[data-e="e5"] .et6{transition-delay:1900ms}
@keyframes traza-ra{to{stroke-dashoffset:0}}
[data-e="e6"] .hb{transform:translate(120px,34px) scale(.3) translate(-83px,-55px)}
[data-e="e6"] .fr{opacity:1}
[data-e="e6"] .fr__r{fill:var(--cobalto)}
[data-e="e6"] .fr__m{opacity:1}
[data-e="e6"] .fr1{transform:translate(58px,98px)}[data-e="e6"] .fr2{transform:translate(110px,98px)}[data-e="e6"] .fr3{transform:translate(174px,92px)}
[data-e="e6"] .fr4{transform:translate(58px,160px)}[data-e="e6"] .fr5{transform:translate(116px,162px)}[data-e="e6"] .fr6{transform:translate(174px,156px)}

/* puente a servicios */
.puente{max-width:var(--max);margin:0 auto;padding:clamp(64px,9vw,128px) var(--gutter);border-top:1px solid var(--linea);display:grid;gap:18px}
.puente>p{max-width:52ch;color:var(--gris)}
.puente__lista{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:8px}
.puente__lista{gap:6px clamp(20px,3vw,44px)}
.puente__lista li{display:flex;align-items:flex-start;gap:12px}
.puente__lista li::before{content:"";flex:none;width:clamp(14px,1.6vw,22px);height:3px;margin-top:calc(clamp(1.4rem,3.2vw,2.6rem) * .62);background:var(--cobalto);transform:rotate(-22deg)}
.puente__lista a{display:inline-flex;align-items:baseline;gap:10px;min-height:44px;font-size:clamp(1.4rem,3.2vw,2.6rem);font-weight:640;font-stretch:122%;letter-spacing:-.02em;line-height:1.3;text-decoration:none;transition:color 200ms ease}
.puente__lista small{font-size:.85rem;font-weight:600;font-stretch:110%;letter-spacing:0;color:var(--cobalto)}
.puente__lista a:hover{color:var(--cobalto)}
@media (max-width:699px){.puente__lista{display:grid;gap:4px}.puente__lista a{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;padding:6px 0}}
.nota-proc{margin-top:28px;color:var(--gris)}
.srv__como{font-size:.92rem;color:var(--gris)}
.srv__como a{font-weight:600;color:var(--tinta);display:inline-flex;min-height:44px;align-items:center}

/* fases del proceso */
.fases{position:relative;padding-left:56px}
.fases__linea{position:absolute;left:15px;top:30px;bottom:30px;width:2px;background:var(--linea);list-style:none}
.fases__linea span{position:absolute;inset:0;background:var(--cobalto);transform:scaleY(0);transform-origin:top}
.fase{position:relative;padding:clamp(24px,3.4vw,40px) 0;border-bottom:1px solid var(--linea)}
.fase:last-child{border-bottom:0}
.fase__n{position:absolute;left:-56px;top:clamp(24px,3.4vw,40px);width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--hueso);border:2px solid var(--tinta);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;transition:background-color 800ms ease,border-color 800ms ease,color 800ms ease}
.fase[data-paso] .fase__n{background:var(--cobalto);border-color:var(--cobalto);color:var(--hueso)}
.fase>div{display:grid;gap:8px}
.fase h3{font-size:clamp(1.5rem,3.2vw,2.6rem);font-weight:660;font-stretch:122%;letter-spacing:-.022em;line-height:1}
.fase p{max-width:52ch;color:var(--tinta-2)}
.fase__obt{font-weight:600;color:var(--tinta)!important;padding-left:12px;border-left:2px solid var(--cobalto)}
@media (min-width:900px){.fase>div{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:48px}.fase h3{grid-row:1/3}}
.links-srv{border-top:1px solid var(--linea)}
.links-srv a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 0;border-bottom:1px solid var(--linea);font-size:clamp(1.15rem,2vw,1.5rem);font-weight:620;font-stretch:115%;text-decoration:none}
.links-srv a:hover{color:var(--cobalto)}

/* estudio: animaciones de la idea */
.est-idea{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:900px){.est-idea{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
.est-idea__grafico{background:var(--papel);border-radius:2px;padding:clamp(28px,5vw,64px);display:grid;place-items:center}
.est-idea__grafico svg{width:100%;max-width:440px;overflow:visible}
.est-idea__txt{display:grid;gap:16px}
.est-idea__txt p{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--tinta-2);max-width:46ch}
.eb__banda{stroke:var(--cobalto);stroke-width:6;stroke-dasharray:1;stroke-dashoffset:1}
.eb__sil{fill:var(--cobalto);clip-path:inset(100% 0 0 0)}
.eb__l{stroke:var(--papel);stroke-width:5.8;stroke-dasharray:1;stroke-dashoffset:1}
[data-visto] .eb__banda{animation:traza-ra 1100ms var(--ease-out) 200ms forwards,apaga 600ms ease 2500ms forwards}
@keyframes apaga{to{opacity:0}}
[data-visto] .eb__sil{animation:sube-sil 1400ms var(--ease-out) 1100ms forwards}
[data-visto] .eb__l{animation:traza-ra 1100ms var(--ease-out) forwards}
[data-visto] .eb__l1{animation-delay:2500ms}[data-visto] .eb__l2{animation-delay:2850ms}[data-visto] .eb__l3{animation-delay:3200ms}
@keyframes sube-sil{to{clip-path:inset(0 0 0 0)}}
.est-lineas__cab{display:grid;gap:16px;margin-bottom:clamp(32px,5vw,64px)}
.est-lineas__cab p{color:var(--gris-claro);max-width:52ch;font-size:clamp(1.05rem,1.5vw,1.25rem)}
.est-lineas__cuerpo{display:grid;gap:32px;align-items:center}
@media (min-width:900px){.est-lineas__cuerpo{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px}}
.tl-svg{width:100%;overflow:visible}
.tl-base{stroke:var(--hueso);stroke-opacity:.35;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1}
.tl{stroke:var(--cobalto);stroke-width:7;stroke-dasharray:1;stroke-dashoffset:1}
[data-visto] .tl-base{animation:traza-ra 1200ms var(--ease-out) 200ms forwards}
[data-visto] .tl{animation:traza-ra 1500ms var(--ease-out) forwards}
[data-visto] .tl1{animation-delay:1000ms}[data-visto] .tl2{animation-delay:1700ms}[data-visto] .tl3{animation-delay:2400ms}
.tl-etiquetas{display:grid;gap:20px}
.tl-et{display:grid;gap:4px;padding-left:16px;border-left:3px solid var(--cobalto);opacity:0;transform:translateX(16px);transition:opacity 1000ms ease,transform 1300ms var(--ease-out)}
.tl-et b{font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:660;font-stretch:122%;letter-spacing:-.015em}
.tl-et span{color:var(--gris-claro);max-width:40ch}
[data-visto] .tl-et{opacity:1;transform:none}
[data-visto] .tl-et1{transition-delay:1800ms}[data-visto] .tl-et2{transition-delay:2500ms}[data-visto] .tl-et3{transition-delay:3200ms}
.manifiesto ol{display:grid;gap:clamp(10px,1.4vw,18px)}
.manifiesto li span{display:inline;font-size:clamp(2.4rem,7.4vw,6.4rem);font-weight:720;font-stretch:125%;letter-spacing:-.035em;line-height:1.08;background:linear-gradient(var(--cobalto),var(--cobalto)) left 92%/0 .12em no-repeat;transition:background-size 1500ms var(--ease-out) 500ms}
.manifiesto li:last-child span{color:var(--cobalto);background-position:left 100%;padding-bottom:.06em}
.manifiesto li:not(:last-child) span{background:none}
.manifiesto li[data-visto] span{background-size:100% .12em}
.est-uno,.est-mapa{display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:900px){.est-uno,.est-mapa{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.est-uno .texto-grande,.est-mapa .texto-grande{margin-top:16px}
.un-svg,.ma-svg{width:100%;overflow:visible;font-family:"Archivo",system-ui,sans-serif}
.un__l{stroke:var(--tinta);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1}
.un__n{fill:var(--cobalto);transform-box:fill-box;transform-origin:center;transform:scale(0)}
.un__t{font-size:12px;font-weight:620;font-stretch:112%;fill:var(--tinta);opacity:0}
.un__centro{fill:var(--cobalto)}
.un__marca{fill:var(--hueso)}
[data-visto] .un__l{animation:traza-ra 1100ms var(--ease-out) forwards;animation-delay:calc(var(--i) * 260ms + 400ms)}
[data-visto] .un__n{animation:aparece-n 800ms var(--ease-out) forwards;animation-delay:calc(var(--i) * 260ms + 1200ms)}
[data-visto] .un__t{animation:aparece-t 900ms ease forwards;animation-delay:calc(var(--i) * 260ms + 1400ms)}
@keyframes aparece-n{to{transform:scale(1)}}
@keyframes aparece-t{to{opacity:1}}
.ma__a{fill:none;stroke:var(--cobalto);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1}
.ma__p{fill:var(--tinta)}
.ma__p--origen{fill:var(--cobalto)}
.ma__t{font-size:8.5px;font-weight:600;font-stretch:110%;fill:var(--gris);paint-order:stroke;stroke:var(--hueso);stroke-width:3px;stroke-linejoin:round}
[data-visto] .ma__a{animation:traza-ra 1800ms var(--ease-out) forwards;animation-delay:calc(var(--i) * 380ms + 400ms)}

/* lista de servicios */
.serv-lista{border-top:1px solid var(--linea)}
.serv-lista a{display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:baseline;padding:clamp(18px,2.6vw,30px) 0;border-bottom:1px solid var(--linea);text-decoration:none}
.sl__nom{font-size:clamp(1.7rem,4.4vw,3.6rem);font-weight:640;font-stretch:125%;letter-spacing:-.025em;line-height:1;margin:0;transition:color 200ms ease,transform 400ms var(--ease-out)}
.sl__corto{grid-column:1;color:var(--gris);max-width:52ch}
.sl__precio{grid-column:1;font-size:.92rem;font-weight:600;font-stretch:112%;color:var(--cobalto)}
.sl__flecha{grid-column:2;grid-row:1/4;align-self:center;font-size:clamp(1.4rem,2.4vw,2rem);transition:transform 300ms var(--ease-out)}
@media (min-width:900px){.serv-lista a{grid-template-columns:minmax(0,6fr) minmax(0,4fr) 11rem 2rem;align-items:center}.sl__corto{grid-column:2}.sl__precio{grid-column:3;white-space:nowrap;text-align:right}.sl__flecha{grid-column:4;grid-row:1;text-align:right}}
@media (hover:hover) and (pointer:fine){.serv-lista a:hover .sl__nom{color:var(--cobalto);transform:translateX(10px)}.serv-lista a:hover .sl__flecha{transform:translateX(6px)}}

/* industrias */
.industrias{display:grid;border-top:1px solid var(--linea)}
.industrias li{padding:clamp(14px,2vw,22px) 0;border-bottom:1px solid var(--linea);font-size:clamp(1.3rem,3vw,2.4rem);font-weight:620;font-stretch:120%;letter-spacing:-.02em;line-height:1.1}
@media (min-width:900px){.industrias{grid-template-columns:1fr 1fr;column-gap:48px}}

/* oscuro / por qué */
.oscuro{padding:clamp(72px,10vw,140px) var(--gutter);background:var(--tinta);color:var(--hueso)}
.oscuro>*{max-width:calc(var(--max) - 2*var(--gutter));margin-left:auto;margin-right:auto}
.pq{margin-top:clamp(32px,5vw,64px)}
.pq li{display:grid;gap:10px;padding:clamp(24px,4vw,44px) 0;border-top:1px solid var(--linea-clara)}
.pq li:last-child{border-bottom:1px solid var(--linea-clara)}
.pq h3{font-size:clamp(1.75rem,4.4vw,3.6rem);font-weight:640;font-stretch:122%;line-height:1;letter-spacing:-.025em}
.pq p{color:var(--gris-claro);max-width:44ch}
@media (min-width:900px){.pq li{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:32px}.pq p{padding-top:.4em}}

/* pasos */
.pasos{display:grid;border-top:1px solid var(--linea)}
.pasos li{display:grid;gap:8px;padding:clamp(20px,3vw,32px) 0;border-bottom:1px solid var(--linea);align-content:start}
.paso__n{font-size:.9rem;font-weight:620;font-stretch:112%;color:var(--cobalto);font-variant-numeric:tabular-nums}
.pasos h3{font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:640;font-stretch:120%;letter-spacing:-.015em;line-height:1.05}
.pasos p{color:var(--gris);max-width:44ch}
@media (min-width:900px){.pasos{grid-template-columns:repeat(4,1fr);gap:28px;border-top:0}.pasos li{border-top:2px solid var(--tinta);border-bottom:0}}
.pasos--grandes h3{font-size:clamp(1.6rem,3vw,2.6rem)}
@media (min-width:900px){.pasos--grandes{grid-template-columns:1fr 1fr;row-gap:48px}}

/* preguntas */
.faqs{border-top:1px solid var(--linea)}
.faq{border-bottom:1px solid var(--linea)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:600;font-stretch:110%}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{position:relative;flex:none;width:18px;height:18px}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:8px;width:18px;height:2px;background:currentColor;transition:transform 240ms var(--ease-out)}
.faq summary i::after{transform:rotate(90deg)}
.faq[open] summary i::after{transform:rotate(0)}
.faq p{padding:0 0 20px;max-width:64ch;color:var(--tinta-2)}
.faq-grupo{padding-bottom:clamp(36px,5vw,64px)}
.faq-grupo h2{margin-bottom:16px}
.faq-grupo h2 a{text-decoration:none}
.faq-grupo h2 a:hover{color:var(--cobalto)}
@media (hover:hover) and (pointer:fine){.faq summary:hover{color:var(--cobalto)}}

/* firma de dirección creativa */
.firma{color:var(--gris)}
.firma a{color:var(--tinta);font-weight:600;text-underline-offset:4px;display:inline;padding:12px 0;line-height:2}
.firma a:hover{color:var(--cobalto)}
.firma--grande{margin-top:clamp(36px,5vw,64px);font-size:clamp(1.1rem,1.8vw,1.5rem);color:var(--tinta-2)}
.firma--contacto{padding-top:16px;border-top:1px solid var(--linea)}
.firma--pie{color:var(--gris-claro)}
.firma--pie a{color:var(--hueso)}

/* página de servicio */
.srv{max-width:var(--max);margin:0 auto;padding:clamp(20px,4vw,48px) var(--gutter) 0}
.srv__cab{display:grid;gap:20px;padding-bottom:clamp(40px,6vw,80px)}
.srv__nombre{font-size:.95rem;font-weight:620;font-stretch:112%;color:var(--cobalto)}
.t1--srv{font-size:clamp(2.2rem,5.6vw,4.8rem);max-width:20ch}
.srv__intro{display:grid;gap:14px;max-width:62ch;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--tinta-2)}
.srv__accion{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:8px}
.srv__bloques{display:grid;gap:clamp(36px,5vw,56px);padding:clamp(40px,6vw,80px) 0;border-top:1px solid var(--linea)}
@media (min-width:900px){.srv__bloques{grid-template-columns:1fr 1fr;gap:56px}}
.srv__bloque{display:grid;gap:18px;align-content:start}
.srv__precio{display:grid;gap:8px;margin-top:12px;padding:20px;background:var(--papel);border-radius:2px}
.srv__precio p:last-child{color:var(--gris);font-size:.95rem}
.lista-check{border-top:1px solid var(--linea)}
.lista-check li{display:flex;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--linea);font-weight:500}
.lista-check li::before{content:"";flex:none;width:12px;height:2px;background:var(--cobalto);transform:translateY(-4px) rotate(-22deg)}
.precio{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:.95rem;color:var(--gris);font-weight:520}
.precio b{font-size:clamp(2.2rem,4vw,3rem);font-weight:700;font-stretch:118%;color:var(--cobalto);letter-spacing:-.02em;line-height:1}
.relacionados{display:grid;gap:12px}
@media (min-width:700px){.relacionados{grid-template-columns:1fr 1fr}}
.relacionados a{display:grid;gap:6px;padding:24px;background:var(--papel);border-radius:2px;text-decoration:none;transition:background-color 200ms ease}
.rel__nom{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:640;font-stretch:122%;letter-spacing:-.02em}
.relacionados span:nth-child(2){color:var(--gris)}
.rel__precio{color:var(--cobalto);font-weight:600;font-size:.92rem}
@media (hover:hover) and (pointer:fine){.relacionados a:hover{background:#E3E0D8}}

/* contacto */
.contacto{max-width:var(--max);margin:0 auto;padding:clamp(20px,4vw,48px) var(--gutter) clamp(64px,9vw,128px);display:grid;gap:clamp(32px,5vw,64px)}
.contacto__intro{display:grid;gap:18px;align-content:start}
.contacto__intro p{color:var(--gris);max-width:44ch}
.contacto .t1{font-size:clamp(2.4rem,5.2vw,4.6rem)}
.contacto__dato{color:var(--tinta)!important;font-weight:520}
@media (min-width:1000px){.contacto{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px}.contacto__intro{position:sticky;top:calc(var(--cab) + 24px)}}
.form{display:grid;gap:16px;align-content:start}
.form__fila{display:grid;gap:16px}
@media (min-width:700px){.form__fila{grid-template-columns:1fr 1fr}}
.campo{display:grid;gap:6px;font-size:.88rem;font-weight:600;font-stretch:112%}
.campo input,.campo select,.campo textarea{width:100%;min-height:52px;padding:12px 14px;font:inherit;font-size:1rem;font-weight:450;font-stretch:100%;color:var(--tinta);background:#fff;border:1px solid rgba(18,18,18,.28);border-radius:2px;transition:border-color 160ms ease,box-shadow 160ms ease}
.campo select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23121212' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:40px}
.campo textarea{min-height:140px;resize:vertical;line-height:1.5}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{outline:none;border-color:var(--cobalto);box-shadow:0 0 0 3px rgba(36,65,232,.25)}
.campo [aria-invalid="true"],.campo [aria-invalid="true"]:focus-visible{border-color:#B3261E;box-shadow:0 0 0 3px rgba(179,38,30,.18)}
.campo__error{font-size:.85rem;font-weight:560;color:#B3261E;min-height:0}
.campo__error:empty{display:none}
.campo ::placeholder{color:var(--gris)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__estado{font-weight:600;padding:12px 14px;border-radius:2px}
.form__estado:empty{display:none}
.form__estado[data-tipo="ok"]{background:var(--cobalto);color:var(--hueso)}
.form__estado[data-tipo="error"]{background:var(--tinta);color:var(--hueso)}

/* cierre y pie */
.cierre{background:var(--cobalto);color:var(--hueso);overflow:hidden}
.letrero{display:block;padding:clamp(28px,5vw,56px) 0 0;overflow:hidden;text-decoration:none}
.letrero__pista{display:flex;align-items:center;gap:clamp(20px,3vw,48px);width:max-content;padding-right:clamp(20px,3vw,48px);animation:corre-letrero 50s linear infinite}
@media (min-width:900px){.letrero__pista{animation-duration:75s}}
.letrero span{font-size:clamp(4.6rem,16vw,15rem);font-weight:780;font-stretch:125%;line-height:.9;letter-spacing:-.045em;text-transform:uppercase}
.letrero svg{flex:none;width:clamp(64px,10vw,150px);height:auto}
@keyframes corre-letrero{to{transform:translateX(-50%)}}
.cierre__cuerpo{max-width:var(--max);margin:0 auto;padding:clamp(32px,5vw,64px) var(--gutter) clamp(64px,9vw,112px);display:grid;gap:18px}
.cierre .t2{max-width:16ch}
.cierre__cuerpo>p{max-width:46ch;color:rgba(247,246,243,.86)}
.cierre__acc{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:8px}
.cierre :focus-visible{outline-color:var(--hueso)}
.pie{display:grid;gap:28px;padding:48px var(--gutter) calc(40px + env(safe-area-inset-bottom));background:var(--tinta);color:var(--gris-claro);font-size:.92rem}
.pie a{color:var(--hueso);text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie__marca{display:grid;gap:10px;align-content:start}
.pie__logo{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:620;font-stretch:112%}
.pie__logo svg{width:34px;color:var(--cobalto)}
.pie__marca a[href^="mailto"]{display:inline-flex;min-height:44px;align-items:center}
.pie__lista{display:grid;align-content:start}
.pie__lista a{display:inline-flex;min-height:44px;align-items:center}
.pie__base{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-top:20px;border-top:1px solid var(--linea-clara)}
@media (min-width:900px){.pie{grid-template-columns:minmax(0,2fr) 1fr 1fr}.pie__base{grid-column:1/-1}}
@media (max-width:899px){.pie{grid-template-columns:1fr 1fr;column-gap:16px}.pie__marca,.pie__base{grid-column:1/-1}}

@media (max-width:699px){.un__t{font-size:15px}}
/* alineación en pantallas anchas */
.cab,.pie{padding-left:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));padding-right:max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)))}
.sec--linea:not(.sec--interna),.puente{border-top:0;background:linear-gradient(var(--linea),var(--linea)) var(--gutter) 0/calc(100% - 2*var(--gutter)) 1px no-repeat}
p{text-wrap:pretty}

/* revelados */
.js [data-rev]{transition:opacity 1100ms ease,transform 1400ms var(--ease-out)}
.js [data-rev]:not([data-visto]){opacity:0;transform:translateY(24px)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0s!important}
  @view-transition{navigation:none}
  .letrero__pista{animation:none!important}
  .eb__banda,.eb__l,.tl,.tl-base,.un__l,.ma__a,.ra{stroke-dashoffset:0!important}.eb__sil{clip-path:none!important}.un__n{transform:none!important}.un__t,.tl-et{opacity:1!important;transform:none!important}
  [data-e="e2"] .anillo{animation:none!important}
}

/* ===== Inicio con referencia a interbrand.com ===== */
.chip-cotizar{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;min-height:48px;padding:0 22px;background:var(--cobalto);color:var(--hueso);font-size:.95rem;font-weight:600;font-stretch:112%;text-decoration:none;border-radius:2px;box-shadow:0 6px 20px rgba(18,18,18,.18);transition:transform 400ms var(--ease-out),opacity 400ms ease,background-color 200ms ease}
.chip-cotizar[data-oculto]{transform:translateY(150%);opacity:0;pointer-events:none;visibility:hidden;transition:transform 400ms var(--ease-out),opacity 400ms ease,visibility 0s 400ms}
.chip-cotizar:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.chip-cotizar:hover{background:var(--tinta)}}
.ib-hero{padding:clamp(8px,1.4vw,20px) 0 clamp(40px,6vw,80px);overflow:hidden}
.ib-hero__marca{display:block;width:calc(100% - 2*var(--gutter));height:auto;margin:0 var(--gutter);overflow:visible;animation:sube-txt 1400ms var(--ease-out) both}
.ib-hero__marca text,.pilar__svg text,.pie__gigante text{font-family:"Archivo",system-ui,sans-serif;font-weight:720;font-stretch:125%;fill:currentColor}
.ib-hero__fila{max-width:var(--max);margin:clamp(20px,3vw,40px) auto 0;padding:0 var(--gutter);display:grid;gap:clamp(24px,4vw,56px);align-items:end}
@media (min-width:1000px){.ib-hero__fila{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.ib-hero__txt{display:grid;gap:18px;justify-items:start;animation:sube-txt 1400ms var(--ease-out) 250ms both}
.ib-hero__t{font-size:clamp(2rem,4.4vw,3.8rem);font-weight:660;font-stretch:125%;line-height:.98;letter-spacing:-.028em;max-width:14ch;text-wrap:balance}
.ib-hero__p{max-width:44ch;color:var(--gris);font-size:clamp(1rem,1.3vw,1.15rem)}
.ib-hero__vis{position:relative;background:var(--tinta);border-radius:2px;overflow:hidden;aspect-ratio:16/10;animation:sube-txt 1400ms var(--ease-out) 450ms both}
.ib-hero__vis video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.intro-activa .ib-hero__marca,.intro-activa .ib-hero__txt,.intro-activa .ib-hero__vis{animation-play-state:paused}
.cinta{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);overflow:hidden;padding:16px 0}
.cinta__pista{display:flex;align-items:center;gap:24px;width:max-content;padding-right:24px;will-change:transform;animation:corre-cinta 60s linear infinite}
.cinta span{font-size:clamp(1.05rem,1.8vw,1.5rem);font-weight:600;font-stretch:118%;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}
.cinta i{flex:none;width:18px;height:3px;background:var(--cobalto);transform:rotate(-22deg)}
@keyframes corre-cinta{to{transform:translateX(-50%)}}
/* titular fijo con tarjetas */
.fijo{position:relative;padding-bottom:10vh}
.fijo__titulo{position:sticky;top:var(--cab);height:calc(100vh - var(--cab));display:grid;place-items:center;padding:0 var(--gutter);z-index:0}
.fijo__titulo h2{font-size:clamp(2.8rem,9vw,9.5rem);font-weight:700;font-stretch:125%;line-height:.92;letter-spacing:-.04em;text-align:center;max-width:12ch;text-wrap:balance}
.fijo__tarjetas{position:relative;z-index:1;margin-top:-15vh;display:grid;gap:clamp(70px,13vh,150px);padding:0 var(--gutter) 18vh}
.tj{container-type:inline-size;width:clamp(230px,26vw,360px);aspect-ratio:4/5;padding:clamp(16px,1.6vw,24px);display:flex;flex-direction:column;justify-content:space-between;gap:16px;border-radius:2px;overflow:hidden}
.tj--izq{justify-self:start;margin-left:clamp(0px,6vw,120px)}
.tj--der{justify-self:end;margin-right:clamp(0px,6vw,120px)}
.tj p{display:grid;gap:2px;line-height:1}
.tj p span{font-size:clamp(1rem,1.3vw,1.2rem);font-weight:560;font-stretch:112%}
.tj p b{font-size:min(3.2rem,13cqi);font-weight:720;font-stretch:125%;letter-spacing:-.03em;line-height:.95}
.tj__vis{position:relative;flex:1;display:grid;place-items:center;min-height:0}
.tj--t1{background:var(--cobalto);color:var(--hueso)}
.tj--t2{background:#fff;color:var(--tinta);outline:1px solid var(--linea)}
.tj--t3{background:var(--tinta);color:var(--hueso)}
.tj--t4{background:var(--cobalto);color:var(--hueso)}
.tj--t5{background:var(--papel);color:var(--tinta)}
.tj--t6{background:var(--tinta);color:var(--hueso)}
.tv-lupa svg{width:42%;color:var(--hueso);animation:lupa 7s var(--ease-io) infinite}
@keyframes lupa{0%,100%{transform:translate(-15%,5%)}33%{transform:translate(12%,-8%)}66%{transform:translate(5%,12%)}}
.tv-rejilla{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:70%}
.tv-rejilla i{aspect-ratio:1;background:var(--papel);animation:celda 9s ease infinite;animation-delay:calc(var(--i) * 450ms)}
@keyframes celda{0%,8%{background:var(--papel)}18%,70%{background:var(--cobalto)}85%,100%{background:var(--papel)}}
.tv-nav{position:absolute;top:8%;left:8%;right:8%;display:flex;gap:4px;padding:6px;border:1px solid var(--linea-clara);border-bottom:0}
.tv-nav i{width:6px;height:6px;border-radius:50%;background:rgba(247,246,243,.4)}
.tv-carga{position:absolute;top:calc(8% + 19px);left:8%;right:8%;height:3px;background:rgba(247,246,243,.12)}
.tv-carga i{display:block;height:100%;background:var(--cobalto);transform-origin:left;animation:carga 6s var(--ease-io) infinite}
@keyframes carga{0%{transform:scaleX(0)}60%,100%{transform:scaleX(1)}}
.tv-lineas{position:absolute;left:8%;right:8%;top:calc(8% + 34px);display:grid;gap:8px}
.tv-lineas i{height:8px;background:rgba(247,246,243,.18);animation:aparece-l 6s ease infinite}
.tv-lineas i:nth-child(2){width:80%;animation-delay:400ms}.tv-lineas i:nth-child(3){width:55%;animation-delay:800ms}
@keyframes aparece-l{0%,30%{opacity:0}50%,100%{opacity:1}}
.tv-play{display:grid;place-items:center;width:34%;aspect-ratio:1;border:2px solid var(--hueso);border-radius:50%;animation:late 4s ease-in-out infinite}
.tv-play svg{width:42%;fill:var(--hueso);margin-left:8%}
@keyframes late{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.tv-barra{position:absolute;left:0;right:0;bottom:4px;height:3px;background:rgba(247,246,243,.25)}
.tv-barra i{display:block;height:100%;background:var(--hueso);transform-origin:left;animation:carga 8s linear infinite}
.tv-caos{position:relative;width:80%;height:80%}
.tv-caos i{position:absolute;width:34%;aspect-ratio:4/5;border-radius:2px;animation:tiembla 5s ease-in-out infinite;animation-delay:calc(var(--i) * -900ms)}
.tv-caos i:nth-child(1){left:2%;top:6%;background:#6B6B6B;--r:-12deg}.tv-caos i:nth-child(2){left:38%;top:0;background:#C94F3D;--r:8deg}
.tv-caos i:nth-child(3){left:66%;top:20%;background:#E2B93B;--r:-5deg}.tv-caos i:nth-child(4){left:14%;top:48%;background:#3D8C5A;--r:15deg}
.tv-caos i:nth-child(5){left:52%;top:52%;background:#8E5BB5;--r:-18deg}
@keyframes tiembla{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(calc(var(--r) * -1)) translateY(-6px)}}
.tv-flecha{width:80%}
.tv-flecha svg{width:100%;color:var(--cobalto);animation:vete 5s var(--ease-io) infinite}
@keyframes vete{0%,15%{transform:translateX(-60%);opacity:0}35%,70%{transform:translateX(0);opacity:1}100%{transform:translateX(60%);opacity:0}}
/* pilares: palabra fija + panel que sube */
.pilar{position:relative}
.pilar__palabra{position:sticky;top:var(--cab);height:calc(100vh - var(--cab));display:grid;place-items:center;overflow:hidden;padding:0 var(--gutter)}
.pilar__svg{display:block;width:100%;max-height:70vh;overflow:visible}
.pilar__panel{position:relative;z-index:1;min-height:100vh;display:grid;gap:clamp(28px,4vw,64px);align-content:center;padding:clamp(56px,8vw,112px) max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)))}
@media (min-width:1000px){.pilar__panel{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:center}}
.pilar--ve .pilar__panel{background:var(--cobalto);color:var(--hueso)}
.pilar--mueve .pilar__panel{background:var(--tinta);color:var(--hueso)}
.pilar--funciona .pilar__panel{background:var(--papel);color:var(--tinta)}
.pilar__in{display:grid;gap:18px}
.pilar__n{font-size:.88rem;font-weight:650;font-stretch:112%;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.pilar__in h3{font-size:clamp(2rem,4.4vw,4rem);font-weight:680;font-stretch:125%;line-height:.98;letter-spacing:-.03em;max-width:16ch;text-wrap:balance}
.pilar__p{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:46ch;opacity:.9}
.pilar__srv{margin-top:8px;border-top:1px solid currentColor}
.pilar__srv a{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;padding:14px 0;border-bottom:1px solid currentColor;text-decoration:none}
.pilar__srv span{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:640;font-stretch:118%}
.pilar__srv small{grid-column:1;font-size:.88rem;font-weight:560;opacity:.8}
.pilar__srv b{grid-column:2;grid-row:1/3;align-self:center;font-size:1.4rem;font-weight:400;transition:transform 300ms var(--ease-out)}
.pilar--ve .pilar__srv,.pilar--ve .pilar__srv a,.pilar--mueve .pilar__srv,.pilar--mueve .pilar__srv a{border-color:rgba(247,246,243,.3)}
.pilar--funciona .pilar__srv,.pilar--funciona .pilar__srv a{border-color:var(--linea)}
@media (hover:hover) and (pointer:fine){.pilar__srv a:hover b{transform:translateX(6px)}.pilar__srv a:hover span{text-decoration:underline;text-underline-offset:5px}}
.pilar__vis{display:grid;place-items:center}
.pv{width:100%;max-width:460px}
.pv--video{aspect-ratio:1;object-fit:cover;border-radius:2px}
.pv--ve rect{fill:var(--hueso)}.pv--ve path{fill:var(--cobalto)}
.pv-c{animation:respira 6s ease-in-out infinite;animation-delay:calc(var(--i) * 500ms);transform-box:fill-box;transform-origin:center}
@keyframes respira{0%,100%{opacity:1}50%{opacity:.55}}
.pv--fn rect:first-child{fill:#fff}.pv-ok{fill:var(--gris-claro);animation:ok 8s ease infinite;animation-delay:calc(var(--i) * 1.4s)}.pv-t{fill:var(--linea)}
@keyframes ok{0%,10%{fill:var(--gris-claro)}20%,80%{fill:var(--cobalto)}90%,100%{fill:var(--gris-claro)}}
/* frase que se ordena al bajar */
.frase{position:relative;height:260vh;--p:0}
.frase__in{position:sticky;top:var(--cab);height:calc(100vh - var(--cab));display:grid;place-items:center;overflow:hidden;padding:0 var(--gutter)}
.frase p{max-width:13ch;text-align:center;font-size:clamp(2.6rem,7vw,7.4rem);font-weight:720;font-stretch:125%;line-height:1;letter-spacing:-.04em}
.frase span{display:inline-block;transform:translate(calc(var(--dx) * (1 - var(--p))),calc(var(--dy) * (1 - var(--p)))) rotate(calc(var(--r) * (1 - var(--p))));opacity:calc(.2 + .8 * var(--p))}
.frase span:last-child{color:var(--cobalto)}
/* pie con datos y nombre gigante */
.pie{overflow:hidden}
.pie__datos{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:24px;border-top:1px solid var(--linea-clara)}
.pie__datos li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.pie__datos b{font-size:clamp(3rem,9vw,7.5rem);font-weight:700;font-stretch:118%;line-height:.9;letter-spacing:-.04em;color:var(--hueso)}
.pie__datos span{font-size:.92rem;color:var(--gris-claro);max-width:12ch}
.pie__paises{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;color:var(--hueso);font-size:1rem}
.pie__paises i{width:14px;height:2px;background:var(--cobalto);transform:rotate(-22deg)}
.pie__gigante{grid-column:1/-1;display:block;width:100%;height:auto;margin:12px 0 0;color:var(--hueso);overflow:visible}
@media (prefers-reduced-motion:reduce){.frase{--p:1!important;height:auto}.frase__in{position:static;height:auto;padding:80px var(--gutter)}.cinta__pista{animation:none!important}}
/* un solo botón de cotizar: en escritorio el del menú; en celular el fijo de abajo */
@media (min-width:960px){.chip-cotizar{display:none}}
@media (max-width:959px){.cab .boton--chico{display:none}}

.tj--t5 p b{font-stretch:100%}
.pie{padding-bottom:0}
.pie__gigante{margin-bottom:-2px}
@media (max-width:999px){
  .fijo__titulo{top:var(--cab);height:auto;place-items:start;padding:20px var(--gutter) 16px;background:var(--hueso);z-index:2}
  .fijo__titulo h2{font-size:clamp(2.2rem,11vw,3.2rem);text-align:left}
  .fijo__tarjetas{margin-top:24px;gap:56px;padding-bottom:16vh}
  .tj{width:72vw}
  .tj--izq{margin-left:0}.tj--der{margin-right:0}
  .ib-hero__fila{margin-top:clamp(28px,8vw,40px)}
}

/* pieza de motion de la portada */
.ib-hero__vis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4%;padding:0 6%}
.hm-boina{width:100%;overflow:visible}
.hm-sil{fill:var(--cobalto)}
.hm-l{stroke:var(--tinta);stroke-width:5.8;stroke-dasharray:1;stroke-dashoffset:1;animation:hm-traza 18s var(--ease-out) infinite}
.hm-l1{animation-delay:.6s}.hm-l2{animation-delay:1.2s}.hm-l3{animation-delay:1.8s}
@keyframes hm-traza{0%{stroke-dashoffset:1}12%,88%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
.hm-palabras{position:relative;height:3.2em;font-size:clamp(1.1rem,2.2vw,2rem);font-weight:660;font-stretch:122%;letter-spacing:-.015em;line-height:1.05;color:var(--hueso)}
.hm-palabras li{position:absolute;inset:0;display:flex;align-items:center;gap:.5em;opacity:0;transform:translateY(.6em);animation:hm-palabra 18s var(--ease-out) infinite;animation-delay:calc(var(--i) * 3s)}
.hm-palabras i{flex:none;width:.9em;height:.14em;background:var(--cobalto);transform:rotate(-22deg)}
@keyframes hm-palabra{0%{opacity:0;transform:translateY(.6em)}4%,14%{opacity:1;transform:none}18%,100%{opacity:0;transform:translateY(-.6em)}}
@media (prefers-reduced-motion:reduce){.hm-l{stroke-dashoffset:0!important}.hm-palabras li{animation:none!important}.hm-palabras li:first-child{opacity:1;transform:none}}

.campo{align-content:start}
.ib-hero__precio{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:600;font-stretch:112%;color:var(--cobalto)}
.ib-hero__precio i{width:14px;height:2px;background:var(--cobalto);transform:rotate(-22deg)}
main:focus{outline:none}
.frase span{transform:none;opacity:1}
.js .frase span{transform:translate(calc(var(--dx) * (1 - var(--p))),calc(var(--dy) * (1 - var(--p)))) rotate(calc(var(--r) * (1 - var(--p))));opacity:calc(.2 + .8 * var(--p))}
@media (prefers-reduced-motion:reduce){
  .hm-palabras{height:auto;display:grid;gap:.2em;font-size:clamp(.9rem,1.5vw,1.3rem)}
  .hm-palabras li{position:static;opacity:1!important;transform:none!important}
}

/* mapa de Estudio */
.ma{position:relative;width:100%}
.ma-svg{display:block;width:100%;height:auto;overflow:visible}
.ma__tierra{fill:var(--papel);stroke:rgba(18,18,18,.12);stroke-width:.6}
.ma__a{fill:none;stroke:var(--cobalto);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1}
.ma__pt circle{fill:var(--tinta)}
.ma__pt--origen circle{fill:var(--cobalto)}
.ma__pt{opacity:0;transform:translateY(-60px)}
.ma__pulso{fill:none;stroke:var(--cobalto);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.ma__t{position:absolute;transform:translate(10px,-50%);font-size:.75rem;font-weight:600;font-stretch:110%;color:var(--tinta-2);white-space:nowrap;opacity:0;transition:opacity 900ms ease;pointer-events:none}
.ma__t--izq{transform:translate(calc(-100% - 10px),-50%)}
.ma__t--der-abajo{transform:translate(8px,40%)}
.ma__t--izq-arriba{transform:translate(calc(-100% - 8px),-110%)}
[data-visto] .ma__pt{animation:cae 900ms cubic-bezier(.3,1.35,.5,1) forwards;animation-delay:calc(var(--i) * 260ms + 300ms)}
@keyframes cae{to{opacity:1;transform:none}}
[data-visto] .ma__t{opacity:1;transition-delay:calc(var(--i) * 260ms + 900ms)}
[data-visto] .ma__a{animation:traza-ra 1600ms var(--ease-out) forwards;animation-delay:calc(var(--i) * 300ms + 1900ms)}
[data-visto] .ma__pulso{animation:pulso 3.2s ease-out 1.4s infinite}
@keyframes pulso{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(4)}}
@media (prefers-reduced-motion:reduce){.ma__pt{opacity:1!important;transform:none!important}.ma__t{opacity:1!important}.ma__a{stroke-dashoffset:0!important}.ma__pulso{display:none}}

/* pie: países y firma en la columna de la marca */
.pie__marca .pie__paises{grid-column:auto;margin-top:6px;font-size:.95rem}
.pie__marca .firma--pie{margin-top:2px}
.pie{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
.pie__base{justify-content:flex-end}

/* fotos */
.tj--foto{position:relative;padding:0;background:var(--tinta)}
.tj__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tj__vidrio{position:absolute;left:10px;right:10px;bottom:10px;padding:14px 16px;border-radius:2px;background:rgba(18,18,18,.55);color:var(--hueso);border:1px solid rgba(247,246,243,.18);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
.pv--foto,.pv--vertical{margin:0;overflow:hidden;border-radius:2px;background:var(--tinta)}
.pv--foto{width:100%;max-width:none;aspect-ratio:16/10}
.pv--foto img,.pv--foto video{width:100%;height:100%;object-fit:cover}
.pv--vertical{width:min(100%,400px);aspect-ratio:3/4;justify-self:center}
.pv--vertical video{width:100%;height:100%;object-fit:cover}
.srv__foto{margin:8px 0 0;border-radius:2px;overflow:hidden;aspect-ratio:4/5;max-width:440px;background:var(--papel)}
.srv__foto img{width:100%;height:100%;object-fit:cover}
@media (min-width:1000px){
  .srv__cab{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:56px;align-items:start}
  .srv__cab>*{grid-column:1}
  .srv__foto{grid-column:2;grid-row:1/span 6;margin:0;justify-self:end;width:100%;position:sticky;top:calc(var(--cab) + 24px)}
}

.menu-movil{background:var(--hueso)}
html:has(.menu-btn[aria-expanded="true"]) .chip-cotizar{visibility:hidden}

.tj--t6 .tj__vidrio{top:10px;bottom:auto}

/* auditoría visual 2026-10-21 */
@media (min-width:960px){.cab__nav{width:max-content;gap:clamp(20px,2.4vw,36px)}.cab__nav a{white-space:nowrap}}
@media (min-width:900px){.serv-lista a{grid-template-columns:minmax(0,6fr) minmax(0,4fr) 14.5rem 2rem}}
.js .frase span{--t:clamp(0, calc(var(--p) * 9 - var(--i)), 1);transform:translateY(calc((1 - var(--t)) * .35em));opacity:calc(.12 + .88 * var(--t))}
.pv--foto video,.pv--vertical video{transform:scale(1.02)}
@media (max-width:699px){.un__t{font-size:12.5px}}
@media (min-width:700px){.puente__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);row-gap:6px}.puente__lista a{flex-wrap:wrap}}
.ib-hero__marca{width:min(calc(100% - 2*var(--gutter)),calc(var(--max) - 2*var(--gutter)));margin:0 auto}
.menu-movil{height:calc(100dvh - var(--cab) + 1px)}
.pie__paises{gap:8px 14px}
.pie__paises .nw{display:inline-flex;align-items:center;gap:14px;white-space:nowrap}
.pie__paises .nw i{width:14px;height:2px;background:var(--cobalto);transform:rotate(-22deg)}
.ib-hero__vis{grid-template-columns:minmax(0,4fr) minmax(0,6fr)}
.hm-palabras li{text-wrap:balance}
.ma-svg{-webkit-mask-image:radial-gradient(120% 100% at 40% 60%,#000 70%,transparent 100%);mask-image:radial-gradient(120% 100% at 40% 60%,#000 70%,transparent 100%)}
[data-visto] .ma__pt{animation-timing-function:var(--ease-out)}
.est-uno .t2{text-wrap:balance}
