/* ============================================================
   Piezas que no existían en los prototipos y que necesitan las
   seis plantillas: menú con desplegables, portada interior,
   cuerpo de página, página de servicio a dos columnas, cierre,
   blog y 404. Vocabulario de clases y valores del sistema.
   ============================================================ */

/* ---------- Menú con desplegables (Andorra: nueve páginas, una línea) ---------- */
.nav__lista{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(.9rem,1.6vw,1.6rem)}
.nav__lista li{position:relative}
.nav__lista .sub-menu{
  list-style:none;margin:0;padding:.5rem;position:absolute;left:-.75rem;top:calc(100% + .9rem);
  min-width:15rem;display:grid;gap:.1rem;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 22px 44px rgba(16,40,72,.14);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;
  z-index:30;
}
/* el hueco entre enlace y panel se cubre con un puente invisible: si no, el
   puntero sale del enlace, el panel se cierra y no se puede llegar a él */
.nav__lista .menu-item-has-children::after{content:"";position:absolute;left:0;right:0;top:100%;height:1rem}
.nav__lista li:hover > .sub-menu,
.nav__lista li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav__lista .sub-menu a{display:block;padding:.6rem .8rem;border-radius:9px;font-size:.9375rem;color:var(--navy)}
.nav__lista .sub-menu a::after{display:none}
.nav__lista .sub-menu a:hover{background:var(--mist);color:var(--navy)}
.nav__lista .menu-item-has-children > a{padding-right:.85rem}
.nav__lista .menu-item-has-children > a::before{
  content:"";position:absolute;right:0;top:50%;width:.4rem;height:.4rem;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--ease);
}
.nav__lista .menu-item-has-children:hover > a::before{transform:translateY(-30%) rotate(225deg)}
/* la cabecera va sobre el vídeo en las home: ahí el panel se queda claro igual */
.cab--sobre .nav__lista .sub-menu{color:var(--navy)}

/* ---------- Portada interior ---------- */
.port{padding:calc(var(--cab-alto) + clamp(2.5rem,6vw,5rem)) 0 clamp(1.75rem,3.5vw,2.75rem);background:var(--mist);border-bottom:1px solid var(--line)}
.port__h1{margin:.9rem 0 0;max-width:30ch;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:600;line-height:1.04;letter-spacing:-.032em;color:var(--navy)}
.port__lede{margin:1.1rem 0 0;max-width:62ch;font-size:1.0625rem;line-height:1.6;color:var(--muted)}
.port--articulo{background:#fff}

/* ---------- Cuerpo de página ---------- */
.cuerpo{padding:clamp(2.5rem,5vw,4.25rem) 0;max-width:72ch}
.cuerpo h2,.srv__cuerpo h2{margin:2.5rem 0 .9rem;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;line-height:1.14;letter-spacing:-.022em;color:var(--navy)}
.cuerpo h3,.srv__cuerpo h3{margin:2rem 0 .7rem;font-size:1.1875rem;font-weight:600;color:var(--navy)}
.cuerpo p,.srv__cuerpo p{margin:0 0 1.1rem;line-height:1.72}
.cuerpo ul,.cuerpo ol,.srv__cuerpo ul,.srv__cuerpo ol{margin:0 0 1.4rem;padding-left:1.1rem;line-height:1.72}
.cuerpo li,.srv__cuerpo li{margin-bottom:.45rem}
.cuerpo ul,.srv__cuerpo ul{list-style:none;padding-left:0}
.cuerpo ul li,.srv__cuerpo ul li{position:relative;padding-left:1.35rem}
.cuerpo ul li::before,.srv__cuerpo ul li::before{content:"";position:absolute;left:0;top:.62em;width:.42rem;height:.42rem;background:var(--orange)}
.cuerpo--legal{font-size:.9375rem;color:var(--body)}
.cuerpo--legal h2{font-size:1.25rem;margin-top:2rem}
.cuerpo--articulo{margin-inline:auto}

/* ---------- Página de servicio: cuerpo + columna navy ---------- */
.srv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,19rem);gap:clamp(2rem,4vw,3.5rem);align-items:start;padding:clamp(2.5rem,5vw,4.25rem) 0}
.srv__cuerpo{max-width:68ch}
.srv__lado{position:sticky;top:calc(var(--cab-alto) + 1.25rem);display:grid;gap:1rem}
.lado__ficha{padding:clamp(1.4rem,2.5vw,1.9rem);border-radius:22px;background:var(--navy);color:#fff}
.lado__texto{margin:.9rem 0 1.4rem;font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.82)}
.lado__otras{padding:clamp(1.2rem,2vw,1.6rem);border:1px solid var(--line);border-radius:22px;background:#fff}
.lado__h2{margin:0 0 .8rem;font-size:.8125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.lado__otras ul{list-style:none;margin:0;padding:0;display:grid}
.lado__otras li{border-top:1px solid var(--line)}
.lado__otras li:first-child{border-top:0}
.lado__otras a{display:block;padding:.7rem 0;font-size:.9375rem;font-weight:500;color:var(--navy);transition:color .3s var(--ease),padding-left .3s var(--ease)}
.lado__otras a:hover{color:var(--orange);padding-left:.3rem}
@media (max-width:980px){
  .srv{grid-template-columns:1fr}
  .srv__lado{position:static}
}

/* ---------- Cierre con llamada a contacto ---------- */
.cierre__int{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,3rem);align-items:end}
.cierre__ctas{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:760px){.cierre__int{grid-template-columns:1fr;align-items:start}}

/* ---------- Las tres oficinas ---------- */
.oficinas__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:clamp(1.25rem,2.5vw,2rem);margin-top:clamp(1.75rem,3vw,2.5rem)}
.oficina__ico{width:1.6rem;height:1.6rem;color:var(--orange);fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.oficina p{margin:.55rem 0 0;font-size:.9375rem;line-height:1.7;color:rgba(255,255,255,.82)}

/* ---------- Blog ---------- */
.blog:not(body){padding:clamp(2.5rem,5vw,4.25rem) 0}
.blog__rejilla .wp-block-post-template{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:clamp(1.25rem,2.5vw,2rem)}
.blog__rejilla li{display:grid;gap:.6rem;align-content:start;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.blog__rejilla img{border-radius:14px}
.blog__rejilla .wp-block-post-title{margin:0;font-size:1.1875rem;font-weight:600;line-height:1.22;color:var(--navy)}
.blog__rejilla .wp-block-post-excerpt{margin:0;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.blog__rejilla .wp-block-post-date{font-size:.8125rem;color:var(--muted)}
.art__meta{gap:1.25rem;margin-top:1.4rem;font-size:.875rem;color:var(--muted)}
.art__foto img{width:100%;border-radius:0}

/* ---------- Gracias y 404 ---------- */
.gracias .cuerpo,.error404 .cuerpo{min-height:52vh;padding-top:calc(var(--cab-alto) + clamp(3rem,7vw,6rem));align-content:center}
.error404 .wp-block-search{margin-top:1.75rem;max-width:26rem}

/* La barra de administración de WordPress mide 32 px y empuja el documento:
   sin esto la cabecera fija se come su propio alto en el editor y en el panel. */
.admin-bar .cab{top:32px}
@media (max-width:782px){.admin-bar .cab{top:46px}}

/* El nombre de la página ya no va en una franja gris aparte: es el primer bloque
   del contenido. Así solo hay un H1 por página y el texto del documento no lo
   repite debajo. Se le da el aire que daba la franja. */
.cuerpo > .port__h1:first-child,
.srv__cuerpo > .port__h1:first-child{
  margin:0 0 .4rem;
  font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:600;
  line-height:1.05;letter-spacing:-.032em;color:var(--navy);
}
.cuerpo > .port__lede,
.srv__cuerpo > .port__lede{
  margin:0 0 2.25rem;max-width:62ch;
  font-size:1.0625rem;line-height:1.6;color:var(--muted);
}
.cuerpo,.srv{padding-top:calc(var(--cab-alto) + clamp(2rem,4vw,3.25rem))}

/* Preguntas abiertas para Abansa dentro del texto en revisión. Amarillo chillón a
   propósito: tienen que doler a la vista y no llegar jamás a la web publicada. */
.pendiente{
  background:#FFE68A;color:#6b4e00;
  padding:.1em .45em;border-radius:4px;
  font-size:.9em;font-weight:600;
}

/* Texto solo para lectores de pantalla y buscadores. La home global es tres vídeos
   y tres nombres: necesita un H1 que diga qué es este sitio, sin pintarlo encima. */
.solo-lectores{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* ============================================================
   Tramos: así se rompe el texto largo de las páginas de servicio
   ------------------------------------------------------------
   Una página de servicio en bruto son dos pantallas de columna
   corrida. Cada «##» abre aquí un tramo con fondo alterno, la foto
   cambia de lado, y las listas dejan de ser viñetas para ser fichas
   con su cuadrado naranja. Es lo que hace que se lea de un vistazo
   en vez de leerse entero.
   ============================================================ */

.tramo{padding:clamp(2.75rem,5.5vw,4.75rem) 0}
.tramo--mist{background:var(--mist)}
.tramo__int{
  width:min(100% - var(--gutter)*2,var(--ancho));margin-inline:auto;
  gap:clamp(2rem,4.5vw,4rem)!important;align-items:center;
}
.tramo__int--solo{width:min(100% - var(--gutter)*2,var(--ancho));margin-inline:auto;max-width:min(100% - var(--gutter)*2,74ch)}
/* los tramos impares invierten el orden: la foto pasa a la izquierda */
.tramo--vuelta .tramo__texto{order:2}
.tramo--vuelta .tramo__foto{order:1}

.tramo__h2{
  margin:0 0 1rem;font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:600;
  line-height:1.12;letter-spacing:-.024em;color:var(--navy);
}
.tramo__h2::after{content:"";display:block;width:2.6rem;height:2px;margin-top:.9rem;background:var(--orange)}
.tramo__texto p{margin:0 0 1.05rem;line-height:1.72}
.tramo__texto h3{margin:1.8rem 0 .7rem;font-size:1.1rem;font-weight:600;color:var(--navy)}

/* Listas como fichas: cada punto en su caja, no una viñeta más de la lista */
.tramo__texto ul{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.6rem}
.tramo__texto ul li{
  position:relative;padding:.85rem 1rem .85rem 2.1rem;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  font-size:.9375rem;line-height:1.55;color:var(--body);
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.tramo--mist .tramo__texto ul li{background:#fff}
.tramo__texto ul li::before{
  content:"";position:absolute;left:1rem;top:1.28em;
  width:.42rem;height:.42rem;background:var(--orange);
  transition:transform .35s var(--ease);
}
.tramo__texto ul li:hover{border-color:var(--orange);transform:translateX(3px);box-shadow:0 10px 24px rgba(16,40,72,.07)}
.tramo__texto ul li:hover::before{transform:scale(1.5)}
/* con muchos puntos, dos columnas: doce fichas en vertical son otra pantalla */
@media (min-width:900px){
  .tramo__int--solo .tramo__texto ul,
  .tramo__int--solo ul{grid-template-columns:1fr 1fr}
}
.tramo__texto ol{margin:1.3rem 0 0;padding-left:1.2rem;display:grid;gap:.6rem;line-height:1.6}

/* Foto: recorte vertical, esquina redondeada del sistema y un leve acercamiento */
.tramo__foto{align-self:stretch}
.tramo__img{margin:0;height:100%}
.tramo__img img{
  width:100%;height:100%;min-height:clamp(16rem,26vw,24rem);
  object-fit:cover;border-radius:22px;display:block;
  transition:transform .7s var(--ease);
}
.tramo__foto:hover .tramo__img img{transform:scale(1.03)}

/* Salida a contacto a mitad de página */
.tramo--cta{
  background:var(--navy);color:#fff;text-align:center;
  padding-block:clamp(2.25rem,4vw,3.25rem);
}
.tramo__cta-txt{
  margin:0 auto 1.4rem;max-width:46ch;
  font-size:clamp(1.1rem,1.9vw,1.4rem);font-weight:500;line-height:1.4;color:#fff;
}
.tramo--cta .wp-block-buttons{justify-content:center}

@media (max-width:781px){
  .tramo__int{flex-direction:column}
  .tramo--vuelta .tramo__texto,.tramo--vuelta .tramo__foto{order:unset}
  .tramo__img img{min-height:13rem}
}

/* ---------- Otras áreas, al final de cada página de servicio ---------- */
.areas{padding:clamp(2.75rem,5.5vw,4.5rem) 0;background:#fff;border-top:1px solid var(--line)}
.areas__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}
.area{
  position:relative;display:grid;gap:.4rem;align-content:start;
  padding:1.15rem 2.4rem 1.15rem 1.15rem;
  border:1px solid var(--line);border-radius:14px;background:#fff;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.area:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 18px 34px rgba(16,40,72,.1)}
.area__nombre{font-size:1rem;font-weight:600;color:var(--navy);line-height:1.25}
.area__txt{font-size:.875rem;line-height:1.5;color:var(--muted)}
.area__flecha{
  position:absolute;right:1rem;top:1.15rem;color:var(--orange);
  transition:transform .35s var(--ease);
}
.area:hover .area__flecha{transform:translateX(4px)}

/* El tramo de entrada de una página de servicio respira como la franja gris que
   sustituye: queda centrado y con la medida de lectura, no pegado al borde. */
.tramo__int--solo > .port__h1,
.tramo__int--solo > .port__lede{max-width:none}

/* ---------- Botón de bloque con el aspecto del sistema ----------
   El bloque «botón» de WordPress son dos elementos: el envoltorio y el enlace.
   Al poner .btn en el envoltorio salía un botón pintado dentro de otro, así que
   el envoltorio se vacía y el estilo va donde debe, en el enlace. */
.wp-block-button.btn{background:none;border:0;padding:0;border-radius:0}
.wp-block-button.btn .wp-block-button__link{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.95rem 1.6rem;border-radius:10px;border:0;
  background:var(--orange);color:#fff;
  font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.wp-block-button.btn .wp-block-button__link:hover{background:var(--orange-oscuro);transform:translateY(-1px)}
.cuerpo__cta{margin-top:2.5rem}

/* La entrada de la página: mismo contenedor que el texto, para que el H1 y el
   cuerpo compartan margen izquierdo, y sin hueco muerto debajo. */
.tramo--entrada{padding-top:calc(var(--cab-alto) + clamp(2rem,4vw,3.25rem));padding-bottom:clamp(1.25rem,2.5vw,2rem)}
.tramo--entrada .port__h1{margin:0 0 .5rem}
.tramo--entrada .port__lede{margin:0}
.tramo--entrada + .tramo{padding-top:clamp(1.5rem,3vw,2.5rem)}
/* el cuerpo ya no necesita el aire que daba la franja gris */
.cuerpo,.srv{padding-top:0}

/* ============================================================
   Todo a la izquierda, como en el sitio de Dubái
   ------------------------------------------------------------
   El contenedor sigue centrado en la pantalla —eso no se toca, es
   la medida del sitio—, pero dentro todo se alinea al mismo borde
   izquierdo: rótulo, titular, entradilla y cuerpo. Antes el texto
   iba en una columna estrecha centrada y la página parecía flotar.
   ============================================================ */

.tramo--entrada,
.tramo__int--solo{
  width:min(100% - var(--gutter)*2,var(--ancho));
  margin-inline:auto;max-width:none;
}
/* el texto conserva su medida de lectura, pero anclado a la izquierda */
.tramo--entrada > *,
.tramo__int--solo > *{max-width:72ch;margin-inline:0}
.tramo--entrada .port__h1{max-width:20ch}
.tramo--entrada .port__lede{max-width:52ch}
.tramo__int--solo .tramo__h2{max-width:24ch}
/* Las tiras de fichas y el acordeón no son texto de lectura: ocupan el ancho
   entero del tramo, que es lo que permite ver tres o cuatro de una vez. */
.tramo--entrada > .pasos,.tramo--entrada > .subfichas,.tramo--entrada > .preguntas,.tramo--entrada > .tira,
.tramo__int--solo > .pasos,.tramo__int--solo > .subfichas,.tramo__int--solo > .preguntas,
.tramo__int--solo > .tira{max-width:none}

/* Rótulo de sección: la pieza que en Dubái abre cada franja */
.tramo__rotulo{
  display:flex;align-items:center;gap:.6rem;margin:0 0 .6rem;
  font-size:.8125rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.tramo__rotulo::before{content:"";width:.6em;height:.6em;background:var(--orange);flex:none}
.tramo--mist .tramo__rotulo{color:var(--muted)}

/* En los tramos con foto el texto ya estaba a la izquierda: solo se le quita
   el centrado heredado del bloque de columnas. */
.tramo__texto{align-self:center}
.tramo__texto > *{margin-inline:0}

/* WordPress mete su propio relleno lateral en los grupos («has-global-padding»).
   En los tramos ese relleno se suma al del contenedor y descoloca el borde,
   así que aquí manda el contenedor del tema. */
.tramo.has-global-padding,
.tramo__int--solo.has-global-padding{padding-inline:0}

/* ============================================================
   Las franjas se tocan
   ------------------------------------------------------------
   WordPress separa un bloque del siguiente con 20 px («block gap»).
   En texto corrido eso está bien, pero nuestras secciones van a
   sangre y de fondo entero: ahí los 20 px salen como rayas blancas
   entre franjas y encima del vídeo de la portada. Se quitan solo
   entre las piezas de página, no dentro del texto.
   ============================================================ */
.wp-block-post-content{margin-block:0}
/* el propio <main> es un grupo y también recibe el hueco de WordPress:
   son los 20 px blancos que quedaban encima del vídeo */
.wp-site-blocks > main{margin-block:0}
.entry-content > :is(section,.hero,.cinta,.wp-block-group,.wp-block-columns),
main > :is(section,.hero,.cinta,.wp-block-group){margin-block:0}
.entry-content > :first-child{margin-block-start:0}
/* el centinela de la cabecera es un span de 1 px: no debe ocupar sitio */
.entry-content > span#centinela{display:block;margin:0;height:0}
/* el botón del final del cuerpo sí quiere aire, pero el suyo, no el de WordPress */
/* El botón de cierre del cuerpo es hijo directo del contenido y no heredaba el
   contenedor: se iba al borde de la pantalla. Se le da la misma medida y el
   mismo borde izquierdo que el texto al que acompaña. */
.entry-content > .cuerpo__cta{
  width:min(100% - var(--gutter)*2,var(--ancho));
  margin:0 auto clamp(2.5rem,5vw,4rem);
  justify-content:flex-start;
}

/* El pie va dentro de una «parte de plantilla», que es otro bloque más y recibe
   su hueco de 20 px: ésa era la raya blanca sobre el pie. */
.wp-site-blocks > .wp-block-template-part{margin-block:0}

/* ---------- Cabecera: cuándo se vuelve blanca ----------
   El centinela estaba al final de la portada, así que la cabecera se solidificaba
   cuando el vídeo ya había pasado del todo. En esa franja —el alto de la propia
   cabecera— el menú blanco quedaba sobre el fondo claro de la página siguiente y
   desaparecía. Ahora el centinela se adelanta su propio alto: la cabecera cambia
   justo antes de que entre el contenido claro. */
#centinela{position:relative;top:calc(-1 * var(--cab-alto) - 1.5rem)}

/* ============================================================
   Tarjetas de servicio con relieve
   ------------------------------------------------------------
   El índice era una lista de enlaces: nada que mirar y nada en que
   fijar el ojo. Cada área pasa a ser una tarjeta con foto, número y
   entradilla, y al pasar el cursor se levanta y se inclina siguiendo
   al puntero. La inclinación es sutil a propósito —seis grados como
   máximo—: un despacho no es una tienda de zapatillas.
   ============================================================ */
.serv3d{padding:clamp(2.5rem,5vw,4.25rem) 0}
.serv3d__rejilla{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));
  gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(1.75rem,3vw,2.5rem);
  perspective:1200px;
}
.s3{display:block;transform-style:preserve-3d}
.s3__marco{
  position:relative;display:block;overflow:hidden;
  border-radius:22px;background:#fff;border:1px solid var(--line);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
  will-change:transform;
}
.s3:hover .s3__marco{
  border-color:var(--orange);
  box-shadow:0 30px 60px rgba(16,40,72,.18);
}
.s3__foto{
  display:block;height:clamp(9rem,14vw,11.5rem);
  background-size:cover;background-position:center;
  transform:scale(1.01);transition:transform .8s var(--ease),filter .5s var(--ease);
  filter:saturate(.92);
}
.s3:hover .s3__foto{transform:scale(1.07);filter:saturate(1)}
.s3__num{
  position:absolute;top:.9rem;left:1.1rem;z-index:2;
  font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.s3__cuerpo{display:grid;gap:.5rem;padding:1.25rem 1.35rem 1.5rem}
.s3__tit{font-size:1.1875rem;font-weight:600;line-height:1.2;color:var(--navy)}
.s3__txt{font-size:.9375rem;line-height:1.55;color:var(--muted)}
.s3__mas{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:.35rem;
  font-size:.875rem;font-weight:600;color:var(--navy);
}
.s3__mas svg{width:.95rem;height:.95rem;transition:transform .35s var(--ease)}
.s3:hover .s3__mas{color:var(--orange)}
.s3:hover .s3__mas svg{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){
  .s3__marco,.s3__foto{transition:none}
  .s3__marco{transform:none!important}
}

/* ---------- Cifras de la firma ---------- */
/* Marca de agua: el campo de isotipos de la identidad («jocs isotip»), muy
   bajado de opacidad para que no compita con las cifras. */
.cifras-firma{position:relative;overflow:hidden}
.cifras-firma::after{
  content:"";position:absolute;right:-7%;bottom:-18%;
  width:min(24rem,30%);aspect-ratio:1;opacity:.13;pointer-events:none;
  background:url(../img/marca/iso-08.png) right bottom/contain no-repeat;
}
@media (max-width:860px){.cifras-firma::after{display:none}}
.cifras-firma .env{position:relative;z-index:1}
.cifras-firma__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0}
.cf{padding:clamp(1.25rem,2.5vw,2rem) clamp(1.25rem,2.5vw,2.25rem);border-left:1px solid rgba(255,255,255,.18)}
.cf:first-child{border-left:0;padding-left:0}
.cf__n{display:block;font-size:clamp(2.6rem,5vw,4rem);font-weight:700;line-height:1;color:var(--orange);letter-spacing:-.03em}
.cf__t{margin:.7rem 0 .5rem;font-size:1.0625rem;font-weight:600;color:#fff}
.cf__d{margin:0;font-size:.9375rem;line-height:1.6;color:rgba(255,255,255,.76)}
@media (max-width:760px){.cf{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0}.cf:first-child{border-top:0}}

/* ---------- Tres pilares ---------- */
.pilares{background:var(--mist)}
.pilares__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(1.75rem,3vw,2.5rem)}
.pil{
  position:relative;padding:clamp(1.4rem,2.5vw,2rem);background:#fff;
  border:1px solid var(--line);border-radius:22px;
  transition:border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);
}
.pil:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 24px 48px rgba(16,40,72,.12)}
.pil__n{font-size:.8125rem;font-weight:700;letter-spacing:.14em;color:var(--orange)}
.pil h3{margin:.65rem 0 .7rem;font-size:1.1875rem;font-weight:600;color:var(--navy);line-height:1.22}
.pil p{margin:0;font-size:.9375rem;line-height:1.65;color:var(--muted)}

/* ============================================================
   Contraste de los dos usos del naranja
   ------------------------------------------------------------
   El naranja de marca (#F07D46) es correcto como acento —cuadrados,
   subrayados, cifras grandes—, pero falla como color de texto pequeño:
   · texto blanco sobre naranja → 2,72:1
   · naranja sobre navy → 4,08:1
   La norma pide 4,5:1 para texto normal. Dos tonos del MISMO color,
   solo movida la luminosidad, resuelven los dos casos sin cambiar la
   marca: uno más oscuro para botones y otro más claro para texto
   sobre fondo navy. El acento sigue siendo el naranja del manual.
   ============================================================ */
:root{
  --orange-boton:#CC4D11;   /* 4,53:1 con texto blanco */
  --orange-claro:#F28A59;   /* 4,51:1 sobre navy, 6,03:1 sobre navy-deep */
}
.btn--nar,
.wp-block-button.btn .wp-block-button__link{background:var(--orange-boton)}
.btn--nar:hover,
.wp-block-button.btn .wp-block-button__link:hover{background:#B33F08}
/* enlaces naranjas cuando el fondo es oscuro */
.seccion--navy a:not(.btn),
.oficina a,
.pie a:hover,
.franja a:not(.btn),
.faq a:not(.btn){color:var(--orange-claro)}

/* Las fotos llevan width/height para reservar su hueco antes de descargarse:
   sin eso el texto da un salto al aparecer la imagen. La proporción la manda
   el CSS, no el atributo. */
.tramo__img img{height:100%;width:100%;aspect-ratio:4/3}

/* ---------- Foco visible ----------
   El navegador pinta un contorno de 1 px que sobre navy no se ve. Se sustituye
   por uno propio, con el naranja de marca y separación, en todo lo que se puede
   recorrer con el teclado. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
  border-radius:4px;
}
.seccion--navy a:focus-visible,.pie a:focus-visible,.cab a:focus-visible{outline-color:var(--orange-claro)}

/* ============================================================
   Paleta del manual, combinaciones 3 y 5
   ------------------------------------------------------------
   El manual (1.4.3) fija seis combinaciones. Hasta ahora usábamos
   solo dos: navy con blanco y blanco con navy. Faltaban las que dan
   calidez, que es justo lo que pedía el concepto «avanç serè»:
   · 3 · fondo 7499 C (crema) con texto azul marino
   · 5 · fondo warm gray para contenido denso
   Entran como fondos alternos de los tramos, en versión suave: el
   crema del manual a plena saturación es un fondo de cartel, no de
   página de servicio que se lee diez minutos.
   ============================================================ */
:root{
  /* El manual ofrece el 7499 C (crema) como fondo de la combinación 3, pero en
     pantalla y a pantallas completas amarillea y resta seriedad. Nos quedamos
     con la combinación 5 —warm gray 4 C aclarado—, que es la que el propio
     manual reserva para «documentos largos / contenido denso», justo lo que
     son estas páginas. El crema (amarillo) no se usa en la web, ni como acento. */
  --gris-calido:#EFEDE9;  /* warm gray 4 C aclarado: neutro, sin amarillo */
}
.tramo--mist{background:var(--gris-calido)}
.pilares{background:var(--gris-calido)}

/* El manual propone Baskerville para textos largos (1.3.2), pensado para papel.
   En pantalla su trazo fino se queda débil al lado del Plex, así que el cuerpo
   sigue en Plex. Lo que sí se hereda de esa idea es la jerarquía: la entradilla
   va a mayor cuerpo e interlineado que el texto, para que abra la página. */
.port__lede,
.tramo__texto > p:first-of-type,
.tramo__int--solo > p:first-of-type{
  font-size:clamp(1.0625rem,1.5vw,1.1875rem);
  line-height:1.65;
  color:var(--navy);
  font-weight:400;
}
.seccion--navy .port__lede{color:rgba(255,255,255,.86)}

/* Botones: el bloque de WordPress y los del tema tenían alturas distintas
   —46 y 57 px— y en la misma página se veía el desajuste. Una sola medida. */
.btn,.btn--nar,.btn--linea,
.wp-block-button.btn .wp-block-button__link{
  min-height:3.25rem;padding:.95rem 1.6rem;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-size:.95rem;font-weight:600;line-height:1;border-radius:10px;
}
.wp-block-button.btn{display:inline-flex}

/* ---------- Franja de datos ---------- */
.datos__rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0}
.dt{padding:clamp(1.1rem,2.2vw,1.8rem) clamp(1.1rem,2.2vw,2rem);border-left:1px solid rgba(255,255,255,.18)}
.dt:first-child{border-left:0;padding-left:0}
.dt__n{display:block;font-size:clamp(2.4rem,4.6vw,3.6rem);font-weight:700;line-height:1;color:var(--orange-claro);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dt__t{margin:.6rem 0 .4rem;font-size:1rem;font-weight:600;color:#fff;line-height:1.25}
.dt__d{margin:0;font-size:.9rem;line-height:1.55;color:rgba(255,255,255,.74)}
@media (max-width:760px){.dt{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0}.dt:first-child{border-top:0}}

/* ---------- Proceso en cuatro pasos ---------- */
.proceso{background:var(--gris-calido)}
.proc{
  list-style:none;margin:clamp(2rem,3.5vw,3rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));
  gap:clamp(1rem,2vw,1.75rem);position:relative;
}
/* la línea que une los pasos se llena al entrar en pantalla */
.proc::before{
  content:"";position:absolute;left:0;right:0;top:1.1rem;height:2px;
  background:linear-gradient(90deg,var(--orange) var(--avance,0%),rgba(25,60,106,.14) var(--avance,0%));
  transition:--avance 1.2s var(--ease);
}
@media (max-width:760px){.proc::before{display:none}}
.proc__p{position:relative;padding-top:2.9rem}
.proc__n{
  position:absolute;top:0;left:0;display:grid;place-items:center;
  width:2.2rem;height:2.2rem;border-radius:999px;
  background:#fff;border:2px solid rgba(25,60,106,.16);
  font-size:.8125rem;font-weight:700;color:var(--navy);
  transition:border-color .45s var(--ease),transform .45s var(--ease),background .45s var(--ease);
  transition-delay:calc(var(--i) * .12s);
}
.revela.visible .proc__n{border-color:var(--orange);background:var(--orange);color:#fff;transform:scale(1.04)}
.proc__t{margin:0 0 .5rem;font-size:1.0625rem;font-weight:600;color:var(--navy);line-height:1.28}
.proc__d{margin:0;font-size:.9375rem;line-height:1.62;color:var(--muted)}

/* ---------- Salida a la página del servicio, dentro de cada ficha ----------
   Las fichas de la home explican el área; la página la desarrolla. Sin este
   botón el visitante lee las ocho pestañas y se queda ahí: no hay señal de
   que cada una tiene su propia página. */
.fichas__ir{margin-top:1.5rem;align-self:flex-start}

.fichas__texto{display:flex;flex-direction:column}
.fichas__texto ul{margin-bottom:0}

/* ---------- Salida desde cada tarjeta del carrusel de Andorra ----------
   De las doce áreas, solo tres tienen página propia; las demás están
   desarrolladas en el índice de servicios. El enlace va donde el contenido
   existe, no a una página inventada. Enlace de texto y no botón: doce
   botones naranjas en fila serían un semáforo. */
.tarjeta__ir{
  margin-top:auto;padding-top:1rem;align-self:flex-start;
  font-size:.9375rem;font-weight:600;color:var(--navy);
}
.tarjeta--foto .tarjeta__cuerpo{display:flex;flex-direction:column;flex:1}
.tarjeta--foto:hover .tarjeta__ir{color:var(--orange-boton)}
/* La flecha de .btn--texto apunta hacia abajo porque ese botón se diseñó para
   bajar dentro de la misma página. Aquí el enlace lleva a otra página, así que
   la flecha gira: hacia la derecha significa «ir», hacia abajo «seguir leyendo». */
.tarjeta__ir::after{transform:rotate(-90deg)}
.tarjeta__ir:hover::after{transform:rotate(-90deg) translateY(-3px)}

/* Al llegar por un ancla, el tramo no debe quedar debajo de la cabecera fija. */
.tramo[id]{scroll-margin-top:calc(var(--cab-alto) + 1rem)}

/* ============================================================
   La firma
   ------------------------------------------------------------
   Era texto corrido con una foto cada tres párrafos. Ahora la
   página tiene cinco piezas con ritmo propio: apertura con cita,
   cifras, el equipo en fichas, perfiles de cliente conmutables y
   las oficinas. El texto es el mismo del documento del 14.09.
   ============================================================ */

/* ---------- Apertura con cita ---------- */
.firma-intro{padding:clamp(2rem,4vw,3.5rem) 0 clamp(2.5rem,5vw,4rem)}
.firma-intro__int{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(2rem,4.5vw,4rem);align-items:center}
.firma-intro__texto p{margin:0 0 1.1rem;line-height:1.72;color:var(--body)}
.firma-intro__cita{position:relative;margin:0}
.firma-intro__cita img{width:100%;height:clamp(18rem,30vw,26rem);object-fit:cover;border-radius:22px;display:block}
.firma-intro__cita figcaption{
  position:absolute;left:clamp(1rem,2vw,1.75rem);right:clamp(1rem,2vw,1.75rem);bottom:clamp(1rem,2vw,1.75rem);
  padding:clamp(1.1rem,2vw,1.6rem);border-radius:18px;
  background:rgba(16,40,72,.92);backdrop-filter:blur(6px);
  color:#fff;font-size:1.0625rem;line-height:1.5;font-weight:500;
}
.firma-intro__comillas{
  display:block;font-size:2.4rem;line-height:.6;color:var(--orange);
  margin-bottom:.5rem;font-family:Georgia,serif;
}
@media (max-width:860px){.firma-intro__int{grid-template-columns:1fr}}

/* ---------- El equipo ---------- */
.equipo{padding:clamp(2.5rem,5vw,4.25rem) 0;background:var(--gris-calido);position:relative;overflow:hidden}
.equipo::before{
  content:"";position:absolute;right:-3%;top:-6%;
  width:min(26rem,34%);aspect-ratio:1;opacity:.07;pointer-events:none;
  background:url(../img/marca/iso-04.png) right top/contain no-repeat;
}
@media (max-width:860px){.equipo::before{display:none}}
.equipo .env{position:relative;z-index:1}
/* Carrusel del equipo: fichas horizontales, icono a la izquierda y texto al lado.
   Reutiliza los mandos y la barra de avance del carrusel de Andorra. */
.equipo__pista > *{flex-basis:clamp(20rem,32vw,27rem)}
.eq{
  display:flex;align-items:flex-start;gap:clamp(.9rem,1.6vw,1.15rem);position:relative;
  padding:clamp(1.25rem,2.2vw,1.6rem);background:#fff;
  border:1px solid var(--line);border-radius:18px;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.eq:hover{border-color:var(--orange);box-shadow:0 18px 36px rgba(16,40,72,.1)}
.eq__ico{
  flex:none;display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:12px;
  background:var(--navy);color:#fff;transition:background .35s var(--ease),transform .35s var(--ease);
}
.eq__ico .ico{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.eq:hover .eq__ico{background:var(--orange);transform:rotate(-6deg) scale(1.06)}
.eq__txt{min-width:0}
.eq h3{margin:.15rem 0 .4rem;font-size:1.0625rem;font-weight:600;color:var(--navy);line-height:1.25}
.eq p{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted)}
.eq__num{
  position:absolute;top:clamp(1rem,2vw,1.35rem);right:clamp(1rem,2vw,1.35rem);
  font-size:.75rem;font-weight:600;letter-spacing:.08em;color:rgba(25,60,106,.26);
}

/* ---------- Para quién trabajamos ---------- */
.paraquien{background:#fff}
.paraquien .fichas{margin-top:clamp(1.75rem,3vw,2.5rem)}

/* ============================================================
   Tiras dentro de una sección — pasos, fichas y preguntas
   ------------------------------------------------------------
   Los documentos de Abansa cuelgan de cada sección una lista larga de
   subapartados. En texto corrido son dos pantallas seguidas; aquí cada
   tira se lee de un vistazo y la página deja de ser un muro.
   ============================================================ */
.pasos,.subfichas{
  display:grid;gap:clamp(.85rem,1.6vw,1.15rem);
  margin-top:clamp(1.4rem,2.6vw,2rem);
  grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));
}
.paso{
  position:relative;padding:clamp(1.25rem,2.2vw,1.6rem);
  background:#fff;border:1px solid var(--line);border-radius:18px;
  transition:border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
}
.tramo--mist .paso{background:#fff}
.paso:hover{border-color:var(--orange);box-shadow:0 18px 36px rgba(16,40,72,.1);transform:translateY(-3px)}
.paso__n{
  display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;
  background:var(--navy);color:#fff;font-size:.8125rem;font-weight:700;letter-spacing:.02em;
  transition:background-color .35s var(--ease);
}
.paso:hover .paso__n{background:var(--orange)}
/* Las fichas sin numerar del documento —tipos de sociedad, ventajas— no
   necesitan contador: el cuadrado del isotipo basta como viñeta. */
.subfichas .paso__n{
  width:.6rem;height:.6rem;border-radius:2px;background:var(--orange);
  font-size:0;color:transparent;
}
.paso__t{margin:.9rem 0 .5rem;font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--navy)}
.paso__c > :first-child{margin-top:0}
.paso__c > :last-child{margin-bottom:0}
.paso__c p{margin:0 0 .6rem;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.paso__c ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.paso__c li{margin-bottom:.3rem}

.preguntas{margin-top:clamp(1.4rem,2.6vw,2rem)}
.preguntas .pregunta__c{padding:0 0 1.4rem}
.preguntas .pregunta__c > :first-child{margin-top:0}
.preguntas .pregunta__c p{margin:0 0 .7rem;line-height:1.65;color:var(--muted)}
.preguntas .pregunta__c ul{margin:.2rem 0 .7rem;padding-left:1.1rem;color:var(--muted)}

/* Tira en carrusel: a partir de seis fichas la rejilla es otra pantalla entera. */
.tira{position:relative}
.tira__mandos{display:flex;justify-content:flex-end;gap:.6rem;margin-bottom:.6rem}
.tira .carrusel__pista{display:flex;margin-top:0}
.tira .carrusel__pista > *{flex:0 0 clamp(17rem,24vw,21rem)}
.tira .carrusel__barra{margin-top:.2rem}
@media (max-width:760px){.tira .carrusel__pista > *{flex-basis:80vw}}

/* Pestañas generadas a partir de una racha de secciones de texto. */
/* El bloque de pestañas no es texto de lectura: ocupa el ancho del tramo. */
.tramo--pestanas .tramo__int--solo > *{max-width:none}
.tramo--pestanas .fichas{margin-top:0}
.tramo--pestanas .fichas__pestanas{gap:.45rem}
.tramo--pestanas .fichas__pestanas button{padding:.55rem .95rem;font-size:.875rem;font-weight:500}
.fichas__panel--solo{grid-template-columns:minmax(0,1fr)}
/* La tarjeta se ajusta a la medida de lectura: a ancho completo, con el texto
   a 52ch, quedaba media tarjeta vacía. */
.fichas__panel--solo .fichas__texto{max-width:82ch}
.fichas__panel--solo .fichas__texto p{max-width:none}
.fichas__panel--solo .fichas__texto > :last-child{margin-bottom:0}
.fichas__panel--solo .fichas__texto ul{list-style:disc;padding-left:1.1rem;gap:.35rem}
.fichas__panel--solo .fichas__texto li{display:list-item}
.fichas__panel--solo .fichas__texto li::before{content:none}

/* ============================================================
   Página de servicio, segunda versión
   ------------------------------------------------------------
   Antes: título, texto corrido y una pestaña con el documento en
   crudo. Ahora cada bloque del documento tiene su pieza: portada
   con la foto del área, tarjetas, pasos numerados, preguntas a dos
   columnas y un cierre con el texto de la propia página.
   ============================================================ */

/* ---------- Portada con foto ---------- */
.psrv{
  position:relative;overflow:hidden;
  padding:calc(var(--cab-alto) + clamp(1.5rem,3.5vw,3rem)) 0 clamp(2.5rem,5vw,4.5rem);
  background:
    radial-gradient(60rem 30rem at 100% -10%,rgba(240,125,70,.09),transparent 60%),
    linear-gradient(180deg,#fff 0%,var(--gris-calido) 100%);
}
.psrv::after{
  content:"";position:absolute;left:-6rem;bottom:-9rem;width:22rem;aspect-ratio:1;
  opacity:.06;pointer-events:none;
  background:url(../img/marca/iso-03.png) center/contain no-repeat;
}
.psrv__int{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(2rem,5vw,5rem);align-items:center;
}
.psrv__texto{max-width:60ch}
.psrv .rotulo{margin-bottom:1.1rem}
.psrv__h1{
  margin:0;max-width:16ch;
  font-size:clamp(2.3rem,4.8vw,3.9rem);font-weight:600;line-height:1.02;letter-spacing:-.034em;color:var(--navy);
}
.psrv__lede{
  margin:1.2rem 0 0;max-width:48ch;
  font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:500;line-height:1.35;letter-spacing:-.012em;color:var(--navy);
}
.psrv__p{margin:1.1rem 0 0;max-width:56ch;font-size:1.0625rem;line-height:1.65;color:var(--body)}
.psrv__p:first-of-type{color:var(--navy)}
.psrv__ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.9rem}
.psrv__nota{
  display:flex;align-items:center;gap:.6rem;margin:1.1rem 0 0;
  font-size:.875rem;color:var(--muted);
}
.psrv__nota::before{content:"";width:.5rem;height:.5rem;background:var(--orange);flex:none}

.psrv__foto{position:relative;margin:0;justify-self:end;width:min(100%,30rem);padding:1rem 1rem 0 0}
.psrv__foto img{
  position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  border-radius:22px;box-shadow:0 30px 60px rgba(16,40,72,.16);
}
/* el cuadrado del isotipo asoma por detrás de la foto, como en el manual */
.psrv__foto::before{
  content:"";position:absolute;right:0;top:0;width:42%;aspect-ratio:1;
  border:2px solid var(--orange);border-radius:18px;opacity:.9;
}
.psrv__foto::after{
  content:"";position:absolute;left:-1.4rem;bottom:-1.4rem;width:36%;aspect-ratio:1;
  background:var(--navy);border-radius:18px;opacity:.95;
}
@media (max-width:900px){
  .psrv__int{grid-template-columns:minmax(0,1fr)}
  .psrv__foto{justify-self:start;width:min(100%,22rem);margin-top:.5rem}
  .psrv__foto::before,.psrv__foto::after{display:none}
}
@media (max-width:640px){
  .psrv{padding-top:calc(var(--cab-alto) + 1rem)}
  .psrv__h1{font-size:clamp(2rem,9vw,2.6rem)}
  .psrv__ctas .btn{width:100%}
}
/* la entrada del cuerpo ya no pelea con la portada */
.psrv + .tramo{padding-top:clamp(2.5rem,5vw,4.25rem)}

/* ---------- Botones y notas que vienen del texto ---------- */
.tramo__botones{margin-top:1.6rem}
.tramo__botones.wp-block-buttons{justify-content:flex-start}
.nota-boton{margin:.9rem 0 0;font-size:.875rem;color:var(--muted)}

/* ---------- Fichas etiquetadas del documento ---------- */
.subfichas--3,.pasos--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pasos--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1040px){.pasos--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.subfichas--3,.pasos--3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.pasos--4{grid-template-columns:minmax(0,1fr)}}
.paso__c ul{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.45rem}
.paso__c li{position:relative;padding-left:1.1rem;margin:0;color:var(--body)}
.paso__c li::before{content:"";position:absolute;left:0;top:.6em;width:.4rem;height:.4rem;background:var(--orange)}
/* los pasos numerados se unen con una línea, como la ruta de la home */
.pasos{position:relative;counter-reset:none}
.pasos .paso{background:#fff}
.pasos .paso__n{border-radius:999px;width:2.4rem;height:2.4rem;font-size:.875rem}
.pasos .paso::after{
  content:"";position:absolute;top:calc(clamp(1.25rem,2.2vw,1.6rem) + 1.2rem);right:-1.15rem;width:1.15rem;height:2px;
  background:var(--line);
}
.pasos .paso:last-child::after{display:none}
@media (max-width:1040px){.pasos .paso::after{display:none}}

/* ---------- Ámbitos: la lista de un servicio de España ---------- */
.tramo--intro{padding-bottom:clamp(1rem,2vw,1.5rem)}
.tramo--intro p{max-width:62ch}
.tramo--intro p:first-of-type{font-size:clamp(1.0625rem,1.5vw,1.1875rem);line-height:1.65;color:var(--navy)}
.tramo--ambitos .tramo__int--solo > *{max-width:none}
.ambitos-srv{
  list-style:none;margin:clamp(1.2rem,2.4vw,1.8rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;
}
.ambito-srv{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:start;
  padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:14px;
  font-size:.9688rem;line-height:1.5;color:var(--body);
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.ambito-srv:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 16px 32px rgba(16,40,72,.08)}
.ambito-srv__n{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--orange);padding-top:.25rem}
@media (max-width:1040px){.ambitos-srv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ambitos-srv{grid-template-columns:minmax(0,1fr)}}

/* ---------- Criterio: el párrafo de cierre de un servicio, destacado ---------- */
.tramo--criterio{padding-top:clamp(2rem,4vw,3rem)}
.tramo--criterio .tramo__int--solo > *{max-width:none}
.criterio{
  position:relative;overflow:hidden;
  padding:clamp(1.8rem,3.5vw,2.8rem) clamp(1.6rem,3.5vw,3rem) clamp(1.8rem,3.5vw,2.8rem) clamp(2.2rem,4.5vw,4rem);
  background:var(--navy);color:#fff;border-radius:22px;
}
.criterio::after{
  content:"";position:absolute;right:-5rem;top:-5rem;width:18rem;aspect-ratio:1;opacity:.12;
  background:url(../img/marca/iso-11.png) center/contain no-repeat;
}
.criterio__marca{position:absolute;left:clamp(1rem,2.2vw,1.8rem);top:clamp(1.8rem,3.5vw,2.8rem);width:.7rem;height:.7rem;background:var(--orange)}
.criterio p{
  position:relative;z-index:1;margin:0;max-width:58ch;
  font-size:clamp(1.1rem,1.8vw,1.4rem);font-weight:500;line-height:1.45;letter-spacing:-.01em;color:#fff;
}
.criterio p + p{margin-top:1rem;font-size:1.0625rem;font-weight:400;color:rgba(255,255,255,.82)}

/* ---------- Cierre propio de la página ---------- */
.cierre-srv{position:relative;overflow:hidden}
.cierre-srv::before{
  content:"";position:absolute;right:-6%;top:-30%;width:min(28rem,40%);aspect-ratio:1;opacity:.1;pointer-events:none;
  background:url(../img/marca/iso-08.png) center/contain no-repeat;
}
.cierre-srv .env{position:relative;z-index:1}
.cierre-srv .entrada{max-width:56ch}
.cierre-srv .titulo{max-width:18ch}

/* ---------- Tramos: aire y listas largas ---------- */
.tramo__h2{max-width:24ch}
/* una lista de más de ocho puntos en un tramo con foto se vuelve una columna
   interminable: pasa a dos columnas, con la ficha más compacta */
.tramo__texto ul li{padding:.7rem .9rem .7rem 1.9rem;font-size:.9375rem}
.tramo__texto ul li::before{left:.85rem}
@media (min-width:1100px){
  .tramo__texto ul:has(li:nth-child(9)){grid-template-columns:1fr 1fr}
}
/* el tramo de entrada de una página que no es de servicio sigue como estaba */

/* Las listas de un tramo sin foto llevan la misma ficha que las de los tramos
   con foto: a dos columnas, que es lo que evita la columna de viñetas. */
.tramo__int--solo > ul.wp-block-list{
  list-style:none;margin:1.3rem 0 0;padding:0;display:grid;gap:.6rem;max-width:none;
}
.tramo__int--solo > ul.wp-block-list li{
  position:relative;padding:.7rem .9rem .7rem 1.9rem;margin:0;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  font-size:.9375rem;line-height:1.55;color:var(--body);
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.tramo__int--solo > ul.wp-block-list li::before{
  content:"";position:absolute;left:.85rem;top:1.15em;width:.42rem;height:.42rem;background:var(--orange);
}
.tramo__int--solo > ul.wp-block-list li:hover{border-color:var(--orange);transform:translateX(3px);box-shadow:0 10px 24px rgba(16,40,72,.07)}
@media (min-width:900px){.tramo__int--solo > ul.wp-block-list{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.tramo__int--solo > ul.wp-block-list:has(li:nth-child(9)){grid-template-columns:1fr 1fr 1fr}}

/* La franja de datos de las páginas de servicio heredaba de style.css un
   `display:grid` en la propia sección: el contenedor interior pasaba a ser un
   ítem de rejilla con ancho mínimo «auto» y las tres cifras no bajaban de
   línea en el móvil, desbordando la página. La sección es un bloque normal. */
section.datos{display:block}
.datos__rejilla{min-width:0}

/* ---------- Preguntas de las páginas de servicio: la misma franja que la home ---------- */
.faq-srv .faq__intro .entrada p{margin:0 0 .8rem;color:rgba(255,255,255,.78);line-height:1.6}
.faq-srv .faq__intro .titulo{max-width:16ch}
.faq-srv .faq__panel.preguntas{margin-top:0}
.faq-srv .pregunta__c{padding:0 3rem 1.5rem 2.6rem}
.faq-srv .pregunta__c p{margin:0 0 .7rem;max-width:62ch;line-height:1.65;color:rgba(255,255,255,.76)}
.faq-srv .pregunta__c ul{margin:.2rem 0 .8rem;padding-left:1.1rem;color:rgba(255,255,255,.76)}
.faq-srv .pregunta__c li{margin-bottom:.3rem}
.faq-srv .pregunta summary{padding:1.2rem .2rem}
@media (max-width:640px){.faq-srv .pregunta__c{padding:0 .5rem 1.4rem 0}}

/* Si las preguntas (navy) van justo antes del cierre propio, el cierre pasa a
   claro: dos franjas navy seguidas se leen como una sola. */
body:has(.faq-srv) .cierre-srv.seccion--navy{background:var(--gris-calido);color:var(--body)}
body:has(.faq-srv) .cierre-srv.seccion--navy .rotulo{color:var(--muted)}
body:has(.faq-srv) .cierre-srv.seccion--navy .titulo{color:var(--navy)}
body:has(.faq-srv) .cierre-srv.seccion--navy .entrada{color:var(--muted)}
body:has(.faq-srv) .cierre-srv.seccion--navy .btn--linea{border-color:var(--line);color:var(--navy);background:#fff}
body:has(.faq-srv) .cierre-srv.seccion--navy .btn--linea:hover{background:var(--navy);border-color:var(--navy);color:#fff}
body:has(.faq-srv) .cierre-srv::before{opacity:.05}

/* ============================================================
   Páginas de servicio compactas
   ------------------------------------------------------------
   Ocho apartados eran ocho franjas. Ahora: intro con foto, un
   conmutador con todos los apartados y las preguntas al final.
   ============================================================ */

/* ---------- Servicio de España: texto y criterio a la izquierda, lista a la derecha ---------- */
.tramo--plano .tramo__int--solo > *{max-width:none}
.plano{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4.5vw,4rem);align-items:start}
.plano__texto p{margin:0 0 1rem;max-width:52ch;line-height:1.7}
.plano__texto > p:nth-of-type(1){font-size:clamp(1.0625rem,1.5vw,1.1875rem);line-height:1.6;color:var(--navy)}
.plano__texto .tramo__rotulo{margin-bottom:1rem}
.criterio--chico{margin-top:1.4rem;padding:clamp(1.4rem,2.5vw,1.9rem) clamp(1.4rem,2.5vw,2rem) clamp(1.4rem,2.5vw,1.9rem) clamp(2rem,3.5vw,2.8rem);border-radius:18px}
.criterio--chico .criterio__marca{left:clamp(.9rem,1.6vw,1.2rem);top:clamp(1.55rem,2.6vw,2rem)}
.criterio--chico p{font-size:1.0625rem;line-height:1.5;max-width:none}
.criterio--chico::after{width:12rem;right:-3rem;top:-3rem}
.plano__lista .tramo__rotulo{margin-bottom:1rem}
.ambitos-srv--lado{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.ambitos-srv--lado .ambito-srv{padding:.85rem 1rem;font-size:.9375rem}
@media (max-width:960px){
  .plano{grid-template-columns:minmax(0,1fr)}
  .ambitos-srv--lado{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Conmutador con todos los apartados ---------- */
.tramo--conmutador .tramo__int--solo > *{max-width:none}
.tramo--conmutador .fichas{margin-top:clamp(1.4rem,2.6vw,2rem)}
.tramo--conmutador .fichas__pestanas{gap:.45rem}
.tramo--conmutador .fichas__pestanas button{padding:.6rem 1rem;font-size:.9rem;font-weight:500}
.fichas__panel--srv .fichas__texto p{max-width:none;margin:0 0 1rem;line-height:1.7}
.fichas__panel--srv .fichas__texto p:last-child{margin-bottom:0}
.fichas__panel--srv .fichas__lateral{display:flex;flex-direction:column;justify-content:center}
.fichas__panel--srv .fichas__entrega{margin:0;padding:0;border-top:0;gap:.7rem;font-size:.9375rem;line-height:1.5}
.fichas__panel--srv .fichas__entrega li::before{margin-top:.55rem}
.fichas__foto{margin:0;border-radius:20px;overflow:hidden;background:var(--mist)}
.fichas__foto img{width:100%;height:100%;min-height:18rem;object-fit:cover;display:block}
/* las fichas y los pasos ocupan el panel entero */
.fichas__panel--ancho{display:block}
.fichas__h3{margin:0 0 .4rem;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600;letter-spacing:-.02em;color:var(--navy)}
.fichas__panel--ancho .pasos,.fichas__panel--ancho .subfichas{margin-top:1rem}
.pasos--muchas{grid-template-columns:repeat(4,minmax(0,1fr))}
.subfichas--muchas{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.pasos--muchas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.subfichas--muchas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.pasos--muchas,.subfichas--muchas{grid-template-columns:minmax(0,1fr)}}
.pasos--muchas .paso::after{display:none}
.pasos--muchas .paso__c p{font-size:.9rem}
@media (max-width:900px){
  .fichas__panel--srv{grid-template-columns:minmax(0,1fr)}
  .fichas__foto img{min-height:12rem;max-height:16rem}
}
/* sección que solo trae lista: la lista es el contenido, a dos columnas */
.fichas__panel--srv .fichas__lista{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem}
.fichas__panel--srv .fichas__lista li{display:flex;gap:.6rem;font-size:.9375rem;line-height:1.5;color:var(--body)}
.fichas__panel--srv .fichas__lista li::before{content:"";flex:none;width:.42rem;height:.42rem;margin-top:.5rem;background:var(--orange)}
@media (max-width:640px){.fichas__panel--srv .fichas__lista{grid-template-columns:1fr}}

/* ---------- Paneles del conmutador: la tarjeta no se estira hasta la foto ---------- */
.fichas__panel--srv{align-items:start}
.fichas__panel--srv .fichas__lateral{justify-content:flex-start}
.fichas__foto img{min-height:0;max-height:22rem;aspect-ratio:4/3}

/* ---------- Tres datos bajo la descripción del servicio ---------- */
.tramo--datos{padding-top:0;padding-bottom:clamp(2rem,4vw,3rem)}
.tramo--datos .tramo__int--solo > *{max-width:none}
.datos-srv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.2rem)}
.dato-srv{
  position:relative;padding:clamp(1.2rem,2.2vw,1.6rem) clamp(1.2rem,2.2vw,1.6rem) clamp(1.2rem,2.2vw,1.6rem) clamp(1.6rem,2.6vw,2rem);
  background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.dato-srv::before{content:"";position:absolute;left:0;top:1.2rem;bottom:1.2rem;width:3px;border-radius:3px;background:var(--orange)}
.dato-srv:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 16px 32px rgba(16,40,72,.08)}
.dato-srv__n{display:block;font-size:clamp(2.2rem,3.8vw,3rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--orange-boton);font-variant-numeric:tabular-nums}
.dato-srv__t{margin:.5rem 0 .3rem;font-size:1rem;font-weight:600;color:var(--navy);line-height:1.25}
.dato-srv__d{margin:0;font-size:.875rem;line-height:1.5;color:var(--muted)}
@media (max-width:860px){.datos-srv{grid-template-columns:minmax(0,1fr)}}
/* la franja de datos sigue a la descripción sin hueco de sección */
.tramo--plano,.tramo--intro{padding-bottom:clamp(1.5rem,3vw,2.25rem)}

/* ---------- Otras áreas: carrusel que avanza solo y se mueve a mano ---------- */
.areas--cinta{overflow:hidden}
.areas--cinta .carrusel__cab{margin-bottom:clamp(1rem,2vw,1.5rem)}
.areas--cinta .cabecilla{margin-bottom:0}
.areas__cinta{position:relative}
.areas__cinta::before,.areas__cinta::after{
  content:"";position:absolute;top:0;bottom:0;width:clamp(1.5rem,5vw,5rem);z-index:2;pointer-events:none;
}
.areas__cinta::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.areas__cinta::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.areas__pista.carrusel__pista{
  margin-top:0;padding:.5rem var(--gutter) 1rem;gap:.9rem;
  scroll-snap-type:none;scroll-behavior:auto;
}
.areas__pista .area{flex:0 0 clamp(17rem,22vw,21rem)}
.areas__pista:focus-visible{outline:none}

/* ---------- Los datos cuelgan de la portada ---------- */
.psrv{padding-bottom:clamp(4.5rem,8vw,7rem)}
.psrv + .tramo--datos{position:relative;z-index:2;margin-top:clamp(-3rem,-4.5vw,-4rem);padding-top:0;padding-bottom:clamp(1rem,2vw,1.5rem)}
.psrv + .tramo--datos .dato-srv{box-shadow:0 18px 40px rgba(16,40,72,.1)}
.tramo--datos + .tramo{padding-top:clamp(2rem,4vw,3rem)}

/* ============================================================
   Panel del conmutador, segunda versión
   ------------------------------------------------------------
   Antes eran dos cajas sueltas de alturas distintas, y al cambiar
   de pestaña todo saltaba. Ahora es una sola tarjeta a todo el
   ancho, con una altura mínima estable: texto a la izquierda y, a
   la derecha, la lista sobre navy o la foto a sangre.
   ============================================================ */
.fichas__panel--srv{
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:0;
  align-items:stretch;min-height:clamp(20rem,30vw,26rem);
  background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;
}
.fichas__panel--srv .fichas__texto{
  border:0;border-radius:0;padding:clamp(1.8rem,3.2vw,2.8rem);
  display:flex;flex-direction:column;justify-content:center;
}
.fichas__panel--srv .fichas__texto h3{margin:0 0 1rem;font-size:clamp(1.35rem,2.2vw,1.75rem)}
.fichas__panel--srv .fichas__texto p{font-size:1rem;line-height:1.7;color:var(--body);max-width:52ch}
.fichas__panel--srv .fichas__texto p:last-child{margin-bottom:0}

/* lista sobre navy: una columna, centrada; a partir de ocho puntos, dos */
.fichas__panel--srv .fichas__lateral{
  border-radius:0;padding:clamp(1.8rem,3.2vw,2.6rem);
  justify-content:center;
}
.fichas__panel--srv .fichas__lateral::before{opacity:.45}
.fichas__panel--srv .fichas__entrega{
  display:grid;grid-template-columns:1fr;gap:.75rem;
  margin:0;padding:0;border:0;font-size:.9688rem;line-height:1.5;
}
.fichas__panel--srv .fichas__entrega li{display:flex;gap:.7rem;align-items:flex-start;color:rgba(255,255,255,.9)}
.fichas__panel--srv .fichas__entrega li::before{content:"";flex:none;width:.42rem;height:.42rem;margin-top:.55rem;background:var(--orange)}
.fichas__panel--srv .fichas__entrega:has(li:nth-child(8)){grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;font-size:.9rem}

/* foto a sangre, a la altura del texto */
.fichas__panel--srv .fichas__foto{border-radius:0;height:100%}
.fichas__panel--srv .fichas__foto img{height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover}

/* la lista que es todo el contenido va en la tarjeta, con la foto al lado */
.fichas__panel--srv .fichas__lista{margin-top:.2rem;gap:.7rem 1.2rem}
.fichas__panel--srv .fichas__lista li{font-size:1rem;line-height:1.55}

@media (max-width:900px){
  .fichas__panel--srv{grid-template-columns:minmax(0,1fr);min-height:0}
  .fichas__panel--srv .fichas__foto img{max-height:15rem;aspect-ratio:16/9}
  .fichas__panel--srv .fichas__entrega:has(li:nth-child(8)){grid-template-columns:1fr}
}
/* la foto no manda en la altura del panel: se recorta a lo que mida el texto */
.fichas__panel--srv .fichas__foto{position:relative;min-height:100%}
.fichas__panel--srv .fichas__foto img{position:absolute;inset:0;width:100%;height:100%}
/* hasta diez puntos caben en una columna; solo a partir de once se parte en dos */
.fichas__panel--srv .fichas__entrega:has(li:nth-child(8)){grid-template-columns:1fr;gap:.65rem;font-size:.9375rem}
.fichas__panel--srv .fichas__entrega:has(li:nth-child(11)){grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;font-size:.9rem}
@media (max-width:900px){
  .fichas__panel--srv .fichas__foto{min-height:14rem}
  .fichas__panel--srv .fichas__entrega:has(li:nth-child(11)){grid-template-columns:1fr}
}

/* ============================================================
   Cadena de pasos (planificación patrimonial)
   ------------------------------------------------------------
   Seis ámbitos como seis nodos sobre una línea central. La línea
   se llena al bajar; cada nodo se enciende cuando le llega y su
   tarjeta entra desde su lado, alternando izquierda y derecha.
   ============================================================ */
.tramo__int--solo > .cadena,.tramo__int--solo > .cadena__cierre{max-width:none}
.cadena{
  position:relative;list-style:none;margin:clamp(1.8rem,3.5vw,2.8rem) 0 0;padding:.5rem 0;
  display:grid;gap:clamp(.6rem,1.4vw,1.1rem);
}
.cadena::before,.cadena::after{
  content:"";position:absolute;left:50%;top:0;width:2px;border-radius:2px;transform:translateX(-50%);
}
.cadena::before{bottom:0;background:var(--line)}
.cadena::after{height:calc(var(--avance,0) * 100%);background:var(--orange);transition:height .25s linear}
.cadena__p{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:5.5rem}
.cadena__n{
  position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);
  display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:50%;
  background:#fff;border:2px solid var(--line);
  transition:border-color .45s var(--ease),background-color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease);
}
.cadena__n b{font-size:.8125rem;font-weight:700;color:var(--muted);transition:color .45s var(--ease)}
.cadena__p.es-hecho .cadena__n{border-color:var(--orange);background:var(--orange);transform:translate(-50%,-50%) scale(1.08);box-shadow:0 0 0 6px rgba(240,125,70,.16)}
.cadena__p.es-hecho .cadena__n b{color:#fff}
.cadena__c{
  position:relative;max-width:32rem;padding:clamp(1.1rem,2vw,1.5rem) clamp(1.2rem,2.2vw,1.7rem);
  background:#fff;border:1px solid var(--line);border-radius:18px;
  opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.cadena__p:nth-child(odd) .cadena__c{grid-column:1;justify-self:end;margin-right:clamp(2.2rem,4.5vw,3.6rem);transform:translateX(-22px)}
.cadena__p:nth-child(even) .cadena__c{grid-column:2;justify-self:start;margin-left:clamp(2.2rem,4.5vw,3.6rem);transform:translateX(22px)}
/* el conector corto entre la tarjeta y la línea */
.cadena__c::before{
  content:"";position:absolute;top:50%;width:clamp(1.4rem,3vw,2.4rem);height:2px;background:var(--line);
  transition:background-color .45s var(--ease);
}
.cadena__p:nth-child(odd) .cadena__c::before{right:calc(-1 * clamp(1.4rem,3vw,2.4rem))}
.cadena__p:nth-child(even) .cadena__c::before{left:calc(-1 * clamp(1.4rem,3vw,2.4rem))}
.cadena__p.es-hecho .cadena__c{opacity:1;transform:none}
.cadena__p.es-hecho .cadena__c::before{background:var(--orange)}
.cadena__c:hover{border-color:var(--orange);box-shadow:0 16px 32px rgba(16,40,72,.08)}
.cadena__t{margin:0 0 .35rem;font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--navy)}
.cadena__d{margin:0;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.cadena__cierre{margin-top:clamp(1.8rem,3.5vw,2.8rem)}
.cadena__cierre p{
  margin:0 auto;max-width:60ch;text-align:center;
  font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;color:var(--navy);
}
@media (max-width:800px){
  .cadena::before,.cadena::after{left:1.35rem;transform:none}
  .cadena__p{grid-template-columns:1fr;min-height:0}
  .cadena__n{left:1.35rem;top:1.2rem;transform:translate(-50%,0)}
  .cadena__p.es-hecho .cadena__n{transform:translate(-50%,0) scale(1.08)}
  .cadena__p:nth-child(odd) .cadena__c,.cadena__p:nth-child(even) .cadena__c{
    grid-column:1;justify-self:stretch;max-width:none;margin:0 0 0 3.4rem;transform:translateX(16px);
  }
  .cadena__p:nth-child(odd) .cadena__c::before,.cadena__p:nth-child(even) .cadena__c::before{
    left:-2.05rem;right:auto;top:1.8rem;width:2.05rem;
  }
  .cadena__cierre p{text-align:left}
}

/* ============================================================
   «El servicio»: la descripción, como entradilla de revista
   ------------------------------------------------------------
   La frase que abre va en la cursiva Baskerville del manual, a
   un cuerpo contenido y a lo ancho de la medida de lectura, con
   un filete naranja debajo. El resto del texto corre después en
   dos columnas estrechas, como una página de revista: ocupa el
   ancho sin estirar el bloque ni dejar media pantalla vacía.
   ============================================================ */
.tramo--intro.tramo__int--solo,.tramo--intro .tramo__int--solo{
  display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;
}
.tramo--intro.tramo__int--solo > *,.tramo--intro .tramo__int--solo > *{max-width:none;margin-inline:0}
.tramo--intro .tramo__rotulo{margin-bottom:1.3rem}
/* la frase que abre */
.tramo--intro .tramo__rotulo + p{
  position:relative;margin:0 0 clamp(1.6rem,3vw,2.4rem);padding-bottom:clamp(1.2rem,2.2vw,1.7rem);
  max-width:62ch;
  font-family:"Baskervville","Libre Baskerville","Iowan Old Style",Georgia,serif;
  font-style:italic;font-weight:400;
  font-size:clamp(1.2rem,1.75vw,1.5rem);line-height:1.5;letter-spacing:-.008em;
  color:var(--navy);text-wrap:pretty;
}
.tramo--intro .tramo__rotulo + p::after{
  content:"";position:absolute;left:0;bottom:0;width:3rem;height:2px;background:var(--orange);
}
/* el resto, en dos columnas de revista */
.tramo--intro .tramo__rotulo + p ~ p{
  column-count:2;column-gap:clamp(2rem,4vw,3.5rem);
  margin:0;max-width:none;
  font-size:.9688rem;line-height:1.7;color:var(--body);
}
.tramo--intro .tramo__rotulo + p ~ p + p{margin-top:1rem}
/* un solo párrafo: solo la frase, algo más grande */
.tramo--intro .tramo__rotulo + p:last-child{font-size:clamp(1.25rem,1.9vw,1.6rem);padding-bottom:0;margin-bottom:0}
.tramo--intro .tramo__rotulo + p:last-child::after{display:none}
.tramo--intro .tramo__botones{margin-top:1.6rem}
@media (max-width:760px){
  .tramo--intro .tramo__rotulo + p ~ p{column-count:1}
  .tramo--intro .tramo__rotulo + p{font-size:clamp(1.125rem,4.6vw,1.3rem)}
}

/* La misma apertura en las páginas con lista: cursiva contenida y filete */
.plano__texto > .tramo__rotulo + p{
  position:relative;margin-bottom:1.5rem;padding-bottom:1.1rem;
  font-family:"Baskervville","Libre Baskerville","Iowan Old Style",Georgia,serif;
  font-style:italic;font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.5;letter-spacing:-.008em;color:var(--navy);
  max-width:40ch;
}
.plano__texto > .tramo__rotulo + p::after{content:"";position:absolute;left:0;bottom:0;width:3rem;height:2px;background:var(--orange)}

/* Las dos columnas partían párrafos cortos en una línea huérfana. Fuera: el texto
   corre a medida de lectura bajo la frase, y la mitad derecha la ocupa, muy tenue,
   el campo de isotipos de la marca. */
.tramo--intro .tramo__rotulo + p ~ p{column-count:auto;max-width:62ch}
.tramo--intro.tramo__int--solo,.tramo--intro .tramo__int--solo{position:relative}
.tramo--intro.tramo__int--solo::after,.tramo--intro .tramo__int--solo::after{
  content:"";position:absolute;right:-2%;top:-10%;width:min(22rem,30%);aspect-ratio:1;
  opacity:.07;pointer-events:none;
  background:url(../img/marca/iso-06.png) right top/contain no-repeat;
}
@media (max-width:900px){.tramo--intro.tramo__int--solo::after,.tramo--intro .tramo__int--solo::after{display:none}}

/* ============================================================
   Planificación patrimonial: texto y ámbitos en una sola pieza
   ------------------------------------------------------------
   La entrada queda a la izquierda, fija al bajar; los seis ámbitos
   van a la derecha como lista numerada con la línea que se llena.
   Las tarjetas se ven siempre: el desplazamiento solo las enciende.
   ============================================================ */
.tramo--ambitos2 .tramo__int--solo > *{max-width:none}
.ambitos2{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}
.ambitos2__texto{position:sticky;top:calc(var(--cab-alto) + 1.5rem)}
.ambitos2__texto .tramo__rotulo{margin-bottom:1.1rem}
.ambitos2__texto p{margin:0 0 1rem;max-width:40ch;line-height:1.7;color:var(--body)}
.ambitos2__texto p:first-of-type{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;color:var(--navy);font-weight:500;letter-spacing:-.01em}
.ambitos2__lista .tramo__h2{margin-bottom:.2rem}

/* la cadena, en versión de una columna con la línea a la izquierda */
.ambitos2 .cadena{margin-top:clamp(1.2rem,2.4vw,1.8rem);gap:.7rem}
.ambitos2 .cadena::before,.ambitos2 .cadena::after{left:1.35rem;transform:none}
.ambitos2 .cadena__p{grid-template-columns:1fr;min-height:0}
.ambitos2 .cadena__n{left:1.35rem;top:1.3rem;transform:translate(-50%,0)}
.ambitos2 .cadena__p.es-hecho .cadena__n{transform:translate(-50%,0) scale(1.08)}
.ambitos2 .cadena__p:nth-child(odd) .cadena__c,.ambitos2 .cadena__p:nth-child(even) .cadena__c{
  grid-column:1;justify-self:stretch;max-width:none;margin:0 0 0 3.6rem;
  opacity:1;transform:none;border-color:var(--line);
}
.ambitos2 .cadena__p:nth-child(odd) .cadena__c::before,.ambitos2 .cadena__p:nth-child(even) .cadena__c::before{
  left:-2.25rem;right:auto;top:1.9rem;width:2.25rem;
}
.ambitos2 .cadena__p .cadena__t,.ambitos2 .cadena__p .cadena__d{transition:color .45s var(--ease)}
.ambitos2 .cadena__p:not(.es-hecho) .cadena__t{color:var(--muted)}
.ambitos2 .cadena__p.es-hecho .cadena__c{border-color:rgba(240,125,70,.45);box-shadow:0 10px 24px rgba(16,40,72,.06)}
.ambitos2 .cadena__c{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:.4rem 1.4rem;align-items:start}
.ambitos2 .cadena__t{margin:0;font-size:1.0625rem}
.ambitos2 .cadena__d{margin:0}
@media (max-width:960px){
  .ambitos2{grid-template-columns:minmax(0,1fr)}
  .ambitos2__texto{position:static}
  .ambitos2 .cadena__c{grid-template-columns:minmax(0,1fr)}
}

/* el cierre con botón */
.criterio--cta{display:grid;gap:1.3rem;justify-items:start}
.criterio--cta p{font-size:clamp(1.1rem,1.7vw,1.35rem)}
.criterio--cta .wp-block-buttons{margin:0}
.criterio--cta .wp-block-button.btn .wp-block-button__link{background:var(--orange-boton)}
/* El bloque «botón» envuelve el enlace en un div que también lleva .btn--nar: la
   flecha salía fuera del botón. Se quita del envoltorio y se pone en el enlace. */
.wp-block-button.btn--nar{min-height:0;padding:0;gap:0}
.wp-block-button.btn--nar::after{display:none}
.wp-block-button.btn .wp-block-button__link::after{
  content:"";width:1.05em;height:1.05em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity:.85;transition:transform .35s var(--ease)}


/* ---------- Cierre de planificación patrimonial: sin caja navy ----------
   Una franja clara, la frase a cuerpo grande en navy con el cuadrado de marca
   delante y el botón al lado, como el cierre de contacto. */
.tramo--criterio:has(.criterio--cta){background:var(--gris-calido);padding-block:clamp(2.75rem,5.5vw,4.5rem)}
.criterio--cta{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,3.5rem);align-items:end;
  background:none;color:var(--navy);border-radius:0;padding:0 0 0 clamp(1.6rem,3vw,2.4rem);overflow:visible;
}
.criterio--cta::after{display:none}
.criterio--cta .criterio__marca{left:0;top:.55em;width:.7rem;height:.7rem}
.criterio--cta p{
  margin:0;max-width:52ch;color:var(--navy);font-weight:500;
  font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.45;letter-spacing:-.012em;
}
.criterio--cta .wp-block-buttons{margin:0}
.criterio--cta .wp-block-button.btn .wp-block-button__link{padding-inline:1.8rem}
@media (max-width:760px){.criterio--cta{grid-template-columns:minmax(0,1fr);align-items:start}}

/* ============================================================
   «Nuestro enfoque»: la flecha que sale de la cadena
   ------------------------------------------------------------
   Del final de la cadena de ámbitos baja una línea; cinco cuadrados
   sueltos y grises se ordenan en el chevrón del isotipo apuntando
   hacia abajo, y debajo, centrado, el titular y el texto.
   ============================================================ */
.tramo--enfoque{background:#fff;padding-block:0 clamp(3rem,6vw,5rem)}
.tramo--ambitos2{padding-bottom:0}
.tramo--enfoque .tramo__int--solo > *{max-width:none}
.enfoque{display:grid;justify-items:center;text-align:center}
/* el asta: una línea que se llena al entrar */
.enfoque__asta{display:block;width:2px;height:clamp(7rem,12vw,10rem);background:var(--line);position:relative;overflow:hidden;z-index:0}
.iso{z-index:1}
.enfoque__asta::after{content:"";position:absolute;inset:0;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease)}
.enfoque.es-orden .enfoque__asta::after{transform:scaleY(1)}
/* la punta: el chevrón */
.iso{position:relative;width:min(100%,13rem);aspect-ratio:100/60;margin:calc(-.6 * 13rem * .6) 0 clamp(1.2rem,2.4vw,1.8rem)}
.iso i{
  position:absolute;width:20%;aspect-ratio:1;border-radius:14%;display:block;
  border:2.5px solid var(--warm-gray);background:transparent;
  left:var(--x0);top:var(--y0);transform:rotate(var(--r0));opacity:.7;
  transition:left 1s var(--ease),top 1s var(--ease),transform 1s var(--ease),border-color .7s var(--ease),background-color .7s var(--ease),opacity .7s;
  transition-delay:calc(.5s + var(--i) * .1s);
}
.es-orden .iso i{left:var(--x1);top:var(--y1);transform:rotate(0);border-color:var(--orange);opacity:1}
.es-orden .iso i:nth-child(3){background:var(--orange)}
.enfoque__txt{display:grid;gap:1.1rem;justify-items:center;max-width:60ch}
.enfoque__h2{margin:0;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:600;line-height:1.06;letter-spacing:-.03em;color:var(--navy)}
.enfoque__h2 em{font-style:normal;color:var(--orange-boton)}
.enfoque__txt .tramo__rotulo{margin:.2rem 0 0}
.enfoque__txt p:not(.tramo__rotulo){margin:0;line-height:1.65;color:var(--body);text-wrap:pretty}
.enfoque__txt .btn{margin-top:.6rem}
@media (max-width:640px){.iso{width:10rem;margin-top:calc(-.6 * 10rem * .6)}}
/* el asta entra hasta el cuadrado central del chevrón */
.enfoque{row-gap:0}
.iso{margin-top:calc(-.78 * 13rem * .6)}
.enfoque__txt{margin-top:clamp(1.2rem,2.4vw,1.8rem)}
@media (max-width:640px){.iso{margin-top:calc(-.78 * 10rem * .6)}}
.enfoque__asta{height:clamp(10rem,15vw,13rem)}
/* .tramo__int trae un gap con !important: aquí no hay columnas y el hueco
   separaba el asta del chevrón */
.tramo--enfoque .enfoque.tramo__int{gap:0!important}
.enfoque__asta{height:clamp(13rem,18vw,16rem)}

/* La flecha, bajo la línea de la cadena: misma rejilla que .ambitos2, todo en
   la columna derecha, con el asta en la misma vertical que la línea (1.35rem)
   y el texto alineado como las tarjetas. En el móvil sigue centrada. */
@media (min-width:961px){
  .tramo--enfoque .enfoque.tramo__int{
    display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(2.5rem,6vw,6rem)!important;
    justify-items:start;text-align:left;
  }
  .enfoque > *{grid-column:2}
  .enfoque__asta{margin-left:calc(1.35rem - 1px)}
  .iso{width:11rem;margin-left:calc(1.35rem - 5.5rem);margin-top:calc(-.78 * 11rem * .6)}
  .enfoque__txt{justify-items:start;margin-left:3.6rem;max-width:none}
  .enfoque__h2{max-width:14ch}
  .enfoque__txt p:not(.tramo__rotulo){max-width:56ch}
}
/* mismo hueco entre columnas que .ambitos2 (el gap de .tramo__int lleva !important),
   para que el asta caiga exactamente bajo la línea de la cadena */
@media (min-width:961px){.tramo--enfoque .enfoque.tramo__int{gap:0 clamp(2rem,4.5vw,4rem)!important}}
/* asta corta y exactamente sobre la línea de la cadena */
.enfoque__asta{height:clamp(6.5rem,9vw,7.5rem)}
@media (min-width:961px){.enfoque__asta{margin-left:1.35rem}}
/* el titular y el texto, centrados en la página; la flecha sigue bajo la cadena */
@media (min-width:961px){
  .enfoque__txt{grid-column:1/-1;justify-self:center;justify-items:center;text-align:center;margin-left:0;max-width:62ch}
  .enfoque__h2{max-width:none}
}
/* el texto, centrado bajo la flecha y a todo el ancho: el JS mide dónde cae el
   asta y desplaza el bloque para que su centro coincida con ella */
@media (min-width:961px){
  .enfoque__txt{max-width:none;width:calc(100% - 2 * var(--desvio,0px));transform:translateX(var(--desvio,0px))}
  .enfoque__txt p:not(.tramo__rotulo){max-width:70ch}
}
/* texto a todo el ancho del contenedor, sin desvío ni medida de lectura */
@media (min-width:961px){
  .enfoque__txt{width:100%;max-width:none;transform:none}
  .enfoque__txt p:not(.tramo__rotulo){max-width:none}
}
/* Al final: la flecha centrada en la página, como el texto. Se deshace la
   alineación con la línea de la cadena. */
@media (min-width:961px){
  .tramo--enfoque .enfoque.tramo__int{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  .enfoque > *{grid-column:1}
  .enfoque__asta{margin-left:0}
  .iso{width:13rem;margin-left:0;margin-top:calc(-.78 * 13rem * .6)}
}

/* ============================================================
   Planificación patrimonial, versión 3: todo en el eje central
   ------------------------------------------------------------
   La descripción a todo el ancho; debajo, la cadena centrada con
   la línea en el eje de la página y las tarjetas estrechas, que
   alternan lado; y la flecha sale de esa misma línea.
   ============================================================ */
.tramo--ambitos3{padding-bottom:0}
.tramo--ambitos3 .tramo__int--solo > *{max-width:none}
.ambitos3{display:grid;gap:clamp(2rem,4vw,3rem)}
.ambitos3__texto .tramo__rotulo{margin-bottom:1.1rem}
.ambitos3__texto p{margin:0 0 1rem;max-width:none;line-height:1.7;color:var(--body)}
.ambitos3__texto p:first-of-type{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;color:var(--navy);font-weight:500;letter-spacing:-.01em}
.ambitos3__lista .tramo__h2{text-align:center;max-width:none}
.ambitos3__lista .tramo__h2::after{margin-inline:auto}
/* la cadena: línea central, tarjetas estrechas, siempre visibles */
.ambitos3 .cadena{margin-top:clamp(1.4rem,2.6vw,2rem);padding-bottom:0}
.ambitos3 .cadena__c{max-width:24rem;opacity:1;transform:none;transition:border-color .45s var(--ease),box-shadow .45s var(--ease)}
.ambitos3 .cadena__p:nth-child(odd) .cadena__c{transform:none}
.ambitos3 .cadena__p:nth-child(even) .cadena__c{transform:none}
.ambitos3 .cadena__p:not(.es-hecho) .cadena__t{color:var(--muted)}
.ambitos3 .cadena__p.es-hecho .cadena__c{border-color:rgba(240,125,70,.45);box-shadow:0 10px 24px rgba(16,40,72,.06)}
.ambitos3 .cadena__t{font-size:1rem}
.ambitos3 .cadena__d{font-size:.9rem}
/* la flecha continúa la línea sin salto */
.tramo--ambitos3 + .tramo--enfoque .enfoque__asta{margin-top:-.5rem}
@media (max-width:800px){
  .ambitos3 .cadena__c{max-width:none}
  .ambitos3 .cadena__p:nth-child(odd) .cadena__c,.ambitos3 .cadena__p:nth-child(even) .cadena__c{transform:none}
  .ambitos3__lista .tramo__h2{text-align:left}
  .ambitos3__lista .tramo__h2::after{margin-inline:0}
}

/* ---------- «El servicio» de patrimonial: frase grande con fichas ----------
   La primera frase enumera de qué se compone un patrimonio; cada elemento
   es una ficha con el cuadrado de marca que entra una tras otra. El resto
   del texto va al lado, tras un filete. */
.servicio3{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.servicio3__frase{
  margin:0;font-size:clamp(1.25rem,2.1vw,1.75rem);font-weight:500;line-height:1.45;letter-spacing:-.015em;color:var(--navy);max-width:none;
}
.claves{display:inline}
.clave{
  display:inline-block;margin:.12em .2em .12em 0;padding:.12em .6em .12em .5em;
  border:1px solid var(--line);border-radius:999px;background:#fff;
  font-size:.82em;font-weight:600;line-height:1.35;color:var(--navy);white-space:nowrap;vertical-align:baseline;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.clave::before{content:"";display:inline-block;width:.45em;height:.45em;margin-right:.45em;background:var(--orange);vertical-align:middle;position:relative;top:-.05em}
.clave:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 20px rgba(16,40,72,.08)}
.revela.visible .clave,.ambitos3 .clave{animation:clave-entra .5s var(--ease) both;animation-delay:calc(.15s + var(--i) * .09s)}
@keyframes clave-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.servicio3__resto{padding-left:clamp(1.2rem,2.5vw,2rem);border-left:2px solid var(--orange)}
.servicio3__resto p{margin:0 0 1rem;font-size:1rem;line-height:1.72;color:var(--body);max-width:none}
.servicio3__resto p:last-child{margin-bottom:0}
.ambitos3__texto p:first-of-type{font-size:inherit;color:inherit;font-weight:inherit}
@media (max-width:900px){
  .servicio3{grid-template-columns:minmax(0,1fr)}
  .servicio3__resto{padding-left:0;border-left:0;padding-top:1rem;border-top:2px solid var(--orange)}
}
@media (prefers-reduced-motion:reduce){.clave{animation:none!important}}
.ambitos3__texto .servicio3__frase{font-size:clamp(1.25rem,2.1vw,1.75rem);font-weight:500;line-height:1.5;letter-spacing:-.015em;color:var(--navy)}
.ambitos3__texto .servicio3__frase .clave{font-size:.72em;line-height:1.3;padding:.1em .55em .1em .45em}
.ambitos3__texto p.servicio3__frase{font-size:clamp(1.25rem,2.1vw,1.75rem);font-weight:500;line-height:1.5;letter-spacing:-.015em;color:var(--navy)}

/* ---------- Cierre con vídeo y velo naranja ----------
   El caricato blanco sobre negro del vídeo, teñido con el naranja de marca:
   el velo es un degradado naranja sobre el vídeo en multiplicar más una capa
   plana, para que el texto blanco siga leyéndose. */
.cierre--video{position:relative;isolation:isolate;overflow:hidden;background:var(--orange-oscuro)}
.cierre__fondo{position:absolute;inset:0;z-index:-1}
.cierre__fondo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:contrast(1.1)}
.cierre__velo{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,rgba(204,77,17,.92) 0%,rgba(240,125,70,.72) 55%,rgba(240,125,70,.5) 100%),
    linear-gradient(to top,rgba(16,40,72,.25),transparent 60%);
}
.cierre--video .rotulo{color:rgba(255,255,255,.85)}
.cierre--video .titulo,.cierre--video .entrada{color:#fff;text-shadow:0 1px 14px rgba(80,25,0,.25)}
.cierre--video .btn--nar{background:#fff;color:var(--orange-boton)}
.cierre--video .btn--nar:hover{background:var(--navy);color:#fff}
.cierre--video .btn--linea{border-color:rgba(255,255,255,.7);color:#fff}
.cierre--video .btn--linea:hover{background:rgba(255,255,255,.16)}
@media (prefers-reduced-motion:reduce){.cierre__fondo video{display:none}.cierre__fondo{background:url(../img/cierre-poster.webp) center/cover}}

/* Cierre con vídeo: versión compacta, menos alto que una sección normal */
.cierre--video.seccion{padding-block:clamp(2rem,3.4vw,2.75rem)}
.cierre--video .rotulo{margin-bottom:.5rem}
.cierre--video .titulo{font-size:clamp(1.5rem,2.4vw,1.95rem);line-height:1.15}
.cierre--video .titulo::after{display:none}
.cierre--video .entrada{margin-top:.5rem;font-size:.95rem;max-width:52ch}
.cierre--video .cierre__int{align-items:center}

/* Cierre con vídeo: espiral más visible y relieve 3D con sombras arriba y abajo */
.cierre--video .cierre__fondo video{opacity:.78;filter:contrast(1.25) brightness(1.2)}
.cierre--video .cierre__velo{
  background:
    linear-gradient(100deg,rgba(204,77,17,.82) 0%,rgba(240,125,70,.6) 55%,rgba(240,125,70,.38) 100%);
}
.cierre--video{
  z-index:1;
  box-shadow:0 -18px 40px -12px rgba(16,40,72,.38),0 18px 40px -12px rgba(16,40,72,.42);
}
.cierre--video::before,.cierre--video::after{
  content:"";position:absolute;left:0;right:0;height:2.5rem;pointer-events:none;z-index:0;
}
.cierre--video::before{top:0;background:linear-gradient(to bottom,rgba(60,18,0,.2),transparent)}
.cierre--video::after{bottom:0;background:linear-gradient(to top,rgba(60,18,0,.26),transparent)}
.cierre--video .cierre__int{position:relative;z-index:1}

/* Cierre con vídeo: panel flotante, más claro, sombra proyectada hacia abajo */
.cierre--video::before,.cierre--video::after{display:none}
.cierre--video .cierre__fondo video{opacity:.85;filter:contrast(1.2) brightness(1.35)}
.cierre--video .cierre__velo{
  background:
    linear-gradient(100deg,rgba(226,98,40,.72) 0%,rgba(240,125,70,.5) 55%,rgba(247,150,100,.34) 100%);
}
.cierre--video{
  background:var(--orange);
  margin:clamp(.5rem,1.5vw,1.5rem) clamp(1rem,3vw,3rem) clamp(2.5rem,4.5vw,4rem);
  border-radius:1.1rem;
  box-shadow:
    0 30px 60px -18px rgba(16,40,72,.45),
    0 12px 24px -10px rgba(204,77,17,.35),
    0 1px 0 rgba(255,255,255,.35) inset;
  transform:translateY(-.5rem);
}
@media (max-width:760px){.cierre--video{margin-inline:.75rem;border-radius:.9rem}}

/* Cierre con vídeo: el vídeo se funde en modo "screen" sobre naranja, así el negro desaparece y queda claro */
.cierre--video{background:linear-gradient(100deg,#d9631f 0%,var(--orange) 55%,#f5945f 100%)}
.cierre--video .cierre__fondo video{opacity:.9;mix-blend-mode:screen;filter:contrast(1.1) brightness(1.1)}
.cierre--video .cierre__velo{background:linear-gradient(to top,rgba(204,77,17,.28),transparent 70%)}
.cierre--video .titulo,.cierre--video .entrada{text-shadow:0 1px 10px rgba(120,45,0,.35)}
.is-layout-flow > .cierre--video{margin-block:clamp(.5rem,1.5vw,1.5rem) clamp(2.5rem,4.5vw,4rem)!important}
.cierre--video .cierre__fondo{background:linear-gradient(100deg,#d9631f 0%,var(--orange) 55%,#f5945f 100%);isolation:isolate}
.cierre--video .rotulo::before{background:var(--orange)}
/* Fondo del cierre un punto más oscuro */
.cierre--video .cierre__fondo{background:linear-gradient(100deg,#c4530f 0%,#e36a30 55%,#ef8a52 100%)}
.cierre--video .cierre__fondo video{opacity:.8;filter:contrast(1.1) brightness(.95)}
.cierre--video .cierre__velo{background:linear-gradient(to top,rgba(170,60,10,.38),rgba(170,60,10,.1) 70%)}

/* La pista de "Otras áreas" recorta la sombra al pasar el ratón: dejamos sitio y lo compensamos */
.areas__pista.carrusel__pista{padding-top:.75rem;padding-bottom:3.75rem;margin-bottom:-2.75rem}
/* Menos aire entre la cinta de áreas y el panel de cierre */
.areas.areas--cinta{padding-bottom:2rem}
.is-layout-flow > .cierre--video{margin-block-start:0!important}
.areas__pista.carrusel__pista{margin-bottom:-3.25rem}

/* ---------- Vías: dos o tres apartados-lista lado a lado (extranjería) ---------- */
.tramo--vias{padding-top:clamp(1rem,2.5vw,2rem)}
.tramo__int--solo.vias{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);align-items:stretch}
.vias--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tramo__int--solo.vias > *{max-width:none}
.via{
  position:relative;overflow:hidden;
  padding:clamp(1.6rem,3vw,2.6rem) clamp(1.4rem,2.8vw,2.4rem) clamp(1.4rem,2.6vw,2.2rem);
  background:#fff;border:1px solid var(--line);border-radius:1.2rem;
  box-shadow:0 24px 50px -30px rgba(16,40,72,.25);
  display:flex;flex-direction:column;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.via:hover{transform:translateY(-4px);box-shadow:0 34px 60px -30px rgba(16,40,72,.32)}
.via__n{
  position:absolute;top:-.35em;right:.15em;z-index:0;pointer-events:none;
  font-family:var(--serif,"Baskervville","Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;
  font-size:clamp(5.5rem,9vw,8.5rem);line-height:1;color:var(--navy);opacity:.06;
}
.via__h2{position:relative;z-index:1;margin:0 0 .75rem;font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.15;color:var(--navy);max-width:14ch}
.via__h2::after{content:"";display:block;width:2.6rem;height:2px;margin-top:.8rem;background:var(--orange)}
.via__lead{position:relative;z-index:1;margin:.2rem 0 .6rem;color:var(--muted);font-size:.9688rem;line-height:1.55;max-width:48ch}
.via__lista{
  position:relative;z-index:1;list-style:none;margin:.6rem 0 0;padding:0;counter-reset:via;
}
.via__lista li{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;align-items:baseline;
  padding:.72rem 0;border-top:1px solid var(--line);
  font-size:.9688rem;line-height:1.5;color:var(--body);
  transition:color .3s var(--ease),transform .3s var(--ease);
}
.via__lista li:last-child{border-bottom:1px solid var(--line)}
.via__lista li:hover{color:var(--navy);transform:translateX(4px)}
.via__m{width:.5em;height:.5em;background:var(--orange);display:inline-block;transform:translateY(-.05em);transition:transform .3s var(--ease),background .3s var(--ease)}
.via__lista li:hover .via__m{transform:translateY(-.05em) rotate(45deg);background:var(--navy)}
.via__nota{
  position:relative;z-index:1;margin-top:auto;padding:1.1rem 0 0 1.1rem;border-left:2px solid var(--orange);
  font-family:var(--serif,"Baskervville","Libre Baskerville",Georgia,serif);font-style:italic;
  font-size:1.0625rem;line-height:1.55;color:var(--navy);
}
.via__nota{margin-top:clamp(1.2rem,2vw,1.6rem)}
.via__nota p{margin:0}
.via__nota p + p{margin-top:.6rem}
/* la última vía, en navy */
.via--navy{background:var(--navy);border-color:var(--navy);color:#fff}
.via--navy .via__n{color:#fff;opacity:.09}
.via--navy .via__h2{color:#fff}
.via--navy .via__lead{color:rgba(255,255,255,.72)}
.via--navy .via__lista li{color:rgba(255,255,255,.88);border-color:rgba(255,255,255,.14)}
.via--navy .via__lista li:hover{color:#fff}
.via--navy .via__lista li:hover .via__m{background:#fff}
.via--navy .via__nota{color:#fff;border-color:var(--orange)}
/* entrada escalonada de las filas al revelar */
.revela.visible .via__lista li{animation:via-sube .6s var(--ease) both;animation-delay:calc(.08s + var(--i,0)*.05s)}
@keyframes via-sube{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .tramo__int--solo.vias,.vias--3{grid-template-columns:minmax(0,1fr)}
  .via__n{font-size:5rem}
}
/* la vía blanca, si queda más corta que la navy, cierra con el isotipo en marca de agua */
.via:not(.via--navy)::after{
  content:"";position:absolute;right:-6%;bottom:-8%;width:min(16rem,55%);aspect-ratio:1;z-index:0;
  opacity:.07;pointer-events:none;background:url(../img/marca/iso-06.png) right bottom/contain no-repeat;
}
@media (max-width:900px){.via:not(.via--navy)::after{display:none}}

/* Vías: los puntos como fichas-mosaico en vez de filas con filos */
.via__lista{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}
.via__lista li,.via__lista li:last-child{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.6rem .95rem .6rem .8rem;border:1px solid var(--line);border-radius:.7rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--gris-calido,#f4f1ea);font-size:.9375rem;line-height:1.35;color:var(--navy);
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.via__lista li:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px)}
.via__lista li:hover .via__m{background:var(--orange);transform:rotate(45deg)}
.via__m{width:.45em;height:.45em;transform:none}
.via--navy .via__lista li,.via--navy .via__lista li:last-child{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);color:#fff}
.via--navy .via__lista li:hover{background:#fff;border-color:#fff;color:var(--navy)}
.via--navy .via__lista li:hover .via__m{background:var(--orange)}
.revela.visible .via__lista li{animation:via-ficha .55s var(--ease) both;animation-delay:calc(.1s + var(--i,0)*.06s)}
@keyframes via-ficha{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.via__lead{margin-bottom:.1rem}

/* Vías: mosaico de plaquitas numeradas a dos columnas */
.via__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;counter-reset:via}
.via__lista li,.via__lista li:last-child{
  display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;
  padding:.85rem .95rem .9rem;border-radius:.8rem;
  font-size:.9063rem;line-height:1.4;
}
.via__lista li:nth-child(odd):last-child{grid-column:1/-1}
.via__lista li::before{
  counter-increment:via;content:counter(via,decimal-leading-zero);
  font-size:.7rem;font-weight:700;letter-spacing:.12em;color:var(--orange);
}
.via__m{display:none}
.via__lista li:hover{transform:translateY(-3px)}
.via__lista li:hover::before{color:var(--orange)}
.via--navy .via__lista li:hover::before{color:var(--orange-boton)}
@media (max-width:480px){.via__lista{grid-template-columns:minmax(0,1fr)}.via__lista li:nth-child(odd):last-child{grid-column:auto}}
/* las vías no se estiran a la misma altura: cada tarjeta acaba donde acaba su contenido */
.tramo__int--solo.vias{align-items:start}
.via:not(.via--navy)::after{width:min(11rem,40%);right:-4%;bottom:-6%}
.via:not(.via--navy) .via__lista{margin-bottom:2.5rem}
.via:not(.via--navy)::after{display:none}
.via:not(.via--navy) .via__lista{margin-bottom:0}

/* Vías horizontales: cada apartado a todo lo ancho, texto a la izquierda y mosaico a la derecha */
.tramo__int--solo.vias,.vias--3{grid-template-columns:minmax(0,1fr);gap:clamp(1rem,2vw,1.5rem)}
.via{
  display:grid;grid-template-columns:minmax(14rem,27%) minmax(0,1fr);grid-template-rows:auto auto 1fr;
  column-gap:clamp(1.5rem,3.5vw,3.5rem);row-gap:0;align-items:start;
}
.via__h2{grid-column:1;grid-row:1;max-width:none}
.via__lead{grid-column:1;grid-row:2}
.via__nota{grid-column:1;grid-row:3;align-self:end;margin-top:1.4rem;font-size:1rem}
.via__lista{grid-column:2;grid-row:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.via__lista li:nth-child(odd):last-child{grid-column:auto}
.via__lista li:nth-child(3n+1):last-child{grid-column:1/-1}
.via__n{top:-.3em;right:.1em;font-size:clamp(5rem,8vw,7.5rem)}
@media (max-width:1040px){.via__lista{grid-template-columns:repeat(2,minmax(0,1fr))}.via__lista li:nth-child(3n+1):last-child{grid-column:auto}.via__lista li:nth-child(odd):last-child{grid-column:1/-1}}
@media (max-width:900px){
  .via{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .via__h2,.via__lead,.via__nota,.via__lista{grid-column:1;grid-row:auto}
  .via__lista{margin-top:.9rem}
}
@media (max-width:480px){.via__lista{grid-template-columns:minmax(0,1fr)}.via__lista li:nth-child(odd):last-child{grid-column:auto}}

/* ---------- Contacto: portada con formulario ---------- */
.cport{
  position:relative;overflow:hidden;
  padding:calc(var(--cab-alto) + clamp(2.5rem,5.5vw,4.5rem)) 0 clamp(3rem,6vw,5rem);
  background:var(--mist);border-bottom:1px solid var(--line);
}
.cport::after{
  content:"";position:absolute;left:-4%;bottom:-12%;width:min(26rem,38%);aspect-ratio:1;opacity:.06;pointer-events:none;
  background:url(../img/marca/iso-06.png) left bottom/contain no-repeat;
}
.cport__int{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.cport__texto .port__h1{max-width:none}
.cport__cuerpo{margin-top:1.4rem;max-width:52ch;color:var(--body);line-height:1.7}
.cport__cuerpo p{margin:0 0 .9rem}
.vias-directas{list-style:none;margin:clamp(1.6rem,3vw,2.4rem) 0 0;padding:0;display:grid;gap:.6rem;max-width:34rem}
.vias-directas a{
  display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.4rem 1rem;align-items:baseline;
  padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;color:var(--navy);text-decoration:none;
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.vias-directas a:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 16px 32px -14px rgba(16,40,72,.25)}
.vias-directas__eti{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.vias-directas__val{font-weight:600;font-size:1rem}
.vias-directas--sede .vias-directas__val{font-weight:500;line-height:1.5}
.vias-directas__mas{grid-column:2;font-size:.8125rem;font-weight:600;color:var(--orange)}
.vias-directas__mas::after{content:" →"}
.revela.visible .vias-directas li{animation:via-ficha .55s var(--ease) both;animation-delay:calc(.15s + var(--i,0)*.07s)}
.formulario--port{
  border-radius:1.3rem;box-shadow:0 34px 70px -30px rgba(16,40,72,.35);
  padding:clamp(1.6rem,3vw,2.4rem);
}
.formulario__cab{margin:0 0 .2rem}
.formulario label b{color:var(--orange);font-weight:700;margin-left:.15rem}
.formulario label small{font-weight:400;color:var(--muted);font-size:.75rem;margin-left:.25rem}
.formulario__tel{display:grid;grid-template-columns:minmax(8.5rem,auto) minmax(0,1fr);gap:.5rem}
.formulario__tel select{padding-right:1.6rem}
.formulario__check span{font-weight:400;color:var(--body);line-height:1.5}
.formulario__pie{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center}
.formulario__pie .btn{min-width:11rem}
.formulario__pie .formulario__nota{margin:0}
@media (max-width:900px){
  .cport__int{grid-template-columns:minmax(0,1fr)}
  .cport::after{display:none}
}
@media (max-width:560px){
  .vias-directas a{grid-template-columns:minmax(0,1fr)}
  .vias-directas__mas{grid-column:auto}
  .formulario__tel{grid-template-columns:minmax(0,1fr)}
  .formulario__pie{grid-template-columns:minmax(0,1fr)}
  .formulario__pie .btn{width:100%}
}

/* ---------- Mapa de la oficina ---------- */
.mapa{padding:clamp(2.5rem,5vw,4.5rem) 0;background:#fff}
.mapa__marco{
  position:relative;border-radius:1.3rem;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 30px 60px -34px rgba(16,40,72,.35);
  min-height:clamp(20rem,40vw,30rem);
}
.mapa__iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:saturate(.75) contrast(1.02)}
.mapa__ficha{
  position:absolute;left:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);z-index:1;
  width:min(22rem,calc(100% - 2rem));padding:1.4rem 1.5rem 1.5rem;
  background:#fff;border-radius:1rem;border:1px solid var(--line);box-shadow:0 20px 40px -20px rgba(16,40,72,.35);
}
.mapa__ficha .rotulo{margin-bottom:.5rem}
.mapa__h2{margin:0 0 .5rem;font-size:1.35rem;line-height:1.15;color:var(--navy)}
.mapa__dir{font-style:normal;white-space:pre-line;line-height:1.55;color:var(--body);margin:0 0 1rem;font-size:.9375rem}
@media (max-width:560px){
  .mapa__marco{min-height:0;display:grid}
  .mapa__iframe{position:static;height:16rem}
  .mapa__ficha{position:static;width:auto;border:0;border-radius:0;box-shadow:none;border-top:1px solid var(--line)}
}
.formulario__eti{display:inline}
.formulario__tel{grid-template-columns:9.75rem minmax(0,1fr)}
.formulario__tel select{width:100%;min-width:0;text-overflow:ellipsis}
.formulario__tel input{width:100%;min-width:0}
.mapa__marco{background:var(--mist)}
.mapa__ficha .btn{margin-top:.2rem}
.formulario__fila--tel{grid-template-columns:minmax(0,1fr)}
.formulario__tel{grid-template-columns:11.5rem minmax(0,1fr)}
.mapa__ficha .btn--linea{color:var(--navy);border-color:var(--line);background:#fff}
.mapa__ficha .btn--linea:hover{border-color:var(--orange);color:var(--orange)}

/* Oficinas: tres tarjetas sobre navy */
.oficinas__rejilla{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.oficina{
  position:relative;overflow:hidden;
  padding:clamp(1.5rem,2.6vw,2.1rem) clamp(1.3rem,2.4vw,1.9rem) clamp(1.4rem,2.4vw,1.9rem);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:1.1rem;
  transition:background .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);
}
.oficina:hover{background:rgba(255,255,255,.1);border-color:rgba(240,125,70,.7);transform:translateY(-4px)}
.oficina::after{
  content:"";position:absolute;right:-1.4rem;top:-1.4rem;width:5.5rem;aspect-ratio:1;opacity:.1;pointer-events:none;
  background:url(../img/marca/iso-06.png) center/contain no-repeat;filter:brightness(0) invert(1);
}
.oficina__ico{width:2.4rem;height:2.4rem;padding:.5rem;box-sizing:border-box;border-radius:.7rem;background:rgba(240,125,70,.14)}
.oficina h3{margin:1.1rem 0 .6rem;font-size:1.2rem;color:#fff}
.seccion--navy .oficina address{color:rgba(255,255,255,.8);font-size:.9375rem;line-height:1.7}
.oficina address a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(240,125,70,.6)}
.oficina address a:hover{color:var(--orange)}
@media (max-width:900px){.oficinas__rejilla{grid-template-columns:minmax(0,1fr)}}

/* ---------- Agenda: reserva de llamada con Calendly ---------- */
.agenda{background:var(--gris-calido);border-bottom:1px solid var(--line)}
.agenda__int{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.agenda__texto .titulo{max-width:16ch}
.agenda__puntos{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.6rem;color:var(--navy);font-weight:500;font-size:.9688rem}
.agenda__puntos li{display:flex;align-items:center;gap:.7rem}
.agenda__puntos li::before{content:"";width:.5em;height:.5em;background:var(--orange);flex:none}
.agenda__widget{
  min-height:clamp(28rem,48vw,42rem);background:#fff;border:1px solid var(--line);border-radius:1.3rem;overflow:hidden;
  box-shadow:0 34px 70px -34px rgba(16,40,72,.35);display:grid;
}
.agenda__widget .calendly-inline-widget{height:100%;min-height:inherit}
.agenda__espera{
  align-self:center;justify-self:center;text-align:center;max-width:26rem;padding:2.5rem 1.5rem;
}
.agenda__icono{display:inline-grid;grid-template-columns:repeat(3,.9rem);gap:.2rem;margin-bottom:1.3rem}
.agenda__icono i{width:.9rem;height:.9rem;background:var(--orange);opacity:.9;animation:agenda-late 2.6s var(--ease) infinite}
.agenda__icono i:nth-child(1){grid-column:1;grid-row:3}
.agenda__icono i:nth-child(2){grid-column:2;grid-row:2}
.agenda__icono i:nth-child(3){grid-column:3;grid-row:1}
.agenda__icono i:nth-child(4){grid-column:2;grid-row:3;background:var(--navy)}
.agenda__icono i:nth-child(5){grid-column:3;grid-row:2;background:var(--navy)}
.agenda__icono i:nth-child(2){animation-delay:.3s}.agenda__icono i:nth-child(3){animation-delay:.6s}
.agenda__icono i:nth-child(4){animation-delay:.45s}.agenda__icono i:nth-child(5){animation-delay:.75s}
@keyframes agenda-late{0%,100%{transform:scale(1);opacity:.9}50%{transform:scale(.72);opacity:.45}}
.agenda__espera-h{margin:0 0 .5rem;font-size:1.2rem;font-weight:600;color:var(--navy)}
.agenda__espera-p{margin:0 0 1.3rem;color:var(--muted);line-height:1.6;font-size:.9375rem}
.agenda__espera .btn--linea{color:var(--navy);border-color:var(--line);background:#fff}
.agenda__espera .btn--linea:hover{border-color:var(--orange);color:var(--orange)}
@media (max-width:900px){.agenda__int{grid-template-columns:minmax(0,1fr)}.agenda__widget{min-height:24rem}}

/* ---------- Botón flotante de WhatsApp ---------- */
.wasap{
  position:fixed;right:clamp(1rem,2.5vw,1.75rem);bottom:clamp(1rem,2.5vw,1.75rem);z-index:70;
  display:inline-flex;align-items:center;gap:.55rem;height:3.4rem;padding:0 1.1rem 0 .9rem;
  border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem;
  box-shadow:0 14px 30px -10px rgba(16,40,72,.45),0 2px 6px rgba(16,40,72,.15);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s var(--ease);
  animation:wasap-entra .6s var(--ease) 1.2s both;
}
.wasap svg{width:1.6rem;height:1.6rem;flex:none}
.wasap:hover{background:#1ebe5b;transform:translateY(-3px);box-shadow:0 20px 36px -12px rgba(16,40,72,.5)}
.wasap:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@keyframes wasap-entra{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .wasap{height:3.25rem;width:3.25rem;padding:0;justify-content:center;right:1rem;bottom:1rem}
  .wasap__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media print{.wasap{display:none}}

/* WhatsApp: círculo naranja con impulso, como en la referencia */
.wasap,.wasap:hover{
  width:4.25rem;height:4.25rem;padding:0;justify-content:center;border-radius:50%;
  background:var(--orange);color:#fff;
  box-shadow:0 14px 30px -10px rgba(204,77,17,.55),0 2px 6px rgba(16,40,72,.15);
}
.wasap:hover{background:var(--orange-boton);transform:translateY(-3px)}
.wasap svg{width:2.1rem;height:2.1rem;position:relative;z-index:1}
.wasap__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wasap::before,.wasap::after{
  content:"";position:absolute;inset:0;border-radius:50%;background:var(--orange);opacity:0;z-index:0;
  animation:wasap-pulso 2.8s cubic-bezier(.2,.6,.3,1) infinite;
}
.wasap::after{animation-delay:1.4s}
@keyframes wasap-pulso{0%{transform:scale(1);opacity:.45}70%{transform:scale(2.1);opacity:0}100%{transform:scale(2.1);opacity:0}}
@media (prefers-reduced-motion:reduce){.wasap::before,.wasap::after{animation:none}}
@media (max-width:640px){.wasap,.wasap:hover{width:3.6rem;height:3.6rem}.wasap svg{width:1.8rem;height:1.8rem}}

/* ---------- La firma · portada ---------- */
.fport{
  position:relative;overflow:hidden;
  padding:calc(var(--cab-alto) + clamp(2.5rem,5.5vw,4.5rem)) 0 clamp(3rem,6vw,5rem);
  background:var(--mist);border-bottom:1px solid var(--line);
}
.fport__int{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.fport__texto .port__h1{max-width:none;font-size:clamp(2.4rem,5vw,4.2rem)}
.fport__texto .tramo__botones{margin-top:clamp(1.5rem,3vw,2.2rem)}
.fport__fotos{position:relative;aspect-ratio:1.05;min-height:18rem}
.fport__fotos img{position:absolute;object-fit:cover;border-radius:1.1rem;box-shadow:0 30px 60px -30px rgba(16,40,72,.45)}
.fport__f1{right:0;top:0;width:72%;height:68%;z-index:1}
.fport__f2{left:0;bottom:0;width:52%;height:50%;z-index:2;border:6px solid var(--mist)}
.fport__iso{
  position:absolute;left:8%;top:6%;z-index:0;display:grid;grid-template-columns:repeat(3,1.2rem);gap:.3rem;
  animation:fport-flota 7s ease-in-out infinite;
}
.fport__iso i{width:1.2rem;height:1.2rem;background:var(--orange)}
.fport__iso i:nth-child(1){grid-column:1;grid-row:3}
.fport__iso i:nth-child(2){grid-column:2;grid-row:2}
.fport__iso i:nth-child(3){grid-column:3;grid-row:1}
.fport__iso i:nth-child(4){grid-column:2;grid-row:3;background:var(--navy)}
.fport__iso i:nth-child(5){grid-column:3;grid-row:2;background:var(--navy)}
.fport::after{
  content:"";position:absolute;right:-3%;bottom:-18%;width:min(28rem,40%);aspect-ratio:1;opacity:.06;pointer-events:none;
  background:url(../img/marca/iso-06.png) right bottom/contain no-repeat;
}
@keyframes fport-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media (max-width:900px){
  .fport__int{grid-template-columns:minmax(0,1fr)}
  .fport__fotos{aspect-ratio:1.4;min-height:0}
  .fport::after{display:none}
}

/* ---------- La firma · manifiesto (Andorra) ---------- */
.firma-manif{padding:clamp(3rem,6vw,5rem) 0 clamp(2.5rem,5vw,4rem);background:#fff}
.firma-manif__int{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.firma-manif__h{
  margin:0;font-family:var(--serif,"Baskervville","Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;
  font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.22;color:var(--navy);letter-spacing:-.01em;
}
.firma-manif__h::after{content:"";display:block;width:3.5rem;height:2px;margin-top:1.2rem;background:var(--orange)}
.firma-manif__lede{margin:1.2rem 0 0;color:var(--muted);line-height:1.65;max-width:46ch}
.firma-manif__texto{padding-top:.4rem}
.firma-manif__texto p{margin:0 0 1rem;line-height:1.72;color:var(--body)}
.firma-manif__texto p:first-child{color:var(--navy);font-weight:500;font-size:1.0625rem}
@media (max-width:900px){.firma-manif__int{grid-template-columns:minmax(0,1fr)}}

/* ---------- La firma · historia + misión + visión ---------- */
.firma-hist{padding:clamp(3rem,6vw,5rem) 0;background:var(--gris-calido);position:relative;overflow:hidden}
.firma-hist::before{
  content:"";position:absolute;left:-6%;bottom:-20%;width:min(26rem,38%);aspect-ratio:1;opacity:.06;pointer-events:none;
  background:url(../img/marca/iso-06.png) left bottom/contain no-repeat;
}
.firma-hist__int{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.firma-hist__h2{margin:0 0 1.2rem;font-size:clamp(1.6rem,2.8vw,2.3rem);line-height:1.15;color:var(--navy);letter-spacing:-.02em;max-width:22ch}
.firma-hist__texto p{margin:0 0 1rem;line-height:1.72;color:var(--body);max-width:56ch}
.firma-hist__lado{display:grid;gap:1rem}
.firma-mv{
  position:relative;overflow:hidden;padding:clamp(1.5rem,2.6vw,2.1rem) clamp(1.4rem,2.4vw,2rem);border-radius:1.1rem;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.firma-mv:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px rgba(16,40,72,.4)}
.firma-mv h3{margin:.9rem 0 .5rem;font-size:1.15rem}
.firma-mv p{margin:0;line-height:1.65;font-size:.9688rem}
.firma-mv--mision{background:var(--navy);color:#fff}
.firma-mv--mision h3{color:#fff}
.firma-mv--mision p{color:rgba(255,255,255,.82)}
.firma-mv--vision{background:#fff;border:1px solid var(--line);color:var(--body)}
.firma-mv--vision h3{color:var(--navy)}
.firma-mv__iso{display:inline-grid;grid-template-columns:repeat(2,.6rem);gap:.15rem}
.firma-mv__iso i{width:.6rem;height:.6rem;background:var(--orange)}
.firma-mv__iso i:nth-child(1){grid-column:1;grid-row:2}
.firma-mv__iso i:nth-child(2){grid-column:2;grid-row:1}
.firma-mv__iso i:nth-child(3){grid-column:2;grid-row:2;opacity:.55}
@media (max-width:900px){.firma-hist__int{grid-template-columns:minmax(0,1fr)}.firma-hist::before{display:none}}

/* ---------- La firma · valores ---------- */
.firma-valores{padding:clamp(3rem,6vw,5rem) 0;background:#fff}
.valores__rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(1.75rem,3vw,2.5rem)}
.valor{
  position:relative;padding:clamp(1.4rem,2.4vw,1.9rem) clamp(1.3rem,2.2vw,1.7rem) clamp(1.4rem,2.4vw,1.8rem);
  background:var(--gris-calido);border-radius:1rem;border:1px solid transparent;overflow:hidden;
  transition:background .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease);
}
.valor::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.valor:hover{background:#fff;border-color:var(--line);transform:translateY(-4px);box-shadow:0 26px 44px -28px rgba(16,40,72,.35)}
.valor:hover::before{transform:scaleY(1)}
.valor__n{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--orange)}
.valor h3{margin:.7rem 0 .45rem;font-size:1.15rem;color:var(--navy)}
.valor p{margin:0;font-size:.9375rem;line-height:1.62;color:var(--body)}
.revela.visible .valor{animation:via-ficha .55s var(--ease) both;animation-delay:calc(.1s + var(--i,0)*.07s)}
@media (max-width:900px){.valores__rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.valores__rejilla{grid-template-columns:minmax(0,1fr)}}

/* ---------- La firma · pilares (España): tarjetas con relieve ---------- */
.pil{transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.pil:hover{transform:translateY(-4px);box-shadow:0 26px 44px -28px rgba(16,40,72,.35);border-color:var(--orange)}
.fport .btn--linea,.cport .btn--linea{color:var(--navy);border-color:var(--line);background:#fff}
.fport .btn--linea:hover,.cport .btn--linea:hover{border-color:var(--orange);color:var(--orange)}

/* La firma · ajustes al texto literal del documento */
.pilares .cabecilla .entrada{max-width:62ch}
.pilares__lead{color:var(--navy);font-weight:600}
.equipo .carrusel__cab .entrada + .entrada{margin-top:.6rem}
.eq{align-items:center}
.eq h3{margin:0}
.paraquien__rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(1.75rem,3vw,2.5rem)}
.pq{padding:clamp(1.5rem,2.6vw,2.2rem);border-radius:1.1rem;background:var(--gris-calido);border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pq:hover{transform:translateY(-4px);box-shadow:0 30px 50px -30px rgba(16,40,72,.4)}
.pq p{margin:.9rem 0 0;line-height:1.7;color:var(--body);font-size:1rem}
.pq--navy{background:var(--navy);border-color:var(--navy)}
.pq--navy p{color:rgba(255,255,255,.86)}
.oficinas .cabecilla .entrada + .entrada{margin-top:.6rem}
@media (max-width:760px){.paraquien__rejilla{grid-template-columns:minmax(0,1fr)}}

/* ---------- La firma · vídeo en la portada con el isotipo ordenándose ---------- */
.fport__video{position:relative;aspect-ratio:1.05;min-height:18rem;isolation:isolate}
.fport__video video{position:absolute;right:0;top:0;width:78%;height:72%;object-fit:cover;border-radius:1.1rem;filter:contrast(1.05) brightness(.95);box-shadow:0 30px 60px -30px rgba(16,40,72,.5)}
.fport__velo{position:absolute;right:0;top:0;width:78%;height:72%;border-radius:1.1rem;background:linear-gradient(135deg,rgba(25,60,106,.78),rgba(25,60,106,.35) 60%,rgba(240,125,70,.25));pointer-events:none}
.fport__video .fport__f2{z-index:3}
.fport__video .iso.fport__isov{
  position:absolute;right:9%;top:12%;width:42%;margin:0;z-index:2;aspect-ratio:100/60;
}
.fport__video .iso.fport__isov i{border-color:rgba(255,255,255,.75);width:20%;transition-delay:calc(.9s + var(--i) * .12s)}
.fport__video.es-orden .iso.fport__isov i{border-color:#fff}
.fport__video.es-orden .iso.fport__isov i:nth-child(3){background:var(--orange);border-color:var(--orange)}
.fport__video.es-orden .iso.fport__isov i:nth-child(2),.fport__video.es-orden .iso.fport__isov i:nth-child(4){background:rgba(255,255,255,.18)}
@media (max-width:900px){.fport__video{aspect-ratio:1.4;min-height:0}}

/* palabras que entran una a una */
.palabras .pal{display:inline-block;opacity:0;transform:translateY(.45em) rotate(-1.5deg);animation:pal-sube .7s var(--ease) both;animation-delay:calc(.15s + var(--i,0) * .09s)}
.revela .palabras .pal{animation-play-state:paused}
.revela.visible .palabras .pal{animation-play-state:running}
@keyframes pal-sube{to{opacity:1;transform:none}}
.fport .port__lede,.fport .tramo__botones,.fport .rotulo{animation:pal-sube .8s var(--ease) both}
.fport .rotulo{animation-delay:.05s}
.fport .port__lede{animation-delay:.55s}
.fport .tramo__botones{animation-delay:.75s}
.firma-manif__h::after{transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) 1.1s}
.revela.visible .firma-manif__h::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.palabras .pal,.fport .port__lede,.fport .tramo__botones,.fport .rotulo{animation:none;opacity:1;transform:none}.firma-manif__h::after{transform:none}}

/* misión y visión entran desde la derecha; los valores ya entran escalonados */
.firma-mv{opacity:0;transform:translateX(2rem)}
.revela.visible .firma-mv{animation:mv-entra .8s var(--ease) both}
.revela.visible .firma-mv--vision{animation-delay:.2s}
@keyframes mv-entra{to{opacity:1;transform:none}}
.valor{position:relative}
.valor::after{
  content:"";position:absolute;right:-1.2rem;bottom:-1.2rem;width:6rem;aspect-ratio:1;opacity:0;pointer-events:none;
  background:url(../img/marca/iso-06.png) center/contain no-repeat;transition:opacity .5s var(--ease),transform .6s var(--ease);transform:translate(.5rem,.5rem) rotate(-6deg);
}
.valor:hover::after{opacity:.12;transform:none}

/* pilares: una línea que recorre las tres tarjetas y números que se encienden */
.pilares__rejilla{position:relative}
.pilares__rejilla::before{
  content:"";position:absolute;left:2%;right:2%;top:-1.1rem;height:2px;background:linear-gradient(90deg,var(--orange),var(--navy));
  transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s;
}
.revela.visible .pilares__rejilla::before{transform:scaleX(1)}
.pil{opacity:0;transform:translateY(1rem)}
.revela.visible .pil{animation:mv-entra .7s var(--ease) both}
.revela.visible .pil:nth-child(2){animation-delay:.3s}
.revela.visible .pil:nth-child(3){animation-delay:.6s}
.pil__n{display:inline-block;transition:transform .5s var(--ease),color .5s var(--ease)}
.pil:hover .pil__n{transform:scale(1.25);color:var(--navy)}

/* ---------- La firma · banda cinematográfica ---------- */
.cine{position:relative;overflow:hidden;min-height:clamp(22rem,46vw,34rem);display:grid;align-items:end;color:#fff;isolation:isolate}
.cine__fondo{position:absolute;inset:-12% 0;z-index:-1;will-change:transform}
.cine__fondo video{width:100%;height:100%;object-fit:cover;display:block}
.cine__velo{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,40,72,.85),rgba(16,40,72,.25) 55%,rgba(16,40,72,.15))}
.cine__int{position:relative;padding-block:clamp(2.5rem,5vw,4rem)}
.cine .rotulo{color:rgba(255,255,255,.85)}
.cine__lema{
  margin:.6rem 0 0;font-size:clamp(2.2rem,5.5vw,4.6rem);line-height:1.02;letter-spacing:-.03em;font-weight:600;color:#fff;max-width:14ch;
}
.cine__lema em{font-family:var(--serif,"Baskervville","Libre Baskerville",Georgia,serif);font-style:italic;font-weight:400;color:var(--orange)}
.cine__lema .pal{animation-duration:.9s;animation-delay:calc(.2s + var(--i,0) * .14s)}
/* portada de La firma: el vídeo ocupa toda la tarjeta y el isotipo se ordena en el centro */
.fport__video,.fport__video video,.fport__velo{aspect-ratio:auto}
.fport__video{height:clamp(20rem,34vw,30rem);min-height:0;border-radius:1.2rem;overflow:hidden;box-shadow:0 34px 70px -30px rgba(16,40,72,.5)}
.fport__video video{position:absolute;inset:0;width:100%;height:100%;right:auto;top:auto;border-radius:0;box-shadow:none}
.fport__velo{position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:linear-gradient(135deg,rgba(25,60,106,.7),rgba(25,60,106,.3) 55%,rgba(240,125,70,.22))}
.fport__video .iso.fport__isov{right:auto;top:50%;left:50%;width:46%;transform:translate(-50%,-50%)}
.fport__video .iso.fport__isov i{border-width:3px}
@media (max-width:900px){.fport__video{height:clamp(14rem,60vw,20rem)}}

/* La firma · portada con foto (sin vídeo) */
.fport__video .fport__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85)}

/* Oficinas: enlace a cada sitio */
.oficina__ir{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.875rem;font-weight:600;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:.15rem;transition:color .3s var(--ease),border-color .3s var(--ease),gap .3s var(--ease)}
.oficina__ir::after{content:"→"}
.oficina__ir:hover{color:var(--orange);border-color:var(--orange);gap:.7rem}

/* Banda de vídeo como tarjeta ancha con CTA, al final de la página */
.cine--tarjeta{min-height:0;display:block;padding:clamp(2rem,4vw,3.5rem) 0 clamp(2.5rem,5vw,4.5rem);background:#fff}
.cine--tarjeta .cine__marco{position:relative;overflow:hidden;border-radius:1.3rem;min-height:clamp(20rem,36vw,28rem);display:grid;align-items:end;isolation:isolate;box-shadow:0 34px 70px -34px rgba(16,40,72,.5)}
.cine--tarjeta .cine__velo{background:linear-gradient(100deg,rgba(16,40,72,.88) 0%,rgba(16,40,72,.55) 50%,rgba(16,40,72,.25) 100%)}
.cine--tarjeta .cine__int{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end;
  padding:clamp(1.75rem,3.5vw,3rem) clamp(1.5rem,3.5vw,3rem);
}
.cine--tarjeta .cine__lema{font-size:clamp(1.9rem,4vw,3.4rem)}
.cine__cta{color:#fff;padding:clamp(1.25rem,2.4vw,1.8rem);border-radius:1rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.cine__h2{margin:0 0 .5rem;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.15;color:#fff}
.cine__txt{margin:0 0 1.1rem;color:rgba(255,255,255,.82);line-height:1.6;font-size:.9688rem}
.cine__cta .btn--linea{border-color:rgba(255,255,255,.6);color:#fff}
.cine__cta .btn--linea:hover{background:rgba(255,255,255,.14)}
@media (max-width:900px){
  .cine--tarjeta .cine__int{grid-template-columns:minmax(0,1fr)}
  .cine--tarjeta .cine__marco{min-height:0}
}
.fport__video .iso.fport__isov{left:27%;top:36%;transform:none;width:46%}

/* La firma · portada animada: trama de chevrones a la deriva, cuadrados flotando y el isotipo ordenándose */
.fport__video{background:radial-gradient(120% 90% at 20% 15%,#24508a 0%,var(--navy) 45%,#102a4c 100%)}
.fport__trama{
  position:absolute;inset:-20%;background:url(../img/marca/trama-chevrones.webp) center/42% repeat;opacity:.16;
  animation:trama-deriva 60s linear infinite;
}
.fport__halo{
  position:absolute;left:50%;top:50%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(240,125,70,.35),rgba(240,125,70,0) 65%);
  animation:halo-late 6s ease-in-out infinite;
}
.fport__flota{
  position:absolute;left:var(--l);top:var(--t);width:var(--s);aspect-ratio:1;border-radius:14%;
  border:2px solid rgba(255,255,255,.35);background:transparent;
  animation:flota-sube var(--d) ease-in-out var(--r) infinite alternate;
}
.fport__flota[style*="--k:1"]{border-color:rgba(240,125,70,.75)}
.fport__flota[style*="--k:2"]{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.fport__video .iso.fport__isov i{border-color:rgba(255,255,255,.85)}
@keyframes trama-deriva{from{transform:translate(0,0) rotate(0)}to{transform:translate(-6%,-4%) rotate(2deg)}}
@keyframes halo-late{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
@keyframes flota-sube{from{transform:translate(0,0) rotate(-4deg)}to{transform:translate(6px,-18px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.fport__trama,.fport__halo,.fport__flota{animation:none}}

/* La firma · portada: campo de losetas en perspectiva con una onda de luz */
.fport__video{perspective:900px;background:radial-gradient(120% 90% at 30% 20%,#21497f 0%,var(--navy) 50%,#0f2745 100%)}
.fport__trama,.fport__flota{display:none}
.campo{
  position:absolute;left:50%;top:58%;width:150%;aspect-ratio:1;
  display:grid;grid-template-columns:repeat(12,1fr);gap:4%;
  transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-38deg);transform-style:preserve-3d;
}
.campo i{
  display:block;aspect-ratio:1;border-radius:12%;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  animation:loseta-onda 5.2s ease-in-out infinite;animation-delay:calc(var(--w) * -.19s);
  transform:translateZ(0);
}
@keyframes loseta-onda{
  0%,100%{transform:translateZ(0);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
  18%{transform:translateZ(22px);background:rgba(240,125,70,.85);border-color:rgba(240,125,70,1)}
  36%{transform:translateZ(0);background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
}
.fport__halo{width:90%;background:radial-gradient(circle,rgba(16,40,72,0) 40%,rgba(16,40,72,.85) 75%)}
.fport__video .iso.fport__isov{top:30%;animation:iso-flota 6s ease-in-out infinite}
.fport__video .iso.fport__isov i{border-width:3px;box-shadow:0 18px 30px -12px rgba(0,0,0,.5)}
@keyframes iso-flota{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (prefers-reduced-motion:reduce){.campo i,.fport__video .iso.fport__isov{animation:none}}
.fport__halo{width:150%;animation:none;background:radial-gradient(circle,rgba(16,40,72,0) 30%,rgba(16,40,72,.6) 58%,rgba(16,40,72,.92) 72%)}

/* ---------- Pliego: fichas largas plegadas, de una en una ---------- */
.pliego{display:grid;gap:.6rem;margin-top:clamp(1rem,2vw,1.5rem)}
.plg{background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden;transition:border-color .35s var(--ease),box-shadow .35s var(--ease)}
.plg[open]{border-color:rgba(25,60,106,.25);box-shadow:0 22px 44px -30px rgba(16,40,72,.35)}
.plg__cab{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;
  padding:1rem 1.2rem;color:var(--navy);font-weight:600;font-size:1.0625rem;line-height:1.3;
}
.plg__cab::-webkit-details-marker{display:none}
.plg__cab:hover{color:var(--orange)}
.plg .paso__n{margin:0}
.plg__ico{position:relative;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--line);flex:none}
.plg__ico::before,.plg__ico::after{content:"";position:absolute;left:50%;top:50%;width:.7rem;height:2px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.plg__ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.plg[open] .plg__ico::after{transform:translate(-50%,-50%) rotate(0)}
.plg[open] .plg__ico{border-color:var(--orange)}
.plg__c{padding:0 1.2rem 1.3rem calc(1.2rem + 2.4rem + 1rem)}
.plg__int{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem clamp(1.5rem,3vw,2.5rem);align-items:start}
.plg__int > p{margin:0 0 .6rem;font-size:.9688rem;line-height:1.62;color:var(--body);grid-column:1}
.plg__int > ul{grid-column:2;grid-row:1/span 6;list-style:none;margin:0;padding:1rem 1.1rem;background:var(--gris-calido);border-radius:.8rem;display:grid;gap:.45rem;font-size:.9375rem;line-height:1.5;color:var(--body)}
.plg__int > ul li{position:relative;padding-left:1.1rem}
.plg__int > ul li::before{content:"";position:absolute;left:0;top:.55em;width:.4rem;height:.4rem;background:var(--orange)}
.plg__int > ul + p,.plg__int > ul ~ p{grid-column:1}
.plg[open] .plg__c{animation:plg-abre .4s var(--ease)}
@keyframes plg-abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pliego:not(.pliego--num) .paso__n{display:none}
.pliego:not(.pliego--num) .plg__c{padding-left:1.2rem}
@media (max-width:760px){
  .plg__int{grid-template-columns:minmax(0,1fr)}
  .plg__int > ul{grid-column:1;grid-row:auto}
  .plg__c{padding-left:1.2rem}
}

/* La firma · portada con foto, como en los servicios, y el isotipo encima */
.fport__foto{justify-self:end;width:min(100%,30rem)}
.fport__marca{position:absolute;left:-1.2rem;bottom:2.6rem;z-index:3;display:grid;grid-template-columns:repeat(3,1.35rem);gap:.28rem;padding:.9rem;background:#fff;border-radius:.9rem;box-shadow:0 18px 34px -16px rgba(16,40,72,.4)}
.fport__marca i{width:1.35rem;height:1.35rem;background:var(--orange)}
.fport__marca i:nth-child(1){grid-column:1;grid-row:3}
.fport__marca i:nth-child(2){grid-column:2;grid-row:2}
.fport__marca i:nth-child(3){grid-column:3;grid-row:1}
.fport__marca i:nth-child(4){grid-column:2;grid-row:3;background:var(--navy)}
.fport__marca i:nth-child(5){grid-column:3;grid-row:2;background:var(--navy)}
@media (max-width:900px){.fport__foto{justify-self:start}}

/* Pestañas de «En qué te ayudamos»: texto a todo lo ancho, listas en rejilla debajo */
.fichas__panel--texto .fichas__cuerpo p{max-width:none;margin:0 0 1rem;line-height:1.72;color:var(--body);font-size:1rem}
.fichas__panel--texto .fichas__cuerpo p:first-child{font-size:1.0625rem;color:var(--navy)}
.fichas__panel--texto .fichas__cuerpo p:last-child{margin-bottom:0}
.fichas__puntos{
  list-style:none;margin:1.4rem 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;
}
.fichas__puntos li{
  position:relative;padding:.8rem 1rem .8rem 2rem;background:var(--gris-calido);border-radius:.8rem;
  font-size:.9375rem;line-height:1.5;color:var(--navy);
}
.fichas__puntos li::before{content:"";position:absolute;left:1rem;top:1.2rem;width:.45rem;height:.45rem;background:var(--orange)}
.tramo--mist .fichas__puntos li{background:#fff;border:1px solid var(--line)}
@media (max-width:1040px){.fichas__puntos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.fichas__puntos{grid-template-columns:minmax(0,1fr)}}

/* Pliego: tarjetas a tres cuartos del ancho; dentro, el texto a todo lo ancho y la lista debajo */
.pliego{max-width:75%}
.plg__int{grid-template-columns:minmax(0,1fr)}
.plg__int > p{grid-column:auto;max-width:none}
.plg__int > ul{grid-column:auto;grid-row:auto;margin-top:.4rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.2rem}
@media (max-width:900px){.pliego{max-width:none}}
@media (max-width:600px){.plg__int > ul{grid-template-columns:minmax(0,1fr)}}

/* ---------- Calculadora de ahorro fiscal ---------- */
.calc{padding-top:clamp(2rem,4vw,3rem)}
.calc__int{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,3.5vw,3rem);align-items:start}
.calc__form{display:grid;gap:clamp(1.25rem,2.5vw,1.75rem)}
.calc__paso{margin:0;padding:clamp(1.25rem,2.4vw,1.75rem);border:1px solid var(--line);border-radius:1.1rem;background:#fff}
.calc__paso legend{float:left;width:100%;display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1.0625rem;font-weight:600;color:var(--navy)}
.calc__paso legend + *{clear:both}
.calc__n{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.8125rem;font-weight:700;flex:none}
.calc__opciones{display:flex;flex-wrap:wrap;gap:.5rem}
.calc__opcion{position:relative;cursor:pointer}
.calc__opcion input{position:absolute;opacity:0;width:1px;height:1px}
.calc__opcion span{display:inline-block;padding:.65rem 1.05rem;border:1px solid var(--line);border-radius:999px;font-size:.9375rem;font-weight:600;color:var(--navy);background:#fff;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.calc__opcion:hover span{border-color:var(--orange)}
.calc__opcion input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.calc__opcion input:focus-visible + span{outline:2px solid var(--orange);outline-offset:2px}
.calc__grupo{display:grid;gap:1.1rem}
.calc__campo label{display:block;font-size:.9375rem;font-weight:600;color:var(--navy);margin-bottom:.45rem}
.calc__entrada{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}
.calc__euro,.calc__pct,.calc__sel{position:relative;display:flex;align-items:center}
.calc__euro{flex:1 1 12rem}
.calc__euro input,.calc__pct input,.calc__sel select{
  width:100%;padding:.8rem 2.2rem .8rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;
  font:inherit;font-size:1.0625rem;font-weight:600;color:var(--navy);
}
.calc__euro b,.calc__pct b{position:absolute;right:.9rem;color:var(--muted);font-weight:600}
.calc__pct{flex:0 0 9rem;flex-direction:column;align-items:stretch}
.calc__pct input{padding-right:2rem}
.calc__caja{position:relative;display:flex;align-items:center}
.calc__pct small{font-size:.7rem;color:var(--muted);margin-top:.25rem}
.calc__sel{flex:0 0 11rem}
.calc__sel select{padding-right:1rem}
.calc__euro input:focus-visible,.calc__pct input:focus-visible,.calc__sel select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.calc__ayuda{margin:.45rem 0 0;font-size:.8438rem;line-height:1.5;color:var(--muted)}
.calc__compara{margin:.25rem 0 0;font-size:.78rem;line-height:1.5;color:var(--muted)}
.calc__compara span{display:inline}
.calc__mas{align-self:start;padding:.6rem 1rem;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--navy);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}
.calc__mas:hover{border-color:var(--orange);color:var(--orange)}
.calc__quita{width:2.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:1.2rem;cursor:pointer}
.calc__quita:hover{color:var(--orange);border-color:var(--orange)}
.calc__res{
  position:sticky;top:calc(var(--cab-alto) + 1rem);
  padding:clamp(1.5rem,2.8vw,2.2rem);border-radius:1.2rem;background:var(--navy);color:#fff;
  box-shadow:0 34px 70px -34px rgba(16,40,72,.5);
}
.calc__res .rotulo{color:rgba(255,255,255,.82)}
.calc__vacio{margin:0 0 1.5rem;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.75)}
.calc__datos{margin:0;display:grid;gap:.6rem}
.calc__datos > div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.calc__datos dt{font-size:.9375rem;color:rgba(255,255,255,.78)}
.calc__datos dd{margin:0;font-weight:700;font-size:1.0625rem;white-space:nowrap}
.calc__ahorro dd{font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--orange)}
.calc__ahorro dd.es-negativo{color:rgba(255,255,255,.6)}
.calc__barras{margin:1.2rem 0 0;display:grid;gap:.5rem}
.calc__barra{position:relative;height:1.6rem;background:rgba(255,255,255,.08);border-radius:.5rem;overflow:hidden}
.calc__barra span{position:absolute;inset:0 auto 0 0;width:0;background:rgba(255,255,255,.35);border-radius:.5rem;transition:width .6s var(--ease)}
.calc__barra--and span{background:var(--orange)}
.calc__barra em{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-style:normal;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.calc__recupera{margin-top:1.4rem;padding:1.1rem 1.2rem;border-radius:.9rem;background:rgba(255,255,255,.08)}
.calc__recupera-t{margin:0;font-size:.875rem;color:rgba(255,255,255,.78)}
.calc__meses{margin:.2rem 0 0;font-size:1.1rem}
.calc__meses b{font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1}
.calc__anos{margin:.2rem 0 0;font-size:.9375rem;color:rgba(255,255,255,.8)}
.calc__anos b{color:#fff}
.calc__sin{margin:1.2rem 0 0;padding:1rem 1.1rem;border-radius:.9rem;background:rgba(240,125,70,.18);border:1px solid rgba(240,125,70,.5);font-size:.9375rem;line-height:1.55}
.calc__detalle{margin-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);padding-top:.8rem}
.calc__detalle summary{cursor:pointer;font-weight:600;font-size:.9375rem;color:#fff;list-style:none;display:flex;align-items:center;gap:.5rem}
.calc__detalle summary::-webkit-details-marker{display:none}
.calc__detalle summary::after{content:"";width:.5rem;height:.5rem;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg);transition:transform .3s var(--ease)}
.calc__detalle[open] summary::after{transform:rotate(-135deg)}
.calc__desglose{margin-top:.9rem;font-size:.875rem}
.calc__desglose h4{margin:0 0 .4rem;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.calc__desglose-t{margin:.5rem 0 .2rem;display:flex;justify-content:space-between;gap:1rem;color:#fff}
.calc__desglose ul{list-style:none;margin:0;padding:0}
.calc__desglose li{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0 .15rem .8rem;color:rgba(255,255,255,.7)}
.calc__desglose-total{margin:.6rem 0 0;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;color:#fff}
.calc__pie{margin:1.4rem 0 .9rem;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.75)}
.calc__res .btn--nar{width:100%;justify-content:center}
.calc__avisos{margin-top:clamp(1.5rem,3vw,2.2rem);display:grid;gap:.5rem;max-width:80ch}
.calc__avisos p{margin:0;font-size:.8125rem;line-height:1.55;color:var(--muted)}
.calc__fecha{font-weight:600;color:var(--navy)!important}
@media (max-width:980px){.calc__int{grid-template-columns:minmax(0,1fr)}.calc__res{position:static}}
@media (max-width:560px){.calc__pct,.calc__sel{flex-basis:100%}}

/* comparativa */
.compara__marco{overflow-x:auto;margin-top:clamp(1.5rem,3vw,2.2rem);border:1px solid var(--line);border-radius:1.1rem;background:#fff}
.compara__tabla{width:100%;border-collapse:collapse;min-width:40rem;font-size:.9688rem}
.compara__tabla th,.compara__tabla td{padding:.95rem 1.2rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.compara__tabla thead th{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--gris-calido)}
.compara__tabla thead th:last-child{color:var(--orange)}
.compara__tabla tbody th{font-weight:600;color:var(--navy)}
.compara__tabla td:last-child{font-weight:600;color:var(--navy)}
.compara__tabla tbody tr:last-child th,.compara__tabla tbody tr:last-child td{border-bottom:0}
.compara__tabla tbody tr:hover td,.compara__tabla tbody tr:hover th{background:rgba(240,125,70,.05)}
.compara__nota{margin:.8rem 0 0;font-size:.8125rem;line-height:1.5;color:var(--muted);max-width:80ch}

/* requisitos */
.requisitos__int{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.requisitos__lista{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.requisitos__lista li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:baseline;padding:1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:.9rem;color:var(--navy);font-weight:500;line-height:1.5}
.requisitos__lista li span{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.revela.visible .requisitos__lista li{animation:via-ficha .55s var(--ease) both;animation-delay:calc(.1s + var(--i,0)*.08s)}
@media (max-width:900px){.requisitos__int{grid-template-columns:minmax(0,1fr)}}
.calc [hidden]{display:none!important}
.calc__datos dd,.calc__meses b{font-variant-numeric:tabular-nums;transition:color .3s var(--ease)}
.calc__datos dd.se-mueve{color:#fff}
.calc__ahorro dd.se-mueve{color:#ffb088}
.calc__barra span{transition:width .65s cubic-bezier(.2,.7,.2,1)}
/* avisos de la calculadora: tarjeta a todo lo ancho */
.calc__avisos{max-width:none;padding:clamp(1.25rem,2.4vw,1.75rem) clamp(1.25rem,2.6vw,2rem);background:var(--gris-calido);border:1px solid var(--line);border-radius:1.1rem;gap:.6rem}
.calc__avisos p{max-width:none}
.calc__avisos.env{box-sizing:border-box;width:min(100% - var(--gutter)*2,var(--ancho));margin-inline:auto}
/* el legend va flotado: todo lo que le sigue tiene que bajar debajo, también los grupos ocultos al cambiar de perfil */
.calc__paso > :not(legend){clear:both}
.calc__grupo{width:100%}

/* ============================================================
   Piezas de servicio hechas con bloques nativos (lista, grupo, párrafo):
   mismo aspecto que las de HTML, pero se editan escribiendo en el editor.
   ============================================================ */
/* «Qué incluye»: cada punto de la lista es una ficha numerada */
.ambitos-srv--bloques{counter-reset:ambito}
.ambitos-srv--bloques > li{
  counter-increment:ambito;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem;align-items:start;
  padding:.85rem 1rem;background:#fff;border:1px solid var(--line);border-radius:14px;
  font-size:.9375rem;line-height:1.5;color:var(--body);
  transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);
}
.ambitos-srv--bloques > li::before{
  content:counter(ambito,decimal-leading-zero);
  font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--orange);padding-top:.25rem;
}
.ambitos-srv--bloques > li:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 16px 32px rgba(16,40,72,.08)}
/* el cuadrado naranja del criterio, sin pieza suelta en el marcado */
.criterio--bloques::before{
  content:"";position:absolute;z-index:1;left:clamp(.9rem,1.6vw,1.2rem);top:clamp(1.55rem,2.6vw,2rem);
  width:.7rem;height:.7rem;background:var(--orange);
}
/* datos: el número y los textos son párrafos y títulos normales */
.dato-srv p.dato-srv__n{margin:0}
.dato-srv h3.dato-srv__t{margin:.5rem 0 .3rem}
.dato-srv p.dato-srv__d{margin:0}

/* ---------- Acordeones hechos con el bloque «Detalles» ----------
   Mismo aspecto que los de HTML: el número y el «+» los pone la hoja (contador y
   pseudo-elementos), así en el editor solo se escribe la pregunta y la respuesta. */
.preguntas{counter-reset:pregunta}
.wp-block-details.pregunta{counter-increment:pregunta;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.wp-block-details.pregunta:first-of-type{border-top:1px solid var(--line)}
.wp-block-details.pregunta > summary{
  display:flex;align-items:center;gap:1.1rem;
  padding:1.4rem .2rem;list-style:none;cursor:pointer;
  font-size:clamp(1rem,1.5vw,1.125rem);font-weight:500;color:var(--navy);
  transition:color .3s var(--ease);
}
.wp-block-details.pregunta > summary::-webkit-details-marker{display:none}
.wp-block-details.pregunta > summary:hover{color:var(--orange)}
.wp-block-details.pregunta > summary::before{
  content:counter(pregunta,decimal-leading-zero);flex:none;font-size:.8125rem;font-weight:700;color:var(--orange);
}
.wp-block-details.pregunta > summary::after{
  content:"";flex:none;margin-left:auto;width:1.9rem;height:1.9rem;border-radius:50%;
  background:linear-gradient(#fff,#fff) center/.75rem 1.5px no-repeat,linear-gradient(#fff,#fff) center/1.5px .75rem no-repeat,var(--orange);
  transition:transform .4s var(--ease),background-color .3s var(--ease);
}
.wp-block-details.pregunta[open] > summary::after{
  transform:rotate(180deg);
  background:linear-gradient(#fff,#fff) center/.75rem 1.5px no-repeat,var(--navy);
}
.wp-block-details.pregunta > :not(summary){margin:0 0 .7rem;padding:0 3rem 0 2.6rem;max-width:calc(62ch + 5.6rem);line-height:1.65;color:var(--body)}
.wp-block-details.pregunta > ul{padding-left:calc(2.6rem + 1.1rem)}
.wp-block-details.pregunta > :last-child{margin-bottom:1.4rem}
@media (max-width:640px){.wp-block-details.pregunta > :not(summary){padding:0 .5rem 0 0}.wp-block-details.pregunta > ul{padding-left:1.1rem}}
/* sobre navy (bloques de preguntas frecuentes) */
.faq .wp-block-details.pregunta{border-color:rgba(255,255,255,.16)}
.faq .wp-block-details.pregunta > summary{color:#fff;padding:1.2rem .2rem}
.faq .wp-block-details.pregunta > summary:hover{color:var(--orange)}
.faq .wp-block-details.pregunta > :not(summary){color:rgba(255,255,255,.76)}
.faq .wp-block-details.pregunta[open] > summary::after{background:linear-gradient(var(--navy),var(--navy)) center/.75rem 1.5px no-repeat,#fff}

/* pliegos: fichas plegables con número en pastilla */
.pliego{counter-reset:plg}
.wp-block-details.plg{counter-increment:plg;margin:0;padding:0}
.wp-block-details.plg > summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;
  padding:1rem 1.2rem;color:var(--navy);font-weight:600;font-size:1.0625rem;line-height:1.3;
}
.wp-block-details.plg > summary::-webkit-details-marker{display:none}
.wp-block-details.plg > summary:hover{color:var(--orange)}
.wp-block-details.plg > summary::before{
  content:counter(plg,decimal-leading-zero);
  display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:10px;
  background:var(--navy);color:#fff;font-size:.8125rem;font-weight:700;letter-spacing:.02em;
}
.pliego:not(.pliego--num) .wp-block-details.plg > summary{grid-template-columns:minmax(0,1fr) auto}
.pliego:not(.pliego--num) .wp-block-details.plg > summary::before{display:none}
.wp-block-details.plg > summary::after{
  content:"";width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid var(--line);
  background:linear-gradient(var(--navy),var(--navy)) center/.7rem 2px no-repeat,linear-gradient(var(--navy),var(--navy)) center/2px .7rem no-repeat;
}
.wp-block-details.plg[open] > summary::after{border-color:var(--orange);background:linear-gradient(var(--navy),var(--navy)) center/.7rem 2px no-repeat}
.wp-block-details.plg > :not(summary){margin:0 1.2rem .6rem calc(1.2rem + 2.1rem + 1rem);font-size:.9688rem;line-height:1.62;color:var(--body)}
.pliego:not(.pliego--num) .wp-block-details.plg > :not(summary){margin-left:1.2rem}
.wp-block-details.plg > :last-child{margin-bottom:1.3rem}
.wp-block-details.plg > ul{list-style:none;padding:1rem 1.1rem;background:var(--gris-calido);border-radius:.8rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.2rem;font-size:.9375rem}
.wp-block-details.plg > ul li{position:relative;padding-left:1.1rem}
.wp-block-details.plg > ul li::before{content:"";position:absolute;left:0;top:.55em;width:.4rem;height:.4rem;background:var(--orange)}
@media (max-width:600px){.wp-block-details.plg > :not(summary){margin-left:1.2rem}.wp-block-details.plg > ul{grid-template-columns:minmax(0,1fr)}}
/* el número de paso, que antes era un <span>, ahora es un párrafo */
.paso p.paso__n,.via p.via__n,.cadena p.cadena__n{margin:0}

/* ---------- La firma: el isotipo que se arma y avanza ----------
   Cinco cuadrados con la geometría del logotipo (viewBox 109,28 × 187,84) y el
   trazo naranja y grueso, como el logotipo: ≈12 % del lado del cuadrado. */
.fport__lienzo{position:relative;justify-self:center;display:grid;place-items:center}
.fport__isotipo{position:relative;height:min(62vh,30rem);aspect-ratio:109.28/187.84}
.isotipo{position:absolute;inset:0;container-type:inline-size}
.isotipo i{
  position:absolute;width:37%;aspect-ratio:1;box-sizing:border-box;
  border:max(4px,5.2cqw) solid var(--orange);border-radius:10.3%;
  left:var(--x);top:var(--y);will-change:transform,opacity;
}
.isotipo i:nth-child(1){--x:-0.2%;--y:-0.11%}
.isotipo i:nth-child(2){--x:31.5%;--y:19.57%}
.isotipo i:nth-child(3){--x:63.2%;--y:39.24%}
.isotipo i:nth-child(4){--x:31.5%;--y:58.91%}
.isotipo i:nth-child(5){--x:-0.2%;--y:78.59%}
.isotipo--eco{opacity:0}
.isotipo--eco i{border-color:var(--navy)}
@media (max-width:900px){.fport__isotipo{height:min(42vh,18rem);margin-top:1rem}}

/* ---------- La firma · el equipo: texto y los siete perfiles en lista ---------- */
.equipo--lista .equipo__int{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.equipo--lista .equipo__texto{position:sticky;top:calc(var(--cab-alto) + 2rem)}
.equipo--lista .equipo__texto .entrada{max-width:46ch}
.perfiles{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.perfil{
  display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;
  padding:clamp(1rem,1.8vw,1.35rem) clamp(.6rem,1.2vw,1rem);border-bottom:1px solid var(--line);
  transition:background-color .35s var(--ease),padding .35s var(--ease);
}
.perfil__n{font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:var(--orange)}
.perfil__nombre{font-size:clamp(1.25rem,2.1vw,1.7rem);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--navy)}
.perfil__ico{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--navy);color:#fff;transition:background-color .35s var(--ease),transform .45s var(--ease)}
.perfil__ico .ico{width:1.25rem;height:1.25rem}
.perfil:hover{background:#fff;padding-left:clamp(1rem,1.8vw,1.4rem)}
.perfil:hover .perfil__ico{background:var(--orange);transform:rotate(-8deg)}
/* entran uno detrás de otro al llegar */
.js-on .perfil{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease) calc(var(--i) * 70ms),transform .6s var(--ease) calc(var(--i) * 70ms),background-color .35s var(--ease),padding .35s var(--ease)}
.js-on .perfiles.esta .perfil{opacity:1;transform:none}
@media (max-width:900px){
  .equipo--lista .equipo__int{grid-template-columns:minmax(0,1fr)}
  .equipo--lista .equipo__texto{position:static}
}
@media (prefers-reduced-motion:reduce){.js-on .perfil{opacity:1;transform:none}}

/* ---------- La firma · Cómo trabajamos: los tres pilares como recorrido ---------- */
.proceso{background:var(--paper,#FBFAF8)}
.proceso__int{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.proceso__texto{position:sticky;top:calc(var(--cab-alto) + 2rem)}
.proceso__texto .entrada{max-width:48ch}
.proceso__lead{margin-top:1.4rem;font-weight:600;color:var(--navy)}
.proceso__pasos{position:relative;list-style:none;margin:0;padding:.5rem 0 0;--avance:0}
.proceso__linea{position:absolute;left:1.6rem;top:1.6rem;bottom:2.5rem;width:3px;margin-left:-1.5px;border-radius:3px;background:var(--line)}
.proceso__linea span{position:absolute;inset:0;transform-origin:top;transform:scaleY(var(--avance));background:var(--orange);border-radius:inherit}
.proceso__paso{position:relative;display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:clamp(1.2rem,2.5vw,2rem);padding-bottom:clamp(2.6rem,6vw,4.5rem)}
.proceso__paso:last-child{padding-bottom:0}
.proceso__nodo{
  position:relative;z-index:1;display:grid;place-items:center;width:3.2rem;aspect-ratio:1;
  border:4px solid var(--line);border-radius:22%;background:var(--paper,#FBFAF8);
  transform:rotate(-12deg) scale(.86);
  transition:border-color .5s var(--ease),background-color .5s var(--ease),transform .7s var(--ease);
}
.proceso__nodo b{font-size:.8125rem;font-weight:700;letter-spacing:.06em;color:var(--muted);transform:rotate(12deg);transition:color .4s var(--ease),transform .7s var(--ease)}
.proceso__c{padding:.35rem 0 0;opacity:.35;transform:translateX(12px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.proceso__c h3{margin:0 0 .6rem;font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:600;letter-spacing:-.02em;line-height:1.15;color:var(--navy)}
.proceso__c p{margin:0;max-width:46ch;font-size:1.0313rem;line-height:1.65;color:var(--body)}
/* paso alcanzado: el cuadrado se endereza y se enciende */
.proceso__paso.es-hecho .proceso__nodo{border-color:var(--orange);background:var(--orange);transform:none}
.proceso__paso.es-hecho .proceso__nodo b{color:#fff;transform:none}
.proceso__paso.es-hecho .proceso__c{opacity:1;transform:none}
/* el paso en el que se está, un punto más marcado */
.proceso__paso.es-actual .proceso__c h3{color:var(--orange-oscuro,#e06c33)}
@media (max-width:900px){
  .proceso__int{grid-template-columns:minmax(0,1fr)}
  .proceso__texto{position:static}
}
@media (prefers-reduced-motion:reduce){
  .proceso__nodo,.proceso__nodo b,.proceso__c{transition:none}
}

/* ---------- La firma · Para quién trabajamos: grupos que encienden su tarjeta ---------- */
.pq2 .pq2__cab{max-width:62rem}
.pq2__lista{font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.9;color:var(--navy);max-width:none}
.pq2__chip{
  display:inline-block;margin:.1rem 0;padding:.15rem .7rem;border:1px solid var(--line);border-radius:999px;
  background:#fff;color:var(--navy);font:inherit;font-size:.86em;font-weight:500;line-height:1.5;cursor:pointer;
  transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);
}
.pq2__chip:hover,.pq2__chip:focus-visible{border-color:var(--orange);outline:none}
.pq2__chip.es-activo{background:var(--orange);border-color:var(--orange);color:#fff}
.pq2__tarjetas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(2rem,4vw,3rem)}
.pq2__t{
  position:relative;overflow:hidden;cursor:pointer;
  padding:clamp(1.8rem,3.5vw,2.8rem);border-radius:22px;border:1px solid var(--line);background:#fff;
  transition:background-color .5s var(--ease),border-color .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease);
}
.pq2__t p{position:relative;z-index:1;margin:clamp(2.6rem,5vw,3.6rem) 0 0;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.6;color:var(--muted);transition:color .5s var(--ease)}
.pq2__t.es-activa{background:var(--navy);border-color:var(--navy);transform:translateY(-4px);box-shadow:0 30px 60px -26px rgba(16,40,72,.55)}
.pq2__t.es-activa p{color:#fff}
.pq2__t:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
/* la escalera de tres cuadrados del manual: suelta en reposo, en su sitio al activarse */
.pq2__iso{position:absolute;left:clamp(1.8rem,3.5vw,2.8rem);top:clamp(1.6rem,3vw,2.4rem);width:3.6rem;height:2.4rem}
.pq2__iso i{
  position:absolute;width:1.25rem;height:1.25rem;box-sizing:border-box;border:3px solid var(--line);border-radius:22%;
  transition:transform .6s var(--ease),border-color .5s var(--ease);
}
.pq2__iso i:nth-child(1){left:0;top:1.15rem;transform:translate(-.3rem,.4rem) rotate(-14deg)}
.pq2__iso i:nth-child(2){left:1.1rem;top:.57rem;transform:translate(0,.6rem) rotate(10deg)}
.pq2__iso i:nth-child(3){left:2.2rem;top:0;transform:translate(.4rem,.3rem) rotate(-8deg)}
.pq2__t.es-activa .pq2__iso i{border-color:var(--orange);transform:none}
.pq2__t.es-activa .pq2__iso i:nth-child(2){transition-delay:.08s}
.pq2__t.es-activa .pq2__iso i:nth-child(3){transition-delay:.16s}
@media (max-width:860px){.pq2__tarjetas{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   Home de sede · bloques del documento de Drive (13.10.2026)
   ============================================================ */
/* Bloque 2 de España: la frase de confianza, encima de las cifras */
.franja__lema{
  margin:clamp(2rem,4vw,3rem) 0 0;
  font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:#fff;
}
.franja__lema em{font-style:normal;color:var(--orange)}
.franja__lema + .franja__cifras{margin-top:clamp(1.2rem,2.4vw,1.8rem)}

/* «Ver todos los servicios →», «Conoce Abansa Patrimonis →» */
.ver-todos{margin:clamp(1.8rem,3.4vw,2.6rem) 0 0}
.ver-todos--centro{text-align:center}

/* Andorra · ¿Por qué elegir Andorra? */
.eleccion__int{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.eleccion__texto p{margin:0 0 1.1rem;font-size:clamp(1rem,1.2vw,1.0625rem);line-height:1.7;color:var(--body)}
.eleccion__texto strong{color:var(--navy);font-weight:600}
.llamada{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;
  margin-top:clamp(2rem,4vw,3rem);padding:clamp(1.4rem,3vw,2rem) clamp(1.4rem,3vw,2.2rem);
  border-radius:var(--radio,14px);background:var(--gris-calido);
}
.llamada p{margin:0;max-width:46ch;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:500;line-height:1.4;color:var(--navy)}
@media (max-width:860px){.eleccion__int{grid-template-columns:minmax(0,1fr)}}

/* Preguntas frecuentes de Andorra: respuestas largas del documento */
.faq .pregunta ul{margin:.2rem 0 1rem;padding-left:1.2rem}
.faq .pregunta li{margin:.35rem 0;line-height:1.6}
.faq .pregunta p + p{margin-top:.75rem}

/* Actualidad y redes */
.actualidad-sede__int,.redes-sede__int{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem}
.actualidad-sede .entrada{margin-bottom:0}
.actualidad-sede__etiquetas{display:flex;gap:.5rem;margin:1rem 0 0}
.actualidad-sede__etiquetas span{
  padding:.3rem .8rem;border:1px solid var(--line);border-radius:999px;
  font-size:.8125rem;font-weight:500;color:var(--navy);
}
.redes-sede{padding-top:0}
.redes-sede__int{align-items:center;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.redes-sede .titulo{margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem)}
.redes-sede__lista{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.redes-sede__lista a{
  display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.1rem;
  border:1px solid var(--line);border-radius:999px;
  font-size:.9375rem;font-weight:500;color:var(--navy);text-decoration:none;
  transition:border-color .3s var(--ease),color .3s var(--ease);
}
.redes-sede__lista a:hover{border-color:var(--orange);color:var(--orange)}
.redes-sede__lista svg{width:.85rem;height:.85rem}
.contacto__directo{margin:1.6rem 0 .4rem;font-size:1.0625rem;font-weight:600}
.contacto__lista--directo li span{display:none}

/* Bloque 1 del documento de Drive, debajo de la portada con vídeo */
.intro-sede__int{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.intro-sede__titulo{margin:0;font-size:clamp(1.5rem,2.8vw,2.3rem);font-weight:600;line-height:1.18;letter-spacing:-.025em;color:var(--navy)}
.intro-sede__texto p{margin:0 0 1rem;font-size:clamp(1rem,1.2vw,1.0625rem);line-height:1.7;color:var(--body)}
.intro-sede__botones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
@media (max-width:860px){.intro-sede__int{grid-template-columns:minmax(0,1fr)}}

/* Servicios de Andorra: las doce áreas del documento 03 */
.tramo--area{scroll-margin-top:calc(var(--cab-alto,5rem) + 1rem)}
.tramo--area .tramo__sub{margin:.4rem 0 1.4rem;font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:500;line-height:1.35;color:var(--orange)}
.plano__cierre{grid-column:1 / -1;max-width:52rem}
.oficinas__general{margin:1.6rem 0 0;color:rgba(255,255,255,.82)}
.oficinas__general a{color:var(--orange)}
.llamada--navy{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.llamada--navy .titulo{margin:0 0 .5rem;font-size:clamp(1.3rem,2.2vw,1.7rem);color:#fff}
.llamada--navy p{color:rgba(255,255,255,.84);font-weight:400;max-width:56ch}
.cport__directo{margin:1.8rem 0 .2rem;font-size:1.0625rem;font-weight:600;color:var(--navy)}
.firma-hist__titulo{margin:0 0 1rem}

/* ============================================================
   La firma · Para quién trabajamos
   Sobria, de despacho: título y frase a la izquierda; los dos
   ámbitos a la derecha, separados por filetes que al pasar se
   completan en naranja. Fondo gris cálido, nunca amarillo.
   ============================================================ */
.pq4{background:var(--gris-calido)}
.pq4__int{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.pq4__cab .titulo{margin-top:0}
.pq4__cab .entrada{margin-bottom:0;max-width:34ch}
.pq4__lista{display:grid;gap:clamp(.9rem,1.6vw,1.2rem);margin:0;padding:0;list-style:none}
/* Tarjetas sobrias: blancas, filete fino, número pequeño y la trama de la
   marca muy tenue en la esquina. Al pasar: filete superior naranja. */
.pq4__ambito{
  position:relative;overflow:hidden;isolation:isolate;
  display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;
  padding:clamp(1.5rem,2.6vw,2.1rem) clamp(1.4rem,2.6vw,2.2rem);
  padding-right:clamp(5rem,9vw,8rem);
  background:#fff;border:1px solid rgba(25,60,106,.12);border-radius:14px;
  transition:border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.pq4__ambito::before{
  content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--orange);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);
}
.pq4__ambito:hover{border-color:rgba(25,60,106,.22);box-shadow:0 18px 40px -28px rgba(16,40,72,.35)}
.pq4__ambito:hover::before,.pq4__lista.es-visible .pq4__ambito:first-child::before{transform:scaleX(1)}
.pq4__lista.es-visible:hover .pq4__ambito:first-child:not(:hover)::before{transform:scaleX(0)}
.pq4__trama{
  position:absolute;z-index:-1;right:-1.5rem;bottom:-1.5rem;width:clamp(8rem,14vw,11rem);aspect-ratio:1200/1324;
  background:var(--navy);opacity:.09;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
  mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
  transition:opacity .6s var(--ease),transform .9s var(--ease);
}
.pq4__ambito:hover .pq4__trama{opacity:.16;transform:translate(-4px,-4px)}
.pq4__n{font-size:.875rem;font-weight:600;letter-spacing:.08em;color:var(--orange);padding-top:.25rem}
.pq4__ambito p{margin:0;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.7;color:var(--navy)}
@media (max-width:860px){.pq4__int{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.pq4__ambito::before{transition:none}}

/* Presencia en España, Andorra y EAU (La firma y home): el texto largo se
   reparte a todo el ancho de la página, en dos columnas, en vez de quedar
   encajonado en la columna de 46rem de la cabecilla. */
.oficinas .cabecilla{max-width:none}
.oficinas .cabecilla .entrada{max-width:none}
.oficinas__texto{column-count:2;column-gap:clamp(2rem,5vw,4.5rem);margin-top:1.1rem}
.oficinas__texto .entrada{margin:0 0 .9rem;break-inside:avoid}
@media (max-width:860px){.oficinas__texto{column-count:1}}

/* Oficinas: tarjetas blancas sobre el navy (petición 13.10.2026) */
.oficinas .oficina{background:#fff;border-color:transparent;box-shadow:0 18px 40px -30px rgba(0,0,0,.45)}
.oficinas .oficina:hover{background:#fff;border-color:var(--orange)}
.oficinas .oficina::after{filter:none;opacity:.07}
.oficinas .oficina h3{color:var(--navy)}
.seccion--navy.oficinas .oficina address{color:var(--body,#4a5568)}
.oficinas .oficina address a{color:var(--navy);border-bottom-color:rgba(240,125,70,.7)}
.oficinas .oficina address a:hover{color:var(--orange)}

/* Introducción de las páginas (p. ej. «Integramos diferentes áreas…» en
   Servicios): el texto corre a todo el ancho, en una sola columna, en vez de
   las dos columnas estrechas de revista (petición 13.10.2026). */
.tramo--intro .tramo__rotulo + p ~ p{column-count:1;max-width:none;font-size:clamp(1rem,1.2vw,1.0625rem)}

/* ============================================================
   Menú por debajo de 1320 px: botón de tres rayas y panel
   Antes el menú se ocultaba y no había forma de abrirlo.
   ============================================================ */
.cab__menu{display:none}
@media (max-width:1320px){
  .cab__menu{
    display:inline-grid;place-content:center;gap:5px;flex:none;
    width:2.75rem;height:2.75rem;margin-left:auto;padding:0;
    border:1px solid currentColor;border-radius:999px;background:transparent;color:#fff;cursor:pointer;
  }
  .cab.solida .cab__menu{color:var(--navy);border-color:var(--line)}
  .cab__menu span{display:block;width:1.1rem;height:1.5px;background:currentColor;transition:transform .3s ease,opacity .3s ease}
  .cab.menu-abierto .cab__menu span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .cab.menu-abierto .cab__menu span:nth-child(2){opacity:0}
  .cab.menu-abierto .cab__menu span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .cab .sedes{margin-left:0}
  .cab.menu-abierto{background:#fff;box-shadow:0 1px 0 var(--line)}
  .cab.menu-abierto .logo{color:var(--navy)}
  .cab.menu-abierto .cab__menu{color:var(--navy);border-color:var(--line)}
  .cab.menu-abierto .sedes{border-color:var(--line)}
  .cab.menu-abierto .sedes a{color:var(--navy)}
  .cab.menu-abierto .sedes a[aria-current="page"]{background:var(--navy);color:#fff}
  .cab.menu-abierto .idioma__btn{color:var(--navy);border-color:var(--line)}
  .cab.menu-abierto .nav{
    display:block;position:absolute;left:0;right:0;top:100%;
    max-height:calc(100svh - var(--cab-alto));overflow-y:auto;
    padding:1rem clamp(1rem,5vw,3rem) 2rem;background:#fff;
    box-shadow:0 24px 40px -24px rgba(16,40,72,.3);
  }
  .cab.menu-abierto .nav__lista{flex-direction:column;align-items:stretch;gap:0}
  .cab.menu-abierto .nav__lista > li{border-bottom:1px solid var(--line)}
  .cab.menu-abierto .nav a{display:block;padding:.95rem 0;font-size:1.0625rem;color:var(--navy)}
  .cab.menu-abierto .nav a::after{display:none}
  .cab.menu-abierto .nav__lista .menu-item-has-children > a::before,
  .cab.menu-abierto .nav__lista .menu-item-has-children::after{display:none}
  .cab.menu-abierto .nav__lista .sub-menu{
    position:static;opacity:1;visibility:visible;transform:none;
    min-width:0;padding:0 0 .7rem 1rem;border:0;box-shadow:none;background:transparent;
  }
  .cab.menu-abierto .nav__lista .sub-menu a{padding:.5rem 0;font-size:.9688rem;color:var(--body,#4a5568)}
}
@media (max-width:1320px){
  .cab.menu-abierto .cab__cta{background:var(--navy);color:#fff}
}
@media (max-width:520px){
  .cab__int{gap:.6rem}
  .cab .sedes a{padding:.34rem .55rem;letter-spacing:.08em;font-size:.66rem}
  .cab__menu{width:2.5rem;height:2.5rem}
}

/* ============================================================
   Maqueta «guía» (Crear empresa en Andorra y páginas largas)
   Cada apartado del documento en su bloque: sin pestañas, sin
   nada escondido y sin bloques que se monten unos sobre otros.
   Fondos: blanco, gris cálido y navy para la nota (nunca amarillo).
   ============================================================ */
.guia{padding:clamp(3.5rem,7vw,6rem) 0;background:#fff}
.guia .titulo{margin:0 0 1.2rem}
.guia p{margin:0 0 1rem;font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.75;color:var(--body,#4a5568)}
.guia p:last-child{margin-bottom:0}
.guia strong{color:var(--navy);font-weight:600}
.guia ul{margin:.4rem 0 1.1rem;padding:0;list-style:none;display:grid;gap:.45rem}
.guia ul li{position:relative;padding-left:1.2rem;line-height:1.6;color:var(--navy)}
.guia ul li::before{content:"";position:absolute;left:0;top:.6em;width:.45rem;height:.45rem;background:var(--orange);border-radius:2px}
.guia__dos{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:start}

/* 1 · introducción con foto */
.guia--intro .guia__dos{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}
.guia__foto{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/5}
.guia__foto img{width:100%;height:100%;object-fit:cover;display:block}

/* 2 · fases: línea vertical con número en cada parada */
.guia--fases{background:var(--gris-calido)}
.guia__lado{position:sticky;top:calc(var(--cab-alto) + 2rem)}
.guia__fases{counter-reset:fase;position:relative;display:grid;gap:1rem}
.guia__fases::before{content:"";position:absolute;left:1.25rem;top:1.5rem;bottom:1.5rem;width:2px;background:rgba(25,60,106,.15)}
.guia__fase{
  position:relative;counter-increment:fase;
  padding:1.5rem 1.6rem 1.5rem 4.4rem;background:#fff;border:1px solid rgba(25,60,106,.1);border-radius:14px;
}
.guia__fase::before{
  content:counter(fase,decimal-leading-zero);position:absolute;left:.45rem;top:1.35rem;
  display:grid;place-items:center;width:1.6rem;height:1.6rem;
  font-size:.75rem;font-weight:700;letter-spacing:.04em;color:#fff;background:var(--navy);border-radius:7px;
  box-shadow:0 0 0 6px var(--gris-calido);
}
.guia__fase h3{margin:0 0 .6rem;font-size:clamp(1.0625rem,1.4vw,1.25rem);line-height:1.3;color:var(--navy)}
.guia__fase ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem}

/* 3 · tarjetas */
.guia__cab{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.guia__cab .titulo{margin:0}
.guia__cartas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.guia__carta{position:relative;padding:1.6rem 1.7rem;background:#fff;border:1px solid rgba(25,60,106,.12);border-radius:14px;border-top:3px solid var(--orange)}
.guia--cartas:nth-of-type(even){background:var(--gris-calido)}
.guia__carta h3{margin:0 0 .6rem;font-size:1.1875rem;line-height:1.3;color:var(--navy)}
.guia__cola{margin-top:clamp(1.5rem,3vw,2.2rem);padding-top:1.4rem;border-top:1px solid rgba(25,60,106,.15)}
.guia__cola p{color:var(--navy);font-weight:500}

/* 5 · nota destacada */
.guia--nota{background:var(--navy)}
.guia--nota .titulo{color:#fff}
.guia--nota p{color:rgba(255,255,255,.84)}

/* 6 · texto largo */
.guia--texto .titulo{position:sticky;top:calc(var(--cab-alto) + 2rem)}

/* 4 · cierre */
.guia--cierre{background:var(--gris-calido);text-align:center}
.guia__cierre{max-width:52rem}
.guia__cierre p{margin-inline:auto}
.guia__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:1.8rem!important}
.guia__ctas .btn--linea{color:var(--navy);border-color:rgba(25,60,106,.3)}
.guia__ctas .btn--linea:hover{background:var(--navy);color:#fff}

@media (max-width:900px){
  .guia__dos,.guia--intro .guia__dos,.guia__cab{grid-template-columns:minmax(0,1fr)}
  .guia__lado,.guia--texto .titulo{position:static}
  .guia__foto{aspect-ratio:16/10}
  .guia__cartas{grid-template-columns:minmax(0,1fr)}
  .guia__fase ul{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  .guia__fase{padding:1.25rem 1.1rem 1.25rem 3.3rem}
  .guia__fases::before{left:1.05rem}
  .guia__fase::before{left:.25rem}
}

/* Fases: el número va dentro de la tarjeta, arriba a la izquierda, sin línea
   exterior ni aro que se salgan del borde (13.10.2026). */
.guia__fases::before{display:none}
.guia__fase{padding:1.6rem 1.7rem 1.6rem 4.6rem}
.guia__fase::before{
  left:1.5rem;top:1.55rem;width:2.1rem;height:2.1rem;border-radius:9px;
  font-size:.8125rem;box-shadow:none;background:var(--navy);
}
.guia__fase h3{min-height:2.1rem;display:flex;align-items:center}
@media (max-width:600px){
  .guia__fase{padding:1.3rem 1.2rem 1.3rem 3.9rem}
  .guia__fase::before{left:1.1rem;top:1.25rem;width:1.9rem;height:1.9rem}
  .guia__fase h3{min-height:1.9rem}
}

/* ---------- Interior de las tarjetas de fases (13.10.2026) ----------
   Orden de lectura claro dentro de cada fase:
   título → frase principal → «Analizamos aspectos como:» como rótulo →
   la lista en fichas con marca → la frase de cierre como resultado destacado. */
.guia__fase h3{
  margin:0 0 1rem;padding-bottom:1rem;border-bottom:1px solid rgba(25,60,106,.1);
  font-size:clamp(1.125rem,1.5vw,1.3125rem);font-weight:600;letter-spacing:-.01em;
}
.guia__fase h3 + p{font-size:clamp(1.0625rem,1.25vw,1.125rem);line-height:1.65;color:var(--navy)}
/* la línea que presenta una lista */
.guia__fase p:has(+ ul){
  margin:1.2rem 0 .7rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);
}
/* la lista: fichas suaves con marca, en dos columnas que no se pisan */
.guia__fase ul{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem;margin:0 0 1.2rem;
}
.guia__fase ul li{
  display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;
  background:var(--gris-calido);border-radius:10px;
  font-size:.9375rem;line-height:1.45;color:var(--navy);
}
.guia__fase ul li::before{
  position:static;flex:none;margin-top:.15rem;width:1rem;height:1rem;border-radius:50%;
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/70% no-repeat;
}
/* la frase que cierra la fase, tras la lista: resultado destacado */
.guia__fase ul + p{
  margin-top:.2rem;padding:.9rem 1.1rem;border-left:3px solid var(--orange);border-radius:0 10px 10px 0;
  background:rgba(240,125,70,.07);color:var(--navy);
}
/* fases sin lista: el segundo párrafo, separado con un filete fino */
.guia__fase h3 + p + p:not(:has(+ ul)){padding-top:1rem;border-top:1px dashed rgba(25,60,106,.15)}

/* Tarjetas (tipos de empresa, ventajas): título con marca y primera frase en navy */
.guia__carta h3{display:flex;align-items:center;gap:.6rem}
.guia__carta h3::before{content:"";flex:none;width:.6rem;height:.6rem;background:var(--orange);border-radius:2px}
.guia__carta p:first-of-type{color:var(--navy)}
@media (max-width:600px){.guia__fase ul{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   Fases como pasador: números arriba, una tarjeta, flechas abajo
   (assets/js/interior.js). Sin JS se ven todas en columna.
   ============================================================ */
.fases-nav{position:relative;display:flex;justify-content:space-between;align-items:center;margin:0 0 1.4rem}
.fases-nav__linea{position:absolute;left:1.3rem;right:1.3rem;top:50%;height:2px;margin-top:-1px;background:rgba(25,60,106,.15);border-radius:2px;overflow:hidden}
.fases-nav__linea span{display:block;height:100%;background:var(--orange);transform-origin:left;transform:scaleX(0);transition:transform .7s cubic-bezier(.16,1,.3,1)}
.fases-nav__n{
  position:relative;z-index:1;width:2.6rem;height:2.6rem;padding:0;border-radius:50%;
  border:2px solid rgba(25,60,106,.2);background:#fff;color:var(--navy);
  font:600 .8125rem/1 inherit;font-family:inherit;letter-spacing:.02em;cursor:pointer;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .35s,border-color .35s,color .35s,box-shadow .35s;
}
.fases-nav__n:hover{border-color:var(--orange);color:var(--orange)}
.fases-nav__n.es-hecha{border-color:var(--orange);background:var(--orange);color:#fff}
.fases-nav__n.es-actual{
  transform:scale(1.18);border-color:var(--navy);background:var(--navy);color:#fff;
  box-shadow:0 0 0 6px rgba(25,60,106,.1);
}
.fases-nav__n.es-actual::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--orange);
  animation:fase-pulso 1.8s cubic-bezier(.16,1,.3,1) infinite;
}
@keyframes fase-pulso{0%{opacity:.9;transform:scale(.85)}100%{opacity:0;transform:scale(1.45)}}

.fases-escena{position:relative;outline:none}
.guia__fases.es-pasador{display:block;position:relative;transition:height .55s cubic-bezier(.16,1,.3,1)}
.guia__fases.es-pasador .guia__fase{position:absolute;top:0;left:0;right:0;opacity:0;visibility:hidden;pointer-events:none}
.guia__fases.es-pasador .guia__fase.es-activa{opacity:1;visibility:visible;pointer-events:auto}
.guia__fases.es-pasador .guia__fase.entra{animation:fase-entra .62s cubic-bezier(.16,1,.3,1) both}
.guia__fases.es-pasador .guia__fase.sale{animation:fase-sale .45s cubic-bezier(.7,0,.84,0) both;z-index:0}
.guia__fases.es-pasador .guia__fase.entra{z-index:1}
@keyframes fase-entra{from{opacity:0;transform:translateX(calc(var(--dir,1) * 70px)) rotate(calc(var(--dir,1) * 1.2deg))}to{opacity:1;transform:none}}
@keyframes fase-sale{to{opacity:0;transform:translateX(calc(var(--dir,1) * -50px)) scale(.97)}}
/* las piezas de la tarjeta que entra llegan escalonadas; el número da un giro */
.guia__fase.entra::before{animation:fase-numero .6s cubic-bezier(.34,1.56,.64,1) both}
@keyframes fase-numero{from{transform:rotate(-90deg) scale(.4);opacity:0}to{transform:none;opacity:1}}
.guia__fase.entra > *{animation:fase-pieza .55s cubic-bezier(.16,1,.3,1) both}
.guia__fase.entra > *:nth-child(2){animation-delay:.08s}
.guia__fase.entra > *:nth-child(3){animation-delay:.14s}
.guia__fase.entra > *:nth-child(4){animation-delay:.2s}
.guia__fase.entra > *:nth-child(n+5){animation-delay:.26s}
.guia__fase.entra ul li{animation:fase-pieza .5s cubic-bezier(.16,1,.3,1) both}
.guia__fase.entra ul li:nth-child(2){animation-delay:.22s}
.guia__fase.entra ul li:nth-child(3){animation-delay:.28s}
.guia__fase.entra ul li:nth-child(4){animation-delay:.34s}
.guia__fase.entra ul li:nth-child(n+5){animation-delay:.4s}
@keyframes fase-pieza{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.fases-pie{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem}
.fases-pie__cuenta{font-size:.875rem;color:var(--muted,#6b7280)}
.fases-pie__cuenta b{color:var(--navy);font-size:1.125rem}
.fases-pie__f{
  position:relative;width:3.1rem;height:3.1rem;padding:0;border-radius:50%;cursor:pointer;
  border:1px solid rgba(25,60,106,.2);background:#fff;
  transition:background .3s,border-color .3s,transform .3s,opacity .3s;
}
.fases-pie__f::before{
  content:"";position:absolute;left:50%;top:50%;width:.6rem;height:.6rem;
  border-top:2px solid var(--navy);border-right:2px solid var(--navy);
  transform:translate(-65%,-50%) rotate(45deg);transition:border-color .3s;
}
.fases-pie__f--atras::before{transform:translate(-35%,-50%) rotate(-135deg)}
.fases-pie__f:hover:not(:disabled){background:var(--navy);border-color:var(--navy)}
.fases-pie__f:hover:not(:disabled)::before{border-color:#fff}
.fases-pie__f--adelante:not(:disabled){background:var(--orange);border-color:var(--orange)}
.fases-pie__f--adelante:not(:disabled)::before{border-color:#fff}
.fases-pie__f--adelante:hover:not(:disabled){background:var(--navy);border-color:var(--navy)}
.fases-pie__f:disabled{opacity:.35;cursor:default}
@media (max-width:600px){
  .fases-nav__n{width:2.1rem;height:2.1rem;font-size:.6875rem}
  .fases-nav__n.es-actual{transform:scale(1.12)}
}
@media (prefers-reduced-motion:reduce){
  .fases-nav__n.es-actual::after{animation:none;display:none}
}

/* ---------- Nota sobre navy (¿Cuánto tiempo…?): trama de la marca ---------- */
.guia--nota{position:relative;overflow:hidden;isolation:isolate}
.guia--nota::before,.guia--nota::after{
  content:"";position:absolute;z-index:-1;pointer-events:none;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
  mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia--nota::before{right:-3rem;bottom:-4rem;width:clamp(14rem,26vw,22rem);aspect-ratio:1200/1324;opacity:.07;animation:trama-flota 14s ease-in-out infinite alternate}
.guia--nota::after{left:-5rem;top:-6rem;width:clamp(9rem,15vw,13rem);aspect-ratio:1200/1324;opacity:.04;transform:rotate(180deg);animation:trama-flota2 18s ease-in-out infinite alternate}
@keyframes trama-flota{to{transform:translate(-2rem,-1.2rem)}}
@keyframes trama-flota2{to{transform:rotate(180deg) translate(-1.5rem,-1rem)}}
@media (prefers-reduced-motion:reduce){.guia--nota::before,.guia--nota::after{animation:none}}
.fases-caja{min-width:0}
/* la tarjeta que sale no asoma por debajo mientras la caja cambia de alto */
.guia__fases.es-pasador{overflow:hidden;border-radius:14px}
/* la frase que presenta la lista: sin mayúsculas (algunas son frases largas) */
.guia__fase p:has(+ ul){
  font-size:.9375rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--orange);line-height:1.55;
}
.tramo .fases-caja{max-width:56rem}

/* ---------- Tarjetas de la guía: icono, alturas iguales y mosaico ----------
   (Tipos de empresas, Ventajas…). Mosaico cuando la primera trae más texto:
   esa va grande en navy con la trama de la marca, las otras tres a su lado. */
.guia__cartas{grid-auto-rows:1fr}
.guia__carta{display:flex;flex-direction:column;gap:0;border-top-width:1px;border-top-color:rgba(25,60,106,.12)}
.guia__carta h3::before{display:none}
.guia__ico{
  display:grid!important;place-items:center;width:3rem;height:3rem;margin:0 0 1.1rem!important;
  border-radius:12px;background:var(--gris-calido);color:var(--orange);
}
.guia__ico .ico{width:1.5rem;height:1.5rem}
.guia__carta:hover{border-color:var(--orange)}

.guia__cartas--mosaico{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-auto-rows:auto}
.guia__cartas--mosaico .guia__carta:nth-child(1){
  grid-row:1 / span 2;position:relative;overflow:hidden;isolation:isolate;
  background:var(--navy);border-color:var(--navy);padding:2.2rem 2.1rem;
}
.guia__cartas--mosaico .guia__carta:nth-child(1)::after{
  content:"";position:absolute;z-index:-1;right:-2.5rem;bottom:-3rem;width:15rem;aspect-ratio:1200/1324;opacity:.08;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia__cartas--mosaico .guia__carta:nth-child(1) h3{color:#fff;font-size:clamp(1.35rem,2vw,1.6rem)}
.guia__cartas--mosaico .guia__carta:nth-child(1) p{color:rgba(255,255,255,.84)}
.guia__cartas--mosaico .guia__carta:nth-child(1) p:first-of-type{color:#fff}
.guia__cartas--mosaico .guia__carta:nth-child(1) .guia__ico{background:var(--orange);color:#fff}
.guia__cartas--mosaico .guia__carta:nth-child(4){grid-column:2 / span 2}

/* la frase que cierra el apartado: aviso con marca, no una línea suelta */
.guia__cola{
  display:flex;align-items:center;gap:1rem;margin-top:1.1rem;padding:1.2rem 1.5rem;border:0;
  background:#fff;border-radius:14px;border-left:3px solid var(--orange);
}
.guia__cola::before{
  content:"";flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(240,125,70,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F07D46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center/1.2rem no-repeat;
}
.guia__cola p{margin:0;font-weight:500}

@media (max-width:900px){
  .guia__cartas--mosaico{grid-template-columns:minmax(0,1fr)}
  .guia__cartas--mosaico .guia__carta:nth-child(1){grid-row:auto}
  .guia__cartas--mosaico .guia__carta:nth-child(4){grid-column:auto}
}
.guia p.guia__ico{color:var(--orange)}
.guia__ico .ico{stroke:currentColor;stroke-width:1.6}
.guia__cartas--mosaico .guia__carta:nth-child(1) p.guia__ico{color:#fff}

/* ---------- Texto largo de la guía, ordenado como una respuesta ----------
   (¿Puedo crear una empresa en Andorra y vivir en otro país?) */
.guia--texto .titulo{font-size:clamp(1.9rem,3.4vw,2.8rem)}
.guia__respuesta{
  position:relative;margin:0 0 1.6rem;padding:0 0 1.6rem 1.4rem;border-bottom:1px solid rgba(25,60,106,.12);
}
.guia__respuesta::before{content:"";position:absolute;left:0;top:.35rem;bottom:1.95rem;width:3px;border-radius:3px;background:var(--orange)}
.guia__respuesta p{font-size:clamp(1.2rem,1.7vw,1.45rem)!important;line-height:1.5!important;color:var(--navy)!important;font-weight:500}
.guia--texto .guia__texto strong{
  color:var(--navy);font-weight:600;
  background:linear-gradient(transparent 62%,rgba(240,125,70,.22) 62%);padding:0 .1em;
}
.guia__aviso{
  display:flex;gap:1rem;align-items:flex-start;margin:1.4rem 0;padding:1.2rem 1.4rem;
  background:var(--gris-calido);border-radius:14px;
}
.guia__aviso::before{
  content:"";flex:none;width:2.3rem;height:2.3rem;border-radius:10px;
  background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F07D46' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19L12 3z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E") center/1.25rem no-repeat;
}
.guia__aviso p{margin:0;color:var(--navy)}
.guia__nosotros{
  position:relative;overflow:hidden;isolation:isolate;margin-top:1.8rem;padding:1.8rem 2rem;
  background:var(--navy);border-radius:16px;
}
.guia__nosotros::after{
  content:"";position:absolute;z-index:-1;right:-2rem;bottom:-2.5rem;width:11rem;aspect-ratio:1200/1324;opacity:.08;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia__nosotros p{color:rgba(255,255,255,.86)!important;max-width:58ch}
.guia__nosotros p:first-child{color:#fff!important;font-weight:500}
@media (max-width:600px){.guia__nosotros{padding:1.4rem 1.3rem}}

/* ¿Puedo crear una empresa…? sin columnas: título arriba y el texto a todo el
   ancho de la página (petición 13.10.2026) */
.guia--texto .guia__dos{grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,3vw,2.2rem)}
.guia--texto .titulo{position:static;max-width:none;margin:0}
.guia--texto .guia__texto p{max-width:none}
.guia--texto .guia__nosotros p{max-width:none}
/* …y debajo del título, dos columnas (13.10.2026) */
.guia--texto .titulo{margin:0 0 clamp(1.6rem,3vw,2.4rem)}
.guia__columnas{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,4.5vw,4rem);align-items:start}
.guia__lado2 .guia__aviso{margin-top:0}
.guia__lado2 .guia__nosotros{margin-top:1.2rem}
@media (max-width:900px){.guia__columnas{grid-template-columns:minmax(0,1fr)}}

/* ---------- Cierre de la guía: tarjeta con foto (13.10.2026) ---------- */
.guia--cierre{background:#fff;text-align:left}
.guia__panel{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);overflow:hidden;
  border-radius:22px;background:var(--navy);position:relative;isolation:isolate;
}
.guia__panel::after{
  content:"";position:absolute;z-index:-1;right:-3rem;bottom:-4rem;width:16rem;aspect-ratio:1200/1324;opacity:.07;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia__panel-foto{margin:0;min-height:100%}
.guia__panel-foto img{width:100%;height:100%;object-fit:cover;display:block}
.guia__panel-texto{padding:clamp(2rem,4.5vw,3.5rem)}
.guia__panel-texto .titulo{color:#fff;margin:0 0 1.2rem}
.guia__panel-texto p{color:rgba(255,255,255,.82)}
.guia__invita{margin:1.5rem 0 0;padding:1.1rem 1.3rem;border-left:3px solid var(--orange);border-radius:0 12px 12px 0;background:rgba(255,255,255,.07)}
.guia__invita p,.guia__invita strong{color:#fff;font-weight:500}
.guia__panel .guia__ctas{justify-content:flex-start;margin-top:1.6rem!important}
.guia__panel .guia__ctas .btn--linea{color:#fff;border-color:rgba(255,255,255,.45)}
.guia__panel .guia__ctas .btn--linea:hover{background:#fff;color:var(--navy)}
@media (max-width:900px){
  .guia__panel{grid-template-columns:minmax(0,1fr)}
  .guia__panel-foto{aspect-ratio:16/9}
}

/* ---------- Guía · apartado con lista: fichas con marca ---------- */
.guia--lista{background:var(--gris-calido)}
.guia__puntos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.guia__puntos--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.guia .guia__punto{
  display:flex;align-items:flex-start;gap:.75rem;margin:0;padding:1.1rem 1.2rem;
  background:#fff;border:1px solid rgba(25,60,106,.1);border-radius:12px;
  font-size:1rem;line-height:1.5;color:var(--navy);font-weight:500;
}
.guia .guia__punto::before{
  content:"";flex:none;margin-top:.15rem;width:1.15rem;height:1.15rem;border-radius:50%;
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/70% no-repeat;
}
.guia--lista-navy{background:var(--navy);position:relative;overflow:hidden;isolation:isolate}
.guia--lista-navy::after{
  content:"";position:absolute;z-index:-1;right:-3rem;top:-3rem;width:clamp(12rem,22vw,18rem);aspect-ratio:1200/1324;opacity:.06;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia--lista-navy .titulo{color:#fff}
.guia--lista-navy .guia__entrada p{color:rgba(255,255,255,.84)}
.guia--lista-navy .guia__punto{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.guia--lista-navy .guia__cola{background:rgba(255,255,255,.07)}
.guia--lista-navy .guia__cola p{color:#fff}
.guia__cartas--3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* listas dentro de las tarjetas de la guía (Oportunidades de inversión…) */
.guia__carta p:has(+ ul){margin:1rem 0 .55rem;font-size:.9375rem;font-weight:600;color:var(--orange)}
.guia__carta ul{gap:.4rem;margin:0 0 1rem}
.guia__carta ul li{padding:.55rem .75rem .55rem 2.1rem;background:var(--gris-calido);border-radius:9px;font-size:.9375rem;line-height:1.45}
.guia__carta ul li::before{left:.75rem;top:.95em;width:.5rem;height:.5rem}
.guia__carta ul + p{margin-top:auto;padding-top:.9rem;border-top:1px dashed rgba(25,60,106,.15);font-size:.9375rem}
@media (max-width:900px){
  .guia__puntos,.guia__puntos--4,.guia__cartas--3{grid-template-columns:minmax(0,1fr)}
}
.guia__carta ul + p{margin-top:.2rem}

/* Contacto: la reserva de 30 minutos va arriba, encima del formulario (13.10.2026).
   Como abre la página, deja sitio a la cabecera fija; el formulario, que ya no
   abre la página, recupera un margen superior normal. */
.agenda:has(+ .cport),main > .agenda:first-child{padding-top:calc(var(--cab-alto) + clamp(2.5rem,5vw,4rem))}
.agenda + .cport{padding-top:clamp(3rem,6vw,5rem)}

/* ============================================================
   Home de Andorra · «Asesoramiento legal, fiscal y empresarial 360º»
   Doce áreas en rejilla 4×3, sin fotos: icono, número, nombre y
   flecha. Ordenado y entero a la vista, sin carrusel (13.10.2026).
   ============================================================ */
.areas360__cab{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,5vw,5rem);align-items:end;margin-bottom:clamp(2rem,4vw,3rem)}
.areas360__cab .titulo{margin-bottom:0}
.areas360__cab .entrada{margin:0;max-width:none}
.areas360__rejilla{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.area360{
  position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:1rem;min-height:11.5rem;
  padding:1.4rem 1.4rem 1.2rem;border-radius:16px;
  background:#fff;border:1px solid rgba(25,60,106,.12);color:var(--navy);text-decoration:none;
  transition:border-color .3s ease,background .3s ease;
}
.area360:hover{border-color:var(--orange)}
.area360__ico{display:grid;place-items:center;width:3rem;height:3rem;border-radius:12px;background:var(--gris-calido);color:var(--orange)}
.area360__ico .ico{width:1.5rem;height:1.5rem}
.area360__n{position:absolute;top:1.5rem;right:1.4rem;font-size:.8125rem;font-weight:600;letter-spacing:.08em;color:rgba(25,60,106,.35)}
.area360__t{margin:0;align-self:end;font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--navy)}
.area360__ir{
  width:2.1rem;height:2.1rem;border-radius:50%;border:1px solid rgba(25,60,106,.18);justify-self:start;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23193C6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/1rem no-repeat;
  transition:background-color .3s ease,border-color .3s ease;
}
.area360:hover .area360__ir{
  background-color:var(--orange);border-color:var(--orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.areas360 .ver-todos{text-align:center}
@media (max-width:1100px){.areas360__rejilla{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  .areas360__cab{grid-template-columns:minmax(0,1fr)}
  .areas360__rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .areas360__rejilla{grid-template-columns:minmax(0,1fr);gap:.6rem}
  .area360{grid-template-columns:auto 1fr auto;grid-template-rows:auto;align-items:center;min-height:0;padding:.9rem 1rem;gap:.9rem}
  .area360__n{display:none}
  .area360__t{align-self:center;font-size:1rem}
  .area360__ico{width:2.6rem;height:2.6rem}
}
.areas360__rejilla{grid-auto-rows:1fr}

/* …en carrusel, con los mandos de siempre (13.10.2026) */
.areas360__cab{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.areas360__cab .entrada{margin-top:1.2rem;max-width:72ch}
.areas360__pista{gap:1rem;padding-bottom:.4rem}
.areas360__pista .area360{min-height:13rem}
@media (max-width:860px){.areas360__cab{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  .areas360__pista > *{flex-basis:15.5rem}
  .areas360__pista .area360{grid-template-columns:none;grid-template-rows:auto 1fr auto;align-items:stretch;min-height:12rem;padding:1.2rem}
  .areas360__pista .area360__n{display:block}
  .areas360__pista .area360__t{align-self:end}
}

/* ============================================================
   Servicios de Andorra · las doce áreas del documento 03
   Título, número y subtítulo a la izquierda (fijos al bajar); el texto
   a la derecha con aire entre párrafos; las listas en fichas.
   ============================================================ */
.tramo--area{padding:clamp(3.5rem,7vw,5.5rem) 0}
.area__int{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.area__cab{position:sticky;top:calc(var(--cab-alto) + 2rem)}
.area__n{display:inline-block;margin-bottom:.9rem;font-size:.8125rem;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.tramo--area .tramo__h2{margin:0 0 .8rem;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.12}
.tramo--area .tramo__sub{margin:0;font-size:clamp(1.05rem,1.4vw,1.2rem);font-weight:500;line-height:1.45;color:var(--orange)}
.area__texto p{margin:0 0 1.05rem;max-width:none;font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.75;color:var(--body,#4a5568)}
.area__texto p:first-child{font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.6;color:var(--navy)}
.area__texto p:last-child{margin-bottom:0}
.area__texto strong{color:var(--navy);font-weight:600}
.area__texto ul{list-style:none;margin:.4rem 0 1.4rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.area__texto ul li{
  position:relative;margin:0;padding:.95rem 1.1rem .95rem 2.6rem;background:#fff;border:1px solid rgba(25,60,106,.1);border-radius:12px;
  font-size:.9375rem;line-height:1.5;color:var(--navy);
}
.area__texto ul li::before{
  content:"";position:absolute;left:1rem;top:1.1rem;width:1rem;height:1rem;border-radius:50%;
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/70% no-repeat;
}
.tramo--area:not(.tramo--mist) .area__texto ul li{background:var(--gris-calido);border-color:transparent}
@media (max-width:900px){
  .area__int{grid-template-columns:minmax(0,1fr)}
  .area__cab{position:static}
  .area__texto ul{grid-template-columns:minmax(0,1fr)}
}
.ab-interior .tramo--area .area__texto p{font-size:clamp(1rem,1.15vw,1.0625rem)!important;line-height:1.75!important;max-width:none!important;color:var(--body,#4a5568)}
.ab-interior .tramo--area .area__texto p:first-child{font-size:clamp(1.1rem,1.4vw,1.25rem)!important;line-height:1.6!important;color:var(--navy)}
.ab-interior .tramo--area .area__texto ul li{font-size:.9688rem!important}

/* ---------- Servicios de Andorra: tarjetas que se despliegan ---------- */
.ab-interior .serv3d__rejilla.con-panel{grid-auto-rows:auto;align-items:stretch}
.tramo--area.area-plegada{display:none}
.s3.es-abierta .s3__marco{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange)}
.s3.es-abierta .s3__mas{color:var(--orange)}
.s3-panel{
  grid-column:1 / -1;position:relative;overflow:hidden;
  max-height:0;opacity:0;margin:-.25rem 0 .25rem;
  background:#fff;border:1px solid rgba(25,60,106,.12);border-radius:20px;
  transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .35s ease;
}
.s3-panel.es-visible{max-height:4000px;opacity:1}
.s3-panel__dentro{padding:clamp(1.6rem,3.5vw,2.8rem)}
.s3-panel .area__int{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}
.s3-panel .area__cab{position:static}
.s3-panel .area__n{display:inline-block;margin-bottom:.8rem;font-size:.8125rem;font-weight:700;letter-spacing:.12em;color:var(--orange)}
.s3-panel .tramo__h2{margin:0 0 .7rem;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;color:var(--navy)}
.s3-panel .tramo__sub{margin:0;font-size:1.0625rem;font-weight:500;line-height:1.45;color:var(--orange)}
.s3-panel .area__texto p{margin:0 0 1rem;font-size:clamp(1rem,1.15vw,1.0625rem);line-height:1.75;color:var(--body,#4a5568)}
.s3-panel .area__texto p:first-child{font-size:clamp(1.08rem,1.35vw,1.2rem);line-height:1.6;color:var(--navy)}
.s3-panel .area__texto strong{color:var(--navy)}
.s3-panel .area__texto ul{list-style:none;margin:.4rem 0 1.2rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.s3-panel .area__texto ul li{position:relative;padding:.9rem 1rem .9rem 2.5rem;background:var(--gris-calido);border-radius:12px;font-size:.9375rem;line-height:1.5;color:var(--navy)}
.s3-panel .area__texto ul li::before{content:"";position:absolute;left:.95rem;top:1.05rem;width:1rem;height:1rem;border-radius:50%;background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/70% no-repeat}
.s3-panel__cerrar{
  position:absolute;top:1rem;right:1rem;z-index:2;width:2.6rem;height:2.6rem;border-radius:50%;
  border:1px solid rgba(25,60,106,.18);background:#fff;cursor:pointer;
}
.s3-panel__cerrar::before,.s3-panel__cerrar::after{content:"";position:absolute;left:50%;top:50%;width:1rem;height:2px;background:var(--navy);transform:translate(-50%,-50%) rotate(45deg)}
.s3-panel__cerrar::after{transform:translate(-50%,-50%) rotate(-45deg)}
.s3-panel__cerrar:hover{background:var(--navy)}
.s3-panel__cerrar:hover::before,.s3-panel__cerrar:hover::after{background:#fff}
@media (max-width:900px){
  .s3-panel .area__int,.s3-panel .area__texto ul{grid-template-columns:minmax(0,1fr)}
}
/* el panel solo lleva el texto del apartado, a todo su ancho */
.s3-panel .area__texto{padding-right:3rem}
.s3-panel .area__texto p{max-width:none}
@media (max-width:600px){.s3-panel .area__texto{padding-right:0;padding-top:2.4rem}}


/* Cabecera de los bloques de la guía: título y entrada uno debajo del otro,
   a lo ancho (petición 13.10.2026), en vez de enfrentados en dos columnas */
.guia__cab{display:block;margin-bottom:clamp(1.8rem,3.5vw,2.6rem)}
.guia__cab .titulo{max-width:none;margin:0}
.guia__cab .guia__entrada{margin-top:1.1rem;max-width:none}
.guia__cab .guia__entrada p{max-width:none}
.areas360__cab .titulo,.guia--texto .titulo{max-width:none}
.guia .guia__cab .titulo,.guia--texto .env > .titulo{max-width:none!important;text-wrap:balance}

/* Tarjetas de servicio: vuelve la inclinación al pasar el ratón y el zoom suave
   de la foto (13.10.2026); se mantienen del mismo tamaño. */
.ab-interior .serv3d__rejilla{perspective:1200px}
.ab-interior .s3{transform-style:preserve-3d}
.ab-interior .s3__marco{
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0)!important;
  transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,border-color .3s ease;will-change:transform;
}
.ab-interior .s3:hover .s3__marco{box-shadow:0 30px 60px rgba(16,40,72,.18)}
.ab-interior .s3__foto{transform:scale(1.01);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease;filter:saturate(.92)}
.ab-interior .s3:hover .s3__foto{transform:scale(1.07);filter:saturate(1)}
@media (prefers-reduced-motion:reduce){.ab-interior .s3__marco{transform:none!important}.ab-interior .s3:hover .s3__foto{transform:none}}

/* Fondos alternos de la guía (los pone abansa-guia.php): blanco / gris.
   Las fichas toman el tono contrario al de su fondo. */
.guia.guia--fondo-blanco{background:#fff}
.guia.guia--fondo-gris{background:var(--gris-calido)}
.guia--fondo-blanco .guia__carta,.guia--fondo-blanco .guia__fase{background:var(--gris-calido);border-color:transparent}
.guia--fondo-blanco .guia__carta ul li,.guia--fondo-blanco .guia__fase ul li{background:#fff}
.guia--fondo-blanco .guia__ico{background:#fff}
.guia--fondo-blanco .guia__punto,.guia--fondo-blanco .guia__cola{background:var(--gris-calido)!important;border-color:transparent!important}
.guia--fondo-gris .guia__punto,.guia--fondo-gris .guia__cola,.guia--fondo-gris .guia__carta{background:#fff!important}
.guia--fondo-gris .guia__fases::before{display:none}

/* ============================================================
   Guía · lista A: hoja de comprobación sobre navy
   (Requisitos para obtener la residencia…, Aspectos fiscales…)
   ============================================================ */
.guia--check{background:var(--navy);position:relative;overflow:hidden;isolation:isolate}
.guia--check::after{
  content:"";position:absolute;z-index:-1;left:-4rem;bottom:-5rem;width:clamp(14rem,24vw,20rem);aspect-ratio:1200/1324;opacity:.06;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia__check{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.guia__check-cab{position:sticky;top:calc(var(--cab-alto) + 2rem)}
.guia--check .titulo{color:#fff;margin:0 0 1.1rem}
.guia--check .guia__check-cab p{color:rgba(255,255,255,.82)}
.guia__check-nota{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.18)}
.guia__check-nota p{color:#fff!important;font-weight:500}
.guia__filas{border-radius:18px;background:#fff;padding:.4rem 1.6rem;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.guia .guia__fila{
  display:grid;grid-template-columns:2.6rem minmax(0,1fr) 1.6rem;align-items:center;gap:1rem;margin:0;
  padding:1.15rem 0;border-bottom:1px dashed rgba(25,60,106,.18);
  font-size:1.0625rem;font-weight:500;line-height:1.45;color:var(--navy);
}
.guia .guia__fila:last-child{border-bottom:0}
.guia__fila-n{font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:var(--orange)}
.guia .guia__fila::after{
  content:"";width:1.5rem;height:1.5rem;border-radius:6px;border:2px solid var(--orange);
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/80% no-repeat;
}

/* ============================================================
   Guía · lista B: factores en losetas con icono y cita final
   (Residencia fiscal en Andorra…, ¿Quién puede invertir…?)
   ============================================================ */
.guia--factores{background:#fff}
.guia__losas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.guia__losas--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.guia__losas--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.guia__losa{
  position:relative;display:flex;flex-direction:column;gap:.9rem;min-height:12rem;padding:1.4rem 1.3rem;
  background:var(--gris-calido);border-radius:16px;border-top:3px solid var(--orange);
}
.guia .guia__losa-ico{display:grid;place-items:center;width:3rem;height:3rem;margin:0;border-radius:12px;background:#fff;color:var(--orange)}
.guia__losa-ico .ico{width:1.5rem;height:1.5rem}
.guia .guia__losa-n{position:absolute;top:1.5rem;right:1.3rem;margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:rgba(25,60,106,.3)}
.guia .guia__losa-t{margin:auto 0 0;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--navy)}
.guia__cita{
  position:relative;margin:clamp(1.6rem,3vw,2.4rem) 0 0;padding:1.4rem 0 0 4rem;border-top:1px solid rgba(25,60,106,.12);
}
.guia__cita::before{content:"“";position:absolute;left:0;top:.6rem;font:600 4.5rem/1 "Libre Baskerville",Georgia,serif;color:var(--orange)}
.guia .guia__cita p{margin:0;font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.55;color:var(--navy)}
@media (max-width:1100px){.guia__losas,.guia__losas--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .guia__check{grid-template-columns:minmax(0,1fr)}
  .guia__check-cab{position:static}
  .guia__losas,.guia__losas--4,.guia__losas--6{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .guia__losas,.guia__losas--4,.guia__losas--6{grid-template-columns:minmax(0,1fr)}
  .guia__losa{min-height:0;flex-direction:row;align-items:center}
  .guia .guia__losa-t{margin:0}
  .guia__filas{padding:.2rem 1.1rem}
  .guia__cita{padding-left:2.8rem}
  .guia__cita::before{font-size:3.4rem}
}

/* Guía · tarjetas de aviso («Lo que puede salirte caro»): navy, número y alerta */
.guia--riesgos{background:var(--navy);position:relative;overflow:hidden;isolation:isolate}
.guia--riesgos::after{
  content:"";position:absolute;z-index:-1;right:-3rem;top:-4rem;width:clamp(12rem,22vw,18rem);aspect-ratio:1200/1324;opacity:.06;background:#fff;
  -webkit-mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;mask:url(../img/marca/trama-chevrones.webp) center/contain no-repeat;
}
.guia--riesgos .titulo{color:#fff}
.guia--riesgos .guia__entrada p{color:rgba(255,255,255,.82)}
.guia__riesgos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.guia__riesgo{position:relative;padding:1.7rem 1.6rem 1.6rem;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.guia__riesgo::before{
  content:"";display:block;width:2.6rem;height:2.6rem;margin-bottom:1.1rem;border-radius:11px;
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19L12 3z'/%3E%3Cpath d='M12 10v4M12 17h.01'/%3E%3C/svg%3E") center/1.3rem no-repeat;
}
.guia .guia__riesgo-n{position:absolute;top:1.8rem;right:1.6rem;margin:0;font-size:.8125rem;font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.35)}
.guia__riesgo h3{margin:0 0 .6rem;font-size:1.1875rem;line-height:1.3;color:#fff}
.guia .guia__riesgo p:not(.guia__riesgo-n){margin:0;color:rgba(255,255,255,.8)}
.guia__ctas--izq{justify-content:flex-start!important;margin-top:1.8rem!important}
.guia--riesgos .guia__ctas,.guia--fases .guia__ctas{margin-top:1.6rem!important}
.guia__lado .guia__ctas{display:flex}
@media (max-width:900px){.guia__riesgos{grid-template-columns:minmax(0,1fr)}}

/* Cierre propio de la página justo después de las FAQ (navy): en claro, para que
   los dos bloques no se fundan (Fiscalidad en Andorra) */
body:has(.faq-srv) .cierre-srv{background:var(--gris-calido);color:var(--navy)}
body:has(.faq-srv) .cierre-srv .titulo{color:var(--navy)}
body:has(.faq-srv) .cierre-srv .entrada{color:var(--body,#4a5568)}
body:has(.faq-srv) .cierre-srv .btn--linea{color:var(--navy);border-color:rgba(25,60,106,.3)}
body:has(.faq-srv) .cierre-srv .btn--linea:hover{background:var(--navy);color:#fff}

/* FAQ: el filete naranja del título no pisa los botones */
.faq__intro .titulo{margin-bottom:1.6rem}
.faq__intro .faq__botones{margin-top:1.4rem;position:relative;z-index:1}

/* ---------- Guía · recorrido horizontal (Paso a paso, contigo) ---------- */
.guia__cab--fila{display:flex!important;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem}
.guia__cab--fila .guia__ctas{margin:0!important}
.guia__etapas{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);counter-reset:etapa}
.guia__etapas--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.guia__etapas::before,.guia__etapas::after{
  content:"";position:absolute;left:1.6rem;right:calc(100% / 4 - 1.6rem);top:1.6rem;height:2px;border-radius:2px;
}
.guia__etapas::before{background:rgba(25,60,106,.15)}
.guia__etapas::after{background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.16,1,.3,1) .2s}
.guia--recorrido.esta-visible .guia__etapas::after{transform:scaleX(1)}
.guia__etapa{position:relative;padding-top:4.6rem}
.guia .guia__etapa-n{
  position:absolute;top:0;left:0;margin:0;display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;
  background:#fff;border:2px solid var(--orange);color:var(--orange);font-size:.9375rem;font-weight:700;letter-spacing:.04em;
  box-shadow:0 0 0 8px var(--gris-calido);transition:background .5s ease,color .5s ease;
}
.guia--recorrido.esta-visible .guia__etapa-n{background:var(--orange);color:#fff}
.guia--recorrido.esta-visible .guia__etapa:nth-child(2) .guia__etapa-n{transition-delay:.45s}
.guia--recorrido.esta-visible .guia__etapa:nth-child(3) .guia__etapa-n{transition-delay:.8s}
.guia--recorrido.esta-visible .guia__etapa:nth-child(4) .guia__etapa-n{transition-delay:1.15s}
.guia__etapa h3{margin:0 0 .6rem;font-size:clamp(1.125rem,1.5vw,1.3rem);line-height:1.3;color:var(--navy)}
.guia .guia__etapa p:not(.guia__etapa-n){margin:0;font-size:1rem;line-height:1.65}
.guia--fondo-blanco .guia__etapa-n{box-shadow:0 0 0 8px #fff}
@media (max-width:900px){
  .guia__etapas,.guia__etapas--3{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .guia__etapas::before,.guia__etapas::after{left:1.6rem;right:auto;top:1.6rem;bottom:1.6rem;width:2px;height:auto;transform-origin:top}
  .guia__etapas::after{transform:scaleY(0)}
  .guia--recorrido.esta-visible .guia__etapas::after{transform:scaleY(1)}
  .guia__etapa{padding:0 0 0 4.4rem;min-height:3.2rem}
}
@media (prefers-reduced-motion:reduce){.guia__etapas::after,.guia__etapa-n{transition:none}}

/* ---------- Tarjetas alineadas por filas (En qué podemos ayudarte) ----------
   Cada tarjeta ocupa cuatro filas de la rejilla (icono, título, texto, puntos),
   y con subgrid las cuatro empiezan a la misma altura en todas. */
.guia__cartas--alinea{grid-auto-rows:auto!important;row-gap:0!important}
.guia__cartas--alinea .guia__carta{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0;align-content:start}
.guia__cartas--alinea .guia__carta > *{margin-top:0}
.guia__cartas--alinea .guia__carta h3{align-self:start;margin-bottom:.7rem}
.guia__cartas--alinea .guia__carta > p:not(.guia__ico){align-self:start;margin-bottom:1rem}
.guia__cartas--alinea .guia__carta ul{align-self:start;margin-bottom:0}
@media (max-width:900px){.guia__cartas--alinea{row-gap:1rem!important}.guia__cartas--alinea .guia__carta{grid-row:auto;display:flex}}
.guia .guia__etapa-n{z-index:2}
.guia__etapas::before,.guia__etapas::after{z-index:0}
/* en las tarjetas alineadas el párrafo es la descripción, no la entrada de la lista */
.guia__cartas--alinea .guia__carta p:has(+ ul){margin:0 0 1rem;font-size:1rem;font-weight:400;color:var(--body,#4a5568);line-height:1.65}

/* ---------- Botones: el paso del ratón se ve (13.10.2026) ----------
   Sin movimiento: cambia el color de fondo y aparece un aro naranja suave.
   Sobre fondo claro el botón naranja pasa a navy; sobre navy, a blanco. */
.btn{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.btn--nar:hover,.btn--nar:focus-visible,
.wp-block-button.btn--nar .wp-block-button__link:hover{
  background:var(--navy)!important;color:#fff!important;box-shadow:0 0 0 4px rgba(240,125,70,.35);
}
.seccion--navy .btn--nar:hover,.franja .btn--nar:hover,.guia--nota .btn--nar:hover,.guia--check .btn--nar:hover,
.guia--riesgos .btn--nar:hover,.guia--lista-navy .btn--nar:hover,.guia__panel .btn--nar:hover,.faq .btn--nar:hover,
.vhero .btn--nar:hover,.cierre .btn--nar:hover,.hero .btn--nar:hover{
  background:#fff!important;color:var(--navy)!important;box-shadow:0 0 0 4px rgba(240,125,70,.5);
}
.btn--oscura:hover,.btn--linea:hover,.btn--vidrio:hover{box-shadow:0 0 0 4px rgba(240,125,70,.3)}
/* sin aro ni brillo al pasar: solo el cambio de color (13.10.2026) */
.btn:hover,.btn:focus-visible,.wp-block-button.btn--nar .wp-block-button__link:hover{box-shadow:none!important}

/* ============================================================
   Actualidad · destacadas en carrusel, filtro y rejilla
   ============================================================ */
.actu{padding:clamp(2.5rem,5vw,4rem) 0 clamp(3.5rem,7vw,5.5rem)}
.actu__dest-cab{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.actu__pista{gap:1.2rem}
.actu__pista > *{flex:0 0 min(88%,46rem)}
.actu__slide{
  position:relative;display:block;overflow:hidden;aspect-ratio:16/9;max-height:30rem;border-radius:22px;
  color:#fff;text-decoration:none;isolation:isolate;
}
.actu__slide-foto{position:absolute;inset:0;z-index:-2;background:center/cover no-repeat;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.actu__slide:hover .actu__slide-foto{transform:scale(1.04)}
.actu__slide-velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(10,22,40,.92) 0%,rgba(10,22,40,.55) 45%,rgba(10,22,40,.05) 80%)}
.actu__slide-cuerpo{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.7rem;justify-items:start;padding:clamp(1.4rem,3vw,2.4rem)}
.actu__slide-t{font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:600;line-height:1.15;letter-spacing:-.02em;max-width:30ch}
.actu__chip{display:inline-block;padding:.32rem .75rem;border-radius:999px;background:var(--orange);color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.actu__chip--claro{background:rgba(240,125,70,.12);color:var(--orange)}
.actu__meta{font-size:.875rem;color:rgba(255,255,255,.82)}
.actu__meta--oscuro{color:var(--muted,#6b7280)}

.actu__filtro{display:flex;flex-wrap:wrap;gap:.5rem;margin:clamp(2.5rem,5vw,3.5rem) 0 1.6rem;padding-top:clamp(2rem,4vw,2.8rem);border-top:1px solid var(--line)}
.actu__f{
  padding:.6rem 1.15rem;border-radius:999px;border:1px solid rgba(25,60,106,.2);background:#fff;cursor:pointer;
  font:inherit;font-size:.9375rem;font-weight:500;color:var(--navy);transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.actu__f:hover{border-color:var(--navy)}
.actu__f.es-activo{background:var(--navy);border-color:var(--navy);color:#fff}

.actu__rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}
.actu__card{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;border:1px solid rgba(25,60,106,.12);color:inherit;text-decoration:none;transition:border-color .3s ease}
.actu__card[hidden]{display:none}
.actu__card:hover{border-color:var(--orange)}
.actu__card.aparece{animation:actu-aparece .45s cubic-bezier(.16,1,.3,1) both}
@keyframes actu-aparece{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.actu__card-foto{display:block;aspect-ratio:16/10;overflow:hidden}
.actu__card-foto span{display:block;width:100%;height:100%;background:center/cover no-repeat;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.actu__card:hover .actu__card-foto span{transform:scale(1.05)}
.actu__card-cuerpo{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.3rem 1.4rem 1.4rem}
.actu__card-t{font-size:1.1875rem;font-weight:600;line-height:1.3;color:var(--navy)}
.actu__card-x{font-size:.9688rem;line-height:1.6;color:var(--body,#4a5568)}
.actu__card .actu__meta{margin-top:auto;padding-top:.4rem}
.actu__nada,.actu__vacio-t{margin:1rem 0 0;color:var(--muted,#6b7280)}
.actu__vacio{padding:3rem;border:1px dashed rgba(25,60,106,.25);border-radius:18px;text-align:center}
@media (max-width:980px){.actu__rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){
  .actu__rejilla{grid-template-columns:minmax(0,1fr)}
  .actu__pista > *{flex-basis:88%}
  .actu__slide{aspect-ratio:4/5;max-height:none}
}

/* ============================================================
   Artículo · cabecera, imagen, cuerpo de lectura, compartir
   ============================================================ */
.art{padding:calc(var(--cab-alto) + clamp(2rem,5vw,3.5rem)) 0 0;background:var(--gris-calido)}
.art__cab{max-width:56rem}
.art__volver{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1.4rem;font-size:.875rem;font-weight:600;color:var(--navy);text-decoration:none}
.art__volver::before{content:"←";color:var(--orange)}
.art__volver:hover{color:var(--orange)}
.art__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.art__h1{margin:0;font-size:clamp(2rem,4.4vw,3.4rem);font-weight:600;line-height:1.08;letter-spacing:-.03em;color:var(--navy);text-wrap:balance}
.art__lede{margin:1.2rem 0 0;max-width:46ch;font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55;color:var(--body,#4a5568)}
.art__meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.4rem 0 0;padding-bottom:clamp(2rem,4vw,3rem);font-size:.875rem;color:var(--muted,#6b7280)}
.art__meta span + span::before{content:"·";margin-right:1.2rem;color:var(--orange)}
.art__foto{margin:0 0 calc(-1 * clamp(4rem,8vw,7rem));position:relative;z-index:1;border-radius:22px;overflow:hidden;aspect-ratio:21/9}
.art__foto img{width:100%;height:100%;object-fit:cover;display:block}
.art:has(.art__foto) + .art__cuerpo{padding-top:calc(clamp(4rem,8vw,7rem) + clamp(2.5rem,5vw,3.5rem))}
.art__cuerpo{padding:clamp(2.5rem,5vw,3.5rem) 1.25rem 1rem}
.art__cuerpo > .wp-block-post-content{max-width:44rem;margin-inline:auto}
.art__cuerpo p{margin:0 0 1.3rem;font-size:clamp(1.0625rem,1.2vw,1.125rem);line-height:1.8;color:#2b3442}
.art__cuerpo h2{margin:2.6rem 0 1rem;font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.2;color:var(--navy)}
.art__cuerpo h3{margin:2rem 0 .8rem;font-size:clamp(1.2rem,1.8vw,1.4rem);color:var(--navy)}
.art__cuerpo ul,.art__cuerpo ol{margin:0 0 1.4rem;padding-left:1.3rem}
.art__cuerpo li{margin:.4rem 0;font-size:1.0625rem;line-height:1.7}
.art__cuerpo li::marker{color:var(--orange)}
.art__cuerpo blockquote{margin:2rem 0;padding:.4rem 0 .4rem 1.4rem;border-left:3px solid var(--orange)}
.art__cuerpo blockquote p{font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--navy)}
.art__cuerpo figure{margin:2rem 0}
.art__cuerpo img{border-radius:14px;max-width:100%;height:auto}
.art__cuerpo figcaption{margin-top:.6rem;font-size:.875rem;color:var(--muted,#6b7280)}
.art__cuerpo a{color:var(--orange)}
.art-pie{padding:0 0 clamp(3rem,6vw,5rem)}
.art-pie__compartir{max-width:44rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.art-pie__eti{margin-right:.6rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#6b7280)}
.art-pie__compartir a,.art-pie__copiar{
  padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(25,60,106,.2);background:#fff;cursor:pointer;
  font:inherit;font-size:.875rem;font-weight:500;color:var(--navy);text-decoration:none;
}
.art-pie__compartir a:hover,.art-pie__copiar:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.art-pie__rel{margin-top:clamp(3rem,6vw,4.5rem)}
.art-pie__rel .titulo{margin-bottom:1.6rem}
@media (max-width:620px){.art__foto{aspect-ratio:4/3}}
.art-pie__compartir{margin-inline:auto}

/* Actualidad · carrusel de arriba a todo el ancho de la pantalla, tarjetas
   algo más estrechas; la primera arranca alineada con el contenido (13.10.2026) */
.actu__dest .carrusel__pista{
  margin-inline:calc(50% - 50vw);
  padding-inline:max(1.25rem,calc(50vw - 50% + 0px));
  scroll-padding-inline:max(1.25rem,calc(50vw - 50%));
}
.actu__pista > *{flex:0 0 clamp(18rem,32vw,34rem)}
.actu__slide{aspect-ratio:4/3;max-height:none}
@media (max-width:620px){.actu__pista > *{flex-basis:82%}.actu__slide{aspect-ratio:4/5}}

/* ============================================================
   Artículo, versión 2 (al estilo de los artículos de ECHO)
   Cabecera: texto a la izquierda, imagen a la derecha. Cuerpo: columna
   lateral fija (índice, compartir, contacto) y el texto en tarjeta blanca.
   ============================================================ */
.art2-cab{padding:calc(var(--cab-alto) + clamp(2rem,5vw,3.5rem)) 0 clamp(2.5rem,5vw,4rem);background:linear-gradient(var(--gris-calido),#fff 85%)}
.art2-cab__int{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.art2-cab__h1{margin:0;font-size:clamp(2.1rem,4.6vw,3.9rem);font-weight:600;line-height:1.05;letter-spacing:-.035em;color:var(--navy);text-wrap:balance}
.art2-cab__lede{margin:1.3rem 0 0;max-width:44ch;font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.55;color:var(--body,#4a5568)}
.art2-cab__pastillas{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0}
.art2-cab__pastillas span{padding:.45rem .9rem;border-radius:999px;background:#fff;border:1px solid rgba(25,60,106,.14);font-size:.8125rem;font-weight:600;color:var(--navy)}
.art2-cab__pastillas em{font-style:normal;font-weight:400;color:var(--muted,#6b7280);margin-right:.25rem}
.art2-cab__foto{position:relative;margin:0;aspect-ratio:1;border-radius:50%;overflow:visible}
.art2-cab__foto img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;box-shadow:0 40px 80px -40px rgba(16,40,72,.45)}
.art2-cab__iso{position:absolute;right:-.5rem;bottom:8%;width:22%;aspect-ratio:109.28/187.84}
.art2-cab__iso i{position:absolute;width:37%;aspect-ratio:1;border-radius:10%;background:var(--orange);left:var(--x);top:var(--y);animation:art2-iso 4s ease-in-out infinite alternate;animation-delay:calc(var(--d) * .25s)}
.art2-cab__iso i:nth-child(1){--x:0%;--y:0%;--d:0}
.art2-cab__iso i:nth-child(2){--x:31.5%;--y:19.6%;--d:1}
.art2-cab__iso i:nth-child(3){--x:63%;--y:39.2%;--d:2}
.art2-cab__iso i:nth-child(4){--x:31.5%;--y:58.9%;--d:3}
.art2-cab__iso i:nth-child(5){--x:0%;--y:78.6%;--d:4}
@keyframes art2-iso{from{opacity:1}to{opacity:.35}}
@media (prefers-reduced-motion:reduce){.art2-cab__iso i{animation:none}}

.art2{padding:0 0 clamp(3rem,6vw,5rem);background:#fff}
.art2__int{display:grid;grid-template-columns:18rem minmax(0,1fr);gap:clamp(1.5rem,3.5vw,3rem);align-items:start}
.art2-lado{position:sticky;top:calc(var(--cab-alto) + 1.5rem);display:grid;gap:1rem}
.art2-lado__caja{padding:1.2rem 1.3rem;border-radius:16px;background:var(--gris-calido)}
.art2-lado__eti{margin:0 0 .8rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#6b7280)}
.art2-lado__indice{margin:0;padding:0;list-style:none;display:grid;gap:.15rem}
.art2-lado__indice a{display:block;padding:.45rem .7rem;border-left:2px solid rgba(25,60,106,.12);font-size:.875rem;line-height:1.4;color:var(--navy);text-decoration:none;transition:border-color .25s,color .25s,background .25s}
.art2-lado__indice a:hover{color:var(--orange)}
.art2-lado__indice a.es-actual{border-left-color:var(--orange);color:var(--orange);font-weight:600;background:#fff;border-radius:0 8px 8px 0}
.art2-lado__redes{display:flex;gap:.5rem;margin:0}
.art2-lado__redes a,.art2-lado__redes button{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:#fff;color:var(--navy);cursor:pointer;padding:0}
.art2-lado__redes svg{width:1.05rem;height:1.05rem}
.art2-lado__redes a:hover,.art2-lado__redes button:hover{background:var(--navy);color:#fff}
.art2-lado__cta{padding:1.4rem 1.3rem;border-radius:16px;background:var(--navy);color:#fff}
.art2-lado__cta-t{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}
.art2-lado__cta-p{margin:0 0 1rem;font-size:.875rem;line-height:1.55;color:rgba(255,255,255,.8)}
.art2-lado__cta .btn{width:100%;justify-content:center}
.art2-lado__tel{display:block;margin-top:.8rem;text-align:center;font-size:.875rem;font-weight:600;color:#fff;text-decoration:none}

.art2__texto{padding:clamp(1.6rem,3.5vw,3rem);border-radius:22px;background:#fff;border:1px solid rgba(25,60,106,.1);box-shadow:0 30px 60px -45px rgba(16,40,72,.35)}
.art2__texto > .wp-block-post-content{max-width:46rem}
.art2__texto p{margin:0 0 1.3rem;font-size:clamp(1.0625rem,1.2vw,1.125rem);line-height:1.8;color:#2b3442}
.art2__texto h2{margin:2.4rem 0 1rem;font-size:clamp(1.45rem,2.3vw,1.85rem);line-height:1.2;color:var(--navy);scroll-margin-top:calc(var(--cab-alto) + 1.5rem)}
.art2__texto h2:first-child{margin-top:0}
.art2__texto h3{margin:1.8rem 0 .8rem;font-size:clamp(1.2rem,1.8vw,1.4rem);color:var(--navy)}
.art2__texto ul,.art2__texto ol{margin:0 0 1.4rem;padding-left:1.3rem}
.art2__texto li{margin:.45rem 0;font-size:1.0625rem;line-height:1.7;color:#2b3442}
.art2__texto li::marker{color:var(--orange)}
.art2__texto blockquote{margin:2rem 0;padding:1.2rem 1.4rem;border-left:3px solid var(--orange);border-radius:0 12px 12px 0;background:var(--gris-calido)}
.art2__texto blockquote p{margin:0;font-family:"Libre Baskerville",Georgia,serif;font-style:italic;font-size:1.2rem;color:var(--navy)}
.art2__texto img{border-radius:14px;max-width:100%;height:auto}
.art2__texto a{color:var(--orange)}
.art-pie{padding:clamp(3rem,6vw,4.5rem) 0;background:var(--gris-calido)}
.art-pie .rotulo{display:inline-flex;margin-bottom:1.4rem}
.art-pie__rel{margin-top:0}
@media (max-width:980px){
  .art2-cab__int{grid-template-columns:minmax(0,1fr)}
  .art2-cab__foto{max-width:22rem;margin-inline:auto}
  .art2__int{grid-template-columns:minmax(0,1fr)}
  .art2-lado{position:static;order:2}
}
/* filtro en dos grupos: país a la izquierda, tipo a la derecha */
.actu__filtro{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem}
.actu__grupo{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.actu__grupo::before{content:attr(data-rotulo);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--navy,#193C6A);opacity:.6;margin-right:.35rem}
@media (max-width:700px){.actu__filtro{flex-direction:column;align-items:flex-start}}
@media (max-width:700px){.actu__grupo{gap:.4rem}.actu__grupo .actu__f{padding:.4rem .8rem;font-size:.85rem}.actu__grupo::before{width:100%;margin:0 0 .1rem}}
/* tarjetas que se cambian (Oportunidades de inversión) */
.pest{display:grid;grid-template-columns:minmax(260px,.85fr) 2fr;gap:2rem;align-items:start;margin-top:2.4rem}
.pest__tabs{display:flex;flex-direction:column;gap:.6rem;position:sticky;top:120px}
.pest__tab{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:baseline;text-align:left;padding:1.1rem 1.25rem;background:#fff;border:1px solid rgba(25,60,106,.12);border-radius:14px;color:var(--navy,#193C6A);font:inherit;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.pest__tab:hover{border-color:var(--orange,#F07D46)}
.pest__num{font-size:.8rem;letter-spacing:.1em;color:var(--orange,#F07D46);font-weight:600}
.pest__nombre{font-weight:600;font-size:1.02rem;line-height:1.3}
.pest__barra{grid-column:1/-1;height:2px;margin-top:.7rem;background:rgba(25,60,106,.1);border-radius:2px;overflow:hidden;opacity:0}
.pest__barra i{display:block;height:100%;width:0;background:var(--orange,#F07D46)}
.pest__tab.es-activa{background:var(--navy,#193C6A);border-color:var(--navy,#193C6A);color:#fff}
.pest__tab.es-activa .pest__barra{opacity:1;background:rgba(255,255,255,.18)}
.pest--corre .pest__tab.es-activa .pest__barra i{animation:pestBarra 8s linear forwards}
@keyframes pestBarra{to{width:100%}}
.pest__mandos{display:flex;gap:.5rem;margin-top:.6rem}
.pest__panels{display:grid}
.pest__panel{grid-area:1/1;position:relative;overflow:hidden;background:#fff;border:1px solid rgba(25,60,106,.12);border-radius:18px;padding:2.4rem 2.6rem}
.pest__panel::after{content:"";position:absolute;right:-40px;bottom:-40px;width:220px;height:220px;opacity:.07;pointer-events:none;
  background:conic-gradient(from 90deg at 50% 50%,var(--orange,#F07D46) 25%,transparent 0 50%,var(--navy,#193C6A) 0 75%,transparent 0);background-size:44px 44px}
.pest--viva .pest__panel{opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease,visibility 0s .45s}
.pest--viva .pest__panel.es-activa{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease .1s,transform .45s ease .1s}
.pest:not(.pest--viva) .pest__panels{gap:1rem}.pest:not(.pest--viva) .pest__panel{grid-area:auto}
.pest__panel-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}
.pest__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:rgba(240,125,70,.1);color:var(--orange,#F07D46)}
.pest__ico .ico{width:26px;height:26px}
.pest__panel-num{font-size:.8rem;letter-spacing:.12em;color:rgba(25,60,106,.5)}
.pest__panel h3{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.25;color:var(--navy,#193C6A);margin:0 0 1rem;max-width:30ch}
.pest__texto p{margin:0 0 .9rem;line-height:1.65}
.pest__texto ul{list-style:none;padding:0;margin:.4rem 0 1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.4rem}
.pest__texto ul + ul{margin-top:-.6rem}
.pest__texto li{position:relative;padding-left:1.4rem;line-height:1.5}
.pest__texto li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:2px;background:var(--orange,#F07D46)}
.pest__texto p:last-child{margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(25,60,106,.1);color:var(--navy,#193C6A);font-weight:500}
@media (max-width:900px){
  .pest{grid-template-columns:1fr;gap:1rem}
  .pest__tabs{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .pest__tab{flex:0 0 72%}
  .pest__mandos{display:none}
  .pest__panel{padding:1.6rem 1.4rem}
  .pest__texto ul{grid-template-columns:1fr}
}
.flecha[data-pest-paso="-1"]::before{transform:rotate(135deg);margin-left:1.15rem}
.pest__tabs > *{margin:0!important}
/* ── Actualidad · versión editorial ───────────────────────── */
.actu__etq{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.actu__etq i{width:7px;height:7px;background:var(--orange);border-radius:1px}
.actu__flecha{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:50%;border:1px solid rgba(25,60,106,.18);transition:background-color .3s,border-color .3s}
.actu__flecha::before{content:"";width:.5rem;height:.5rem;margin-left:-.2rem;border-right:2px solid var(--navy);border-top:2px solid var(--navy);transform:rotate(45deg);transition:border-color .3s}
/* destacadas: foto a la izquierda, texto en un panel navy a la derecha */
.actu__pista > *{flex:0 0 min(86vw,66rem)}
.actu__slide{aspect-ratio:auto!important;max-height:none;display:grid!important;grid-template-columns:1.25fr 1fr;min-height:clamp(22rem,32vw,27rem);background:var(--navy);color:#fff;border-radius:22px;overflow:hidden;isolation:isolate}
.actu__slide-foto{position:relative!important;inset:auto!important;z-index:0!important;overflow:hidden;background:none!important;transform:none!important}
.actu__slide-foto span{position:absolute;inset:0;background:center/cover no-repeat;transition:transform 1s cubic-bezier(.16,1,.3,1)}
.actu__slide:hover .actu__slide-foto span{transform:scale(1.04)}
.actu__slide-cuerpo{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column;align-items:flex-start;gap:1rem;padding:clamp(1.8rem,3.4vw,3rem)!important;overflow:hidden}
.actu__slide-cuerpo::after{content:"";position:absolute;right:-30px;top:-30px;width:180px;height:180px;opacity:.08;pointer-events:none;
  background:conic-gradient(from 90deg,#fff 25%,transparent 0 50%,var(--orange) 0 75%,transparent 0);background-size:36px 36px}
.actu__slide .actu__etq{color:var(--orange)}
.actu__slide-t{font-size:clamp(1.5rem,2.4vw,2.15rem)!important;max-width:22ch!important}
.actu__slide-x{font-size:1rem;line-height:1.6;color:rgba(255,255,255,.78);max-width:42ch}
.actu__slide-pie{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin-top:auto;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14)}
.actu__slide .actu__meta{color:rgba(255,255,255,.7)}
.actu__leer{display:inline-flex;align-items:center;gap:.7rem;font-weight:600;font-size:.95rem}
.actu__slide .actu__flecha{border-color:rgba(255,255,255,.3)}
.actu__slide .actu__flecha::before{border-color:#fff}
.actu__slide:hover .actu__flecha{background:var(--orange);border-color:var(--orange)}
.actu__slide-velo{display:none}
/* cabecera de la rejilla */
.actu__todas{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:clamp(3rem,6vw,4.5rem) 0 0;padding-top:clamp(2rem,4vw,3rem);border-top:1px solid var(--line)}
.actu__todas-t{margin:0;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.02em;color:var(--navy)}
.actu__cuenta{font-size:.875rem;color:var(--muted,#6b7280);white-space:nowrap}
.actu__filtro{margin:1.4rem 0 2rem!important;padding:.9rem 1rem!important;border:1px solid var(--line)!important;border-radius:16px;background:#fff}
/* tarjetas */
.actu__rejilla{gap:2.4rem 1.6rem!important}
.actu__card{border:0!important;border-radius:0!important;background:none!important;overflow:visible!important}
.actu__card-foto{border-radius:16px;aspect-ratio:4/3!important}
.actu__card-cuerpo{padding:1.2rem 0 0!important;gap:.65rem!important}
.actu__card-t{font-size:1.3rem!important;line-height:1.28!important;letter-spacing:-.01em;transition:color .3s}
.actu__card:hover .actu__card-t{color:var(--orange)}
.actu__card-pie{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.actu__card .actu__meta{margin:0!important;padding:0!important}
.actu__card:hover .actu__flecha{background:var(--navy);border-color:var(--navy)}
.actu__card:hover .actu__flecha::before{border-color:#fff}
@media (max-width:760px){
  .actu__pista > *{flex-basis:86vw}
  .actu__slide{grid-template-columns:1fr;grid-template-rows:14rem auto}
  .actu__slide-x{display:none}
  .actu__todas{flex-direction:column;gap:.3rem}
  .actu__filtro{padding:.9rem!important}
}
.actu__todas{border-top:0!important;padding-top:0!important}
.actu__slide-cuerpo::after{top:auto;bottom:4.2rem;right:-36px;width:150px;height:150px;opacity:.06}
.actu__dest-cab{margin-bottom:1.6rem!important}
/* separador: palito vertical en lugar del punto medio */
.actu__sep{display:inline-block;width:1px;height:.95em;margin:0 .6em;background:currentColor;opacity:.45;vertical-align:-.12em}
/* ── Servicios de España: bloques de las guías ───────────── */
.srv-es{padding:clamp(3.5rem,7vw,6rem) 0}
.srv-es .rotulo{margin:0 0 1.2rem}
.srv-es--intro{background:#fff}
.srv-es__lead{margin:0;max-width:none;font-family:var(--serif,"Baskervville","Libre Baskerville",Georgia,serif);font-style:italic;font-size:clamp(1.35rem,2.3vw,1.85rem);line-height:1.45;color:var(--navy)}
.srv-es__lead::after{content:"";display:block;width:3rem;height:2px;margin-top:1.6rem;background:var(--orange)}
.srv-es__texto{margin-top:1.6rem}
.srv-es__texto:has(p + p){columns:2 28rem;column-gap:3rem}
.srv-es__texto p{margin:0 0 1rem;break-inside:avoid;font-size:1.0625rem;line-height:1.75;color:var(--body,#4a5568)}
/* qué incluye (una lista): navy */
.srv-es--incluye{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.srv-es--incluye::after{content:"";position:absolute;right:-60px;bottom:-60px;width:320px;height:320px;opacity:.06;pointer-events:none;
  background:conic-gradient(from 90deg,#fff 25%,transparent 0 50%,var(--orange) 0 75%,transparent 0);background-size:48px 48px}
.srv-es__dos{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.srv-es__lado{position:sticky;top:120px}
.srv-es--incluye .rotulo{color:rgba(255,255,255,.7)}
.srv-es__h2{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;line-height:1.25;letter-spacing:-.015em;color:#fff}
.srv-es__cifra{display:flex;align-items:baseline;gap:.6rem;margin:2rem 0 0;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16);font-size:.95rem;color:rgba(255,255,255,.7)}
.srv-es__cifra strong{font-size:clamp(2.6rem,4vw,3.4rem);font-weight:600;line-height:1;color:var(--orange)}
.srv-es__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:2.4rem}
.srv-es__lista li{display:grid;grid-template-columns:2.2rem 1fr;gap:.4rem;padding:1.05rem 0;border-top:1px solid rgba(255,255,255,.14);font-size:1rem;line-height:1.55;color:rgba(255,255,255,.92)}
.srv-es__n{font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--orange);padding-top:.2rem}
/* apartados: tarjetas que se cambian sobre gris */
.srv-es--areas{background:var(--mist)}
.srv-es--areas .pest{margin-top:0}
.pest__h{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.25;color:var(--navy);margin:0 0 1rem;font-weight:600}
/* frase final */
.srv-es--frase{padding:clamp(3rem,6vw,5rem) 0;background:#fff}
.srv-es__frase{margin:0;padding-left:1.6rem;border-left:3px solid var(--orange);font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:500;line-height:1.4;letter-spacing:-.01em;color:var(--navy);max-width:none}
.srv-es--areas + .srv-es--frase,.srv-es--incluye + .srv-es--frase{background:#fff}
@media (max-width:900px){
  .srv-es__dos{grid-template-columns:1fr}
  .srv-es__lado{position:static}
  .srv-es__lista{grid-template-columns:1fr}
}
/* el patrón de la tarjeta, solo en la esquina libre de abajo: nunca sobre el texto */
.pest__panel{padding-bottom:4.2rem}
.pest__panel::after{width:150px!important;height:96px!important;right:-20px!important;bottom:-24px!important;top:auto!important;background-size:32px 32px!important}
.pest__panel > *{position:relative;z-index:1}
.srv-es__boton{margin:2rem 0 0}
.srv-es__frase--larga{font-size:clamp(1.125rem,1.7vw,1.4rem);line-height:1.55}
/* Canal ético: todavía sin plataforma, en gris y sin enlace */
.pie__legal .pie__pendiente{opacity:.45;cursor:default}

/* ── Homes de sede: actualidad y redes con las fichas de la portada global (14.10.2026) ──
   Mismas medidas que en home-global.css: columna de 1320 px, tres fichas de un tercio,
   foto 16:9, cuerpo de 19 rem con «Leer más» abajo; redes con panel 16:10 y el enlace
   al pie tras un filete. */
.notas-sede > .env,.redes3 > .env{max-width:calc(1320px + 2*var(--gutter))}
.notas-sede{background:#fff}
.notas-sede__cab{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem 2rem;flex-wrap:wrap;margin-bottom:clamp(1.4rem,2.6vw,2rem)}
.notas-sede__cab .entrada{max-width:46rem;margin-bottom:0}
.notas-sede__rejilla{--hueco:clamp(1rem,2vw,1.5rem);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hueco);padding:.4rem 0 0}
.nota-sede{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;color:inherit;text-decoration:none;
  transition:border-color .45s var(--ease),transform .45s var(--ease),box-shadow .45s var(--ease)}
.nota-sede:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 20px 40px rgba(16,40,72,.10)}
.nota-sede__foto{display:block;width:100%;height:auto;flex:none;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line);transition:transform 1.1s var(--ease)}
.nota-sede:hover .nota-sede__foto{transform:scale(1.04)}
.nota-sede__cuerpo{display:flex;flex-direction:column;flex:1;justify-content:flex-start;min-height:19rem;padding:clamp(1.3rem,2.2vw,1.7rem);padding-bottom:2rem}
.nota-sede__meta{display:flex;align-items:center;gap:.6rem;margin:0;font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.nota-sede__meta time{color:var(--muted);letter-spacing:.1em}
.nota-sede__t{margin:.7rem 0 .5rem;font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--navy)}
.nota-sede__x{margin:0 0 2rem;font-size:.9375rem;font-weight:400;line-height:1.65;color:var(--body)}
.nota-sede__mas{display:inline-flex;align-items:center;gap:.7rem;align-self:flex-start;margin-top:auto;padding:.7rem 1.1rem;background:var(--orange);border-radius:2px;
  font-size:1rem;font-weight:500;letter-spacing:-.01em;color:#fff;transition:background .35s var(--ease),color .35s var(--ease)}
.nota-sede__mas svg{width:.95rem;height:.95rem;flex:none;stroke-width:2.2;transition:transform .35s var(--ease)}
.nota-sede:hover .nota-sede__mas{background:var(--navy)}
.nota-sede:hover .nota-sede__mas svg{transform:translate(2px,-2px)}
.notas-sede__vacio{margin:0;padding:1.6rem 1.8rem;border:1px dashed rgba(25,60,106,.25);border-radius:16px;color:var(--muted)}
.redes3{background:var(--mist)}
.redes3__cab{margin-bottom:0}
.redes3__rejilla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2vw,1.4rem);margin-top:clamp(1.4rem,2.6vw,2rem)}
.red3{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;color:var(--navy);text-decoration:none;
  transition:border-color .45s var(--ease),box-shadow .45s var(--ease)}
.red3:hover{border-color:var(--orange);box-shadow:0 20px 40px rgba(16,40,72,.10)}
.red3__panel{position:relative;flex:none;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.red3__panel--li{background:var(--navy)}
.red3__panel--ig{background:var(--orange)}
.red3__panel--yt{background:var(--navy-deep)}
.red3__iso{height:48%;width:auto;max-height:11rem;color:#fff;opacity:.26}
.red3__panel--ig .red3__iso{opacity:.34}
.red3__play{position:relative;display:grid;place-items:center;width:clamp(3.2rem,6vw,4rem);aspect-ratio:1;border-radius:50%;background:#FBFAF8;color:var(--navy)}
.red3__play svg{width:42%;height:auto;margin-left:8%}
.red3__cuerpo{display:flex;flex-direction:column;flex:1;padding:clamp(1rem,2vw,1.35rem);gap:.55rem}
.red3__cab{display:flex;align-items:center;gap:.6rem}
.red3__icono{flex:none;width:1.4rem;height:1.4rem;color:var(--orange)}
.red3__cab strong{font-size:1.05rem;font-weight:600;letter-spacing:-.01em}
.red3__desc{margin:0;font-size:.875rem;font-weight:400;line-height:1.55;color:var(--body)}
.red3__pie{display:block;margin-top:auto;padding-top:clamp(.8rem,1.6vw,1rem);border-top:1px solid var(--line)}
.red3__cuenta{display:block;margin:0 0 .6rem;font-size:.78rem;font-weight:400;color:var(--muted)}
.red3__ir{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--navy);color:var(--navy);
  font-size:.82rem;font-weight:500;line-height:1;transition:background .3s var(--ease),color .3s var(--ease)}
.red3__ir svg{width:.8rem;height:.8rem}
.red3:hover .red3__ir{background:var(--navy);color:#FBFAF8}
@media (max-width:860px){
  .notas-sede__rejilla,.redes3__rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nota-sede__cuerpo{padding:1.6rem 1.5rem 2rem;min-height:18rem}
  .nota-sede__mas{padding:.5rem .8rem;font-size:.8125rem;gap:.5rem}
}
@media (max-width:620px){.notas-sede__rejilla,.redes3__rejilla{grid-template-columns:minmax(0,1fr)}}
/* contacto: formulario a la izquierda, agenda de Calendly a la derecha */
.contacto--agenda .contacto__cab{max-width:52rem;margin-bottom:clamp(1.8rem,3.5vw,2.6rem)}
.contacto__dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.contacto__agenda{padding:clamp(1.4rem,2.5vw,2rem);border-radius:20px;background:#fff;color:var(--navy)}
.contacto__agenda-t{margin:0;font-size:1.35rem;font-weight:600;color:var(--navy)}
.contacto__agenda-d{margin:.35rem 0 1rem;color:var(--body)}
.contacto__calendly{min-width:280px;height:660px;margin:0 -.6rem;border-top:1px solid var(--line)}
.contacto__agenda .contacto__lista{margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line)}
.contacto__agenda .contacto__lista a{color:var(--navy)}
@media (max-width:980px){.contacto__dos{grid-template-columns:minmax(0,1fr)}}

/* Áreas de la home de Andorra (14.10.2026): fichas llenas y del mismo alto —
   icono y número arriba, título, el subtítulo del área (Drive) y «Ver el servicio»
   al pie tras un filete. Cuatro a la vista en escritorio. */
.areas360__pista > *{flex:0 0 calc((100% - 3rem)/4)}
.areas360__pista .area360{
  display:flex;flex-direction:column;gap:0;min-height:0;
  padding:1.4rem 1.4rem 1.25rem;border-radius:18px;
}
.areas360__pista .area360__ico{margin-bottom:1.3rem}
.areas360__pista .area360__n{top:1.55rem;right:1.4rem;color:var(--orange);opacity:.85}
.areas360__pista .area360__t{align-self:auto;margin:0 0 .5rem;font-size:1.0625rem;line-height:1.3}
.area360__d{margin:0 0 1.2rem;font-size:.9rem;line-height:1.55;color:var(--body)}
.areas360__pista .area360__ir{
  display:flex;align-items:center;justify-content:space-between;width:auto;height:auto;margin-top:auto;
  padding:.9rem 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;
  font-size:.85rem;font-weight:600;color:var(--navy);
}
.areas360__pista .area360__ir i{
  width:2rem;height:2rem;flex:none;border-radius:50%;border:1px solid rgba(25,60,106,.18);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23193C6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/.95rem no-repeat;
  transition:background-color .3s ease,border-color .3s ease;
}
.areas360__pista .area360:hover .area360__ir{background:none}
.areas360__pista .area360:hover .area360__ir i{
  background-color:var(--orange);border-color:var(--orange);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
@media (max-width:1100px){.areas360__pista > *{flex-basis:calc((100% - 2rem)/3)}}
@media (max-width:860px){.areas360__pista > *{flex-basis:calc((100% - 1rem)/2)}}
@media (max-width:520px){
  .areas360__pista > *{flex-basis:78%}
  .areas360__pista .area360{display:flex;padding:1.2rem}
}

/* Sectores especializados (14.10.2026): un panel navy con el título a la izquierda y
   la lista a la derecha, a dos columnas, filas con número, icono y nombre separadas
   por filetes. Nada de cajas vacías: el nombre es todo lo que dice el documento. */
.sectores-bloque{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,2fr);gap:clamp(1.5rem,4vw,4rem);align-items:start;
  margin-top:clamp(2.5rem,5vw,3.5rem);padding:clamp(1.8rem,4vw,3rem);
  border-radius:24px;background:var(--navy);color:#fff;
}
.sectores-bloque::after{content:"";position:absolute;left:-50px;bottom:-50px;width:260px;height:260px;opacity:.06;pointer-events:none;
  background:conic-gradient(from 90deg,#fff 25%,transparent 0 50%,var(--orange) 0 75%,transparent 0);background-size:44px 44px}
.sectores-bloque__cab{position:sticky;top:110px}
.sectores-bloque .rotulo{color:rgba(255,255,255,.72)}
.sectores-bloque .titulo{margin:0;font-size:clamp(1.5rem,2.4vw,2rem);color:#fff}
.sectores-bloque .sectores{position:relative;z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:0 clamp(1.2rem,3vw,2.5rem);margin:0}
.sectores-bloque .sector{
  flex-direction:row;align-items:center;gap:.9rem;min-height:0;padding:.95rem 0;
  border:0;border-bottom:1px solid rgba(255,255,255,.14);border-radius:0;background:none;color:#fff;transform:none;
}
.sectores-bloque .sector::before{display:none}
.sectores-bloque .sector:hover{transform:none;color:#fff}
.sectores-bloque .sector__cab{flex-direction:row-reverse;gap:.9rem;flex:none}
.sectores-bloque .sector__n{width:1.6rem;font-size:.75rem;color:var(--orange)}
.sectores-bloque .sector__ico{width:2.3rem;height:2.3rem;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;transition:background-color .3s var(--ease)}
.sectores-bloque .sector__t{font-size:.98rem;font-weight:500;color:#fff;transition:color .3s var(--ease)}
.sectores-bloque .sector:hover .sector__ico{background:var(--orange)}
.sectores-bloque .sector:hover .sector__t{color:var(--orange)}
@media (max-width:900px){
  .sectores-bloque{grid-template-columns:minmax(0,1fr)}
  .sectores-bloque__cab{position:static}
}
@media (max-width:560px){.sectores-bloque .sectores{grid-template-columns:minmax(0,1fr)}}

/* Oficinas (14.10.2026): «Cómo llegar» a Google Maps en cada tarjeta; en Andorra solo
   la oficina de Andorra, al lado del texto (Sabadell y Dubái ya salen en la global). */
.oficina__mapa{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;padding:.5rem .9rem;border:1px solid var(--line);border-radius:999px;
  font-size:.82rem;font-weight:600;color:var(--navy)!important;text-decoration:none;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.oficina__mapa svg{width:.95rem;height:.95rem;color:var(--orange)}
.oficina__mapa:hover{background:var(--navy);border-color:var(--navy);color:#fff!important}
.oficinas--una .env{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.oficinas--una .cabecilla{margin:0}
.oficinas--una .oficinas__rejilla{grid-template-columns:minmax(0,1fr);margin:0}
@media (max-width:900px){.oficinas--una .env{grid-template-columns:minmax(0,1fr)}}

/* «Tu proyecto en Andorra empieza aquí» (14.10.2026): la ficha blanca acaba en su
   botón; el lateral navy apila la cifra y su explicación, centradas; en el móvil las
   pestañas se deslizan enteras, sin cortar el texto. */
#proyecto .fichas__texto .fichas__ir,#servicios .fichas__texto .fichas__ir{margin-top:auto;padding-top:.8rem}
#proyecto .fichas__texto p,#servicios .fichas__texto p{margin-bottom:1.4rem}
#proyecto .fichas__lateral,#servicios .fichas__lateral{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,3vw,2.4rem)}
#proyecto .fichas__dato,#servicios .fichas__dato{flex-direction:column;align-items:flex-start;gap:.7rem;margin:0;position:relative;z-index:1}
#proyecto .fichas__dato b,#servicios .fichas__dato b{font-size:clamp(2.2rem,4vw,3.2rem)}
#proyecto .fichas__dato span,#servicios .fichas__dato span{max-width:24ch;font-size:1rem;line-height:1.5;padding-top:.8rem;border-top:2px solid var(--orange)}
#proyecto .fichas__pestanas button,#servicios .fichas__pestanas button{flex:none}
#proyecto .fichas__dato b,#servicios .fichas__dato b{white-space:normal;overflow-wrap:anywhere}

/* Planificación patrimonial · «El servicio» (14.10.2026): la enumeración, lista con
   marcas naranjas; toda la columna en la misma letra y el mismo cuerpo. */
.servicio3__principal .servicio3__frase{margin:0;font-size:clamp(1.1rem,1.5vw,1.25rem);font-weight:500;line-height:1.55;letter-spacing:-.01em;color:var(--navy)}
.servicio3__lista{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.6rem;margin:1rem 0 1.1rem;padding:0}
.servicio3__lista li{position:relative;padding-left:1.75rem;font-size:clamp(1.1rem,1.5vw,1.25rem);font-weight:500;line-height:1.45;color:var(--navy)}
.servicio3__lista li::before{content:"";position:absolute;left:0;top:.18em;width:1.15rem;height:1.15rem;border-radius:50%;
  background:var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5'/%3E%3C/svg%3E") center/.75rem no-repeat}
@media (max-width:560px){.servicio3__lista{grid-template-columns:minmax(0,1fr)}}

/* ============================================================
   Móvil lacónico (15.10.2026): menos altura, lo mismo dicho.
   Cifras en fila, sectores en mosaico de dos, actualidad / redes /
   oficinas deslizables, pie a dos columnas y botones de 40 px.
   ============================================================ */
@media (max-width:600px){
  /* cifras de la portada de sede: tres en fila */
  .cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.3rem}
  .cifra{padding-left:.65rem;gap:.2rem}
  .cifra b{font-size:1.15rem;line-height:1.1}
  .cifra span{font-size:.72rem;line-height:1.3}
  /* cifras de la firma: tres en fila, número grande y rótulo corto */
  .franja__cifras{grid-template-columns:repeat(3,minmax(0,1fr))}
  .franja__c{padding:1.2rem .6rem 1.1rem;border-right:1px solid rgba(255,255,255,.16)}
  .franja__c:last-child{border-right:0}
  .franja__c b{font-size:2.4rem}
  .franja__c strong{margin-top:.5rem;font-size:.8rem;line-height:1.3}
  .franja__c span{font-size:.72rem}
  /* sectores: mosaico de dos columnas, sin número */
  .sectores-bloque{padding:1.5rem 1.1rem}
  .sectores-bloque .sectores{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .sectores-bloque .sector{flex-direction:column;align-items:flex-start;gap:.55rem;padding:.8rem .75rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04)}
  .sectores-bloque .sector__n{display:none}
  .sectores-bloque .sector__ico{width:2rem;height:2rem;border-radius:8px}
  .sectores-bloque .sector__t{font-size:.84rem;line-height:1.3}
  /* actualidad, redes y oficinas: tarjetas que se deslizan con el dedo */
  .notas-sede__rejilla,.redes3__rejilla,.oficinas:not(.oficinas--una) .oficinas__rejilla{
    display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:0 var(--gutter) .4rem;scroll-padding-left:var(--gutter);
  }
  .notas-sede__rejilla::-webkit-scrollbar,.redes3__rejilla::-webkit-scrollbar,.oficinas__rejilla::-webkit-scrollbar{display:none}
  .notas-sede__rejilla > *,.redes3__rejilla > *,.oficinas:not(.oficinas--una) .oficinas__rejilla > *{flex:0 0 84%;scroll-snap-align:start}
  .nota-sede__cuerpo{min-height:0;padding:1.2rem 1.2rem 1.4rem}
  .nota-sede__x{margin-bottom:1.2rem}
  .red3__panel{aspect-ratio:16/8}
  /* pie: la marca a lo ancho y las columnas de dos en dos */
  .pie__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 1.2rem}
  .pie__marca{grid-column:1 / -1}
}
/* la × de la barra «¿Hablamos?», a medida de dedo */
.llamada__x{min-width:40px;min-height:40px}
@media (max-width:600px){
  /* cifras de las portadas interiores: tres en fila */
  .vhero__cifras{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem!important}
  .vhero__cifras li{padding-left:.65rem;gap:.15rem}
  .vhero__cifras b{font-size:1.15rem;line-height:1.15}
  .vhero__cifras li > span{font-size:.72rem;line-height:1.3}
  /* La firma: el isotipo animado, más pequeño (no una pantalla entera) */
  .fport__isotipo{height:9.5rem;margin-top:.6rem}
  /* Para quién trabajamos: el número encima y el texto a todo lo ancho */
  .pq4__ambito{grid-template-columns:minmax(0,1fr)!important;gap:.4rem!important;padding:1.2rem 1.2rem 1.3rem!important}
  .pq4__ambito p{font-size:1rem;line-height:1.6}
}
/* Pestañas: nunca se encogen (Safari en iPhone las aplastaba a «Au», «Fis»…);
   cada una mide lo que su texto y la fila se desliza con el dedo. */
.fichas__pestanas > button{-webkit-appearance:none;appearance:none;flex:0 0 auto!important;-webkit-flex-shrink:0;width:auto;min-width:max-content;white-space:nowrap}
@media (max-width:760px){.fichas__pestanas{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}}
/* «Ver todas las noticias», debajo de las noticias */
.notas-sede__todas{margin:clamp(1.4rem,3vw,2rem) 0 0;text-align:center}
/* Artículo en el móvil: primero el texto; índice, compartir y contacto, después */
@media (max-width:900px){.art2__texto{order:-1}}

/* Fiscalidad en «Tu proyecto en Andorra»: «Ver el servicio» y, al lado, la calculadora */
.fichas__botones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.8rem;align-items:center}
#proyecto .fichas__texto .fichas__botones .fichas__ir{margin-top:0;padding-top:0}
.fichas__botones .btn--oscura{border-color:rgba(25,60,106,.35)}

/* Una oficina y su mapa al lado (revisión 18.10.2026): el contacto y la home de
   Andorra, y «Dónde estamos» de la firma de España */
.oficinas--mapa .oficinas__con-mapa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(1rem,2.4vw,1.6rem);margin-top:clamp(1.6rem,3vw,2.4rem);align-items:stretch}
.oficinas--mapa .oficina{height:100%}
.oficina-mapa{position:relative;min-height:320px;border-radius:var(--radio,14px);overflow:hidden;background:rgba(251,250,248,.08)}
.oficina-mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.25)}
@media (max-width:900px){.oficinas--mapa .oficinas__con-mapa{grid-template-columns:minmax(0,1fr)}.oficina-mapa{min-height:280px}}

/* Bloques naranjas «Cuéntanos tu caso» (revisión 18.10.2026): el teléfono, blanco
   como «Escríbenos», para que los dos pesen lo mismo */
.cierre--video .btn--linea{background:#fff;border-color:#fff;color:var(--orange-boton)}
.cierre--video .btn--linea:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* La firma · «Nuestra historia» (revisión 18.10.2026): su primera frase con la misma
   letra que el texto de «Quiénes somos», no como titular */
.firma-hist__texto .firma-hist__h2{margin:0 0 1rem;max-width:56ch;font-size:1.0625rem;font-weight:500;line-height:1.72;letter-spacing:0;color:var(--navy)}

/* Planificación patrimonial (revisión 18.10.2026): una sola jerarquía de letra, la del
   resto de la web — rótulo, una frase de entrada, y el resto en texto corriente */
.ambitos3__texto p.tramo__rotulo{font-size:.8125rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.4;color:var(--muted);margin:0 0 1.1rem}
.ambitos3__texto .servicio3__principal p.servicio3__frase:not(.servicio3__frase--sigue){font-size:clamp(1.15rem,1.6vw,1.3rem);font-weight:500;line-height:1.55;letter-spacing:-.01em;color:var(--navy)}
.ambitos3__texto .servicio3__lista li{font-size:1.0625rem;font-weight:400;line-height:1.6;color:var(--navy)}
.ambitos3__texto .servicio3__lista li::before{top:.22em}
.ambitos3__texto .servicio3__principal p.servicio3__frase--sigue{font-size:1rem;font-weight:400;line-height:1.72;letter-spacing:0;color:var(--body)}
.ambitos3__texto .servicio3__resto p{font-size:1rem;line-height:1.72}
.tramo--enfoque .enfoque__txt p:not(.tramo__rotulo){font-size:1rem;line-height:1.72}

/* Tarjetas azules de las fichas (revisión 18.10.2026): una sola frase, un solo tamaño.
   Lo que se destaca va en naranja y en negrita, no más grande. */
#proyecto .fichas__dato,#servicios .fichas__dato{display:block;max-width:22ch}
#proyecto .fichas__dato b,#servicios .fichas__dato b,
#proyecto .fichas__dato span,#servicios .fichas__dato span{
  display:inline;font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.4;letter-spacing:-.01em;
  max-width:none;padding:0;border:0;white-space:normal
}
#proyecto .fichas__dato b,#servicios .fichas__dato b{font-weight:600;color:var(--orange)}
#proyecto .fichas__dato span,#servicios .fichas__dato span{font-weight:400;color:#fff}
/* el espacio entre el concepto y la frase va en el marcado (antes, en un ::after que algún navegador comía) */
#proyecto .fichas__dato::before,#servicios .fichas__dato::before{content:"";display:block;width:2.5rem;height:2px;background:var(--orange);margin-bottom:1.1rem}

/* Fotos de la oficina de Sabadell (solo España, revisión 18.10.2026) */
.fport__foto{margin:0;align-self:center;border-radius:var(--radio,16px);overflow:hidden;box-shadow:0 30px 60px -30px rgba(25,60,106,.35);aspect-ratio:16/9}
.fport__foto img{display:block;width:100%;height:100%;object-fit:cover}
.oficina-fotos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.6rem);margin-top:clamp(1rem,2.4vw,1.6rem)}
.oficina-fotos img{display:block;width:100%;height:auto!important;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radio,14px)}
@media (max-width:620px){.oficina-fotos{grid-template-columns:minmax(0,1fr)}}

/* Comparativa del móvil: cada impuesto es una tarjeta, España y Andorra lado a lado,
   sin tener que deslizar la tabla para ver la columna de Andorra */
@media (max-width:640px){
  .compara__marco{overflow:visible;border:0;background:none}
  .compara__tabla{min-width:0}
  .compara__tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .compara__tabla tbody{display:grid;gap:.75rem}
  .compara__tabla tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:hidden}
  .compara__tabla tbody th{grid-column:1/-1;padding:.9rem 1rem .4rem;border:0}
  .compara__tabla tbody td{padding:.2rem 1rem .95rem;border:0;font-size:.9375rem}
  .compara__tabla tbody td::before{content:attr(data-col);display:block;margin-bottom:.2rem;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
  .compara__tabla tbody td:last-child::before{color:var(--orange)}
  .compara__tabla tbody tr:hover td,.compara__tabla tbody tr:hover th{background:none}
}

/* Selector de sede de la cabecera: zona táctil de 40 px en pantallas táctiles, sin cambiar el dibujo */
@media (pointer:coarse){
  .sedes a{position:relative}
  .sedes a::after{content:"";position:absolute;left:0;right:0;top:50%;height:40px;transform:translateY(-50%)}
}

/* La firma de España (revisión 19.10.2026): la foto de la recepción con el mismo ancho,
   proporción y márgenes que la de «Quiénes somos», justo debajo — las dos alineadas */
.fport__int:has(.fport__foto){grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(2rem,4.5vw,4rem)}
.fport__foto{aspect-ratio:auto;border-radius:22px;box-shadow:none}
.fport__foto img{height:clamp(18rem,30vw,26rem);object-fit:cover;object-position:left center;border-radius:22px}
@media (max-width:860px){.fport__int:has(.fport__foto){grid-template-columns:1fr}}
.ab-sede-espana .fport__int:has(.fport__foto) .fport__foto{justify-self:stretch;width:100%}
@media (max-width:900px){.ab-sede-espana .fport__int:has(.fport__foto) .fport__foto{justify-self:stretch}}
