
@font-face{font-family:"Titulo Respaldo";src:local("Arial Bold"),local("Arial");font-weight:500 700;size-adjust:107%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
/* Concepto: hoja blanca con paneles negros. Títulos enormes con una palabra resaltada a marcador,
   sello giratorio con el símbolo del logo y fotos en blanco y negro que toman color al pasar. */
:root{
  color-scheme:light;
  --negro:#0c1016; --negro2:#1a2029; --azul:#1f62e0; --azul2:#1750bd; --lima:#c8f24a; --blanco:#fff;
  --suave:#5e6775; --tenue:#a3abb6; --linea:#e4e7eb; --sobre:#b6bdc8; --linea-n:rgba(255,255,255,.14);
  --titulo:"Sora","Titulo Respaldo",Arial,sans-serif;
  --cuerpo:"Geist","Helvetica Neue",Arial,sans-serif;
  --ancho:1360px;
}
*{box-sizing:border-box}
html{scroll-padding-top:84px}
body{margin:0;background:var(--blanco);color:var(--negro);font:400 1.03rem/1.55 var(--cuerpo);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px}
.in{max-width:var(--ancho);margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--titulo);font-weight:600;margin:0;letter-spacing:-.035em}
h2{font-size:clamp(1.9rem,3.5vw,3.1rem);line-height:1.1;text-wrap:balance}
.resalta{background:linear-gradient(var(--lima),var(--lima)) 0 0/100% 100% no-repeat;transition:background-size .75s cubic-bezier(.2,.7,.2,1);color:var(--negro);border-radius:.12em;padding:0 .14em;display:inline-block;transform:skewX(-7deg);line-height:1.06}
.resalta>span{display:inline-block;transform:skewX(7deg)}
.etq{color:var(--azul);font:600 .78rem var(--titulo);letter-spacing:.02em;text-transform:uppercase;margin:0 0 14px}
.estrella{display:block;width:var(--s,22px);height:var(--s,22px);background:var(--c,var(--lima));clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}

/* Botones */
.bt{display:inline-flex;align-items:center;gap:10px;border:1.5px solid var(--negro);border-radius:999px;padding:11px 19px;font:600 .88rem var(--titulo);letter-spacing:-.01em;text-decoration:none;transition:background .2s,color .2s,transform .2s;background:transparent;cursor:pointer}
.bt svg{width:16px;height:16px;fill:currentColor;flex:none}
.bt:hover{background:var(--negro);color:#fff}
.bt.li{background:var(--lima);border-color:var(--lima);color:var(--negro)}
.bt.li:hover{background:#fff;border-color:#fff;color:var(--negro);transform:translateY(-2px)}

/* Cabecera */
.cab{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
.cab .in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;gap:18px}
.cab nav{display:flex;gap:24px;font-size:.92rem}
.cab nav a{text-decoration:none}
.cab nav a:hover{color:var(--azul)}
.cab .logo img{width:112px;height:auto}
.cab .der{display:flex;justify-content:flex-end;align-items:center;gap:22px;font-size:.92rem}
.cab .der a:not(.bt){text-decoration:none}

/* Portada */
.portada{position:relative;overflow:hidden;padding-block:clamp(36px,5vw,58px) 34px}
.portada .marca{position:absolute;left:50%;top:-6%;width:min(70vw,840px);max-width:none;transform:translateX(-50%);opacity:.035;pointer-events:none}
.portada .in{position:relative}
.previa{text-align:center;color:var(--suave);font-size:1.02rem;margin:0 0 8px}
.portada h1{position:relative;z-index:2;text-align:center;font-size:clamp(2.4rem,5.5vw,5.2rem);line-height:1.14;letter-spacing:-.045em}
.portada h1 .lin{display:block}
.ico{display:inline-grid;place-items:center;width:1.04em;height:1.04em;border-radius:50%;background:var(--azul);vertical-align:-.13em;box-shadow:0 0 0 .07em #fff,0 0 0 .1em var(--lima)}
.ico img{width:58%;height:auto}
.flot{position:absolute;z-index:1;margin:0;overflow:hidden}
.flot img{width:100%;height:100%;object-fit:cover}
.f-a{left:max(24px,2%);top:-8px;width:clamp(120px,15vw,212px);aspect-ratio:1/1.12;border-radius:58% 42% 50% 50%/46% 44% 56% 54%;background:var(--lima)}
.f-b{right:max(24px,2%);bottom:-6px;width:clamp(120px,14.5vw,204px);aspect-ratio:1/1.28;border-radius:42% 58% 46% 54%/52% 42% 58% 48%;background:var(--azul)}
.f-a img{object-position:50% 20%}
.lugar{position:absolute;right:max(24px,2%);top:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.8rem;z-index:3}
.lugar span{background:var(--azul);color:#fff;border-radius:999px;padding:3px 11px}
.e1{position:absolute;left:17%;top:6%;--s:30px;--c:var(--azul);z-index:3}
.e2{position:absolute;right:17%;top:9%;--s:34px;z-index:3}
.bajo{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;align-items:end;margin-top:30px}
.saludo{display:flex;align-items:center;gap:12px;max-width:40ch;color:var(--suave);font-size:.92rem;line-height:1.4}
.saludo img{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--lima);flex:none}
.bajar{display:flex;gap:9px;align-items:center;text-decoration:none;font-size:.88rem;color:var(--suave)}
.bajar i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--azul);color:#fff;font-style:normal;font-size:.72rem}

/* Panel negro */
.panel{background:var(--negro);color:#fff;border-radius:34px;margin:0 clamp(8px,1.2vw,18px);padding-block:clamp(40px,5vw,68px)}
.pc{display:flex;justify-content:space-between;gap:26px;align-items:flex-end;padding-bottom:24px;border-bottom:1px solid var(--linea-n)}
.pc h2{font-size:clamp(1.5rem,2.2vw,2rem)}
.pc p{margin:0;color:var(--sobre);max-width:42ch;font-size:.97rem}
.expert{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;margin-top:26px}
.ex{position:relative;grid-column:span 3;background:var(--negro2);border-radius:22px;padding:20px;display:flex;flex-direction:column;text-decoration:none;min-width:0;transition:background .25s}
.ex:nth-child(n+5){grid-column:span 4}
.ex h3{font-size:clamp(1.25rem,1.75vw,1.56rem);line-height:1.13;color:var(--lima);padding-right:50px;min-height:2.3em;transition:color .25s}
.ex p{margin:12px 0 14px;font-size:.92rem;line-height:1.4;color:var(--sobre);min-height:3.9em;transition:color .25s}
.ex .im{margin-top:auto;border-radius:14px;overflow:hidden;aspect-ratio:16/10}
.ex img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;filter:grayscale(1) contrast(1.05);transition:filter .35s,transform .5s}
.flecha{position:absolute;right:16px;top:16px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;transition:background .25s,color .25s,transform .25s}
.flecha svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
.ex:hover,.ex.act{background:var(--azul)}
.ex:hover h3,.ex.act h3{color:#fff}
.ex:hover p,.ex.act p{color:#e2eafb}
.ex:hover img,.ex.act img{filter:none}
.ex:hover .flecha,.ex.act .flecha{background:var(--lima);color:var(--negro);transform:rotate(8deg)}
.declara{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(0,.58fr);gap:30px 46px;margin-top:clamp(50px,6vw,84px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--linea-n)}
.declara h2{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.04;text-transform:uppercase;color:var(--lima);letter-spacing:-.04em}
.lado{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:26px;text-align:right}
.sello{position:relative;width:clamp(112px,11vw,150px);aspect-ratio:1;display:block;text-decoration:none;flex:none}
.sello .gira{position:absolute;inset:0;width:100%;height:100%;animation:gira 16s linear infinite}
.sello text{font:600 11.2px var(--titulo);letter-spacing:.11em;fill:#fff;text-transform:uppercase}
.sello .fondo{fill:var(--azul)}
.sello img{position:absolute;left:50%;top:50%;width:37%;transform:translate(-50%,-50%)}
@keyframes gira{to{transform:rotate(360deg)}}
.cifra b{display:block;font:600 clamp(2.2rem,3.7vw,3.3rem)/1 var(--titulo);letter-spacing:-.04em}
.cifra span{display:block;color:var(--lima);font-size:.92rem;margin-top:5px}
.lado p{margin:0;color:var(--sobre);font-size:.92rem;max-width:34ch}

/* Dolor */
.dolor{padding-block:clamp(70px,8vw,112px) 0}
.dolor h2{font-size:clamp(2.1rem,4.4vw,3.95rem);line-height:1.12;max-width:17em}
.doles{list-style:none;margin:42px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dol{background:#f3f5f7;border-radius:20px;padding:20px;font-size:1.02rem;line-height:1.42;min-width:0}
.dol i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--negro);color:var(--lima);font:600 .82rem var(--titulo);margin-bottom:14px}
.cierra{margin:30px 0 0;font:500 clamp(1.15rem,2vw,1.7rem)/1.28 var(--titulo);letter-spacing:-.03em;color:var(--suave);max-width:34em}
.cierra b{font-weight:600;color:var(--azul)}

/* Sistema */
.sistema{padding-block:clamp(70px,8vw,112px) 0}
.sc{display:flex;justify-content:space-between;gap:26px;align-items:flex-end;flex-wrap:wrap}
.sc h2{font-size:clamp(2.2rem,4.8vw,4.3rem);line-height:1.1}
.sc>p{margin:0;color:var(--suave);max-width:44ch}
.pista{list-style:none;margin:44px 0 22px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.pista::before{content:"";position:absolute;left:0;right:0;top:25px;height:2px;background:var(--linea)}
.pista li{min-width:0;position:relative}
.pista button{width:100%;display:flex;flex-direction:column;gap:11px;align-items:flex-start;background:none;border:0;padding:0 12px 4px 0;text-align:left;cursor:pointer;font:600 clamp(.92rem,1.3vw,1.1rem)/1.2 var(--titulo);letter-spacing:-.025em;color:var(--suave);transition:color .2s}
.pista i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;border:2px solid var(--linea);font-style:normal;font-size:1.03rem;color:var(--negro);transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.pista button:hover{color:var(--negro)}
.pista button:hover i{border-color:var(--negro)}
.pista button.hecho i{background:var(--lima);border-color:var(--lima)}
.pista button[aria-selected="true"]{color:var(--azul)}
.pista button[aria-selected="true"] i{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--lima)}
.fase{background:var(--negro);color:#fff;border-radius:28px;padding:clamp(24px,4vw,50px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,4vw,60px)}
.fase[hidden]{display:none}
.fase{animation:entra .35s ease both}
@keyframes entra{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
.fase .de{margin:0 0 12px;color:var(--lima);font:600 .84rem var(--titulo);letter-spacing:-.01em}
.fase h3{font-size:clamp(1.8rem,3.3vw,3rem);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.fase .t{color:var(--sobre);margin:16px 0 24px;max-width:44ch}
.fi{display:flex;flex-direction:column}
.nav-f{display:flex;gap:8px;margin-top:auto}
.nav-f button{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);border:0;color:#fff;cursor:pointer;transition:background .2s,color .2s}
.nav-f button:hover{background:var(--lima);color:var(--negro)}
.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.items.tres li:last-child{grid-column:1/-1}
.items li{background:var(--negro2);border-radius:16px;padding:15px;font-size:.92rem;line-height:1.38;color:var(--sobre);min-width:0}
.items b{display:block;color:#fff;font:600 .96rem/1.2 var(--titulo);letter-spacing:-.025em;margin-bottom:6px}
.result{margin:10px 0 0;background:var(--lima);color:var(--negro);border-radius:16px;padding:14px 15px;font-weight:500;line-height:1.36}
.result b{display:block;font:600 .75rem var(--titulo);margin-bottom:3px}

/* Casos */
.casos{position:relative;overflow:hidden;padding-block:clamp(70px,8vw,112px) clamp(50px,6vw,84px)}
.casos .deco{position:absolute;right:-90px;top:90px;width:clamp(280px,31vw,450px);max-width:none;pointer-events:none}
.casos .cab2{max-width:30em;position:relative}
.colum{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,52px);margin-top:50px;align-items:start}
.colum>div{display:grid;gap:clamp(30px,4vw,54px);min-width:0}
.colum>div:last-child{margin-top:clamp(40px,7vw,108px)}
.caso{margin:0;min-width:0}
.caso .marco{position:relative;display:block;width:100%;padding:0;border:0;background:var(--linea);border-radius:26px;overflow:hidden;aspect-ratio:1/1.02;cursor:pointer}
.caso .marco.fijo{cursor:default}
.caso img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1);transition:filter .4s}
.caso:hover img,.caso.color img{filter:none}
.caso .ver{position:absolute;right:16px;bottom:16px;width:58px;height:58px;border-radius:50%;background:var(--lima);display:grid;place-items:center;opacity:.96;transition:transform .2s}
.caso .marco:hover .ver{transform:scale(1.08)}
.caso .ver::after{content:"";margin-left:4px;border-left:14px solid var(--negro);border-top:9px solid transparent;border-bottom:9px solid transparent}
.caso figcaption{padding-top:15px}
.caso h3{font-size:clamp(1.28rem,1.9vw,1.7rem);color:var(--azul);margin-bottom:5px}
.caso .res{font-weight:500;margin:0 0 3px;line-height:1.35}
.caso .tag{margin:0;color:var(--suave);font-size:.92rem;line-height:1.35}
.caso .res{font:600 1.08rem/1.25 var(--titulo);letter-spacing:-.025em}
.caso .dice{margin:5px 0 7px;line-height:1.38}
.caso .tag{font-size:.86rem}

a.caso.tile{display:flex;flex-direction:column;justify-content:space-between;gap:40px;aspect-ratio:1/1.02;background:var(--lima);color:var(--negro);border-radius:26px;padding:clamp(22px,3vw,38px);text-decoration:none;transition:background .2s}
a.caso.tile:hover{background:#d6fb60}
.tile .tp{font:600 clamp(1.8rem,3.3vw,3rem)/1.08 var(--titulo);letter-spacing:-.04em;text-wrap:balance}
.tile .tb{display:inline-flex;align-items:center;gap:9px;font:600 .95rem var(--titulo);letter-spacing:-.02em}
.tile .tb svg{width:18px;height:18px;fill:currentColor}

/* Clientes */
.clientes{border-top:1px solid var(--linea);padding-block:clamp(50px,6vw,84px)}
.rejilla{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 18px}
.cli{text-align:center;min-width:0;line-height:1.28}
.cli img{width:clamp(78px,8vw,112px);aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;object-position:50% 15%;margin:0 auto 11px;filter:grayscale(1);transition:filter .3s,transform .3s}
.cli:hover img{filter:none;transform:scale(1.05)}
.cli b{display:block;font:600 .88rem var(--titulo);letter-spacing:-.025em}
.cli span{color:var(--suave);font-size:.84rem}
.marcas{list-style:none;margin:42px 0 0;padding:26px 0 0;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px 32px;font:600 clamp(1.02rem,1.65vw,1.46rem) var(--titulo);letter-spacing:-.035em;color:#7b838f}

/* Médico */
.medico{background:var(--azul);color:#fff;border-radius:34px;margin:0 clamp(8px,1.2vw,18px);overflow:hidden}
.medico .in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(44px,6vw,80px)}
.medico .etq{color:var(--lima)}
.medico h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.08}
.medico p.t{color:#e2eafb;margin:20px 0 22px;max-width:56ch}
.planes{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.planes li{background:var(--azul2);border-radius:16px;padding:14px;font-size:.87rem;line-height:1.36;color:#dbe6fa;min-width:0}
.planes b{display:block;font:600 .92rem var(--titulo);letter-spacing:-.02em;color:#fff;margin-bottom:5px}
.acc{display:flex;flex-wrap:wrap;gap:10px}
.medico .bt:not(.li){border-color:#fff;color:#fff}
.medico .bt:not(.li):hover{background:#fff;color:var(--azul)}
.medico figure{margin:0;border-radius:46% 54% 42% 58%/44% 40% 60% 56%;overflow:hidden;background:var(--lima);aspect-ratio:4/5}
.medico figure img{width:100%;height:100%;object-fit:cover;object-position:50% 16%}

/* Quién está detrás */
.quien-es{border-top:1px solid var(--linea);padding-block:clamp(56px,7vw,92px)}
.quien-es h2{margin-bottom:30px}
.equipo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.persona{display:grid;grid-template-columns:clamp(110px,12vw,160px) minmax(0,1fr);gap:clamp(16px,2vw,26px);align-items:center;background:#f3f5f7;border-radius:24px;padding:clamp(18px,2.4vw,28px);min-width:0}
.persona img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 3px #f3f5f7,0 0 0 5px var(--lima)}
.persona h3{font-size:clamp(1.25rem,1.9vw,1.6rem);line-height:1.15}
.persona .rol{margin:3px 0 10px;color:var(--azul);font:600 .9rem var(--titulo);letter-spacing:-.02em}
.persona p:last-child{margin:0;color:var(--suave);font-size:.98rem;line-height:1.45}
.quien-es .nota{margin:24px 0 0;color:var(--suave);max-width:62ch}
.espes{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.espes span{color:var(--suave);font-size:.95rem;margin-right:6px}
.espes a{border:1.5px solid var(--negro);border-radius:999px;padding:7px 15px;text-decoration:none;font:600 .86rem var(--titulo);letter-spacing:-.02em;transition:background .2s,color .2s}
.espes a:hover{background:var(--negro);color:#fff}

/* Preguntas */
.preguntas{padding-block:clamp(60px,8vw,104px)}
.preguntas .in{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,72px);align-items:start}
.pregs{border-top:1.5px solid var(--negro)}
details{border-bottom:1px solid var(--linea)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;padding:18px 0;font:600 1.03rem var(--titulo);letter-spacing:-.025em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--lima);flex:none;font-weight:500;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:0 0 20px;color:var(--suave);max-width:60ch}

/* Cierre y pie */
.cierre{position:relative;margin-bottom:clamp(8px,1.2vw,18px);padding-block:clamp(48px,6vw,84px) 30px;overflow:hidden}
.cierre .marca{position:absolute;left:-7%;bottom:-24%;width:clamp(280px,33vw,470px);max-width:none;opacity:.05;filter:invert(1);pointer-events:none}
.cierre .in{position:relative}
.cierre .pre{text-align:center;color:var(--lima);font:600 .95rem var(--titulo);letter-spacing:-.02em;margin:0 0 14px}
.cierre h2{text-align:center;text-transform:uppercase;font-size:clamp(2.1rem,4.9vw,4.45rem);line-height:1.1;letter-spacing:-.04em;max-width:15.5em;margin-inline:auto}
.cierre .sub{text-align:center;max-width:52ch;margin:18px auto 22px;color:var(--sobre)}
.centrar{display:flex;justify-content:center;align-items:center;gap:22px;flex-wrap:wrap}
.pie{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px 30px;margin-top:clamp(38px,5vw,62px);padding-top:24px;border-top:1px solid var(--linea-n);align-items:start}
.pie .quien b{display:block;color:var(--lima);font:600 1.03rem var(--titulo);margin-bottom:6px}
.pie .quien{font-size:.92rem;line-height:1.55;color:#d7dce4}
.pie .pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-self:start}
.pie .pills a{border:1px solid var(--linea-n);border-radius:999px;padding:7px 13px;font-size:.87rem;text-decoration:none;transition:background .2s,color .2s}
.pie .pills a:hover{background:var(--lima);color:var(--negro)}
.pie .der2{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;color:var(--sobre);font-size:.84rem}
.pie .der2 img{width:96px;height:auto}

/* Movimiento: la capa fija la portada y el panel sube encima; translate y rotate quedan libres para el parallax */
.capa{position:relative}
.panel{position:relative;z-index:1}
.resalta.barre{background-size:0 100%}
[data-par],[data-hero],.colum>div{will-change:translate}
.rev{transition:opacity .75s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .75s cubic-bezier(.2,.7,.2,1) var(--d,0s)!important}
.oculto{opacity:0;transform:translateY(30px)}
.portada h1 .lin{animation:sube .9s cubic-bezier(.2,.7,.2,1) both}
.portada h1 .lin:nth-child(1){animation-delay:.3s}
.portada h1 .lin:nth-child(2){animation-delay:.42s}
.portada h1 .lin:nth-child(3){animation-delay:.54s}
.previa,.bajo{animation:aparece .8s ease .75s both}
.flot{animation:brota .9s cubic-bezier(.2,.9,.25,1.1) both}
.f-b{animation-delay:.18s}
.lugar,.e1,.e2{animation:brota .7s cubic-bezier(.2,.9,.25,1.2) .7s both}
@keyframes sube{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
@keyframes aparece{from{opacity:0}to{opacity:1}}
@keyframes brota{from{opacity:0;scale:.72}to{opacity:1;scale:1}}
.caso .marco{isolation:isolate}
.caso img{transform:scale(1.17)}
@media (min-width:1081px){
  .portada{position:sticky;top:72px;z-index:0}
}
@media (min-width:681px){
  .colum{margin-top:128px}
  .casos{padding-bottom:clamp(110px,10vw,150px)}
}

/* Video */
dialog{border:0;padding:0;background:transparent;max-width:min(92vw,430px);width:100%}
dialog::backdrop{background:rgba(12,16,22,.88)}
dialog video{width:100%;max-height:86vh;background:#000;border-radius:14px}
dialog .x{position:absolute;right:8px;top:8px;z-index:2;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--negro);border:0;cursor:pointer}

/* WhatsApp flotante */
.flota{position:fixed;z-index:40;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;background:var(--lima);color:var(--negro);display:grid;place-items:center;box-shadow:0 10px 26px rgba(12,16,22,.28);transition:transform .2s}
.flota:hover{transform:translateY(-2px)}
.flota svg{width:27px;height:27px;fill:currentColor}

@media (max-width:1080px){
  .cab nav{display:none}.cab .in{grid-template-columns:auto 1fr}
  .cab .der a:not(.bt){display:none}
  .expert{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ex,.ex:nth-child(n+5){grid-column:auto}
  .ex:last-child{grid-column:1/-1}
  .ex:last-child .im{aspect-ratio:16/6}
  .declara{grid-template-columns:minmax(0,1fr)}
  .lado{flex-direction:row;align-items:center;text-align:left;flex-wrap:wrap;justify-content:flex-start}
  .fase{grid-template-columns:minmax(0,1fr)}
  .rejilla{grid-template-columns:repeat(4,minmax(0,1fr))}
  .medico .in,.preguntas .in{grid-template-columns:minmax(0,1fr)}
  .medico figure{max-width:330px}
}
@media (max-width:680px){
  .cab .logo{justify-self:start}
  .cab .bt{display:none}
  .cab .in{min-height:64px}
  .flot,.e1,.e2,.lugar{display:none}
  .portada h1{font-size:clamp(2.35rem,11.2vw,3.6rem)}
  .bajo{grid-template-columns:minmax(0,1fr)}
  .bajar{display:none}
  .pc{flex-direction:column;align-items:flex-start}
  .equipo{grid-template-columns:minmax(0,1fr)}
  .pista button span{display:none}
  .pista::before{top:22px}
  .pista i{width:44px;height:44px}
  .items{grid-template-columns:minmax(0,1fr)}
  .nav-f{margin-top:0}
  .expert{grid-template-columns:minmax(0,1fr)}
  .doles{grid-template-columns:minmax(0,1fr)}
  .ex:last-child .im{aspect-ratio:16/10}
  .ex p,.ex h3{min-height:0}
  .colum{grid-template-columns:minmax(0,1fr)}
  .colum>div:last-child{margin-top:0}
  .rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planes{grid-template-columns:minmax(0,1fr)}
  .casos .deco{opacity:.35}
  .pie{grid-template-columns:minmax(0,1fr)}
  .pie .pills{justify-content:flex-start}
  .marcas{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .sello .gira,.fase,.portada h1 .lin,.previa,.bajo,.flot,.lugar,.e1,.e2{animation:none}
  .portada{position:relative;top:auto}
  .caso img{transform:none}
  .resalta{transition:none}
  .espes a,.bt,.ex,.ex h3,.ex p,.ex img,.flecha,.caso img,.cli img,.flota{transition:none}
}

.esp-hero{padding-block:clamp(44px,6vw,80px) clamp(36px,5vw,60px);position:relative;overflow:hidden}
.esp-hero h1{font-size:clamp(2.4rem,5.5vw,5rem);line-height:1.12;letter-spacing:-.045em;max-width:13em}
.esp-hero h1 .lin{display:block}
.esp-hero p.t{font-size:1.14rem;color:var(--suave);max-width:58ch;margin:22px 0 26px}
.migas{font-size:.86rem;color:var(--suave);margin:0 0 20px}
.migas a{color:inherit}
.bloque{padding-block:clamp(44px,6vw,76px)}
.dark{color:#fff}
.bloque h2{margin-bottom:26px}
.lista-c{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lista-c li{background:var(--negro2);border-radius:18px;padding:18px;color:var(--sobre);font-size:.98rem;line-height:1.42;min-width:0}
.lista-c b{display:block;font:600 1.03rem var(--titulo);letter-spacing:-.025em;color:#fff;margin-bottom:5px}
.temas{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.temas li{background:var(--lima);color:var(--negro);border-radius:999px;padding:7px 14px;font:600 .88rem var(--titulo);letter-spacing:-.02em}
.parr{color:var(--suave);max-width:66ch;margin:0}
.casos-e{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),520px));gap:24px}
.programa{margin:24px 0 0;color:var(--suave)}
.programa a{color:var(--azul);font-weight:500}
.caso img{transform:none}
.caso .dice{margin:5px 0 7px;line-height:1.38}
.caso .tag{font-size:.86rem}
.cab .der a:not(.bt){display:inline}
@media (max-width:680px){.lista-c{grid-template-columns:minmax(0,1fr)}}
