/* =========================================================
   LÓPEZ & ASOCIADOS — Sistema de diseño
   Firma de derecho laboral · Bogotá / Medellín
   ========================================================= */

/* Tipografías alojadas en el tema (sin pedirlas a Google) */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url('../main/fonts/source-serif-4-latin-standard-normal.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url('../main/fonts/roboto-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url('../main/fonts/roboto-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url('../main/fonts/roboto-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url('../main/fonts/roboto-latin-700-normal.woff2') format('woff2');}

:root{
  /* Paleta — azul profundo de marca, naranja de acento, grises fríos */
  --navy-950:#0c1026;
  --navy-900:#111633;
  --navy:#181e49;
  --navy-700:#2a3268;
  --orange:#f26021;
  --orange-700:#cf4e18;
  --orange-050:#fdf0e9;

  --ink:#12162e;
  --slate:#575d73;
  --slate-400:#8c92a6;
  --line:#e2e4ec;
  --paper:#f1f3f7;
  --white:#ffffff;

  --serif:'Source Serif 4', Georgia, serif;
  --sans:'Roboto', 'Helvetica Neue', Arial, sans-serif;

  --wrap:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);

  /* Curva derivada del isotipo: una esquina marcada, la opuesta viva */
  --iso-curve:0 18px 0 18px;
  --iso-curve-sm:0 12px 0 12px;

  /* Forma de los botones: tres esquinas rectas y solo la inferior derecha redondeada (boceto del cliente) */
  --btn-curve:0 0 32px 0;
  --btn-curve-sm:0 0 26px 0;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth; font-size:16px;}
@media (min-width:2200px){ html{font-size:18px;} }
@media (min-width:3000px){ html{font-size:21px;} }

body{
  margin:0; background:var(--white); color:var(--slate);
  font-family:var(--sans); font-weight:400; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{margin:0; padding:0; list-style:none;}
p{margin:0;}
h1,h2,h3,h4{
  font-family:var(--serif); color:var(--ink); margin:0;
  font-weight:600; line-height:1.18; letter-spacing:-.015em;
}
:focus-visible{outline:2px solid var(--orange); outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}

.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 32px;}
@media (min-width:1600px){ .wrap{max-width:1360px;} }
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* ---------------------------------------------------------
   Botones — la esquina viva del isotipo
   --------------------------------------------------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-size:15px; font-weight:500;
  padding:15px 32px; border:1.5px solid transparent; cursor:pointer;
  border-radius:var(--btn-curve);
  transition:background-color .28s var(--ease), color .28s var(--ease),
             border-color .28s var(--ease), transform .28s var(--ease);
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--orange); color:#fff;}
.btn-primary:hover{background:var(--orange-700);}
.btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.45);}
.btn-ghost:hover{background:#fff; color:var(--ink); border-color:#fff;}
.btn-outline{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-outline:hover{background:var(--ink); color:#fff;}

/* ---------------------------------------------------------
   Cabecera
   --------------------------------------------------------- */
.site-head{
  position:fixed; top:0; left:0; right:0; z-index:200;
  transition:background-color .35s var(--ease), box-shadow .35s var(--ease),
             border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.site-head .bar{
  display:flex; align-items:center;
  max-width:1360px; margin:0 auto; padding:18px 32px;
}
.site-head .brand img{height:54px; width:auto; transition:height .3s var(--ease);}
.site-head .brand .on-dark{display:block;}
.site-head .brand .on-light{display:none;}
.nav{display:flex; align-items:center; gap:38px; margin-left:auto; margin-right:32px;}
.nav a{
  font-size:17px; font-weight:500; color:#fff; position:relative; padding:6px 0;
  transition:color .25s;
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--orange); transition:width .3s var(--ease);
}
.nav a:hover::after{width:100%;}

/* Estado con fondo (al hacer scroll o en páginas internas) */
.site-head.solid{
  background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
  border-bottom-color:var(--line);
  box-shadow:0 6px 24px -20px rgba(18,22,46,.6);
}
.site-head.solid .brand .on-dark{display:none;}
.site-head.solid .brand .on-light{display:block;}

/* Mientras se hace scroll dentro del hero (todavía no se llega a las
   demás secciones): banda azul solida, en vez de quedar transparente */
.site-head.hero-scroll{
  background:var(--navy-950);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 6px 24px -20px rgba(0,0,0,.5);
}
.site-head.solid .brand img{height:48px;}
.site-head.solid .nav a{color:var(--ink);}
.site-head.solid .btn-ghost{color:var(--ink); border-color:var(--line);}
.site-head.solid .btn-ghost:hover{background:var(--ink); color:#fff; border-color:var(--ink);}

.burger{display:none; background:none; border:0; padding:8px; cursor:pointer;}
.burger span{display:block; width:26px; height:2px; background:#fff; margin:5px 0; transition:.25s;}
.site-head.solid .burger span{background:var(--ink);}

@media (max-width:1000px){
  .nav{
    position:fixed; inset:0; background:var(--navy-950);
    flex-direction:column; justify-content:center; gap:10px;
    margin:0; transform:translateY(-100%); transition:transform .4s var(--ease);
  }
  .nav.open{transform:translateY(0);}
  .nav a{font-size:26px; font-family:var(--serif); color:#fff !important;}
  /* El menú es un panel fijo (fuera del flujo): el botón se manda a la derecha, alineado con el borde del contenido */
  .burger{display:block; position:relative; z-index:210; margin-left:auto; margin-right:-8px;}
  .nav-cta{display:none;}
}

/* ---------------------------------------------------------
   Hero con video
   --------------------------------------------------------- */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  overflow:hidden; background:var(--navy-950);
}
.hero video, .hero .poster{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}

/* ---------------------------------------------------------
   Slider del hero: video + 2 fotos, con transición cruzada
   --------------------------------------------------------- */
.hero-slider{position:absolute; inset:0; z-index:0;}
.hero-slider .slide{
  position:absolute; inset:0; opacity:0;
  transition:opacity 1.1s var(--ease);
}
.hero-slider .slide.active{opacity:1; z-index:1;}
.hero-slider .slide video,
.hero-slider .slide img{
  width:100%; height:100%; object-fit:cover; display:block;
  /* Colores más vivos en los videos de fondo */
  filter:saturate(2) contrast(1.1) brightness(1.03);
}

/* Flechas de navegación, abajo a la derecha */
.hero-nav{
  position:absolute; right:40px; bottom:40px; z-index:3;
  display:flex; gap:12px;
}
.hero-nav button{
  width:50px; height:50px; border-radius:50%;
  background:rgba(255,255,255,.08); backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:.3s var(--ease);
}
.hero-nav button:hover{background:var(--orange); border-color:var(--orange);}
.hero-nav button svg{width:20px; height:20px; stroke:#fff;}
.hero-nav .dots{
  display:flex; align-items:center; gap:7px; margin-right:6px;
}
.hero-nav .dots button{
  width:9px; height:9px; border-radius:50%; padding:0;
  background:rgba(255,255,255,.4); border:none; backdrop-filter:none;
}
.hero-nav .dots button.active{background:var(--orange); width:22px; border-radius:5px;}
@media (max-width:640px){
  .hero-nav{right:20px; bottom:20px;}
  .hero-nav button{width:42px; height:42px;}
}
/* Velo ligero: el video se ve con sus colores; solo se oscurece lo justo donde hay texto */
.hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(12,16,38,.30) 0%, rgba(12,16,38,.05) 24%, rgba(12,16,38,.12) 50%, rgba(12,16,38,.55) 100%),
    linear-gradient(96deg, rgba(14,20,54,.68) 0%, rgba(14,20,54,.38) 46%, rgba(14,20,54,0) 80%);
}
.hero h1, .hero .lede{text-shadow:0 2px 22px rgba(8,12,32,.5);}
@media (max-width:900px){
  /* En celular el texto ocupa todo el ancho: velo parejo y ligero para que se lea sobre cualquier video */
  .hero::after{background:linear-gradient(180deg, rgba(12,16,38,.60) 0%, rgba(12,16,38,.60) 48%, rgba(12,16,38,.74) 100%);}
}
.hero .wrap{position:relative; z-index:2; padding-top:170px; padding-bottom:104px; width:100%;}

.hero h1{
  color:#fff; font-weight:700; letter-spacing:-.025em;
  font-size:clamp(38px,5.6vw,80px); line-height:1.06; max-width:17ch;
  text-wrap:balance;
}
.hero .lede{
  color:rgba(255,255,255,.86); font-size:clamp(16px,1.35vw,19px);
  max-width:56ch; margin-top:26px; line-height:1.75;
}
.hero .cta-row{display:flex; gap:14px; margin-top:38px; flex-wrap:wrap;}

/* Cifras del hero: tarjeta flotante, con borde vivo y barra de avance */
.hero .wrap{position:relative;}
/* Cifras del hero: card grande de cristal, con filo naranja y barras de avance */
.figures{
  position:absolute; right:0; bottom:72px; z-index:3;
  width:min(380px, 42vw);
}
.figures .card{
  position:relative; overflow:hidden;
  padding:20px 28px 18px;
  border-radius:var(--iso-curve);
  background:linear-gradient(155deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  border:0;
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  box-shadow:0 40px 80px -34px rgba(0,0,0,.75);
}
.figures .eyebrow-mini{
  position:relative; z-index:1;
  display:flex; align-items:center; gap:10px; margin-bottom:17px;
  font-size:11px; font-weight:700; letter-spacing:.22em; color:rgba(255,255,255,.85);
}

.figures .viewport{position:relative; z-index:1; height:104px;}
.figures .fig{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center;
  opacity:0; transform:translateY(24px);
  transition:opacity .55s var(--ease), transform .6s var(--ease);
  pointer-events:none;
}
.figures .fig.on{opacity:1; transform:translateY(0); pointer-events:auto;}
.figures .fig.out{opacity:0; transform:translateY(-24px);}
.figures .fig b{
  display:block; font-family:var(--serif); font-size:clamp(46px,4.2vw,60px);
  color:#fff; font-weight:700; line-height:1; letter-spacing:-.035em;
}
.figures .fig span{
  display:block; color:rgba(255,255,255,.94); font-size:20px; font-weight:500;
  margin-top:14px; line-height:1.42; max-width:30ch;
}
/* Cifra con unidad: «+20 años» → número grande y la palabra más pequeña a su lado */
.figures .fig b .unit{display:inline; font-size:.38em; font-weight:600; letter-spacing:0; margin-left:.12em; white-space:nowrap;}
/* Variante de frase (sin cifra): título serif grande */
.figures .fig.txt b{
  font-size:clamp(22px,1.8vw,26px); line-height:1.18; letter-spacing:-.015em; max-width:none;
}
.figures .fig.txt span{font-size:19px; margin-top:14px; max-width:34ch;}

.figures .bars{position:relative; z-index:1; display:flex; gap:6px; margin-top:14px;}
.figures .bars button{
  flex:1; height:3px; padding:0; border:0; cursor:pointer;
  background:rgba(255,255,255,.25); position:relative; overflow:hidden;
}
.figures .bars button::after{
  content:""; position:absolute; inset:0; background:var(--orange);
  transform:scaleX(0); transform-origin:left;
}
.figures .bars button[aria-current="true"]::after{
  animation:fig-progress var(--delay,5000ms) linear forwards;
}
.figures.paused .bars button[aria-current="true"]::after{animation-play-state:paused;}

@keyframes fig-progress{from{transform:scaleX(0);} to{transform:scaleX(1);}}
@media (prefers-reduced-motion: reduce){
  .figures .bars button[aria-current="true"]::after{animation:none; transform:scaleX(1);}
}

@media (max-width:900px){
  .figures{position:static; width:100%; max-width:380px; margin-top:40px;}
  .figures .card{padding:20px 24px 18px;}
  .figures .viewport{height:100px;}
}
@media (max-width:350px){ .figures .viewport{height:112px;} }
@media (max-width:420px){
  .figures .fig b{font-size:46px;}
  .figures .fig.txt b{font-size:23px;}
  .figures .fig span,.figures .fig.txt span{font-size:17px;}
}

/* Entrada del hero: un solo momento orquestado */
.hero h1, .hero .lede, .hero .cta-row, .figures{
  opacity:0; transform:translateY(24px);
  animation:rise .95s var(--ease) forwards;
}
.hero .lede{animation-delay:.14s;}
.hero .cta-row{animation-delay:.26s;}
.figures{animation-delay:.38s;}
@keyframes rise{to{opacity:1; transform:translateY(0);}}

/* ---------------------------------------------------------
   Secciones
   --------------------------------------------------------- */
.band{padding:110px 0;}
.band.tint{background:var(--paper);}
.band.dark{background:var(--navy); color:rgba(255,255,255,.78);}
.band.dark h2,.band.dark h3{color:#fff;}
@media (max-width:760px){ .band{padding:72px 0;} }

/* ---------------------------------------------------------
   Isotipo de marca como fondo decorativo — secciones navy
   --------------------------------------------------------- */
.awards-band{position:relative; overflow:hidden;}
.awards-band::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  width:720px; height:720px;
  background:var(--lopez-isotipo, url('../main/img/brand/isotipo-white.png')) center/contain no-repeat;
  opacity:.07;
  right:-200px; top:-220px; transform:rotate(14deg);
}
.awards-band .wrap{position:relative; z-index:1;}
@media (max-width:900px){
  .awards-band::before{width:420px; height:420px; right:-130px; top:-150px;}
}
@media (max-width:540px){
  .awards-band::before{opacity:.04;}
}

.lead-in{max-width:760px; margin-bottom:56px;}
.lead-in h2{font-size:clamp(28px,3.5vw,46px);}
.lead-in p{margin-top:20px; font-size:17.5px; max-width:64ch;}
/* El texto del bloque de contacto cabe en una sola línea */
#contacto .lead-in p{max-width:none; white-space:nowrap;}
@media (max-width:760px){
  #contacto .lead-in p{white-space:normal;}
}
.lead-in.center{margin-inline:auto; text-align:center;}

/* Intro: declaración + pilares */
.intro{
  display:grid; grid-template-columns:.92fr 1.08fr;
  border-radius:var(--iso-curve); overflow:hidden;
  box-shadow:0 40px 80px -46px rgba(18,22,46,.38);
}
.intro .say{
  position:relative; background:var(--navy-950); color:#fff;
  padding:64px 52px; display:flex; flex-direction:column; justify-content:center;
  overflow:hidden;
}
.intro .say::before{content:none;}
/* Isotipo del logo en blanco muy tenue (en lugar de las comillas) */
.intro .say::after{
  content:""; position:absolute; top:34px; right:34px; width:190px; height:182px; z-index:0;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 12 89 85%22%3E%3Cg fill=%22%23fff%22 fill-opacity=%22.09%22%3E%3Cpath d=%22M87.22,71.23C87.15,71.08 87.01,70.46 86.89,69.86C86.78,69.26 86.57,68.54 86.44,68.27C86.30,68.00 86.12,67.47 86.04,67.10C85.88,66.30 85.84,66.19 85.48,65.60C85.33,65.35 85.14,64.81 85.05,64.40C84.97,63.98 84.70,63.25 84.45,62.75C84.21,62.25 83.96,61.65 83.90,61.40C83.83,61.15 83.63,60.70 83.45,60.40C83.26,60.10 83.05,59.59 82.97,59.28C82.89,58.97 82.68,58.52 82.51,58.28C82.34,58.04 82.12,57.59 82.01,57.27C81.90,56.96 81.67,56.51 81.51,56.27C81.34,56.04 81.11,55.59 81.00,55.27C80.90,54.95 80.65,54.47 80.47,54.22C80.29,53.96 80.07,53.59 80.00,53.40C79.93,53.21 79.72,52.84 79.55,52.59C79.37,52.34 79.13,51.91 79.01,51.64C78.89,51.37 78.68,51.04 78.55,50.90C78.42,50.76 78.19,50.38 78.05,50.05C77.90,49.72 77.67,49.33 77.52,49.17C77.38,49.02 77.12,48.65 76.95,48.36C76.52,47.59 75.86,46.61 75.52,46.20C75.36,46.01 75.15,45.70 75.06,45.52C74.97,45.34 74.73,45.02 74.54,44.82C74.34,44.62 74.08,44.24 73.95,43.99C73.82,43.74 73.55,43.34 73.36,43.09C72.35,41.84 71.92,41.34 71.59,41.01C71.39,40.81 71.13,40.49 71.00,40.30C70.87,40.11 70.64,39.81 70.49,39.65C70.34,39.48 69.79,38.86 69.27,38.25C67.40,36.09 61.48,30.41 60.62,29.96C60.45,29.87 60.21,29.67 60.08,29.51C59.96,29.35 59.66,29.11 59.43,28.96C59.20,28.82 58.96,28.62 58.91,28.51C58.85,28.41 58.59,28.19 58.33,28.02C58.06,27.86 57.65,27.57 57.42,27.36C57.18,27.16 56.94,27.00 56.90,27.00C56.85,27.00 56.60,26.82 56.35,26.60C56.09,26.37 55.67,26.09 55.42,25.96C55.16,25.83 54.86,25.62 54.75,25.50C54.64,25.38 54.33,25.16 54.05,25.03C53.77,24.89 53.40,24.64 53.22,24.49C53.04,24.33 52.70,24.10 52.47,23.99C52.24,23.87 51.92,23.66 51.75,23.53C51.59,23.39 51.19,23.15 50.86,22.99C50.53,22.83 50.14,22.59 50.00,22.46C49.86,22.32 49.51,22.12 49.21,22.01C48.91,21.90 48.50,21.67 48.29,21.50C48.08,21.33 47.70,21.11 47.44,21.00C47.18,20.89 46.72,20.64 46.41,20.45C46.10,20.26 45.64,20.04 45.38,19.95C45.13,19.87 44.69,19.64 44.40,19.45C44.12,19.26 43.73,19.06 43.53,19.01C43.33,18.95 42.91,18.75 42.61,18.57C42.30,18.38 41.78,18.15 41.45,18.05C41.12,17.96 40.58,17.73 40.25,17.55C39.92,17.37 39.33,17.13 38.95,17.01C38.56,16.90 38.03,16.67 37.76,16.50C37.46,16.31 36.99,16.13 36.51,16.04C36.09,15.95 35.42,15.71 35.00,15.50C34.59,15.29 33.96,15.06 33.60,14.99C33.24,14.93 32.56,14.72 32.09,14.54C31.62,14.37 30.75,14.12 30.14,14.00C28.55,13.69 28.27,13.45 29.06,13.05C29.45,12.85 29.65,12.85 56.65,12.85C78.89,12.85 83.96,12.87 84.43,12.98C85.54,13.24 87.46,15.18 87.93,16.53C88.09,16.99 88.11,25.45 88.03,49.95C87.96,68.27 87.93,70.89 87.80,71.15C87.60,71.55 87.36,71.58 87.22,71.23Z%22/%3E%3Cpath d=%22M57.82,95.09C57.41,94.82 57.24,94.49 56.94,93.38C56.81,92.90 56.59,92.28 56.45,92.01C56.32,91.73 56.11,91.16 55.99,90.73C55.88,90.30 55.65,89.75 55.50,89.50C55.34,89.25 55.14,88.76 55.05,88.40C54.96,88.04 54.73,87.50 54.55,87.19C54.36,86.88 54.13,86.34 54.04,85.99C53.86,85.26 53.76,85.06 53.44,84.68C53.32,84.53 53.12,84.12 53.00,83.76C52.88,83.40 52.66,82.95 52.50,82.75C52.34,82.55 52.12,82.10 52.00,81.74C51.88,81.38 51.68,80.97 51.55,80.82C51.42,80.67 51.18,80.26 51.01,79.91C50.84,79.56 50.60,79.14 50.47,78.96C50.35,78.79 50.12,78.35 49.96,77.98C49.81,77.62 49.59,77.23 49.48,77.13C49.37,77.03 49.16,76.72 49.03,76.45C48.89,76.17 48.66,75.82 48.53,75.66C48.40,75.50 48.17,75.15 48.04,74.87C47.90,74.60 47.62,74.16 47.42,73.90C47.21,73.64 46.97,73.30 46.88,73.14C46.58,72.64 45.82,71.57 45.52,71.20C45.36,71.01 45.15,70.70 45.06,70.53C44.97,70.35 44.71,69.98 44.47,69.70C44.24,69.43 43.80,68.89 43.50,68.50C43.20,68.11 42.75,67.55 42.50,67.25C42.25,66.96 41.80,66.42 41.50,66.06C41.20,65.69 40.60,65.02 40.17,64.57C39.73,64.12 39.21,63.52 39.00,63.25C38.56,62.67 35.43,59.57 34.85,59.14C34.63,58.98 34.09,58.50 33.65,58.06C33.21,57.63 32.67,57.15 32.44,57.00C32.21,56.84 31.96,56.60 31.86,56.46C31.77,56.32 31.55,56.13 31.37,56.04C31.20,55.95 30.84,55.68 30.58,55.44C30.32,55.20 30.06,55.00 30.01,55.00C29.95,55.00 29.65,54.77 29.35,54.50C29.05,54.23 28.75,54.00 28.70,54.00C28.65,54.00 28.35,53.77 28.05,53.50C27.75,53.23 27.46,53.00 27.41,53.00C27.36,53.00 27.13,52.84 26.89,52.64C26.66,52.45 26.28,52.19 26.06,52.08C25.83,51.97 25.48,51.72 25.28,51.54C25.08,51.36 24.72,51.11 24.48,50.99C24.25,50.87 23.90,50.65 23.70,50.49C23.51,50.34 23.09,50.09 22.77,49.94C22.45,49.80 22.15,49.60 22.10,49.50C22.05,49.40 21.75,49.20 21.43,49.05C21.11,48.90 20.70,48.67 20.52,48.53C20.34,48.40 19.95,48.18 19.64,48.04C19.33,47.91 18.92,47.66 18.72,47.50C18.51,47.34 18.08,47.11 17.75,47.00C17.42,46.89 16.96,46.66 16.73,46.49C16.49,46.33 16.05,46.10 15.73,45.99C15.42,45.89 14.93,45.64 14.66,45.45C14.38,45.27 13.90,45.04 13.60,44.95C13.30,44.87 12.85,44.66 12.61,44.50C12.37,44.33 11.85,44.10 11.46,43.99C11.07,43.87 10.57,43.64 10.34,43.48C10.10,43.31 9.61,43.11 9.15,42.99C8.71,42.88 8.13,42.66 7.84,42.50C7.55,42.34 6.96,42.12 6.53,42.01C6.10,41.90 5.45,41.68 5.10,41.52C4.74,41.36 4.01,41.13 3.48,41.00C2.07,40.69 1.81,40.42 2.53,40.02C2.81,39.87 3.28,39.84 6.20,39.79C8.15,39.75 9.72,39.68 9.95,39.62C10.24,39.54 14.99,39.50 26.65,39.50C38.49,39.49 43.07,39.46 43.40,39.38C43.70,39.30 45.56,39.25 48.87,39.23L53.90,39.19L55.17,39.70C56.35,40.17 56.50,40.26 57.12,40.87C57.49,41.24 57.84,41.67 57.91,41.84C57.97,42.01 58.20,42.51 58.41,42.95C58.90,43.99 59.03,44.95 58.95,46.95C58.92,47.77 58.86,57.09 58.82,67.65C58.77,82.66 58.72,86.91 58.62,87.13C58.53,87.34 58.50,88.38 58.49,91.08C58.48,95.51 58.48,95.51 57.82,95.09Z%22/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  pointer-events:none;
}
.intro .say > *{position:relative; z-index:1;}
.intro .say .tag{margin-bottom:24px;}
.intro .say .tag::before{background:var(--orange);}
.intro .say h2{color:#fff; font-size:clamp(28px,3.1vw,40px); line-height:1.2; letter-spacing:-.02em; font-weight:700; max-width:14ch;}
.intro .say h2 em{font-style:normal; color:var(--orange);}
.intro .say p{margin-top:24px; font-size:16.5px; max-width:40ch; color:rgba(255,255,255,.72); line-height:1.75;}
.intro .say .btn{margin-top:34px; align-self:flex-start;}
.intro .say .btn.btn-outline{color:#fff; border-color:rgba(255,255,255,.4);}
.intro .say .btn.btn-outline:hover{background:#fff; color:var(--ink); border-color:#fff;}

.pillars{
  background:#fff; padding:56px 48px 56px 64px; position:relative;
  display:flex; flex-direction:column; justify-content:center; gap:6px;
  overflow:hidden;
}
.pillar{
  position:relative; display:flex; gap:26px; align-items:center; padding:22px 20px 22px 0;
  border-radius:var(--iso-curve-sm);
  transition:transform .4s var(--ease), background-color .4s var(--ease);
}
/* Zigzag sutil: cada paso se desplaza un poco para romper la rigidez de la lista */
.pillar:hover{background:var(--paper); transform:translateX(8px) scale(1.015);}

/* Gran número fantasma detrás del texto */
.pillar .ghost{
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-family:var(--serif); font-size:64px; font-weight:700; color:var(--paper);
  z-index:0; line-height:1; pointer-events:none; transition:color .4s var(--ease);
}
.pillar:hover .ghost{color:var(--orange-050);}

/* Punto sobre la línea de tiempo + badge del ícono */
.pillar .mark{
  position:relative; z-index:1; flex-shrink:0;
  width:64px; height:64px; border-radius:50%;
  background:linear-gradient(145deg, #fff, var(--orange-050));
  border:2px solid #fff;
  box-shadow:0 10px 24px -12px rgba(242,96,33,.35), 0 0 0 3px var(--paper);
  display:flex; align-items:center; justify-content:center;
  transition:background .4s var(--ease), transform .45s var(--ease), box-shadow .4s var(--ease);
}
.pillar .mark svg{width:26px; height:26px; stroke:var(--orange-700); transition:stroke .3s;}
.pillar:hover .mark{
  background:linear-gradient(145deg, var(--orange), var(--orange-700));
  transform:rotate(-8deg) scale(1.1);
  box-shadow:0 14px 30px -10px rgba(242,96,33,.55), 0 0 0 3px var(--paper);
}
.pillar:hover .mark svg{stroke:#fff;}

.pillar .ptxt{position:relative; z-index:1; padding-top:2px;}
.pillar .ptxt .num{
  display:block; font-family:var(--serif); font-size:12.5px; font-weight:700;
  color:var(--orange); letter-spacing:.18em; margin-bottom:7px;
}
.pillar h3{font-size:18px; font-family:var(--sans); font-weight:600; color:var(--ink); line-height:1.42; max-width:30ch;}

@media (max-width:900px){
  .intro{grid-template-columns:1fr;}
  .intro .say{padding:52px 32px;}
  .pillars{padding:44px 24px 44px 40px;}
  .pillar:hover{transform:translateX(6px) scale(1.01);}
  .pillar .ghost{display:none;}
}
@media (max-width:540px){
  .intro .say{padding:44px 24px;}
  .intro .say::after{width:120px; height:115px; top:22px; right:22px;}
  .pillars{padding:36px 20px 36px 32px;}
  .pillar .mark{width:52px; height:52px;}
}

/* ---------------------------------------------------------
   Servicios — una sola galería; la descripción se revela
   --------------------------------------------------------- */
.gal-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:34px; flex-wrap:wrap;}
.gal-nav{display:flex; gap:10px;}
.gal-nav button{
  width:46px; height:46px; border:1.5px solid var(--line); background:#fff;
  border-radius:var(--iso-curve-sm); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:.28s var(--ease);
}
.gal-nav button:hover:not(:disabled){background:var(--ink); border-color:var(--ink);}
.gal-nav button:hover:not(:disabled) svg{stroke:#fff;}
.gal-nav button:disabled{opacity:.35; cursor:default;}
.gal-nav svg{width:18px; height:18px; stroke:var(--ink); transition:stroke .28s;}

.gallery{
  display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth;
  scroll-snap-type:x mandatory; padding-bottom:4px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.gallery::-webkit-scrollbar{display:none;}

.g-item{
  position:relative; flex:0 0 340px; height:470px; overflow:hidden;
  scroll-snap-align:start; border-radius:var(--iso-curve); display:block;
  background:var(--navy-950);
}
.g-item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.1s var(--ease), opacity .45s var(--ease);
}
.g-item::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(12,16,38,.06) 30%, rgba(12,16,38,.90) 100%);
  transition:background .45s var(--ease);
}
.g-item .cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:26px 24px; display:flex; flex-direction:column;
}
.g-item .cap h3{
  color:#fff; font-size:21px; line-height:1.24;
  transition:transform .45s var(--ease);
}
.g-item .cap p{
  color:rgba(255,255,255,.82); font-size:14.5px; line-height:1.6;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s var(--ease), opacity .4s var(--ease), margin .5s var(--ease);
}
.g-item .cap .go{
  display:inline-flex; align-items:center; gap:9px;
  color:var(--orange); font-size:14px; font-weight:500;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s var(--ease), opacity .4s var(--ease), margin .5s var(--ease);
}
.g-item .cap .go svg{width:16px; height:16px; stroke:var(--orange);}

.g-item:hover img, .g-item:focus-visible img{transform:scale(1.07); opacity:.72;}
.g-item:hover::after, .g-item:focus-visible::after{
  background:linear-gradient(180deg, rgba(12,16,38,.35) 0%, rgba(20,26,66,.94) 100%);
}
.g-item:hover .cap h3, .g-item:focus-visible .cap h3{transform:translateY(-2px);}
.g-item:hover .cap p, .g-item:focus-visible .cap p{max-height:120px; opacity:1; margin-top:12px;}
.g-item:hover .cap .go, .g-item:focus-visible .cap .go{max-height:40px; opacity:1; margin-top:16px;}

/* En táctil no hay hover: se muestra siempre la descripción */
@media (hover:none){
  .g-item .cap p{max-height:120px; opacity:1; margin-top:12px;}
  .g-item .cap .go{max-height:40px; opacity:1; margin-top:14px;}
  .g-item::after{background:linear-gradient(180deg, rgba(12,16,38,.25) 0%, rgba(20,26,66,.93) 100%);}
}
@media (max-width:640px){
  .g-item{flex-basis:270px; height:420px;}
  .gal-nav{display:none;}
}

/* ---------------------------------------------------------
   Declaración con medio
   --------------------------------------------------------- */
.claim{max-width:760px;}
.claim h2{font-size:clamp(28px,3.6vw,46px); line-height:1.2;}
.claim h2 em{font-style:normal; color:var(--orange);}
.claim p{margin-top:24px; font-size:17.5px; max-width:58ch; color:rgba(255,255,255,.8);}
.claim .btn{margin-top:34px;}

/* La sección lleva la foto de la escalera de fondo, con un velo azul
   de marca que deja el texto perfectamente legible */
.band.dark.claim-band{
  position:relative; background:var(--navy-950); overflow:hidden;
  background-image:
    linear-gradient(100deg, rgba(10,13,32,.97) 0%, rgba(24,30,73,.95) 48%, rgba(24,30,73,.88) 100%),
    var(--lopez-staircase, url('../main/img/office/staircase.jpg'));
  background-size:cover; background-position:center 20%;
}
@media (max-width:760px){
  .claim-band{background-position:center 12%;}
}

/* ---------------------------------------------------------
   Reconocimientos
   --------------------------------------------------------- */
.awards{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.award{
  position:relative; padding:38px 30px 34px; background:#fff;
  border-radius:var(--iso-curve); overflow:hidden;
  box-shadow:0 20px 44px -30px rgba(18,22,46,.22);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
/* Alterna la altura para que la fila respire y se sienta dinámica */
.award:nth-child(even){transform:translateY(22px);}
.award:hover{transform:translateY(-10px);}
.award:nth-child(even):hover{transform:translateY(12px);}


.award .logo{
  position:relative; height:150px; display:flex; align-items:center; justify-content:center;
  background:transparent; border-radius:var(--iso-curve-sm); margin-bottom:22px;
}
.award .logo img{max-height:118px; max-width:104%; width:auto; transition:transform .5s var(--ease);}
.award:hover .logo img{transform:scale(1.07);}
/* Filo que se dibuja bajo la placa del logo al pasar el mouse */
.award .logo::after{
  content:""; position:absolute; left:50%; bottom:-1px; width:0; height:3px;
  background:var(--orange); transform:translateX(-50%); transition:width .45s var(--ease);
}
.award:hover .logo::after{width:60%;}

.award .tier{
  display:inline-block; background:var(--navy-950); color:#fff;
  font-size:11.5px; font-weight:700; letter-spacing:.09em;
  padding:6px 14px; border-radius:var(--iso-curve-sm); margin-bottom:16px;
  transition:background-color .35s var(--ease);
}
.award:hover .tier{background:var(--navy);}
.award h3{font-size:21px; font-family:var(--serif); font-weight:700; color:var(--navy-950); margin-bottom:10px; letter-spacing:-.01em;}
.award p{font-size:14px; line-height:1.65; color:var(--slate);}

@media (max-width:900px){
  .awards{grid-template-columns:1fr 1fr; gap:46px 22px;}
  .award:nth-child(even){transform:none;}
  .award:hover{transform:translateY(-8px);}
}
@media (max-width:540px){ .awards{grid-template-columns:1fr; gap:28px;} }

/* ---------------------------------------------------------
   Equipo
   --------------------------------------------------------- */
.people{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.person{display:block;}
.person .shot{overflow:hidden; border-radius:var(--iso-curve); aspect-ratio:3/3.4; background:var(--paper); margin-bottom:16px;}
.person .shot img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease);}
.person:hover .shot img{transform:scale(1.05);}
.person h3{font-size:18px; margin-bottom:4px; transition:color .25s;}
.person:hover h3{color:var(--orange-700);}
.person .role{font-size:14px; color:var(--slate);}
@media (max-width:1000px){ .people{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .people{grid-template-columns:1fr;} }

/* Buscador y filtros del equipo */
.people-tools{display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; align-items:center; margin-bottom:38px;}
.finder{
  display:flex; align-items:center; gap:11px; border:1.5px solid var(--line);
  padding:12px 16px; flex:1 1 300px; max-width:400px; background:#fff;
  border-radius:var(--iso-curve-sm); transition:border-color .2s, box-shadow .2s;
}
.finder:focus-within{border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,96,33,.12);}
.finder svg{width:17px; height:17px; stroke:var(--slate-400); flex-shrink:0;}
.finder input{border:0; outline:0; font-family:inherit; font-size:15px; width:100%; color:var(--ink); background:transparent;}
.chips{display:flex; flex-wrap:wrap; gap:8px;}
.chips button{
  font-family:var(--sans); font-size:14px; font-weight:500; color:var(--ink);
  background:transparent; border:1.5px solid var(--line); padding:10px 18px;
  cursor:pointer; border-radius:var(--btn-curve-sm); transition:.25s var(--ease);
}
.chips button:hover{border-color:var(--ink);}
.chips button[aria-pressed="true"]{background:var(--ink); border-color:var(--ink); color:#fff;}
.person.hidden{display:none;}
.no-match{display:none; padding:24px 0; color:var(--slate-400);}
.no-match.show{display:block;}

/* Segunda fila: filtro por servicio, más discreta y con acento naranja */
.filter-row{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  margin:-18px 0 38px; padding-top:18px; border-top:1px dashed var(--line);
}
.filter-label{font-size:13px; font-weight:700; letter-spacing:.04em; color:var(--slate-400); flex-shrink:0;}
.chips.chips-sm button{
  font-size:12.5px; padding:7px 14px; border-color:var(--line);
}
.chips.chips-sm button[aria-pressed="true"]{background:var(--orange); border-color:var(--orange);}
.chips.chips-sm button:hover{border-color:var(--orange-700);}

/* ---------------------------------------------------------
   Contacto
   --------------------------------------------------------- */
.contact{display:grid; grid-template-columns:1fr; gap:36px; align-items:start;}
.contact form .grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{display:flex; flex-direction:column; gap:7px;}
.field.wide{grid-column:1/-1;}
.field label{font-size:13.5px; font-weight:500; color:var(--ink);}
.field label i{font-style:normal; color:var(--orange-700);}
.field input,.field select,.field textarea{
  border:1.5px solid var(--line); padding:13px 15px; font-family:inherit;
  font-size:15px; color:var(--ink); background:#fff;
  border-radius:var(--iso-curve-sm); transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,96,33,.12);
}
.field textarea{resize:vertical; min-height:120px;}
.consent{display:flex; gap:11px; align-items:flex-start; margin-top:18px;}
.consent input{width:18px; height:18px; margin-top:2px; accent-color:var(--orange); flex-shrink:0;}
.consent label{font-size:13.5px; color:var(--slate); line-height:1.55;}
.consent a{color:var(--orange-700); text-decoration:underline;}
.sent{
  display:none; background:var(--orange-050); border:1px solid rgba(242,96,33,.3);
  padding:15px; margin-top:16px; font-size:14.5px; color:var(--orange-700);
  border-radius:var(--iso-curve-sm);
}
.sent.show{display:block;}
form .btn{margin-top:24px;}
@media (max-width:900px){ .contact{grid-template-columns:1fr; gap:36px;} }
@media (max-width:560px){ .contact form .grid{grid-template-columns:1fr;} }

/* ---------------------------------------------------------
   Pie
   --------------------------------------------------------- */
.site-foot{background:var(--navy-950); color:rgba(255,255,255,.62); padding:76px 0 34px;}
.foot-top{
  display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
  padding-bottom:46px; margin-bottom:46px; border-bottom:1px solid rgba(255,255,255,.12);
  flex-wrap:wrap;
}
.foot-top h2{color:#fff; font-size:clamp(20px,2.5vw,36px); max-width:none; line-height:1.2; white-space:nowrap;}
.foot-grid{display:grid; grid-template-columns:1.5fr .85fr 1fr 1fr 1fr; gap:40px;}
.foot-grid img{height:54px; width:auto; margin-bottom:22px;}
.foot-grid p{font-size:14px; max-width:34ch; line-height:1.75;}
.foot-grid h4{color:#fff; font-family:var(--sans); font-size:14px; font-weight:700; margin-bottom:16px;}
.foot-grid a{font-size:14px; transition:color .2s;}
.foot-grid a:hover{color:var(--orange);}
.foot-grid li{margin-bottom:10px;}
.foot-grid address{font-style:normal; font-size:13.5px; line-height:1.9;}
.foot-base{
  margin-top:50px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12);
  display:flex; justify-content:space-between; align-items:center; gap:14px 24px; flex-wrap:wrap;
  font-size:13px; color:rgba(255,255,255,.45);
}
.foot-base .fb-left, .foot-base .fb-right{display:flex; align-items:center; gap:10px 24px; flex-wrap:wrap;}
.foot-base .fb-policy{color:rgba(255,255,255,.62); text-decoration:underline; text-underline-offset:3px; transition:color .2s;}
.foot-base .fb-policy:hover{color:var(--orange);}
.foot-base .social-icon{
  display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px;
  color:rgba(255,255,255,.7); border:1.5px solid rgba(255,255,255,.26); border-radius:var(--btn-curve-sm);
  transition:color .25s var(--ease), border-color .25s var(--ease), background-color .25s var(--ease);
}
.foot-base .social-icon svg{width:18px; height:18px; fill:currentColor;}
.foot-base a.social-icon:hover{color:#fff; border-color:var(--orange); background:var(--orange);}
@media (max-width:760px){ .foot-top h2{white-space:normal; font-size:clamp(22px,5vw,30px);} }
@media (max-width:999px){ .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 32px;} .foot-grid > div:first-child{grid-column:1 / -1;} }
@media (max-width:700px){ .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:540px){ .foot-grid{grid-template-columns:1fr;} }

/* ---------------------------------------------------------
   Cabecera de página interna
   --------------------------------------------------------- */
.page-top{
  position:relative; background:var(--navy); color:#fff;
  padding:170px 0 78px; overflow:hidden;
}
.page-top::before{
  content:""; position:absolute; inset:0; opacity:.24; z-index:0;
  background:var(--top-img, var(--lopez-office, url('../main/img/about-office.jpg'))) center/cover;
}
.page-top::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, rgba(12,16,38,.92) 0%, rgba(12,16,38,.55) 100%);
}
.page-top .wrap{position:relative; z-index:2;}
.crumbs{font-size:13.5px; color:rgba(255,255,255,.6); margin-bottom:16px;}
.crumbs a:hover{color:var(--orange);}
.page-top h1{color:#fff; font-size:clamp(30px,4.4vw,58px); max-width:20ch; line-height:1.1;}
.page-top .sub{color:rgba(255,255,255,.82); font-size:17.5px; max-width:min(100%,1040px); margin-top:20px;}

/* Artículo */
.article{padding:92px 0;}
.article .body{max-width:74ch;}
.article .body p{font-size:17px; margin-bottom:22px; line-height:1.85;}
.article .body h2{font-size:clamp(23px,2.6vw,32px); margin:42px 0 16px;}
.article .body ul{margin:22px 0;}
.article .body ul li{
  padding:15px 0; border-bottom:1px solid var(--line);
  display:flex; gap:14px; align-items:flex-start; font-size:16px; color:var(--ink);
}
.article .body ul li::before{content:""; width:7px; height:7px; background:var(--orange); flex-shrink:0; margin-top:10px;}
.kicker{
  font-family:var(--serif); font-size:19px; font-weight:600; color:var(--ink);
  line-height:1.55; padding-left:20px; border-left:3px solid var(--orange); margin-bottom:30px;
}

/* Perfil */
.profile{display:grid; grid-template-columns:.75fr 1.25fr; gap:56px; align-items:start;}
.profile .shot{overflow:hidden; border-radius:var(--iso-curve); aspect-ratio:3/3.7;}
.profile .shot img{width:100%; height:100%; object-fit:cover;}
.profile .facts{margin-top:32px; border-top:1px solid var(--line);}
.profile .facts div{display:flex; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); font-size:15px;}
.profile .facts dt{min-width:140px; color:var(--slate-400); font-weight:500;}
.profile .facts dd{margin:0; color:var(--ink);}
@media (max-width:860px){ .profile{grid-template-columns:1fr; gap:34px;} }

/* Otros enlaces */
.more{border-top:1px solid var(--line); margin-top:60px; padding-top:44px;}
.more h4{font-family:var(--sans); font-size:13px; font-weight:700; color:var(--slate-400); margin-bottom:22px;}
.more .row{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.more .card{
  border:1px solid var(--line); padding:22px; border-radius:var(--iso-curve);
  transition:.3s var(--ease);
}
.more .card:hover{border-color:var(--ink); transform:translateY(-3px);}
.more .card h3{font-size:16.5px; margin-bottom:6px;}
.more .card span{font-size:13.5px; color:var(--slate);}
@media (max-width:860px){ .more .row{grid-template-columns:1fr;} }

/* Tarjetas de novedades */
.posts{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.post{border:1px solid var(--line); border-radius:var(--iso-curve); overflow:hidden; background:#fff; transition:.32s var(--ease); display:block;}
.post:hover{transform:translateY(-5px); border-color:transparent; box-shadow:0 26px 46px -30px rgba(18,22,46,.45);}
.post .pic{height:190px; overflow:hidden;}
.post .pic img{width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease);}
.post:hover .pic img{transform:scale(1.06);}
.post .txt{padding:24px;}
.post .date{font-size:13px; color:var(--slate-400); margin-bottom:9px;}
.post h3{font-size:18.5px; line-height:1.3; margin-bottom:9px;}
.post p{font-size:14.5px;}
@media (max-width:860px){ .posts{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .posts{grid-template-columns:1fr;} }

/* Aparición al hacer scroll (discreta, solo bloques mayores) */
.enter{opacity:0; transform:translateY(26px); transition:opacity .85s var(--ease), transform .85s var(--ease);}
.enter.seen{opacity:1; transform:translateY(0);}

/* Variante en cuadrícula: la página de servicios los muestra todos */
.gallery.grid-all{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  overflow:visible; scroll-snap-type:none;
}
.gallery.grid-all .g-item{flex:initial; width:100%; height:440px;}
@media (max-width:980px){ .gallery.grid-all{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .gallery.grid-all{grid-template-columns:1fr;} .gallery.grid-all .g-item{height:380px;} }

/* ---------------------------------------------------------
   Mosaico de servicios — paleta López: navy profundo, acento
   naranja; texto a la izquierda, mosaico a la derecha
   --------------------------------------------------------- */
.mosaic-band{
  background:var(--navy-950); color:#fff; position:relative; overflow:hidden; padding:0;
}
/* Veta diagonal de marca, muy tenue */
.mosaic-band::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 18% 30%, rgba(242,96,33,.10), transparent 45%),
    linear-gradient(180deg, rgba(24,30,73,.55), rgba(12,16,38,.9));
}
.mosaic-band .inner{
  position:relative; z-index:1;
  display:grid; grid-template-columns:.8fr 1.2fr; gap:0; align-items:center;
  min-height:100svh;
}

/* --- Texto (izquierda) --- */
.mosaic-say{padding:0 48px 0 0;}
.mosaic-say .tag{
  display:inline-flex; align-items:center; gap:11px;
  font-size:13px; letter-spacing:.2em; color:#fff; margin-bottom:22px;
}
.mosaic-say .tag::before{
  content:""; width:10px; height:10px; background:var(--orange);
  border-radius:var(--iso-curve-sm);
}
.mosaic-say h2{
  color:#fff; font-size:clamp(28px,3.4vw,50px); font-weight:600;
  line-height:1.16; letter-spacing:-.02em; max-width:15ch;
}
.mosaic-say h2 em{font-style:normal; color:var(--orange);}
.mosaic-say p{margin-top:22px; color:rgba(255,255,255,.68); font-size:16.5px; max-width:42ch;}
.mosaic-say .btn{margin-top:32px;}

/* --- Mosaico (derecha) --- */
.mosaic{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  height:100svh; overflow:hidden;
  mask-image:linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0%, #000 14%, #000 86%, transparent 100%);
}
.mos-col{display:flex; flex-direction:column; gap:16px; will-change:transform;}
/* Desplazamiento continuo: el contenido va duplicado, así el bucle no salta */
.mos-col .track{display:flex; flex-direction:column; gap:16px; animation:mos-up var(--dur,42s) linear infinite;}
.mos-col.down .track{animation-name:mos-down;}
.mosaic:hover .track,
.mosaic:focus-within .track,
.mosaic.is-off .track{animation-play-state:paused;}

@keyframes mos-up{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(0,calc(-50% - 8px),0);}
}
@keyframes mos-down{
  from{transform:translate3d(0,calc(-50% - 8px),0);}
  to{transform:translate3d(0,0,0);}
}
@media (prefers-reduced-motion: reduce){
  .mos-col .track{animation:none;}
}

.mos-item{
  position:relative; overflow:hidden; display:block; flex-shrink:0;
  background:var(--navy-900); border-radius:var(--iso-curve);
}
.mos-item img{
  width:100%; height:100%; object-fit:cover; object-position:50% 88%; display:block;
  transition:filter .55s var(--ease), transform 1.1s var(--ease);
}
/* Fotos a color; solo un velo ligero abajo para poder leer el nombre del servicio */
.mos-item::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,16,38,0) 42%, rgba(12,16,38,.80) 100%);
  transition:background .5s var(--ease);
}
.mos-item .lbl span{
  position:static; color:#fff; font-size:16px; font-weight:500; line-height:1.3;
  text-shadow:0 1px 3px rgba(0,0,0,.5), 0 2px 14px rgba(0,0,0,.55);
}
.mos-item:hover img{filter:saturate(1.08); transform:scale(1.06);}
.mos-item:hover::after{
  background:linear-gradient(180deg, rgba(242,96,33,.08) 0%, rgba(12,16,38,.84) 100%);
}

.mos-item.h-tall{height:clamp(300px,40svh,400px);}
.mos-item.h-mid{height:clamp(240px,32svh,320px);}

@media (max-width:1000px){
  .mosaic-band .inner{grid-template-columns:1fr; min-height:0;}
  .mosaic{height:62svh; order:2; padding-bottom:40px;}
  .mosaic-say{order:1; padding:64px 0 34px;}
  .mosaic-say h2{max-width:20ch;}
}
@media (max-width:620px){
  .mosaic{grid-template-columns:repeat(2,1fr); height:56svh;}
  .mos-item span{font-size:14px; left:14px; bottom:12px;}
  .mos-item.h-tall{height:230px;} .mos-item.h-mid{height:200px;}
}


/* ---------------------------------------------------------
   Más movimiento al pasar el mouse
   --------------------------------------------------------- */

/* Mosaico: la tarjeta se levanta, el nombre sube y entra una flecha */
.mos-item{
  transition:transform .45s var(--ease), box-shadow .45s var(--ease);
}
.mos-item .lbl{
  position:absolute; left:20px; right:16px; bottom:16px; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.mos-item .lbl .arw{
  width:32px; height:32px; flex-shrink:0;
  border:1.5px solid rgba(255,255,255,.55); border-radius:var(--iso-curve-sm);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateX(-8px) rotate(-12deg);
  transition:opacity .4s var(--ease), transform .45s var(--ease), background-color .3s, border-color .3s;
}
.mos-item .lbl .arw svg{width:15px; height:15px; stroke:#fff;}
.mos-item:hover{transform:translateY(-8px); box-shadow:0 30px 50px -26px rgba(0,0,0,.75);}
.mos-item:hover span{transform:translateY(-2px);}
.mos-item span{transition:transform .45s var(--ease);}
.mos-item:hover .lbl .arw{
  opacity:1; transform:translateX(0) rotate(0deg);
  background:var(--orange); border-color:var(--orange);
}
/* Filo naranja que se dibuja en la base */
.mos-item::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; z-index:3;
  background:var(--orange); transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.mos-item:hover::before{transform:scaleX(1);}

/* Equipo: la foto se acerca y aparece una línea bajo el nombre */
.person h3{position:relative; display:inline-block;}
.person h3::after{
  content:""; position:absolute; left:0; bottom:-3px; height:1.5px; width:0;
  background:var(--orange); transition:width .4s var(--ease);
}
.person:hover h3::after{width:100%;}
.person .shot{transition:transform .45s var(--ease), box-shadow .45s var(--ease);}
.person:hover .shot{transform:translateY(-6px); box-shadow:0 26px 44px -28px rgba(18,22,46,.6);}

/* Novedades: la tarjeta se inclina levemente hacia el cursor */
.post{transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;}
.post:hover .txt h3{color:var(--orange-700); transition:color .3s;}

/* Reconocimientos: el sello crece un poco y entra el filo naranja */
.award::after{
  content:""; position:absolute; left:0; top:0; width:100%; height:4px; z-index:2;
  background:var(--orange); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease); border-radius:var(--iso-curve-sm) var(--iso-curve-sm) 0 0;
}
.award:hover::after{transform:scaleX(1);}
.award .logo img{transition:transform .45s var(--ease);}
.award:hover .logo img{transform:scale(1.1);}

/* Pilares: el icono gira suavemente */
.pillar .mark{transition:background-color .3s var(--ease), transform .45s var(--ease);}
.pillar:hover .mark{transform:rotate(-6deg) scale(1.06);}

/* Botones: la flecha interna avanza */
.btn svg{transition:transform .3s var(--ease);}
.btn:hover svg{transform:translateX(4px);}

/* ---------------------------------------------------------
   Equipo — presentación destacada
   --------------------------------------------------------- */
.team-intro{
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end;
  padding-bottom:34px; margin-bottom:38px; border-bottom:1px solid var(--line);
}
.team-intro .count{
  font-family:var(--serif); font-size:clamp(40px,5vw,72px); font-weight:600;
  color:var(--ink); line-height:.9; letter-spacing:-.03em;
}
.team-intro .count em{font-style:normal; color:var(--orange); display:block; font-size:.28em; letter-spacing:.14em; margin-top:12px;}

/* Tarjeta de persona: llamativa, mas compacta para que quepan 4 por fila */
.person{
  position:relative; border-radius:var(--iso-curve); overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.person:hover{transform:translateY(-8px); box-shadow:0 26px 46px -26px rgba(18,22,46,.45);}
/* Filo superior que se dibuja al pasar el mouse */
.person::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:4px; z-index:3;
  background:var(--orange); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease);
}
.person:hover::before{transform:scaleX(1);}

.person .shot{
  position:relative; border-radius:0; overflow:hidden;
  aspect-ratio:3/3.4; background:var(--paper);
}
.person .shot img{transition:transform .8s var(--ease);}
.person:hover .shot img{transform:scale(1.08);}
.person .shot::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(24,30,73,.05) 44%, rgba(12,16,38,.85) 100%);
  transition:background .5s var(--ease);
}
.person:hover .shot::after{
  background:linear-gradient(180deg, rgba(242,96,33,.1) 0%, rgba(12,16,38,.9) 100%);
}
/* Área, sobre la foto */
.person .zone{
  position:absolute; left:14px; top:14px; z-index:2;
  font-size:10.5px; letter-spacing:.12em; font-weight:700; color:#fff;
  background:rgba(12,16,38,.6); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.2);
  padding:5px 10px; border-radius:var(--iso-curve-sm);
  opacity:0; transform:translateY(-6px); transition:.4s var(--ease);
}
.person:hover .zone{opacity:1; transform:translateY(0);}
/* Nombre y cargo sobre la imagen, ajustados al ancho más angosto */
.person .who{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:18px 16px 16px;
}
.person .who h3{
  font-family:var(--serif); color:#fff; font-size:17.5px; font-weight:700;
  margin-bottom:5px; line-height:1.2; letter-spacing:-.01em;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.person .who h3::after{background:var(--orange);}
.person .who .role{
  color:rgba(255,255,255,.88); font-size:12.5px; font-weight:500; line-height:1.35;
}
.person .who .go{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px;
  color:var(--orange); font-size:12.5px; font-weight:700;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .45s var(--ease), opacity .4s var(--ease), margin .45s var(--ease);
}
.person:hover .who .go{max-height:26px; opacity:1;}
.person .who .go svg{width:14px; height:14px; stroke:var(--orange);}

@media (max-width:760px){
  .team-intro{grid-template-columns:1fr; gap:20px;}
  .person .who h3{font-size:19px;}
  .person .who .role{font-size:13.5px;}
}

/* Variante grande del carrusel de servicios: tarjetas y títulos más
   grandes, para que las 6 quepan en una sola fila con flechas */
.gallery.gallery-lg .g-item{flex:0 0 380px; height:500px;}
.gallery.gallery-lg .cap h3{font-size:26px; line-height:1.2;}
.gallery.gallery-lg .cap p{font-size:15.5px;}
@media (max-width:640px){
  .gallery.gallery-lg .g-item{flex:0 0 280px; height:400px;}
  .gallery.gallery-lg .cap h3{font-size:21px;}
}

/* ---------------------------------------------------------
   Franja general del equipo (sin mostrar a los socios)
   --------------------------------------------------------- */
.team-strip{
  position:relative; overflow:hidden; background:var(--navy-950); color:#fff; padding:56px 0;
}
/* Sección del equipo del inicio: azul liso (sin degradado ni resplandor) */
.team-strip .wrap{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1.5fr) auto; gap:56px; align-items:center;
}
.team-strip h2{color:#fff; font-size:clamp(26px,2.9vw,38px); line-height:1.15; letter-spacing:-.02em; max-width:27ch;}
.team-strip h2 em{font-style:normal; color:var(--orange);}
.team-strip .ts-main p{margin-top:16px; font-size:18px; line-height:1.6; max-width:50ch; color:rgba(255,255,255,.78);}
.team-strip .ts-side{display:flex; align-items:center; gap:36px;}
.team-strip .ts-stat{padding-right:36px; border-right:1px solid rgba(255,255,255,.22);}
.team-strip .ts-stat b{
  display:block; font-family:var(--serif); font-size:clamp(48px,4.6vw,64px);
  line-height:1; font-weight:700; letter-spacing:-.03em;
}
.team-strip .ts-stat span{display:block; margin-top:8px; font-size:15px; color:rgba(255,255,255,.8); max-width:14ch; line-height:1.35;}
.team-strip .btn svg{width:18px; height:18px; margin-left:8px; vertical-align:-3px;}
@media (max-width:900px){
  .team-strip{padding:56px 0;}
  .team-strip .wrap{grid-template-columns:1fr; gap:32px;}
}
@media (max-width:520px){
  .team-strip .ts-side{flex-direction:column; align-items:flex-start; gap:24px;}
  .team-strip .ts-stat{border-right:0; padding-right:0;}
}

/* ---------------------------------------------------------
   Servicios: 2 columnas, cards anchas y bajas
   --------------------------------------------------------- */
.gallery.grid-two{
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px;
  overflow:visible; scroll-snap-type:none;
}
.gallery.grid-two .g-item{flex:initial; width:100%; height:168px;}
.gallery.grid-two .cap h3{font-size:28px; line-height:1.18;}
.gallery.grid-two .cap p{font-size:16px;}
@media (max-width:760px){
  .gallery.grid-two{grid-template-columns:1fr;}
  .gallery.grid-two .g-item{height:160px;}
  .gallery.grid-two .cap h3{font-size:22px;}
}

/* ---------------------------------------------------------
   Página individual de servicio
   --------------------------------------------------------- */
.page-top .svc-eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:18px;
  font-size:12.5px; font-weight:700; letter-spacing:.2em; color:#fff;
  padding:7px 14px; border:1px solid rgba(255,255,255,.35); border-radius:var(--iso-curve-sm);
  background:rgba(255,255,255,.08); backdrop-filter:blur(6px);
}
.page-top .svc-eyebrow span{color:var(--orange);}
.page-top .svc-cta{margin-top:30px;}

.svc-detail{padding:84px 0 70px;}
.svc-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:72px; align-items:start;}
.svc-layout .body{max-width:none;}
.article .body p.svc-lead{
  font-family:var(--serif); font-size:clamp(21px,1.9vw,26px); line-height:1.5; color:var(--ink);
  font-weight:500; letter-spacing:-.005em; margin-bottom:34px;
  padding-left:26px; border-left:4px solid var(--orange);
}
.svc-aside{
  position:sticky; top:112px; color:#fff; padding:34px 30px 32px;
  border-radius:var(--iso-curve); overflow:hidden;
  background:linear-gradient(160deg, var(--navy), var(--navy-950));
  box-shadow:0 34px 60px -34px rgba(12,16,38,.7);
}
/* Tarjeta lateral (Hablemos de su caso / ¿Necesita asesoría?): sin resplandor naranja */
.svc-aside > *{position:relative;}
.svc-aside .tag-mini{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--orange); margin-bottom:16px;
}
.svc-aside h3{color:#fff; font-size:24px; line-height:1.22; margin-bottom:12px;}
.svc-aside p{color:rgba(255,255,255,.78); font-size:15.5px; line-height:1.65; margin-bottom:24px;}

.svc-team{padding:80px 0;}
.svc-people{display:flex; flex-wrap:wrap; gap:24px;}
.svc-people .person{width:276px;}

.svc-more{padding:70px 0 90px;}
@media (max-width:980px){
  .svc-layout{grid-template-columns:1fr; gap:44px;}
  .svc-aside{position:static;}
}
@media (max-width:560px){
  .svc-people .person{width:100%;}
}

/* "Otros servicios" más presente y elegante */
.svc-more .more{border-top:0; margin-top:0; padding-top:0;}
.svc-more .more h4{
  font-family:var(--serif); font-size:clamp(26px,2.6vw,34px); font-weight:700; letter-spacing:-.015em;
  color:var(--ink); margin-bottom:28px;
}
.svc-more .more .card{padding:28px 26px; border-radius:var(--iso-curve);}
.svc-more .more .card h3{font-size:20px; margin-bottom:10px;}
.svc-more .more .card span{font-size:15px; line-height:1.55;}
.svc-more .more .card:hover{border-color:var(--orange); box-shadow:0 22px 40px -28px rgba(18,22,46,.4);}
.svc-more{padding:64px 0 84px;}

/* ---------------------------------------------------------
   Servicio individual — Profesionales (sección oscura)
   --------------------------------------------------------- */
.svc-pros{position:relative; overflow:hidden; background:var(--navy-950); color:#fff; padding:92px 0 96px;}
.svc-pros::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 92% 0%, rgba(242,96,33,.22), transparent 44%),
    radial-gradient(circle at 0% 100%, rgba(242,96,33,.10), transparent 42%);
}
.svc-pros .wrap{position:relative; z-index:1;}
.svc-pros .lead-in h2{color:#fff;}
.svc-pros .lead-in p{color:rgba(255,255,255,.74);}
.pro-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px;}
.pro-grid.one{grid-template-columns:minmax(0,680px);}
.pro-card{
  position:relative; display:grid; grid-template-columns:210px 1fr; min-height:270px;
  border-radius:var(--iso-curve); overflow:hidden;
  background:linear-gradient(155deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.pro-card::before{
  content:""; position:absolute; left:0; top:0; height:4px; width:100%; z-index:3;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.pro-card:hover{transform:translateY(-8px); border-color:rgba(242,96,33,.55); box-shadow:0 34px 56px -30px rgba(0,0,0,.8);}
.pro-card:hover::before{transform:scaleX(1);}
.pro-photo{position:relative; overflow:hidden;}
.pro-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease);}
.pro-card:hover .pro-photo img{transform:scale(1.07);}
.pro-photo::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 60%, rgba(12,16,38,.55));}
.pro-info{display:flex; flex-direction:column; justify-content:center; padding:30px 30px 30px 32px;}
.pro-zone{
  align-self:flex-start; margin-bottom:16px; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--orange); padding:6px 12px; border:1px solid rgba(242,96,33,.5); border-radius:var(--iso-curve-sm);
  background:rgba(242,96,33,.1);
}
.pro-info h3{font-family:var(--serif); color:#fff; font-size:clamp(22px,2vw,28px); line-height:1.18; letter-spacing:-.01em; margin-bottom:10px;}
.pro-info p{color:rgba(255,255,255,.8); font-size:15.5px; line-height:1.5; margin-bottom:20px;}
.pro-go{display:inline-flex; align-items:center; gap:8px; color:var(--orange); font-weight:700; font-size:14.5px;}
.pro-go svg{width:17px; height:17px; transition:transform .3s var(--ease);}
.pro-card:hover .pro-go svg{transform:translateX(5px);}
@media (max-width:1000px){ .pro-grid{grid-template-columns:1fr;} .pro-grid.one{grid-template-columns:1fr;} }
@media (max-width:560px){
  .pro-card{grid-template-columns:1fr;}
  .pro-photo{height:250px;}
}

/* ---------------------------------------------------------
   Servicio individual — Explore otros servicios
   --------------------------------------------------------- */
.svc-others{padding:88px 0 96px; background:#fff;}
.svc-tiles{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px;}
.svc-tile{
  position:relative; display:block; height:310px; overflow:hidden; border-radius:var(--iso-curve);
  background:var(--navy-950); transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.svc-tile img{width:100%; height:100%; object-fit:cover; display:block; transition:transform 1s var(--ease);}
.svc-tile::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(24,30,73,.15) 20%, rgba(12,16,38,.92) 100%);
  transition:background .45s var(--ease);
}
.svc-tile::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:4px; z-index:3;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.svc-tile:hover{transform:translateY(-8px); box-shadow:0 30px 50px -28px rgba(18,22,46,.55);}
.svc-tile:hover::before{transform:scaleX(1);}
.svc-tile:hover img{transform:scale(1.08);}
.svc-tile:hover::after{background:linear-gradient(180deg, rgba(242,96,33,.22) 0%, rgba(12,16,38,.94) 100%);}
.st-cap{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:22px 20px 20px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px;}
.st-cap h3{color:#fff; font-size:19px; line-height:1.22; font-family:var(--serif);}
.st-go{
  width:36px; height:36px; flex-shrink:0; border-radius:50%; border:1.5px solid rgba(255,255,255,.55);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:.35s var(--ease);
}
.st-go svg{width:16px; height:16px;}
.svc-tile:hover .st-go{background:var(--orange); border-color:var(--orange); transform:rotate(-45deg);}
@media (max-width:1100px){ .svc-tiles{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:700px){ .svc-tiles{grid-template-columns:repeat(2,minmax(0,1fr));} .svc-tile{height:250px;} }
@media (max-width:420px){ .svc-tiles{grid-template-columns:1fr;} }

/* ---------------------------------------------------------
   Equipo — filtros en una sola fila + tarjetas con texto por fuera
   --------------------------------------------------------- */
.people-tools{gap:14px 16px; justify-content:flex-start;}
.people-tools .finder{flex:1 1 250px; max-width:300px;}
.people-tools .chips{gap:8px;}
.select-wrap{position:relative; margin-left:auto;}
.select-wrap select{
  appearance:none; -webkit-appearance:none; cursor:pointer;
  font-family:var(--sans); font-size:14px; font-weight:500; color:var(--ink);
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23181e49' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
  border:1.5px solid var(--line); border-radius:var(--iso-curve-sm);
  padding:11px 42px 11px 18px; min-width:230px; transition:.25s var(--ease);
}
.select-wrap select:hover{border-color:var(--ink);}
.select-wrap select:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(242,96,33,.12);}
.select-wrap select.active{border-color:var(--orange); background-color:var(--orange-050);}
.tm-card.hidden{display:none;}

.tm-card{
  position:relative; display:block; overflow:hidden; border-radius:var(--iso-curve);
  background:var(--navy-950); box-shadow:0 22px 44px -30px rgba(12,16,38,.55);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.tm-card::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:5px; z-index:3;
  background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.tm-card:hover{transform:translateY(-10px); box-shadow:0 36px 56px -28px rgba(12,16,38,.7);}
.tm-card:hover::before{transform:scaleX(1);}
.tm-photo{position:relative; aspect-ratio:4/4.1; overflow:hidden; background:var(--paper);}
.tm-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .9s var(--ease);}
.tm-card:hover .tm-photo img{transform:scale(1.07);}
.tm-info{
  position:relative; padding:24px 80px 26px 24px; min-height:128px;
  background:linear-gradient(160deg, var(--navy), var(--navy-950));
  display:flex; flex-direction:column; justify-content:center; gap:12px;
}
.tm-info::before{
  content:""; position:absolute; right:-40px; top:-40px; width:150px; height:150px; pointer-events:none;
  background:radial-gradient(circle, rgba(242,96,33,.3), transparent 70%);
}
.tm-info h3{
  position:relative; font-family:var(--serif); color:#fff; font-size:clamp(22px,1.9vw,26px);
  line-height:1.14; letter-spacing:-.01em;
}
.tm-role{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  font-size:14px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--orange);
}
.tm-role::before{content:""; width:26px; height:2px; background:var(--orange);}
.tm-go{
  position:absolute; right:22px; bottom:24px; width:46px; height:46px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.5); color:#fff;
  display:flex; align-items:center; justify-content:center; transition:.35s var(--ease);
}
.tm-go svg{width:19px; height:19px;}
.tm-card:hover .tm-go{background:var(--orange); border-color:var(--orange); transform:rotate(-45deg);}
@media (max-width:1100px){ .select-wrap{margin-left:0;} }
@media (max-width:560px){ .select-wrap, .select-wrap select{width:100%;} }
/* Mismo alto para buscador, filtros y desplegable */
.people-tools .chips button{padding:12px 18px; line-height:1.2;}
.select-wrap select{padding:12px 42px 12px 18px; line-height:1.2;}
.tm-card{display:flex; flex-direction:column;}
.tm-info{flex:1;}

/* Tarjeta de profesional sobre fondo claro (página de Equipo): mismo diseño que en Servicios */
.pro-card.hidden{display:none;}
.pro-card.on-light{
  background:linear-gradient(155deg, var(--navy), var(--navy-950));
  border-color:rgba(255,255,255,.12);
  box-shadow:0 30px 50px -34px rgba(12,16,38,.65);
}
.pro-card.on-light::after{
  content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; pointer-events:none;
  background:radial-gradient(circle, rgba(242,96,33,.32), transparent 70%);
}
.pro-card.on-light .pro-info{position:relative; z-index:2;}
.pro-card.on-light .pro-info h3{margin-bottom:22px; font-size:clamp(24px,2.2vw,31px);}
.pro-card.on-light:hover{box-shadow:0 40px 60px -30px rgba(12,16,38,.8);}
.pro-card.on-light .pro-info h3{text-wrap:balance;}

/* ---------------------------------------------------------
   Equipo: cargo dentro de la tarjeta
   --------------------------------------------------------- */
.pro-card.on-light .pro-info h3{margin-bottom:10px;}
.pro-card.on-light .pro-info p{margin-bottom:20px;}

/* ---------------------------------------------------------
   Página individual de profesional
   --------------------------------------------------------- */
.prof-hero{padding:164px 0 84px;}
.prof-grid{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:72px; align-items:center;}
.prof-grid::before{
  content:""; position:absolute; right:-140px; top:-190px; width:560px; height:560px; z-index:-1; pointer-events:none;
  background:radial-gradient(circle, rgba(242,96,33,.3), transparent 66%);
}
.prof-hero .ph-tag{display:inline-block; margin-bottom:18px;}
.prof-hero h1{margin-bottom:0;}
.prof-hero .sub{margin-top:18px; font-size:19px; max-width:38ch;}
.prof-hero .btn{margin-top:30px;}
.ph-photo{position:relative; justify-self:end; width:100%; max-width:340px;}
.ph-photo::before{
  content:""; position:absolute; inset:20px -20px -20px 20px; border:2px solid var(--orange);
  border-radius:var(--iso-curve); z-index:0;
}
.ph-photo img{
  position:relative; z-index:1; display:block; width:100%; aspect-ratio:4/4.7; object-fit:cover;
  border-radius:var(--iso-curve); box-shadow:0 40px 70px -34px rgba(0,0,0,.75);
}

.prof-detail{padding:84px 0 80px;}
.prof-facts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:38px 0 0;}
.prof-facts > div{
  padding:20px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--iso-curve-sm);
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.prof-facts > div:hover{border-color:var(--orange); box-shadow:0 20px 36px -28px rgba(18,22,46,.4);}
.prof-facts dt{
  font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:8px;
}
.prof-facts dd{margin:0; font-size:16px; line-height:1.45; color:var(--ink); font-weight:500; overflow-wrap:anywhere;}
.prof-facts dd a{color:var(--ink); border-bottom:1px solid var(--line);}
.prof-facts dd a:hover{color:var(--orange); border-color:var(--orange);}

.svc-tiles.few{grid-template-columns:repeat(3,minmax(0,1fr));}
.svc-tiles.few .svc-tile{height:300px;}
.svc-tiles.few .st-cap h3{font-size:23px;}

@media (max-width:980px){
  .prof-grid{grid-template-columns:1fr; gap:56px;}
  .ph-photo{justify-self:start; max-width:300px;}
}
@media (max-width:700px){ .svc-tiles.few{grid-template-columns:1fr;} .prof-facts{grid-template-columns:1fr;} }

/* ---------------------------------------------------------
   Equipo: grupos y directorio de profesionales
   --------------------------------------------------------- */
.team-group{margin-bottom:64px;}
.team-group.hidden{display:none;}
.tg-title{
  display:flex; align-items:center; gap:14px; margin-bottom:28px;
  font-size:clamp(26px,2.6vw,34px); color:var(--ink);
}
.tg-count{
  font-family:var(--sans); font-size:14px; font-weight:700; color:var(--orange);
  padding:5px 12px; border:1.5px solid rgba(242,96,33,.5); border-radius:var(--iso-curve-sm); background:rgba(242,96,33,.08);
}
.dir-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
.dir-item{
  display:flex; align-items:center; gap:16px; padding:16px 18px;
  background:#fff; border:1px solid var(--line); border-radius:var(--iso-curve-sm);
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.dir-item.hidden{display:none;}
.dir-item:hover{transform:translateY(-3px); border-color:var(--orange); box-shadow:0 18px 32px -26px rgba(18,22,46,.5);}
.dir-mono{
  flex-shrink:0; width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--navy), var(--navy-950)); color:#fff;
  font-family:var(--serif); font-size:17px; font-weight:700; letter-spacing:.02em;
  box-shadow:0 0 0 3px var(--orange-050);
}
.dir-txt{min-width:0;}
.dir-txt h4{font-family:var(--serif); font-size:18px; line-height:1.2; color:var(--ink); margin-bottom:4px;}
.dir-txt p{font-size:13px; line-height:1.4; color:var(--slate);}
@media (max-width:1100px){ .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .dir-grid{grid-template-columns:1fr;} }

/* Foto de reemplazo con iniciales (mientras llega la fotografía) */
.pro-photo.mono,.ph-photo .mono-box{
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg,#2b3377,#161b45);
}
.pro-photo.mono span,.ph-photo .mono-box span{
  font-family:var(--serif); font-weight:700; color:var(--orange); letter-spacing:.02em; font-size:68px;
}
.ph-photo .mono-box{
  position:relative; z-index:1; width:100%; aspect-ratio:4/4.7; border-radius:var(--iso-curve);
  box-shadow:0 40px 70px -34px rgba(0,0,0,.75);
}
.ph-photo .mono-box span{font-size:96px;}

/* Servicio: líderes y acceso al equipo completo */
.svc-leads{margin-top:44px; padding-top:30px; border-top:1px solid rgba(255,255,255,.16);}
.svc-leads h3{color:#fff; font-size:21px; margin-bottom:18px;}
.lead-chips{display:flex; flex-wrap:wrap; gap:10px;}
.lead-chip{
  font-size:14.5px; font-weight:500; color:#fff; padding:9px 16px;
  border:1px solid rgba(255,255,255,.28); border-radius:var(--iso-curve-sm); background:rgba(255,255,255,.07);
}
.svc-teamcta{margin-top:38px;}
.svc-tiles.n4{grid-template-columns:repeat(4,minmax(0,1fr));}
@media (max-width:1000px){ .svc-tiles.n4{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:700px){ .svc-tiles.n4{grid-template-columns:1fr;} }
.people-tools .chips button{padding:12px 14px;}
.people-tools .finder{flex:1 1 270px; min-width:240px; max-width:300px;}
.prof-detail .body > .prof-facts:first-child{margin-top:0;}
@media (max-width:640px){ .site-head .brand img,.site-head.solid .brand img{height:38px;} }

/* ---------------------------------------------------------
   Novedades: buscador, filtros y etiqueta de tipo
   --------------------------------------------------------- */
.posts-tools{margin-bottom:42px; align-items:center;}
.results-count{margin-left:auto; font-size:14px; color:var(--slate); font-weight:500;}
.post{position:relative;}
.post.hidden{display:none;}
.post .pic{position:relative;}
.post-tag{
  position:absolute; left:16px; top:16px; z-index:2;
  font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff;
  padding:7px 13px; border-radius:var(--iso-curve-sm); background:var(--navy-950);
  box-shadow:0 10px 20px -10px rgba(0,0,0,.6);
}
.post-tag.boletin{background:var(--orange);}
@media (max-width:760px){ .results-count{margin-left:0; width:100%;} }

/* Título de Servicios: dos líneas equilibradas en escritorio */
@media (min-width:900px){
  .page-top h1.two-lines{max-width:none; text-wrap:balance;}
  /* Título del equipo: dos líneas equilibradas en escritorio («Profesionales comprometidos / con su tranquilidad») */
  .page-top h1.two-lines-pc{max-width:31ch; text-wrap:balance;}
}

/* =========================================================
   Menú Servicios desplegable (7 áreas + UCL y Audiloop)
   ========================================================= */
.nav-item{position:relative; display:flex; align-items:center;}
.nav-top{display:inline-flex; align-items:center; gap:7px;}
.nav-top svg{width:14px; height:14px; transition:transform .3s var(--ease);}
.has-sub:hover .nav-top svg,.has-sub:focus-within .nav-top svg{transform:rotate(180deg);}
.submenu{
  position:absolute; top:calc(100% + 16px); left:50%; z-index:300;
  min-width:410px; padding:12px; background:#fff; border-radius:var(--iso-curve);
  border-top:4px solid var(--orange); box-shadow:0 34px 60px -26px rgba(12,16,38,.55);
  opacity:0; visibility:hidden; transform:translate(-50%,10px);
  transition:opacity .25s var(--ease), transform .3s var(--ease), visibility .25s;
}
.submenu::before{content:""; position:absolute; left:0; right:0; top:-24px; height:24px;}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1; visibility:visible; transform:translate(-50%,0);}
.site-head .nav .submenu a{
  display:flex; align-items:baseline; gap:12px; padding:11px 14px; font-size:15px; font-weight:500;
  color:var(--ink); border-radius:var(--iso-curve-sm);
}
.site-head .nav .submenu a::after{display:none;}
.site-head .nav .submenu a:hover{background:var(--paper); color:var(--orange-700);}
.submenu .n{width:26px; flex-shrink:0; font-size:12.5px; font-weight:700; color:var(--orange);}
.site-head .nav .submenu a.sub{padding-left:40px; font-size:14px; color:var(--slate);}
.site-head .nav .submenu a.sub:first-of-type{margin-top:6px; border-top:1px dashed var(--line); border-radius:0 0 var(--iso-curve-sm) var(--iso-curve-sm);}
@media (max-width:1000px){
  .nav{overflow-y:auto; justify-content:flex-start; padding:96px 28px 40px;}
  .nav-item{flex-direction:column; align-items:flex-start;}
  .nav-top svg{display:none;}
  .submenu{
    position:static; opacity:1; visibility:visible; transform:none; min-width:0; width:100%;
    background:transparent; box-shadow:none; border:0; padding:6px 0 10px 4px;
  }
  .submenu::before{display:none;}
  .site-head .nav .submenu a,.site-head .nav .submenu a.sub{
    color:rgba(255,255,255,.82) !important; font-family:var(--sans); font-size:16px; padding:6px 0;
  }
  .site-head .nav .submenu a.sub{padding-left:26px; font-size:15px; margin:0; border:0;}
  .site-head .nav .submenu a:hover{background:transparent;}
}

/* =========================================================
   Lista de servicios: tarjeta ancha de Servicios especializados
   ========================================================= */
.gallery.grid-two .g-wide{grid-column:1 / -1; height:182px;}
.g-wide .g-main{position:absolute; inset:0; display:block; z-index:2;}
.g-wide .g-main img{width:100%; height:100%; object-fit:cover; display:block;}
.g-wide .cap{z-index:3;}
.g-subs{position:absolute; right:28px; bottom:26px; z-index:5; display:flex; gap:12px;}
.g-subs a{
  display:inline-flex; align-items:baseline; gap:9px; padding:12px 18px; font-size:15px; font-weight:500; color:#fff;
  border:1.5px solid rgba(255,255,255,.55); border-radius:var(--iso-curve-sm); background:rgba(12,16,38,.55);
  backdrop-filter:blur(6px); transition:.3s var(--ease);
}
.g-subs a:hover{background:var(--orange); border-color:var(--orange);}
@media (max-width:980px){
  .gallery.grid-two .g-wide{height:244px;}
  .g-subs{left:20px; right:20px; bottom:18px; flex-direction:column;}
  .g-wide .cap{padding-bottom:130px;}
}

/* =========================================================
   Páginas de servicio — nueva estructura
   ========================================================= */
.article .body p.svc-desc{
  font-size:clamp(18px,1.5vw,21px); line-height:1.75; color:var(--ink);
  padding-left:26px; border-left:4px solid var(--orange);
}
.svc-aside.dif .dif-text{color:#fff; font-size:18px; line-height:1.55; font-family:var(--serif); margin-bottom:26px;}
.svc-aside.dif .tag-mini{margin-bottom:18px;}

.svc-do{padding:84px 0;}
.do-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
.do-item{
  display:flex; align-items:flex-start; gap:16px; padding:22px 24px; background:#fff;
  border:1px solid var(--line); border-radius:var(--iso-curve-sm);
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.do-item:hover{transform:translateY(-3px); border-color:var(--orange); box-shadow:0 20px 34px -26px rgba(18,22,46,.5);}
.do-ic{
  flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--orange-050);
  display:flex; align-items:center; justify-content:center; color:var(--orange-700);
}
.do-ic svg{width:18px; height:18px;}
.do-item p{font-size:16.5px; line-height:1.5; color:var(--ink); margin:2px 0 0;}

.svc-when{padding:84px 0 92px; background:#fff;}
.when-card{
  position:relative; overflow:hidden; padding:30px 28px 32px; min-height:190px; border-radius:var(--iso-curve);
  background:linear-gradient(160deg,var(--navy),var(--navy-950)); color:#fff;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.when-card::before{
  content:""; position:absolute; right:-50px; top:-50px; width:170px; height:170px; pointer-events:none;
  background:radial-gradient(circle, rgba(242,96,33,.3), transparent 70%);
}
.when-card:hover{transform:translateY(-6px); box-shadow:0 30px 50px -30px rgba(12,16,38,.7);}
.when-card b{display:block; font-family:var(--serif); font-size:46px; line-height:1; color:var(--orange); margin-bottom:18px;}
.when-card p{position:relative; font-size:17px; line-height:1.5; color:rgba(255,255,255,.92); margin:0;}

/* Servicios especializados: dos servicios */
.svc-subs{padding:76px 0; background:var(--paper);}
.sub-cards{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.sub-card{
  position:relative; display:block; overflow:hidden; padding:40px 38px 36px; color:#fff; border-radius:var(--iso-curve);
  background:linear-gradient(160deg,var(--navy),var(--navy-950));
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.sub-card::before{content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);}
.sub-card:hover{transform:translateY(-8px); box-shadow:0 36px 56px -30px rgba(12,16,38,.75);}
.sub-card:hover::before{transform:scaleX(1);}
.wordmark{
  display:inline-block; margin-bottom:24px; padding-bottom:10px; border-bottom:3px solid var(--orange);
  font-family:var(--sans); font-size:34px; font-weight:800; letter-spacing:.04em; color:#fff;
}
.sub-card h3{color:#fff; font-size:23px; margin-bottom:10px;}
.sub-card p{color:rgba(255,255,255,.8); font-size:16.5px; line-height:1.55; margin-bottom:22px;}
.sub-go{display:inline-flex; align-items:center; gap:8px; color:var(--orange); font-weight:700; font-size:15px;}
.sub-go svg{width:17px; height:17px; transition:transform .3s var(--ease);}
.sub-card:hover .sub-go svg{transform:translateX(5px);}

/* UCL: cifras, áreas e impacto */
.svc-stats,.svc-why{position:relative; overflow:hidden; background:var(--navy-950); color:#fff; padding:92px 0;}
.svc-stats::before,.svc-why::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 92% 0%, rgba(242,96,33,.22), transparent 44%), radial-gradient(circle at 0% 100%, rgba(242,96,33,.1), transparent 42%);
}
.svc-stats .wrap,.svc-why .wrap{position:relative; z-index:1;}
.svc-stats .lead-in h2,.svc-why h2{color:#fff;}
.svc-stats .lead-in p{color:rgba(255,255,255,.8); font-size:19px;}
.stat-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.stat{padding:32px 30px; border:1px solid rgba(255,255,255,.18); border-radius:var(--iso-curve); background:rgba(255,255,255,.05);}
.stat b{display:block; font-family:var(--serif); font-size:clamp(44px,4.6vw,62px); line-height:1; color:#fff; letter-spacing:-.02em;}
.stat span{display:block; margin-top:12px; font-size:16.5px; color:rgba(255,255,255,.82);}
.stat-note{margin-top:34px; padding-left:22px; border-left:4px solid var(--orange); font-size:17.5px; line-height:1.6; color:rgba(255,255,255,.88); max-width:70ch;}
.svc-areas{padding:84px 0;}
.area-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:18px;}
.area-card{padding:30px 28px; background:#fff; border-radius:var(--iso-curve); border-top:4px solid var(--orange); box-shadow:0 20px 40px -32px rgba(18,22,46,.45);}
.area-card h3{font-size:21px; margin-bottom:10px; color:var(--ink);}
.area-card p{font-size:15.5px; line-height:1.6; color:var(--slate); margin:0;}
.svc-impact{padding:84px 0; background:#fff;}

/* Audiloop */
.svc-why-grid{display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;}
.svc-why-grid p{font-size:18px; line-height:1.75; color:rgba(255,255,255,.88);}
.svc-why h3{color:#fff; font-size:22px; margin-bottom:20px;}
.why-list{list-style:none; margin:0; padding:0;}
.why-list li{position:relative; padding-left:32px; margin-bottom:15px; font-size:16.5px; line-height:1.5; color:rgba(255,255,255,.9);}
.why-list li::before{content:""; position:absolute; left:0; top:6px; width:13px; height:13px; border:2px solid var(--orange); border-radius:3px;}
.svc-steps{padding:84px 0;}
.svc-steps .lead-in p{font-family:var(--serif); font-size:clamp(20px,2vw,26px); color:var(--ink);}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; counter-reset:s;}
.steps li{position:relative; padding:28px 22px 26px; background:#fff; border-radius:var(--iso-curve); box-shadow:0 20px 40px -32px rgba(18,22,46,.5);}
.step-n{
  display:flex; align-items:center; justify-content:center; width:46px; height:46px; margin-bottom:18px; border-radius:50%;
  background:var(--navy-950); color:#fff; font-family:var(--serif); font-weight:700; font-size:20px; box-shadow:0 0 0 4px var(--orange-050);
}
.steps h3{font-size:18.5px; line-height:1.25; margin-bottom:10px; color:var(--ink);}
.steps p{font-size:14.5px; line-height:1.55; color:var(--slate); margin:0;}

.svc-tiles.six{grid-template-columns:repeat(3,minmax(0,1fr));}
.svc-tiles.six .svc-tile{height:240px;}
.svc-tiles.six .st-cap h3{font-size:20px;}

@media (max-width:1000px){
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .svc-why-grid{grid-template-columns:1fr; gap:44px;}
  .sub-cards{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .do-grid{grid-template-columns:1fr;}
  .svc-tiles.six{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .stat-grid,.steps,.svc-tiles.six{grid-template-columns:1fr;}
}
.svc-subs{background:#fff; padding:10px 0 80px;}
.svc-why h2{font-size:clamp(28px,2.8vw,36px); margin-bottom:20px; line-height:1.15;}

/* Formulario: que las opciones largas del desplegable no ensanchen la columna */
.contact .grid > *, .contact .field, .contact form{min-width:0;}
.contact .field select, .contact .field input, .contact .field textarea{width:100%; max-width:100%; text-overflow:ellipsis;}

/* El desenfoque de la barra hacía que el menú móvil se midiera contra la barra y no contra la pantalla */
@media (max-width:1000px){
  .site-head, .site-head.solid, .site-head.hero-scroll{backdrop-filter:none; -webkit-backdrop-filter:none;}
  .site-head.solid{background:#fff;}
}
@media (max-width:1000px){
  .nav{align-items:flex-start;}
  .site-head:has(.nav.open) .burger span{background:#fff;}
}

/* =========================================================
   Menú desplegable sin numeración
   ========================================================= */
.submenu .n{display:none;}
.site-head .nav .submenu a{padding:12px 16px;}
.site-head .nav .submenu a.sub{padding-left:34px; display:flex; align-items:center; gap:12px;}
.site-head .nav .submenu a.sub::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--orange); flex-shrink:0;}
@media (max-width:1000px){
  .site-head .nav .submenu a.sub{padding-left:22px;}
}

/* =========================================================
   Páginas de servicio — rediseño
   ========================================================= */
.bg-white{background:#fff;}
.bg-tint{background:var(--paper);}
.bg-navy{position:relative; overflow:hidden; background:var(--navy-950); color:#fff;}
.bg-navy::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 92% 0%, rgba(242,96,33,.22), transparent 44%), radial-gradient(circle at 0% 100%, rgba(242,96,33,.1), transparent 42%);
}
.bg-navy > .wrap{position:relative; z-index:1;}
.sv-sec{padding:92px 0;}
.sv-head{margin-bottom:44px; max-width:780px;}
.sv-head h2{font-size:clamp(30px,3.2vw,44px); line-height:1.12; letter-spacing:-.02em; color:var(--ink);}
.sv-head p{margin-top:16px; font-size:18px; line-height:1.6; color:var(--slate);}
.sv-head p.serif{font-family:var(--serif); font-size:clamp(20px,2vw,26px); color:var(--ink);}
.sv-head.light h2{color:#fff;}
.sv-head.light p{color:rgba(255,255,255,.82);}

/* Cabecera slim: la imagen del servicio de fondo, con un velo más firme del lado del texto */
.sv-hero{
  position:relative; overflow:hidden; color:#fff; padding:130px 0 44px;
  background:var(--navy-950) var(--hero-img, none) 50% 62% / cover no-repeat;
}
.sv-hero::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(12,16,38,.90) 0%, rgba(12,16,38,.72) 42%, rgba(12,16,38,.28) 100%),
    linear-gradient(180deg, rgba(12,16,38,.32) 0%, rgba(12,16,38,0) 38%, rgba(12,16,38,.30) 100%);
}
.sv-hero-grid{position:relative; z-index:2;}
.sv-text .crumbs{font-size:13.5px; color:rgba(255,255,255,.80); margin-bottom:14px;}
.sv-text .crumbs a{color:rgba(255,255,255,.80);}
.sv-text .crumbs a:hover{color:var(--orange);}
.sv-text h1{font-family:var(--serif); color:#fff; font-size:clamp(32px,3.6vw,48px); line-height:1.08; letter-spacing:-.02em; margin-bottom:12px; max-width:none; text-shadow:0 2px 22px rgba(8,12,32,.5);}
.sv-text .sub{font-size:18px; line-height:1.55; color:rgba(255,255,255,.92); max-width:58ch; margin:0; text-shadow:0 1px 14px rgba(8,12,32,.55);}

/* Subtítulo del servicio: recuadro gris bajo el encabezado */
.sv-subbar{position:relative; z-index:2; background:var(--paper); border-bottom:1px solid rgba(24,30,73,.08);}
.sv-subbar p{margin:0; padding:18px 0; font-size:clamp(15.5px,1.2vw,17px); line-height:1.5; color:var(--slate);}

/* Introducción: la descripción es el texto protagonista */
.sv-intro{padding:62px 0 58px;}
.sv-intro-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:72px; align-items:start;}
.sv-intro-grid.sv-intro-solo{grid-template-columns:minmax(0,1fr);}
.sv-desc{
  font-family:var(--serif); font-size:clamp(18px,1.45vw,21px); line-height:1.58; letter-spacing:0; color:var(--ink);
  padding-left:26px; border-left:4px solid var(--orange); margin:0;
}
/* «Qué hacemos»: viñetas simples, sin iconos, junto a la descripción */
.sv-bl-title{font-size:clamp(21px,1.8vw,25px); line-height:1.1; letter-spacing:-.02em; color:var(--ink); margin:0;}
.sv-bl-title::after{content:""; display:block; width:56px; height:4px; margin-top:14px; background:var(--orange);}
.sv-bullets{list-style:none; margin:22px 0 0; padding:0;}
.sv-bullets li{position:relative; padding:7px 0 7px 24px; font-size:15.5px; line-height:1.5; font-weight:500; color:var(--ink);}
.sv-bullets li::before{content:""; position:absolute; left:0; top:15px; width:7px; height:7px; background:var(--orange);}

/* Franja gris delgada de contacto (antes el recuadro azul) */
.sv-cta-band{padding:0; border-top:1px solid rgba(24,30,73,.06); border-bottom:1px solid rgba(24,30,73,.06);}
.sv-cta-band .cta-bar{display:flex; align-items:center; justify-content:space-between; gap:12px 36px; padding:26px 0;}
.sv-cta-band .ct h3{font-family:var(--serif); font-size:clamp(18px,1.45vw,21px); line-height:1.2; color:var(--ink); margin:0 0 4px;}
.sv-cta-band .ct p{margin:0; font-size:15px; line-height:1.5; color:var(--slate);}
/* En azul de la marca (el mismo degradado del recuadro anterior), sin resplandor */
.sv-cta-band.bg-navy{background:linear-gradient(100deg, var(--navy) 0%, var(--navy-950) 100%); border-color:transparent;}
.sv-cta-band.bg-navy::before{display:none;}
.sv-cta-band.bg-navy .ct h3{color:#fff;}
.sv-cta-band.bg-navy .ct p{color:rgba(255,255,255,.78);}
.sv-cta-band .btn{flex:0 0 auto;}

/* Qué hacemos / Impacto: lista editorial */
.sv-list-grid{display:grid; grid-template-columns:340px minmax(0,1fr); gap:80px; align-items:start;}
.sv-list-head{position:sticky; top:118px;}
.sv-list-head h2{font-size:clamp(32px,3.4vw,46px); line-height:1.1; letter-spacing:-.02em; color:var(--ink);}
.sv-list-head h2::after{content:""; display:block; width:64px; height:4px; margin-top:22px; background:var(--orange);}
.sv-rows{list-style:none; margin:0; padding:0; border-top:1px solid rgba(24,30,73,.14);}
.sv-row{
  display:flex; align-items:flex-start; gap:22px; padding:26px 8px; border-bottom:1px solid rgba(24,30,73,.14);
  transition:transform .35s var(--ease), background-color .35s var(--ease);
}
.sv-row:hover{transform:translateX(8px);}
.sv-row .ic{
  flex:0 0 38px; height:38px; border-radius:50%; background:var(--orange-050); color:var(--orange-700);
  display:flex; align-items:center; justify-content:center; transition:.35s var(--ease);
}
.sv-row .ic svg{width:19px; height:19px;}
.sv-row:hover .ic{background:var(--orange); color:#fff;}
.sv-row p{margin:4px 0 0; font-size:clamp(18px,1.5vw,20.5px); line-height:1.5; color:var(--ink); font-weight:500;}

/* Qué hacemos: tarjetas compactas con icono */
.sv-sec.sv-que{padding:60px 0 64px;}
.que-head{margin-bottom:24px;}
.que-head h2{font-size:clamp(26px,2.5vw,34px); line-height:1.1; letter-spacing:-.02em; color:var(--ink);}
.que-head h2::after{content:""; display:block; width:56px; height:4px; margin-top:14px; background:var(--orange);}
.que-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px;}
.que-card{
  grid-column:span 6; display:flex; align-items:center; gap:16px; padding:16px 20px 16px 16px;
  background:#fff; border:1px solid rgba(24,30,73,.10); border-radius:var(--iso-curve-sm);
  box-shadow:0 16px 30px -26px rgba(18,22,46,.5);
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
}
.que-card:hover{transform:translateY(-4px); border-color:var(--orange); box-shadow:0 22px 36px -24px rgba(18,22,46,.55);}
.que-ic{
  flex:0 0 52px; height:52px; border-radius:14px; display:grid; place-items:center; color:#fff;
  background:linear-gradient(140deg,#ff7a35,var(--orange) 55%,#e0501a); box-shadow:0 10px 18px -10px rgba(242,96,33,.8);
  transition:transform .35s var(--ease);
}
.que-ic svg{width:27px; height:27px;}
.que-card:hover .que-ic{transform:rotate(-6deg) scale(1.06);}
.que-card p{margin:0; font-size:16.5px; line-height:1.42; font-weight:600; color:var(--ink);}

/* Cuándo acudir: sección oscura con checks sueltos (sin numeración ni tarjetas) */
.sv-sec.sv-cuando{padding:54px 0 58px;}
.sv-cuando .sv-head{margin-bottom:22px;}
.sv-cuando .sv-head h2{font-size:clamp(26px,2.5vw,34px);}
.when-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 64px;}
.when-list li{display:flex; align-items:flex-start; gap:16px;}
.when-list .wk{flex:0 0 28px; height:28px; margin-top:-1px; color:var(--orange); display:flex; align-items:center; justify-content:center;}
.when-list .wk svg{width:28px; height:28px; stroke-width:3;}
.when-list p{margin:0; font-size:clamp(18px,1.5vw,20px); line-height:1.45; font-weight:500; color:#fff;}
@media (max-width:760px){ .when-list{grid-template-columns:1fr; gap:16px;} }

/* Profesionales en versión clara */
.svc-pros.light{padding:92px 0 96px; color:var(--ink);}
.svc-pros.light::before{display:none;}
.svc-pros.light.bg-white{background:#fff;}
.svc-pros.light.bg-tint{background:var(--paper);}
.svc-pros.light .lead-in h2{color:var(--ink);}
.svc-pros.light .lead-in p{color:var(--slate);}
.svc-pros.light .svc-leads{border-top:1px solid rgba(24,30,73,.14);}
.svc-pros.light .svc-leads h3{color:var(--ink);}
.svc-pros.light .lead-chip{color:var(--ink); background:#fff; border-color:rgba(24,30,73,.18);}
.svc-pros.light.bg-white .lead-chip{background:var(--paper);}

.svc-others.bg-tint{background:var(--paper);}
.svc-others.bg-white{background:#fff;}
.sv-others .sv-head{margin-bottom:38px;}

/* Extras sobre el nuevo sistema de fondos */
.sv-sec.svc-stats,.sv-sec.svc-why{padding:96px 0;}
.sv-sec.svc-steps .sv-head{max-width:880px;}
.sv-sec.sv-areas .area-card{box-shadow:0 20px 40px -32px rgba(18,22,46,.45);}
.sv-subs .sub-cards{margin-top:0;}

@media (max-width:1000px){
  .sv-hero{padding:118px 0 38px;}
  /* El texto ocupa todo el ancho: velo parejo para que se lea sobre cualquier imagen */
  .sv-hero::before{background:linear-gradient(180deg, rgba(12,16,38,.66) 0%, rgba(12,16,38,.74) 100%);}
  .sv-intro-grid{grid-template-columns:1fr; gap:40px;}
  .sv-cta-band .cta-bar{flex-direction:column; align-items:flex-start; padding:24px 0 26px;}
  .sv-list-grid{grid-template-columns:1fr; gap:34px;}
  .sv-list-head{position:static;}
}
@media (max-width:640px){
  .sv-sec{padding:56px 0;}
  .sv-sec.sv-que{padding:46px 0 50px;}
  .sv-sec.sv-cuando{padding:46px 0 50px;}
  .sv-row{gap:16px; padding:20px 4px;}
  .que-card{grid-column:span 12;}
  .sv-hero{padding:106px 0 32px;}
  .sv-text h1{font-size:28px; margin-bottom:10px;}
  .sv-text .sub{font-size:16px; line-height:1.5;}
  .sv-text .crumbs{margin-bottom:10px;}
  .sv-desc{padding-left:18px; border-left-width:3px; font-size:17px; line-height:1.55;}
}


/* Páginas hechas con Elementor: los bloques del diseño ocupan todo el ancho, sin márgenes añadidos por Elementor */
.elementor-section:has(> .elementor-container > .elementor-column .elementor-widget[class*="elementor-widget-lopez_"]) > .elementor-container{max-width:none;}
.elementor-section:has(.elementor-widget[class*="elementor-widget-lopez_"]) .elementor-widget-wrap{padding:0;}
.elementor-widget[class*="elementor-widget-lopez_"]{margin-bottom:0 !important;}
.elementor-widget[class*="elementor-widget-lopez_"] > .elementor-widget-container{padding:0;margin:0;}
.e-con:has(> .elementor-widget[class*="elementor-widget-lopez_"]),
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-lopez_"]){--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--content-width:100%;--gap:0px;--margin-top:0px;--margin-bottom:0px;}
.e-con:has(> .e-con-inner > .elementor-widget[class*="elementor-widget-lopez_"]) > .e-con-inner{max-width:none;padding:0;}


/* Tarjeta ancha: su foto vive dentro de un enlace que queda sobre el velo de la card, así que lleva su propio velo ligero */
.gallery.grid-two .g-wide .g-main::after{
  content:""; position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg, rgba(12,16,38,0) 0%, rgba(12,16,38,.40) 30%, rgba(12,16,38,.72) 58%, rgba(12,16,38,.88) 100%);
}
/* En pantallas medianas y pequeñas los dos sub-servicios van apilados abajo: se les reserva su espacio
   y el título, que queda más arriba, lleva un velo algo más firme */
@media (max-width:980px){
  .gallery.grid-two .g-wide .cap{padding-bottom:142px;}
  .gallery.grid-two .g-wide .g-main::after{background:linear-gradient(180deg, rgba(12,16,38,.34) 0%, rgba(12,16,38,.66) 42%, rgba(12,16,38,.88) 100%);}
}
@media (max-width:620px){
  .gallery.grid-two .g-wide .cap{padding-bottom:170px;}
}


/* =========================================================
   Listado de servicios: fotos a color, cards ~30 % más bajas, solo el título (un poco más grande)
   ========================================================= */
.gallery.grid-two .g-item::after{background:linear-gradient(180deg, rgba(12,16,38,0) 0%, rgba(12,16,38,.40) 30%, rgba(12,16,38,.72) 58%, rgba(12,16,38,.88) 100%);}
.gallery.grid-two .g-item img{object-position:50% 70%;}
.gallery.grid-two .cap{padding:18px 26px 22px;}
.gallery.grid-two .cap h3{font-size:clamp(24px,2.3vw,32px); line-height:1.16; text-shadow:0 1px 3px rgba(0,0,0,.5), 0 2px 14px rgba(0,0,0,.55);}
/* Al pasar el cursor solo se acerca la foto: no aparece nada más */
.gallery.grid-two .g-item:hover img, .gallery.grid-two .g-item:focus-visible img{opacity:1; transform:scale(1.05);}
.gallery.grid-two .g-item:hover::after, .gallery.grid-two .g-item:focus-visible::after{background:linear-gradient(180deg, rgba(12,16,38,0) 0%, rgba(12,16,38,.40) 30%, rgba(12,16,38,.72) 58%, rgba(12,16,38,.88) 100%);}
.gallery.grid-two .g-item .cap h3{transform:none;}
@media (max-width:760px){ .gallery.grid-two .cap h3{font-size:24px;} }

/* =========================================================
   Tarjetas «otros servicios» y encabezado de cada servicio: fotos a color
   ========================================================= */
.svc-tile img{object-position:50% 85%;}
.svc-tile::after{background:linear-gradient(180deg, rgba(12,16,38,0) 22%, rgba(12,16,38,.56) 58%, rgba(12,16,38,.88) 100%);}
.svc-tile:hover::after{background:linear-gradient(180deg, rgba(242,96,33,.10) 0%, rgba(12,16,38,.60) 55%, rgba(12,16,38,.90) 100%);}
.st-cap h3{text-shadow:0 1px 3px rgba(0,0,0,.5), 0 2px 14px rgba(0,0,0,.55);}

@media (max-width:400px){
  .gallery.grid-two .g-wide{height:280px;}
  .gallery.grid-two .g-wide .cap{padding-bottom:206px;}
}

/* =========================================================
   Equipo: panel de búsqueda y filtros llamativo, 4 profesionales por fila
   ========================================================= */
.band:has(> .wrap > .team-tools){padding-top:56px;}
.people-tools.team-tools{
  display:block; position:relative; z-index:5; margin:0 0 52px; padding:26px 28px 24px;
  background:#fff; border-radius:var(--iso-curve); border-top:5px solid var(--orange);
  box-shadow:0 0 0 1px rgba(24,30,73,.1);
}
.people-tools.team-tools .pt-top{display:flex; align-items:flex-end; gap:22px; margin-bottom:20px;}
.people-tools.team-tools .finder{
  flex:1 1 auto; max-width:none; min-width:0; height:62px; padding:0 24px 0 8px; display:flex; align-items:center; gap:14px;
  background:var(--paper); border:2px solid rgba(24,30,73,.14); border-radius:999px;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);
}
.people-tools.team-tools .finder:hover{border-color:rgba(24,30,73,.34);}
.people-tools.team-tools .finder:focus-within{border-color:var(--orange); background:#fff; box-shadow:none;}
.people-tools.team-tools .finder svg{
  flex:0 0 46px; width:46px; height:46px; padding:13px; border-radius:50%; background:var(--orange); stroke:#fff;
  box-shadow:none;
}
.people-tools.team-tools .finder input{font-size:17px; font-weight:500; height:100%; min-width:0;}
.people-tools.team-tools .finder input::placeholder{color:var(--slate-400); font-weight:400;}
.pt-count{margin:0; flex:0 0 auto; display:flex; align-items:baseline; gap:8px; font-size:15px; color:var(--slate); white-space:nowrap;}
.pt-count b{font-family:var(--serif); font-size:38px; line-height:1; font-weight:600; color:var(--orange); letter-spacing:-.02em;}
.people-tools.team-tools .pt-bottom{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 26px;}
.people-tools.team-tools .pt-meta{display:flex; align-items:center; gap:20px; margin-left:auto;}
.people-tools.team-tools .chips{flex:1 1 auto; gap:9px;}
.people-tools.team-tools .chips button{
  display:inline-flex; align-items:center; gap:9px; padding:10px 12px 10px 17px; line-height:1.2; font-size:14px; font-weight:700;
  color:var(--ink); background:#fff; border:2px solid rgba(24,30,73,.16); border-radius:var(--btn-curve-sm); cursor:pointer;
  transition:background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.people-tools.team-tools .chips button:hover{border-color:var(--ink); transform:translateY(-2px);}
.people-tools.team-tools .chips button[aria-pressed="true"]{background:var(--orange); border-color:var(--orange); color:#fff;}
.people-tools.team-tools .chip-n{font-style:normal; min-width:30px; padding:3px 9px; border-radius:999px; background:rgba(24,30,73,.09); font-size:12.5px; font-weight:800; text-align:center; transition:background-color .25s var(--ease);}
.people-tools.team-tools .chips button[aria-pressed="true"] .chip-n{background:rgba(255,255,255,.28); color:#fff;}
.people-tools.team-tools .pt-select{display:flex; flex-direction:column; gap:6px; flex:0 0 auto;}
.people-tools.team-tools .sel-lab{font-size:11.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); padding-left:4px;}
.people-tools.team-tools .select-wrap{margin-left:0;}
.people-tools.team-tools .select-wrap select{min-width:250px; height:50px; padding:0 46px 0 22px; font-size:15px; font-weight:700; border:2px solid rgba(24,30,73,.16); border-radius:999px; color:var(--ink);}
.people-tools.team-tools .select-wrap select:hover{border-color:var(--ink);}
.people-tools.team-tools .select-wrap select.active{border-color:var(--orange); background-color:var(--orange-050);}
.pt-clear{border:0; background:none; padding:8px 4px; font:inherit; font-weight:700; font-size:14.5px; color:var(--orange); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.pt-clear[hidden]{display:none;}
.pt-clear:hover{color:var(--orange-700);}

/* 4 profesionales por fila */
#people .pro-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px;}
#people .pro-card.on-light{display:flex; flex-direction:column; min-height:0;}
#people .pro-card.on-light::after{display:none;}
#people .pro-card .pro-photo{aspect-ratio:4/4.5; height:auto; flex:0 0 auto;}
#people .pro-card .pro-photo::after{background:linear-gradient(180deg, transparent 58%, rgba(12,16,38,.6));}
#people .pro-card .pro-photo.mono span{font-size:84px;}
#people .pro-card .pro-info{padding:18px 20px 20px; flex:1; justify-content:flex-start;}
#people .pro-card .pro-zone{margin-bottom:10px; font-size:10.5px; padding:5px 10px;}
#people .pro-card.on-light .pro-info h3{font-size:clamp(20px,1.7vw,24px); margin-bottom:6px;}
#people .pro-card.on-light .pro-info p{font-size:14.5px; margin-bottom:16px;}
#people .pro-card .pro-go{margin-top:auto;}
#people .dir-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px;}
@media (max-width:999px){ #people .pro-grid, #people .dir-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:860px){
  .people-tools.team-tools .pt-top{flex-direction:column; align-items:stretch; gap:14px;}
  .people-tools.team-tools .pt-select{width:100%;}
  .people-tools.team-tools .select-wrap, .people-tools.team-tools .select-wrap select{width:100%; min-width:0;}
  .people-tools.team-tools .pt-meta{width:100%; justify-content:space-between; margin-left:0; flex-direction:row-reverse;}
}
@media (max-width:700px){ #people .pro-grid, #people .dir-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){
  .band:has(> .wrap > .team-tools){padding-top:36px;}
  .people-tools.team-tools{margin:0 0 36px; padding:20px 16px 18px;}
  .people-tools.team-tools .pt-meta{flex-wrap:wrap;}
  .people-tools.team-tools .finder{height:56px;}
  .pt-count b{font-size:30px;}
  #people .dir-grid{grid-template-columns:1fr;}
  #people .pro-grid{gap:14px;}
  #people .pro-card.on-light .pro-info h3{font-size:19px;}
  #people .pro-card .pro-info{padding:14px 14px 16px;}
  #people .pro-card .pro-zone{font-size:9.5px; letter-spacing:.1em;}
  #people .pro-card .pro-info p{font-size:13.5px;}
}

/* =========================================================
   Perfil: encabezado delgado (sin foto ni botón) y foto junto a la información
   ========================================================= */
.pf-hero{
  position:relative; overflow:hidden; color:#fff; padding:130px 0 40px;
  background:linear-gradient(120deg,#0a0d24 0%,#181e49 62%,#1c2358 100%);
}
.pf-hero .crumbs{font-size:13.5px; color:rgba(255,255,255,.8); margin-bottom:14px;}
.pf-hero .crumbs a{color:rgba(255,255,255,.8);}
.pf-hero .crumbs a:hover{color:var(--orange);}
.pf-hero .ph-tag{display:inline-block; margin-bottom:14px;}
.pf-hero h1{font-family:var(--serif); color:#fff; font-size:clamp(32px,3.6vw,48px); line-height:1.08; letter-spacing:-.02em; margin:0; max-width:none;}
.pf-hero .sub{margin:10px 0 0; font-size:18px; line-height:1.5; color:rgba(255,255,255,.9); max-width:60ch;}
.pf-detail{padding:64px 0 72px;}
.pf-layout{
  display:grid; grid-template-columns:340px minmax(0,1fr); grid-template-areas:"photo body" "aside body"; grid-template-rows:auto 1fr;
  gap:28px 64px; align-items:start;
}
.pf-photo{grid-area:photo;}
.pf-photo img, .pf-photo .mono-box{
  display:block; width:100%; aspect-ratio:4/4.7; object-fit:cover; object-position:50% 18%;
  border-radius:var(--iso-curve); box-shadow:0 34px 56px -34px rgba(12,16,38,.6);
}
.pf-photo .mono-box{display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,#2b3377,#161b45);}
.pf-photo .mono-box span{font-family:var(--serif); font-weight:700; color:var(--orange); letter-spacing:.02em; font-size:96px;}
.pf-layout > .body{grid-area:body; min-width:0; max-width:none;}
.pf-layout > .svc-aside{grid-area:aside; position:relative; top:auto;}
@media (max-width:900px){
  .pf-hero{padding:118px 0 34px;}
  .pf-layout{grid-template-columns:1fr; grid-template-areas:"photo" "body" "aside"; grid-template-rows:none; gap:30px;}
  .pf-photo{max-width:320px;}
}
@media (max-width:640px){
  .pf-hero{padding:106px 0 30px;}
  .pf-hero h1{font-size:30px;}
  .pf-hero .sub{font-size:16.5px;}
  .pf-detail{padding:44px 0 56px;}
}

/* =========================================================
   Novedades: el mismo panel de búsqueda y filtros del equipo, y la etiqueta de cada tipo (blog, noticia, boletín)
   ========================================================= */
.post-tag.blog{background:#fff; color:var(--navy);}
.people-tools.team-tools .chips button.is-empty:not([aria-pressed="true"]){opacity:.55;}
.people-tools.team-tools.posts-tools .pt-top{margin-bottom:20px;}

/* =========================================================
   Servicio: tarjetas de profesionales en blanco, sin resplandor naranja y 15 % más pequeñas
   ========================================================= */
.svc-pros.light .pro-grid{grid-template-columns:repeat(2,minmax(0,calc((100% - 26px) / 2 * .85))); gap:22px 26px; justify-content:start;}
.svc-pros.light .pro-grid.one{grid-template-columns:minmax(0,578px);}
.svc-pros.light .pro-card.on-light{
  grid-template-columns:178px 1fr; min-height:230px;
  background:#fff; border:1px solid rgba(24,30,73,.12); backdrop-filter:none;
  box-shadow:0 18px 36px -26px rgba(18,22,46,.35);
}
.svc-pros.light .pro-card.on-light::after{display:none;}
.svc-pros.light .pro-photo::after{display:none;}
.svc-pros.light .pro-card.on-light:hover{border-color:rgba(242,96,33,.55); box-shadow:0 26px 44px -28px rgba(18,22,46,.45);}
.svc-pros.light .pro-info{padding:26px 26px 26px 27px;}
.svc-pros.light .pro-info h3{color:var(--ink); font-size:clamp(20px,1.85vw,26px); margin-bottom:8px;}
.svc-pros.light .pro-info p{color:var(--slate); font-size:13.5px; margin-bottom:17px;}
.svc-pros.light .pro-zone{font-size:10px; padding:5px 10px; margin-bottom:13px;}
.svc-pros.light .pro-go{font-size:12.5px;}
.svc-pros.light .pro-photo.mono{background:var(--paper);}
.svc-pros.light .pro-photo.mono span{font-size:62px;}
.svc-pros.light .pro-go svg{width:15px; height:15px;}
@media (max-width:1000px){
  .svc-pros.light .pro-grid, .svc-pros.light .pro-grid.one{grid-template-columns:minmax(0,calc(100% * .85));}
}
@media (max-width:560px){
  .svc-pros.light .pro-grid, .svc-pros.light .pro-grid.one{grid-template-columns:minmax(0,1fr);}
  .svc-pros.light .pro-card.on-light{grid-template-columns:1fr;}
  .svc-pros.light .pro-photo{height:212px;}
}

/* =========================================================
   Perfil: secciones (Perfil, Formación, Premios…), enlaces y cita destacada
   ========================================================= */
.article .body .pf-sec{margin:44px 0 0;}
.article .body .prof-facts + .pf-sec{margin-top:46px;}
.article .body .pf-sec h2{font-size:clamp(21px,1.8vw,25px); line-height:1.15; letter-spacing:-.02em; color:var(--ink); margin:0 0 18px;}
.article .body .pf-sec h2::after{content:""; display:block; width:48px; height:4px; margin-top:12px; background:var(--orange);}
.article .body .pf-sec p{font-size:15.5px; line-height:1.75; color:var(--slate); margin:0 0 14px;}
.article .body .pf-sec .sv-bullets{list-style:none; margin:0; padding:0;}
.article .body .pf-sec .sv-bullets li{display:block; position:relative; padding:7px 0 7px 24px; border-bottom:0; font-size:15.5px; line-height:1.55; font-weight:500; color:var(--ink);}
.article .body .pf-sec .sv-bullets li::before{content:""; position:absolute; left:0; top:15px; width:7px; height:7px; margin:0; background:var(--orange);}
.pf-link{color:var(--orange); font-weight:700; font-size:13.5px; white-space:nowrap; margin-left:6px; border-bottom:1px solid transparent; transition:border-color .2s;}
.pf-link:hover{border-color:var(--orange);}
.article .body .pf-quote{margin:48px 0 0; padding:24px 28px; background:var(--paper); border-left:4px solid var(--orange);}
.article .body .pf-quote p{font-family:var(--serif); font-size:clamp(17px,1.5vw,20px); line-height:1.55; color:var(--ink); margin:0;}
.pf-quote cite{display:block; margin-top:12px; font-style:normal; font-size:12.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange);}

/* Perfil: «Servicios que atiende» va primero, sobre fondo azul oscuro (sin resplandor) */
.svc-others.on-dark{background:var(--navy-950); color:#fff;}
.svc-others.on-dark .lead-in h2{color:#fff;}
.svc-others.on-dark .lead-in p{color:rgba(255,255,255,.74);}

/* Cifras del hero: título grande y descripción debajo */
.figures .fig b{font-size:clamp(40px,3.6vw,52px);}
.figures .fig.txt b{font-size:clamp(22px,1.8vw,26px);}
.figures .fig .fdesc, .figures .fig.txt .fdesc{display:block; font-size:14px; font-weight:500; line-height:1.4; max-width:none; margin-top:8px; color:rgba(255,255,255,.9);}
@media (max-width:420px){ .figures .fig b{font-size:40px;} .figures .fig.txt b{font-size:22px;} }
/* Sobre nosotros: título y descripción de cada pilar */
.pillar h3{max-width:36ch;}
.pillar .ptxt p{margin:5px 0 0; font-size:14.5px; line-height:1.55; color:var(--slate); max-width:46ch;}
/* Reconocimientos: enlace opcional al ranking */
.award .award-link{display:inline-block; margin-top:14px; font-size:13px; font-weight:700; color:var(--orange); text-decoration:underline; text-underline-offset:3px;}
.award .award-link:hover{color:var(--orange-700);}
/* Texto introductorio de Servicios en dos párrafos */
.gal-head .lead-in p + p{margin-top:14px;}

/* Texto introductorio de Servicios más ancho (menos líneas) */
.gal-head .lead-in{max-width:none;}
.gal-head .lead-in p{max-width:min(100%,1040px);}

/* Servicio: «Qué hacemos» y sus viñetas en una pastilla azul */
.sv-bl-box{background:var(--navy); border-radius:var(--iso-curve); padding:34px 36px 30px;}
.sv-bl-box .sv-bl-title{color:#fff;}
.sv-bl-box .sv-bullets li{color:rgba(255,255,255,.94);}
@media (max-width:640px){ .sv-bl-box{padding:26px 22px 22px;} }

/* =========================================================
   Encabezado del perfil con la foto del banner de Equipo
   ========================================================= */
.pf-hero{background:var(--navy);}
.pf-hero::before{content:""; position:absolute; inset:0; opacity:.24; z-index:0; background:var(--top-img, none) center/cover;}
.pf-hero::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(100deg, rgba(12,16,38,.92) 0%, rgba(12,16,38,.55) 100%);}
.pf-hero .wrap{position:relative; z-index:2;}

/* =========================================================
   UCL, Audiloop y Servicios especializados: mismo diseño sobrio del resto de los servicios
   ========================================================= */
.sv-sec .sv-head h2, .sv-sec .lead-in h2, .sv-sec .sv-list-head h2, .sv-sec.svc-why h2{font-size:clamp(24px,2.1vw,30px); line-height:1.15; letter-spacing:-.015em; margin-bottom:0;}
.sv-stats, .sv-areas, .sv-why, .sv-steps, .sv-impacto, .sv-subs{padding:60px 0;}
.sv-sec .sv-head{margin-bottom:28px; max-width:none;}
.sv-sec .sv-head p{margin-top:12px; font-size:16.5px; line-height:1.6; color:var(--slate); max-width:78ch;}
.sv-sec .sv-head p.serif{font-family:var(--sans); font-size:16.5px; color:var(--slate);}
/* Cifras */
.sv-sec.svc-stats, .sv-sec.svc-why{background:var(--paper); color:var(--ink);}
.svc-stats::before, .svc-why::before{display:none;}
.sv-stats .stat-grid{gap:14px;}
.sv-stats .stat{padding:22px 24px 20px; background:#fff; border:1px solid rgba(24,30,73,.1); border-radius:var(--iso-curve); box-shadow:0 18px 36px -28px rgba(18,22,46,.3);}
.sv-stats .stat b{font-size:clamp(28px,2.4vw,34px); color:var(--ink); letter-spacing:-.02em; font-variant-numeric:tabular-nums;}
.sv-stats .stat span{margin-top:8px; font-size:14.5px; line-height:1.45; color:var(--slate);}
.sv-stats .stat-note{margin-top:24px; padding-left:18px; border-left-width:3px; font-size:15.5px; line-height:1.6; color:var(--slate);}
/* Áreas de trabajo */
.sv-areas .area-grid{grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;}
.sv-sec.sv-areas .area-card{padding:24px 24px 22px; border:1px solid rgba(24,30,73,.1); border-top:1px solid rgba(24,30,73,.1); box-shadow:0 18px 36px -28px rgba(18,22,46,.3);}
.sv-areas .area-card h3{font-size:18px; margin-bottom:8px;}
.sv-areas .area-card h3::before{content:""; display:block; width:28px; height:3px; margin-bottom:12px; background:var(--orange);}
.sv-areas .area-card p{font-size:14.5px; line-height:1.55;}
/* Impacto: viñetas simples */
.sv-impacto .sv-list-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px;}
.sv-impacto .sv-list-head{position:static;}
.sv-impacto .sv-list-head h2::after{width:48px; height:4px; margin-top:14px;}
.sv-impacto .sv-impacto-list{margin:0;}
.sv-impacto .sv-impacto-list li{padding:8px 0 8px 24px; font-size:16px;}
.sv-impacto .sv-impacto-list li::before{top:16px;}
/* Audiloop: por qué importa (texto y pastilla azul con el alcance) */
.sv-why .svc-why-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:56px; align-items:start;}
.sv-sec.svc-why h2{color:var(--ink);}
.sv-why .svc-why-grid p{font-size:16.5px; line-height:1.7; color:var(--slate); margin-top:14px;}
.sv-why .sv-bl-box .sv-bl-title{font-size:clamp(21px,1.8vw,25px); margin:0;}
.sv-why .sv-bl-box .sv-bullets li{font-size:15.5px;}
/* Cómo trabajamos */
.sv-sec.svc-steps .sv-head{max-width:none;}
.sv-steps .steps{gap:12px;}
.sv-steps .steps li{padding:22px 18px 20px; border:1px solid rgba(24,30,73,.1); box-shadow:0 18px 36px -28px rgba(18,22,46,.3);}
.sv-steps .step-n{width:30px; height:30px; margin-bottom:14px; font-size:14px; background:var(--navy); box-shadow:none;}
.sv-steps .steps h3{font-size:16.5px;}
.sv-steps .steps p{font-size:14px;}
/* Servicios especializados: las dos tarjetas (UCL y Audiloop) en blanco, como las demás tarjetas */
.sv-subs .sub-card{padding:30px 30px 26px; color:var(--ink); background:#fff; border:1px solid rgba(24,30,73,.12); box-shadow:0 18px 36px -28px rgba(18,22,46,.3);}
.sv-subs .sub-card:hover{transform:translateY(-4px); box-shadow:0 26px 44px -28px rgba(18,22,46,.4); border-color:rgba(242,96,33,.55);}
.sv-subs .sub-card::before{display:none;}
.sv-subs .wordmark{margin-bottom:18px; padding-bottom:8px; font-size:26px; color:var(--navy);}
.sv-subs .sub-card h3{color:var(--ink); font-size:19px;}
.sv-subs .sub-card p{color:var(--slate); font-size:15px; margin-bottom:16px;}
@media (max-width:1000px){
  .sv-areas .area-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sv-impacto .sv-list-grid, .sv-why .svc-why-grid{grid-template-columns:1fr; gap:28px;}
}
@media (max-width:620px){ .sv-areas .area-grid{grid-template-columns:1fr;} }

/* Boletines con PDF: portada numerada (sin imagen) y enlace «Descargar PDF» */
.post .pic.cover{display:flex; align-items:center; padding:0 28px; background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 12 89 85%22%3E%3Cg fill=%22%23fff%22 fill-opacity=%22.09%22%3E%3Cpath d=%22M87.22,71.23C87.15,71.08 87.01,70.46 86.89,69.86C86.78,69.26 86.57,68.54 86.44,68.27C86.30,68.00 86.12,67.47 86.04,67.10C85.88,66.30 85.84,66.19 85.48,65.60C85.33,65.35 85.14,64.81 85.05,64.40C84.97,63.98 84.70,63.25 84.45,62.75C84.21,62.25 83.96,61.65 83.90,61.40C83.83,61.15 83.63,60.70 83.45,60.40C83.26,60.10 83.05,59.59 82.97,59.28C82.89,58.97 82.68,58.52 82.51,58.28C82.34,58.04 82.12,57.59 82.01,57.27C81.90,56.96 81.67,56.51 81.51,56.27C81.34,56.04 81.11,55.59 81.00,55.27C80.90,54.95 80.65,54.47 80.47,54.22C80.29,53.96 80.07,53.59 80.00,53.40C79.93,53.21 79.72,52.84 79.55,52.59C79.37,52.34 79.13,51.91 79.01,51.64C78.89,51.37 78.68,51.04 78.55,50.90C78.42,50.76 78.19,50.38 78.05,50.05C77.90,49.72 77.67,49.33 77.52,49.17C77.38,49.02 77.12,48.65 76.95,48.36C76.52,47.59 75.86,46.61 75.52,46.20C75.36,46.01 75.15,45.70 75.06,45.52C74.97,45.34 74.73,45.02 74.54,44.82C74.34,44.62 74.08,44.24 73.95,43.99C73.82,43.74 73.55,43.34 73.36,43.09C72.35,41.84 71.92,41.34 71.59,41.01C71.39,40.81 71.13,40.49 71.00,40.30C70.87,40.11 70.64,39.81 70.49,39.65C70.34,39.48 69.79,38.86 69.27,38.25C67.40,36.09 61.48,30.41 60.62,29.96C60.45,29.87 60.21,29.67 60.08,29.51C59.96,29.35 59.66,29.11 59.43,28.96C59.20,28.82 58.96,28.62 58.91,28.51C58.85,28.41 58.59,28.19 58.33,28.02C58.06,27.86 57.65,27.57 57.42,27.36C57.18,27.16 56.94,27.00 56.90,27.00C56.85,27.00 56.60,26.82 56.35,26.60C56.09,26.37 55.67,26.09 55.42,25.96C55.16,25.83 54.86,25.62 54.75,25.50C54.64,25.38 54.33,25.16 54.05,25.03C53.77,24.89 53.40,24.64 53.22,24.49C53.04,24.33 52.70,24.10 52.47,23.99C52.24,23.87 51.92,23.66 51.75,23.53C51.59,23.39 51.19,23.15 50.86,22.99C50.53,22.83 50.14,22.59 50.00,22.46C49.86,22.32 49.51,22.12 49.21,22.01C48.91,21.90 48.50,21.67 48.29,21.50C48.08,21.33 47.70,21.11 47.44,21.00C47.18,20.89 46.72,20.64 46.41,20.45C46.10,20.26 45.64,20.04 45.38,19.95C45.13,19.87 44.69,19.64 44.40,19.45C44.12,19.26 43.73,19.06 43.53,19.01C43.33,18.95 42.91,18.75 42.61,18.57C42.30,18.38 41.78,18.15 41.45,18.05C41.12,17.96 40.58,17.73 40.25,17.55C39.92,17.37 39.33,17.13 38.95,17.01C38.56,16.90 38.03,16.67 37.76,16.50C37.46,16.31 36.99,16.13 36.51,16.04C36.09,15.95 35.42,15.71 35.00,15.50C34.59,15.29 33.96,15.06 33.60,14.99C33.24,14.93 32.56,14.72 32.09,14.54C31.62,14.37 30.75,14.12 30.14,14.00C28.55,13.69 28.27,13.45 29.06,13.05C29.45,12.85 29.65,12.85 56.65,12.85C78.89,12.85 83.96,12.87 84.43,12.98C85.54,13.24 87.46,15.18 87.93,16.53C88.09,16.99 88.11,25.45 88.03,49.95C87.96,68.27 87.93,70.89 87.80,71.15C87.60,71.55 87.36,71.58 87.22,71.23Z%22/%3E%3Cpath d=%22M57.82,95.09C57.41,94.82 57.24,94.49 56.94,93.38C56.81,92.90 56.59,92.28 56.45,92.01C56.32,91.73 56.11,91.16 55.99,90.73C55.88,90.30 55.65,89.75 55.50,89.50C55.34,89.25 55.14,88.76 55.05,88.40C54.96,88.04 54.73,87.50 54.55,87.19C54.36,86.88 54.13,86.34 54.04,85.99C53.86,85.26 53.76,85.06 53.44,84.68C53.32,84.53 53.12,84.12 53.00,83.76C52.88,83.40 52.66,82.95 52.50,82.75C52.34,82.55 52.12,82.10 52.00,81.74C51.88,81.38 51.68,80.97 51.55,80.82C51.42,80.67 51.18,80.26 51.01,79.91C50.84,79.56 50.60,79.14 50.47,78.96C50.35,78.79 50.12,78.35 49.96,77.98C49.81,77.62 49.59,77.23 49.48,77.13C49.37,77.03 49.16,76.72 49.03,76.45C48.89,76.17 48.66,75.82 48.53,75.66C48.40,75.50 48.17,75.15 48.04,74.87C47.90,74.60 47.62,74.16 47.42,73.90C47.21,73.64 46.97,73.30 46.88,73.14C46.58,72.64 45.82,71.57 45.52,71.20C45.36,71.01 45.15,70.70 45.06,70.53C44.97,70.35 44.71,69.98 44.47,69.70C44.24,69.43 43.80,68.89 43.50,68.50C43.20,68.11 42.75,67.55 42.50,67.25C42.25,66.96 41.80,66.42 41.50,66.06C41.20,65.69 40.60,65.02 40.17,64.57C39.73,64.12 39.21,63.52 39.00,63.25C38.56,62.67 35.43,59.57 34.85,59.14C34.63,58.98 34.09,58.50 33.65,58.06C33.21,57.63 32.67,57.15 32.44,57.00C32.21,56.84 31.96,56.60 31.86,56.46C31.77,56.32 31.55,56.13 31.37,56.04C31.20,55.95 30.84,55.68 30.58,55.44C30.32,55.20 30.06,55.00 30.01,55.00C29.95,55.00 29.65,54.77 29.35,54.50C29.05,54.23 28.75,54.00 28.70,54.00C28.65,54.00 28.35,53.77 28.05,53.50C27.75,53.23 27.46,53.00 27.41,53.00C27.36,53.00 27.13,52.84 26.89,52.64C26.66,52.45 26.28,52.19 26.06,52.08C25.83,51.97 25.48,51.72 25.28,51.54C25.08,51.36 24.72,51.11 24.48,50.99C24.25,50.87 23.90,50.65 23.70,50.49C23.51,50.34 23.09,50.09 22.77,49.94C22.45,49.80 22.15,49.60 22.10,49.50C22.05,49.40 21.75,49.20 21.43,49.05C21.11,48.90 20.70,48.67 20.52,48.53C20.34,48.40 19.95,48.18 19.64,48.04C19.33,47.91 18.92,47.66 18.72,47.50C18.51,47.34 18.08,47.11 17.75,47.00C17.42,46.89 16.96,46.66 16.73,46.49C16.49,46.33 16.05,46.10 15.73,45.99C15.42,45.89 14.93,45.64 14.66,45.45C14.38,45.27 13.90,45.04 13.60,44.95C13.30,44.87 12.85,44.66 12.61,44.50C12.37,44.33 11.85,44.10 11.46,43.99C11.07,43.87 10.57,43.64 10.34,43.48C10.10,43.31 9.61,43.11 9.15,42.99C8.71,42.88 8.13,42.66 7.84,42.50C7.55,42.34 6.96,42.12 6.53,42.01C6.10,41.90 5.45,41.68 5.10,41.52C4.74,41.36 4.01,41.13 3.48,41.00C2.07,40.69 1.81,40.42 2.53,40.02C2.81,39.87 3.28,39.84 6.20,39.79C8.15,39.75 9.72,39.68 9.95,39.62C10.24,39.54 14.99,39.50 26.65,39.50C38.49,39.49 43.07,39.46 43.40,39.38C43.70,39.30 45.56,39.25 48.87,39.23L53.90,39.19L55.17,39.70C56.35,40.17 56.50,40.26 57.12,40.87C57.49,41.24 57.84,41.67 57.91,41.84C57.97,42.01 58.20,42.51 58.41,42.95C58.90,43.99 59.03,44.95 58.95,46.95C58.92,47.77 58.86,57.09 58.82,67.65C58.77,82.66 58.72,86.91 58.62,87.13C58.53,87.34 58.50,88.38 58.49,91.08C58.48,95.51 58.48,95.51 57.82,95.09Z%22/%3E%3C/g%3E%3C/svg%3E") no-repeat right -26px bottom -34px / 190px;}
.post .pic.cover .cv-n{font-family:var(--serif); font-size:56px; font-weight:700; line-height:1; letter-spacing:-.02em; color:#fff;}
.post .pic.cover .cv-n small{display:block; margin-bottom:8px; font-family:var(--sans); font-size:12.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7);}
.post .post-go{display:inline-block; margin-top:14px; font-size:13px; font-weight:700; color:var(--orange); text-decoration:underline; text-underline-offset:3px;}
.post:hover .post-go{color:var(--orange-700);}

/* Boletines en texto: fecha, cuerpo, tablas y firma */
.article .body .bol-date{font-weight:700; color:var(--slate); margin-bottom:26px;}
.article .body h3{font-size:clamp(18px,1.5vw,21px); line-height:1.25; margin:30px 0 12px; color:var(--ink);}
.article .body ol{margin:22px 0; padding-left:22px;}
.article .body ol li{margin-bottom:10px; line-height:1.7; font-size:17px;}
.article .body ul li strong, .article .body ol li strong{color:var(--ink);}
.article .body blockquote{margin:0 0 26px; padding:4px 0 4px 20px; border-left:3px solid var(--orange);}
.article .body blockquote p{font-family:var(--serif); font-size:19px; line-height:1.55; color:var(--ink); margin:0;}
.article .body .tbl-wrap{overflow-x:auto; margin:26px 0 30px; border:1px solid var(--line); border-radius:var(--iso-curve); background:#fff;}
.article .body table{width:100%; min-width:620px; border-collapse:collapse; font-size:14.5px; line-height:1.5;}
.article .body th{padding:12px 14px; text-align:left; background:var(--navy); color:#fff; font-size:13px; letter-spacing:.04em;}
.article .body td{padding:12px 14px; vertical-align:top; border-top:1px solid var(--line); color:var(--slate);}
.article .body tbody tr:nth-child(even) td{background:var(--paper);}
.article .body .bol-steps{list-style:decimal;}
.article .body .bol-area{margin:34px 0 8px; font-weight:700; color:var(--ink);}
.article .body .bol-note{margin:0 0 26px; font-size:14px; line-height:1.6; color:var(--slate-400,#6b7280);}

/* Líderes con perfil: la fila abre su página y muestra su foto */
a.dir-item.has-profile{text-decoration:none; color:inherit; cursor:pointer;}
.dir-mono{overflow:hidden;}
.dir-mono img{width:100%; height:100%; object-fit:cover; object-position:50% 18%; display:block;}
