/* ARPA Core 1.0.4 · titular de la portada (posicionamiento), bloque «Asesoramiento estratégico de comunicación» y selector de idioma.
   Se carga después de arpa-102.css. */

/* ---- 1. Portada: logo A&A + titular (H1) + lema ------------------------------------------------- */
.hero3__main{position:relative;z-index:2;pointer-events:none;align-self:end;margin:0 calc(var(--pad) * -.35)}
.hero3__main .l{display:block;overflow:hidden;padding-bottom:.05em}
.hero3__main .l>span{display:block;transform:translateY(105%);transition:transform 1.1s var(--ease)}
.loaded .hero3__main .l>span,.nojs .hero3__main .l>span{transform:none}
.hero3__main .l2>span{transition-delay:.2s}.hero3__main .l3>span{transition-delay:.4s}
.hero3__main .l1--logo{overflow:visible;padding:0 calc(var(--pad) * .35) .8rem}
.hero3__t{margin:0}
.hero3--pos .hero3__h1 .l2{font-family:var(--f-d);font-stretch:62%;font-weight:800;font-style:normal;text-transform:uppercase;text-align:left;line-height:.9;letter-spacing:-.01em;font-size:min(4.55vw,8.6vh);padding:0 calc(var(--pad) * .35) .06em}
.hero3--pos .hero3__h1 .l2 span{display:block;padding-bottom:0}
.hero3--pos .hero3__h1 .l2 span::after{content:none}
.hero3--pos .hero3__h1 .l3{font-family:var(--f-s);font-stretch:100%;font-style:italic;font-weight:500;text-transform:none;text-align:left;color:var(--red);white-space:normal;line-height:1.12;letter-spacing:0;font-size:min(2.9vw,5.2vh);padding:.5rem calc(var(--pad) * .35) 0}
.hero3--pos .hero3__h1 .l1--logo img{height:clamp(110px,13vw,200px)}
@media(max-width:699px){
  .hero3--pos .hero3__h1 .l1--logo img{height:auto;width:min(58vw,260px)}
  .hero3--pos .hero3__h1 .l2{font-size:min(10.6vw,7.6vh);line-height:.92}
  .hero3--pos .hero3__h1 .l3{font-size:min(5.6vw,4.2vh);line-height:1.15}
  .hero3__main .l1--logo{padding-bottom:.9rem}
}
@media(prefers-reduced-motion:reduce){.hero3__main .l>span{transform:none}}

/* ---- 2. Bloque «Asesoramiento estratégico de comunicación» (sustituye a Historia y Filosofía) ----- */
.elementor.elementor.elementor .e-con .ase__t{font-family:var(--f-d);font-stretch:112%;font-weight:300;text-transform:none;font-size:clamp(2.1rem,4.8vw,4.2rem);line-height:1;letter-spacing:-.035em;max-width:16ch;margin:0 0 1.4rem}
.elementor.elementor.elementor .e-con .ase__lead{font-family:var(--f-s);font-style:italic;font-weight:500;font-size:clamp(1.45rem,2.5vw,2.3rem);line-height:1.18;letter-spacing:-.005em;max-width:30ch;margin:0 0 1.8rem}
.elementor.elementor.elementor .e-con .ase__body{font-size:clamp(1.02rem,.96rem + .35vw,1.18rem);line-height:1.62;max-width:66ch}
.elementor.elementor.elementor .e-con .ase__body{display:grid;gap:1.15em}
.elementor.elementor.elementor .e-con .ase__close{font-family:var(--f-s);font-style:italic;font-weight:500;font-size:clamp(2rem,4.6vw,4rem);line-height:1;letter-spacing:-.01em;color:var(--red);margin-top:1.2rem}
.elementor .arpa-t.ase__close .elementor-widget-container,.elementor .arpa-t.ase__lead .elementor-widget-container{color:inherit}
.elementor .ase__lead.arpa-t p,.elementor .ase__close.arpa-t p{margin:0}
/* Cifras clave */
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 2.2rem;padding:0;list-style:none;border-top:2px solid var(--ink)}
.facts li{padding:1rem .8rem 1rem 0;border-bottom:1px solid var(--line);display:grid;gap:.35rem;align-content:start}
.facts li:nth-child(even){padding-left:.9rem;border-left:1px solid var(--line)}
.facts__n{font-family:var(--f-s);font-style:italic;font-weight:500;font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1;color:var(--red);letter-spacing:-.01em}
.facts__t{font-size:.84rem;line-height:1.35;color:var(--mute);max-width:26ch}
@media(min-width:1600px){.facts{grid-template-columns:repeat(4,1fr)}.facts li:nth-child(even){padding-left:0;border-left:0}.facts li+li{padding-left:.9rem;border-left:1px solid var(--line)}}

/* ---- 3. Selector de idioma ES / EN en la píldora ------------------------------------------------ */
.hd__lang{display:inline-flex;align-items:center;gap:.28rem;margin-right:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-stretch:112%}
.hd__lang a{text-decoration:none;opacity:.55;padding:.25rem .1rem;border-bottom:2px solid transparent;transition:opacity .25s,border-color .25s}
.hd__lang a:hover,.hd__lang a:focus-visible{opacity:1}
.hd__lang a[aria-current]{opacity:1;border-bottom-color:currentColor}
.hd__lang span{opacity:.35}
@media(max-width:699px){
  .hd__lang{margin-right:.2rem;gap:.18rem;font-size:.66rem;letter-spacing:.08em}
  .hd{gap:.5rem;padding-left:.8rem}
  .hd__btn{padding:0 .85rem}
  .hd__ch{letter-spacing:.09em;font-size:.7rem}
}
@media(max-width:400px){.hd__ch b{margin-right:.3em}.hd__ch{letter-spacing:.06em}}

/* Banderas en el selector de idioma */
.hd__lang a{display:inline-flex;align-items:center;gap:.35rem}
.hd__lang .flag{width:20px;height:13px;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.hd__lang a:not([aria-current]) .flag{filter:saturate(.75)}
@media(max-width:699px){.hd__lang b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.hd__lang .flag{width:22px;height:15px}.hd__lang a{padding:.3rem .15rem}}

/* 1.0.6 · Móvil: sin franja de creatividades en la portada (solo quedan las piezas de escritorio) */
@media(max-width:699px){.hero3__strip{display:none!important}.hero3{min-height:auto;grid-template-rows:auto auto auto;padding-bottom:1.6rem}.hero3__foot{grid-row:3;margin-top:1.4rem}}

/* 1.0.7 · Escritorio: piezas en una franja ordenada arriba, sin pisar el logo ni el titular */
@media(min-width:700px){
  .hero3--logo .pc{--mw:clamp(104px,9.6vw,150px)}
  .hero3--logo .pc:nth-child(1){--mx:27%;--my:9%;--mr:-4deg}
  .hero3--logo .pc:nth-child(2){--mx:40%;--my:6%;--mr:3deg}
  .hero3--logo .pc:nth-child(3){--mx:53%;--my:10%;--mr:-2deg}
  .hero3--logo .pc:nth-child(4){--mx:66%;--my:6%;--mr:4deg}
  .hero3--logo .pc:nth-child(5){--mx:79%;--my:10%;--mr:-3deg}
  .hero3--logo .pc:nth-child(6){--mx:33%;--my:29%;--mr:2deg}
  .hero3--logo .pc:nth-child(7){--mx:46%;--my:33%;--mr:-3deg}
  .hero3--logo .pc:nth-child(8){--mx:59%;--my:29%;--mr:3deg}
  .hero3--logo .pc:nth-child(9){--mx:72%;--my:33%;--mr:-2deg}
  .hero3--logo .pc:nth-child(10){--mx:85%;--my:29%;--mr:4deg}
  .hero3--logo .pc:nth-child(n+11){display:none}
}
.talk.talk--one{grid-template-columns:1fr}
@media(min-width:700px) and (max-width:1199px){
  .hero3--logo .pc:nth-child(1){--mx:34%}.hero3--logo .pc:nth-child(2){--mx:46%}.hero3--logo .pc:nth-child(3){--mx:58%}
  .hero3--logo .pc:nth-child(4){--mx:70%}.hero3--logo .pc:nth-child(5){--mx:82%}
}

/* 1.0.8 · Piezas más grandes, ocupando toda la franja superior (siguen sin pisar el logo) */
@media(min-width:700px){
  .hero3--logo .pc{--mw:clamp(128px,12.4vw,210px)}
  .hero3--logo .pc:nth-child(1){--mx:26%;--my:7%}
  .hero3--logo .pc:nth-child(2){--mx:39.5%;--my:5%}
  .hero3--logo .pc:nth-child(3){--mx:53%;--my:8%}
  .hero3--logo .pc:nth-child(4){--mx:66.5%;--my:5%}
  .hero3--logo .pc:nth-child(5){--mx:80%;--my:8%}
  .hero3--logo .pc:nth-child(6){--mx:31%;--my:31%}
  .hero3--logo .pc:nth-child(7){--mx:44.5%;--my:34%}
  .hero3--logo .pc:nth-child(8){--mx:58%;--my:31%}
  .hero3--logo .pc:nth-child(9){--mx:71.5%;--my:34%}
  .hero3--logo .pc:nth-child(10){--mx:85%;--my:31%}
}
@media(min-width:700px) and (max-width:1199px){
  .hero3--logo .pc:nth-child(1){--mx:32%}.hero3--logo .pc:nth-child(2){--mx:45%}.hero3--logo .pc:nth-child(3){--mx:58%}
  .hero3--logo .pc:nth-child(4){--mx:71%}.hero3--logo .pc:nth-child(5){--mx:84%}
}
@media(min-width:700px){
  .hero3--logo .pc:nth-child(1){--mx:29%}.hero3--logo .pc:nth-child(2){--mx:41.8%}.hero3--logo .pc:nth-child(3){--mx:54.6%}
  .hero3--logo .pc:nth-child(4){--mx:67.4%}.hero3--logo .pc:nth-child(5){--mx:80.2%}
}
@media(min-width:700px) and (max-width:1199px){
  .hero3--logo .pc:nth-child(1){--mx:34.5%}.hero3--logo .pc:nth-child(2){--mx:47%}.hero3--logo .pc:nth-child(3){--mx:59.5%}
  .hero3--logo .pc:nth-child(4){--mx:72%}.hero3--logo .pc:nth-child(5){--mx:84.5%}
}
@media(min-width:700px) and (max-width:1199px){
  .hero3--logo .pc:nth-child(1){--mx:36.5%;--my:9%}.hero3--logo .pc:nth-child(2){--mx:48.6%}.hero3--logo .pc:nth-child(3){--mx:60.7%}
  .hero3--logo .pc:nth-child(4){--mx:72.8%}.hero3--logo .pc:nth-child(5){--mx:84.9%}
}

/* 1.0.9 · textos legales largos */
.legal__fecha{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-weight:600}
.legal h2,.elementor .legal h2{font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.05;margin:2.2rem 0 .7rem}
.legal ul{margin:0 0 .9rem}
.legal__tabla{margin:1.2rem 0 1.4rem;overflow-x:auto}
.legal table{width:100%;border-collapse:collapse;font-size:.86rem;line-height:1.4}
.legal th,.legal td{text-align:left;vertical-align:top;padding:.65rem .8rem;border-bottom:1px solid var(--line)}
.legal th{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-bottom:2px solid var(--ink)}
.legal td:first-child{font-weight:600;word-break:break-word}
@media(max-width:699px){
  .legal__tabla{overflow:visible}
  .legal table,.legal tbody,.legal tr,.legal td{display:block;width:100%}
  .legal thead{position:absolute;left:-9999px}
  .legal tr{border:1px solid var(--line);border-radius:.8rem;margin-bottom:.9rem;padding:.4rem 0}
  .legal td{border:0;padding:.35rem .9rem}
  .legal td::before{content:attr(data-l);display:block;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:700}
}
.finfo{font-size:.72rem;line-height:1.45;color:var(--mute);margin:.2rem 0 .3rem}
.dark .form .finfo,.form .finfo{color:#4a463e}.finfo a{text-decoration:underline;color:inherit}
/* 1.0.9 · la foto del equipo puede tener otra proporción que 3:4: se ajusta a la caja sin desbordar */
.elementor .member__ph img,.member__ph img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:50% 100%}

/* ================= 1.0.13 · textos finales de Pelayo ================= */
/* Bloque de texto de la portada: subtítulos de apartado */
.elementor.elementor.elementor .e-con .ase__body h3,.ase__body h3{font-family:var(--f-d);font-stretch:112%;font-weight:700;text-transform:none;font-size:clamp(1.25rem,1.1rem + .6vw,1.7rem);line-height:1.1;letter-spacing:-.01em;margin:1.7rem 0 .1rem}
.elementor.elementor.elementor .e-con .ase__body h3:first-child{margin-top:0}
.ase__body p{margin:0}
.elementor.elementor.elementor .e-con .ase__t{max-width:20ch}

/* Servicios: bloque de inteligencia artificial */
.ia{max-width:62ch;margin:0 0 1.6rem}
.ia__t{font-family:var(--f-d);font-stretch:112%;font-weight:700;text-transform:none;font-size:clamp(1.25rem,1.1rem + .6vw,1.7rem);line-height:1.1;margin:0 0 .8rem}
.ia p{line-height:1.55;margin:0 0 .8rem}
.ia--home{margin:1.4rem 0 1.8rem;color:var(--paper)}
.ia--home .ia__t{color:var(--paper)}
.ia--page{margin:1.6rem 0 2rem;color:#cfc9bb}
.ia--page .ia__t{color:var(--paper)}
.svp .ph__lead.ia,.svp .ia{max-width:62ch}

/* Portfolio: entradilla en varios párrafos */
.ph__lead p{margin:0 0 .8rem}.ph__lead p:last-child{margin-bottom:0}
.ph__lead{max-width:60ch}

/* Trayectoria: fechas destacadas + Pelayo + mapa con tres puntos */
.team--tl .team__h{margin-bottom:clamp(1.6rem,3vw,2.6rem)}
.tl{list-style:none;margin:0 0 clamp(2.6rem,6vw,5rem);padding:0;display:grid;grid-template-columns:1fr;border-top:2px solid var(--ink)}
.tl__i{padding:1.5rem 0 1.7rem;border-bottom:1px solid var(--line);display:grid;gap:.45rem;align-content:start}
.tl__y{font-family:var(--f-s);font-style:italic;font-weight:500;font-size:clamp(3.8rem,13vw,7.6rem);line-height:.88;color:var(--red);letter-spacing:-.02em}
.tl__w{color:var(--mute)}
.elementor .tl__t,.tl__t{font-family:var(--f-d);font-stretch:112%;font-weight:700;text-transform:none;font-size:clamp(1.2rem,1.05rem + .6vw,1.6rem);line-height:1.12;letter-spacing:-.01em;margin:.2rem 0 0}
.tl__sub{display:block;font-weight:400;font-size:.78em;color:var(--mute);margin-top:.25em;letter-spacing:0}
.tl p{max-width:44ch;line-height:1.55;margin:.3rem 0 0}
@media(min-width:900px){
  .tl{grid-template-columns:repeat(3,1fr)}
  .tl__i{padding:1.8rem 2rem 1.2rem 0;border-bottom:0}
  .tl__i+.tl__i{padding-left:2rem;border-left:1px solid var(--line)}
}
.member__sede{margin-top:.15rem;font-size:.82rem;color:var(--mute)}
/* mapa: tres sedes */
@media(min-width:900px){
  .team__map{padding-bottom:1.8rem}
  .map__p--mad{left:83.4%;top:20.8%;transform:translate(-50%,-190%)}
  .map__p--cdmx{left:17.8%;top:41%;transform:translate(-50%,130%)}
  .map__p--scl{left:37.3%;top:91.8%;transform:translate(-50%,130%)}
}

/* Contacto: el correo grande va dentro de la lista de datos */
.elementor .contact2 address a.contact2__mail{text-decoration:none;margin-top:.15rem}
.contact2 address .contact2__mail{margin-top:.15rem}

/* Aviso de cookies: dos párrafos, tres botones y panel de preferencias */
.ck{max-height:calc(100dvh - 2rem);overflow:auto;overscroll-behavior:contain}
.ck__t p{margin-bottom:.7rem}.ck__t p:last-child{margin-bottom:.9rem}
.ck__cfg{margin-top:1rem;padding-top:.9rem;border-top:1px solid rgba(246,243,236,.28);display:grid;gap:.8rem}
.ck__cfg[hidden]{display:none}
.ck__row{display:flex;gap:1rem;justify-content:space-between;align-items:flex-start;font-size:.84rem;line-height:1.4}
.ck__row b{display:block;margin-bottom:.1rem}
.ck__row input{flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem;accent-color:var(--red-hi)}
.ck__cfg .btn{justify-self:start}
.tl__y{white-space:nowrap}
@media(min-width:900px){.tl__y{font-size:clamp(3.4rem,5.2vw,5.6rem)}}
@media(max-width:899px){.tl__y{font-size:clamp(3.4rem,15vw,6rem)}}
.facts__n{white-space:nowrap}
@media(max-width:699px){.facts__n{font-size:clamp(1.9rem,8.2vw,3rem)}}
/* Titulares largos de página (p. ej. «La experiencia hecha realidad»): más pequeños que el de una sola palabra */
.ph h1.h1--long{font-size:clamp(2.7rem,8.4vw,8.2rem);line-height:.96;letter-spacing:-.04em;display:block}
.ph h1.h1--long sup{display:inline-block;margin-left:.12em;vertical-align:top}
@media(max-width:430px){.hd__ch{letter-spacing:.02em;font-size:.64rem}.hd__ch b{margin-right:.25em}}

/* 1.0.14 · textos legales literales: subtítulos de cookies y primera capa con saltos de línea */
.legal h3,.elementor .legal h3{font-family:var(--f-d);font-stretch:112%;font-weight:700;text-transform:none;font-size:1.15rem;line-height:1.15;margin:1.4rem 0 .5rem}
.legal ul li{margin-bottom:.4rem}
.finfo strong:first-child{display:inline-block;margin-bottom:.15rem}
