/* ==========================================================================
   LINE & BEAUTY — CAPA PREMIUM
   Oro metálico en botones, mármol con paralaje, logotipos reales,
   tipografía de casa de lujo y animaciones de entrada.
   Va después de lb.css: todo lo que aquí se redefine gana por orden.
   ========================================================================== */

:root{
  /* tipografía: Cormorant Garamond para la voz, Jost (geométrica, como el
     logotipo) para el servicio */
  --display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Jost',-apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',sans-serif;

  /* oro de verdad: varias luces y sombras, como una lámina pulida */
  --oro-metal:linear-gradient(118deg,
    #6E4F1C 0%, #B8913F 14%, #F3DE9A 28%, #D4AE55 40%,
    #8C6A2C 54%, #E9CF82 68%, #FFF1BE 76%, #B48A38 88%, #6E4F1C 100%);
  --oro-texto:linear-gradient(100deg,#B8913F 0%,#F3DE9A 22%,#C99E45 44%,#FFF1BE 60%,#B8913F 80%,#E9CF82 100%);
  --oro-borde:linear-gradient(118deg,#8C6A2C,#F3DE9A 35%,#B8913F 60%,#FFF1BE 80%,#8C6A2C);
  --oro-sombra:rgba(150,110,40,.55);

  --ease-lujo:cubic-bezier(.19,1,.22,1);
}

/* ==========================================================================
   Tipografía
   ========================================================================== */
body.lb,
body.lb :is(button,input,select,textarea){font-family:var(--sans)}
body.lb{font-weight:400;letter-spacing:.005em;line-height:1.78}

body.lb :is(h1,h2,h3,h4),
body.lb .entry-content :is(h1,h2,h3,h4),
body.lb .titulo{
  font-family:var(--display);font-weight:500;letter-spacing:-.01em;
}
body.lb .titulo{font-size:clamp(36px,5.2vw,68px);line-height:1.02;max-width:22ch}
body.lb .titulo em{font-style:italic;font-weight:400}
body.lb .portada h1{
  font-size:clamp(46px,7.8vw,108px);line-height:.96;font-weight:500;letter-spacing:-.015em;
}
body.lb .portada h1 em{font-style:italic;font-weight:400}
body.lb .entrada{font-weight:300;font-size:clamp(18px,1.9vw,22px);line-height:1.66}
body.lb .eyebrow{font-weight:500;letter-spacing:.34em;font-size:11px}
body.lb :is(.proc,.hermana,.tiempo,.sede > div) h3{font-size:clamp(23px,2.3vw,30px);font-weight:600;line-height:1.1}
body.lb .tiempo__n,body.lb .romano{font-family:var(--sans);font-weight:500;letter-spacing:.3em}
body.lb .cifra b{font-family:var(--display);font-weight:500;font-size:clamp(40px,5.4vw,70px)}
body.lb .preguntas summary{font-size:clamp(20px,2vw,25px);font-weight:600}
body.lb .capitular::first-letter{font-family:var(--display);font-weight:500;font-size:4.2em}
body.lb .main-header-menu > .menu-item > .menu-link{font-family:var(--sans);font-weight:400;letter-spacing:.08em;font-size:13.5px}

/* oro que respira en los acentos sobre fondo oscuro */
body.lb :is(.portada,.sobre-azul,.sobre-azul-hondo,.sobre-grafito,.sobre-teal) :is(h1 em,.titulo em),
body.lb .cifra b{
  background:var(--oro-texto);background-size:220% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:oro-fluye 9s linear infinite;
}
@keyframes oro-fluye{from{background-position:0% 50%}to{background-position:220% 50%}}

/* ==========================================================================
   Logotipos reales
   ========================================================================== */
body.lb .site-title{margin:0;line-height:0}
body.lb .site-title a{
  display:block;
  width:clamp(150px,14vw,196px);aspect-ratio:6322 / 2129;
  background:url("../img/lb-logo-negro-480.webp") left center / contain no-repeat;
  font-size:0;line-height:0;color:transparent;
  transition:width .6s var(--ease-lujo),opacity .4s var(--ease);
}
body.lb .site-title a:hover{opacity:.78}
body.lb.lb-desplazado .site-title a{width:clamp(132px,11vw,162px)}
@media (max-width:921px){body.lb .site-title a{width:140px}}

.pie__logo{width:min(260px,70%);height:auto;margin:0 0 22px;display:block;opacity:.96}

/* ==========================================================================
   Botones de oro
   ========================================================================== */
body.lb .btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:500;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;line-height:1;
  padding:17px 34px;border-radius:999px;
  border:1px solid transparent;
  color:#8A6A2E;
  background:
    linear-gradient(rgba(245,241,232,.9),rgba(245,241,232,.9)) padding-box,
    var(--oro-borde) border-box;
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 10px 30px -18px var(--oro-sombra);
  transform:translateZ(0);
  transition:color .5s var(--ease-lujo),transform .6s var(--ease-lujo),box-shadow .6s var(--ease-lujo),letter-spacing .6s var(--ease-lujo);
}
/* relleno de oro que sube al pasar */
body.lb .btn::before{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:var(--oro-metal);background-size:240% 100%;background-position:0% 50%;
  opacity:0;transform:scale(.92);
  transition:opacity .55s var(--ease-lujo),transform .7s var(--ease-lujo),background-position 1.4s var(--ease-lujo);
}
/* destello que cruza la lámina */
body.lb .btn::after{
  content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:38%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,250,228,.75) 48%,rgba(255,255,255,.95) 50%,rgba(255,250,228,.75) 52%,transparent);
  transform:skewX(-24deg);opacity:0;
}
body.lb .btn:hover,body.lb .btn:focus-visible{
  color:#1C1406;transform:translateY(-2px);letter-spacing:.24em;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 18px 40px -14px var(--oro-sombra),0 0 0 1px rgba(243,222,154,.35);
}
body.lb .btn:hover::before,body.lb .btn:focus-visible::before{opacity:1;transform:none;background-position:100% 50%}
body.lb .btn:hover::after,body.lb .btn:focus-visible::after{animation:destello 1.15s var(--ease-lujo) both}
body.lb .btn:active{transform:translateY(0) scale(.98);transition-duration:.15s}
@keyframes destello{0%{left:-60%;opacity:0}12%{opacity:1}100%{left:130%;opacity:0}}

/* sólido: lámina de oro desde el principio */
body.lb .btn.btn--solido{
  color:#1C1406;text-shadow:0 1px 0 rgba(255,244,205,.55);
  background:
    linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 46%,rgba(0,0,0,.06)) padding-box,
    var(--oro-metal) padding-box,
    linear-gradient(118deg,#5E4418,#E9CF82 40%,#8C6A2C 70%,#F3DE9A) border-box;
  background-size:100% 100%,240% 100%,100% 100%;
  background-position:0 0,0% 50%,0 0;
  box-shadow:
    inset 0 1px 0 rgba(255,248,215,.85),
    inset 0 -1px 0 rgba(94,68,24,.45),
    0 12px 32px -12px var(--oro-sombra),
    0 2px 6px -2px rgba(94,68,24,.35);
  transition:color .5s var(--ease-lujo),transform .6s var(--ease-lujo),box-shadow .6s var(--ease-lujo),letter-spacing .6s var(--ease-lujo),background-position 1.2s var(--ease-lujo);
}
body.lb .btn.btn--solido::before{background:linear-gradient(118deg,#8C6A2C,#FFF1BE 30%,#E0BE68 52%,#FFF6D2 70%,#A57C30);opacity:0}
body.lb .btn.btn--solido:hover,body.lb .btn.btn--solido:focus-visible{
  color:#140E04;background-position:0 0,100% 50%,0 0;
  box-shadow:
    inset 0 1px 0 rgba(255,250,225,1),
    inset 0 -1px 0 rgba(94,68,24,.4),
    0 22px 50px -14px rgba(180,138,56,.75),
    0 0 36px -6px rgba(243,222,154,.55);
}
body.lb .btn.btn--solido:hover::before{opacity:.55}

/* sobre fondos oscuros: filete de oro y texto claro */
body.lb :is(.portada,.sobre-azul,.sobre-azul-hondo,.sobre-grafito,.sobre-teal,.pie) .btn:not(.btn--solido){
  color:#EBD49B;
  background:
    linear-gradient(rgba(11,24,40,.55),rgba(11,24,40,.55)) padding-box,
    var(--oro-borde) border-box;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
body.lb :is(.portada,.sobre-azul,.sobre-azul-hondo,.sobre-grafito,.sobre-teal,.pie) .btn:not(.btn--solido):hover{color:#1C1406}
body.lb .lb-acciones .btn{padding:12px 22px;font-size:11px;letter-spacing:.18em}
body.lb .lb-acciones .btn:hover{letter-spacing:.21em}

/* ES / EN */
body.lb .idioma{border:1px solid transparent;border-radius:999px;padding:3px;gap:2px;
  background:linear-gradient(rgba(245,241,232,.9),rgba(245,241,232,.9)) padding-box,var(--oro-borde) border-box}
body.lb .idioma button{border-radius:999px;font-family:var(--sans);font-weight:500;padding:6px 11px;color:#8A6A2E}
body.lb .idioma button[aria-pressed="true"]{
  background:var(--oro-metal);background-size:240% 100%;color:#1C1406;
  box-shadow:inset 0 1px 0 rgba(255,248,215,.8),0 3px 10px -4px var(--oro-sombra);
}

/* ==========================================================================
   Mármol con paralaje
   El JS inserta un <div class="marmol"> por sección; aquí sólo se pinta.
   ========================================================================== */
.marmol{
  position:absolute;left:0;right:0;top:-18%;height:136%;
  z-index:0;pointer-events:none;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  will-change:transform;
}
.marmol--claro{background-image:url("../img/lb-marmol-claro.webp");opacity:.62}
.marmol--oscuro{background-image:url("../img/lb-marmol-oscuro.webp");opacity:.5}
.sobre-grafito > .marmol--oscuro{opacity:.34;filter:grayscale(.35)}
.portada > .marmol{z-index:2;opacity:.34;mix-blend-mode:screen}
.pie{position:relative;overflow:clip}
.pie > .wrap{position:relative;z-index:2}
.pie > .marmol{opacity:.42}

/* las tarjetas se vuelven cristal para dejar ver la piedra */
body.lb .sobre-marfil :is(.proc,.hermana),
body.lb .sobre-marfil-2 :is(.proc,.hermana),
body.lb .sobre-marfil .tiempo{
  background:
    linear-gradient(115deg,transparent 35%,rgba(243,222,154,.34) 50%,transparent 65%) 130% 0 / 260% 100% no-repeat,
    rgba(248,245,238,.8);
  backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);
}
body.lb :is(.sobre-azul,.sobre-azul-hondo) :is(.tiempo,.cifra),
body.lb .sede > div{
  background:
    linear-gradient(115deg,transparent 35%,rgba(243,222,154,.14) 50%,transparent 65%) 130% 0 / 260% 100% no-repeat,
    rgba(14,33,56,.78);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
body.lb .sede > div{background-color:rgba(32,37,43,.8)}
body.lb .caso{background:
  repeating-linear-gradient(135deg, rgba(243,222,154,.05) 0 8px, transparent 8px 16px),
  rgba(14,33,56,.72)}

/* tarjetas: se elevan, se dora el filo y cruza un brillo */
body.lb :is(.proc,.hermana,.tiempo,.cifra,.sede > div){
  transition:transform .8s var(--ease-lujo),box-shadow .8s var(--ease-lujo),border-color .6s var(--ease),background-position 1.3s var(--ease-lujo);
}
body.lb :is(.proc,.hermana):hover,
body.lb .tiempo:hover,body.lb .cifra:hover,body.lb .sede > div:hover{
  transform:translateY(-6px);
  border-color:#C9A24A;
  background-position:-30% 0,0 0;
  box-shadow:0 28px 60px -28px rgba(23,50,77,.45),0 0 0 1px rgba(201,162,74,.35);
}

/* ==========================================================================
   Barra: sombra al desplazarse y línea de oro de progreso
   ========================================================================== */
body.lb .site-header{transition:box-shadow .6s var(--ease-lujo),background .6s var(--ease)}
body.lb.lb-desplazado .site-header{box-shadow:0 14px 40px -22px rgba(23,50,77,.35)}
body.lb .main-header-menu > .menu-item > .menu-link{position:relative}
body.lb .main-header-menu > .menu-item > .menu-link::after{
  content:"";position:absolute;left:18%;right:18%;bottom:22px;height:1px;
  background:var(--oro-borde);transform:scaleX(0);transition:transform .6s var(--ease-lujo);
}
body.lb .main-header-menu > .menu-item > .menu-link:hover::after{transform:scaleX(1)}

.lb-progreso{
  position:fixed;left:0;top:0;height:2px;width:100%;z-index:9999;pointer-events:none;
  background:var(--oro-metal);background-size:200% 100%;
  transform-origin:0 50%;transform:scaleX(var(--p,0));
  box-shadow:0 0 12px rgba(243,222,154,.6);
}

/* ==========================================================================
   Entradas
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  /* portada: escalonada al cargar */
  body.lb .portada :is(.eyebrow,h1 > span,h1 > em,.entrada,.portada__btns,.avales){
    animation:lb-subir 1.3s var(--ease-lujo) both;
  }
  body.lb .portada .eyebrow{animation-delay:.1s}
  body.lb .portada h1 > span{animation-delay:.25s}
  body.lb .portada h1 > em{animation:lb-subir 1.3s var(--ease-lujo) .45s both,oro-fluye 9s linear 1.8s infinite}
  body.lb .portada .entrada{animation-delay:.65s}
  body.lb .portada .portada__btns{animation-delay:.85s}
  body.lb .portada .avales{animation-delay:1.05s}
  body.lb .portada__foto{animation:lb-acercar 2.6s var(--ease-lujo) both}

  /* secciones: el contenido sube al entrar en pantalla (sólo si el JS
     confirmó que puede observar; sin JS todo queda visible) */
  html.lb-anim body.lb .seccion > .wrap > *{
    opacity:0;transform:translateY(34px);filter:blur(6px);
    transition:opacity 1.1s var(--ease-lujo),transform 1.3s var(--ease-lujo),filter 1.1s var(--ease-lujo);
  }
  html.lb-anim body.lb .seccion.lb-visto > .wrap > *{opacity:1;transform:none;filter:none}
  html.lb-anim body.lb .seccion.lb-visto > .wrap > *:nth-child(2){transition-delay:.12s}
  html.lb-anim body.lb .seccion.lb-visto > .wrap > *:nth-child(3){transition-delay:.24s}
  html.lb-anim body.lb .seccion.lb-visto > .wrap > *:nth-child(4){transition-delay:.36s}
  html.lb-anim body.lb .seccion.lb-visto > .wrap > *:nth-child(n+5){transition-delay:.48s}

  /* los filetes de oro se trazan */
  html.lb-anim body.lb .seccion .divisor::before,
  html.lb-anim body.lb .seccion .divisor::after{transform:scaleX(0);transition:transform 1.6s var(--ease-lujo) .3s}
  html.lb-anim body.lb .seccion .divisor::before{transform-origin:100% 50%}
  html.lb-anim body.lb .seccion .divisor::after{transform-origin:0 50%}
  html.lb-anim body.lb .seccion.lb-visto .divisor::before,
  html.lb-anim body.lb .seccion.lb-visto .divisor::after{transform:scaleX(1)}
  html.lb-anim body.lb .seccion .divisor i{transform:rotate(45deg) scale(0);transition:transform 1s var(--ease-lujo) .9s}
  html.lb-anim body.lb .seccion.lb-visto .divisor i{transform:rotate(45deg) scale(1)}

  /* el rosetón y la greca brillan despacio */
  body.lb .greca{animation:greca-late 6s ease-in-out infinite}
}
@keyframes lb-subir{from{opacity:0;transform:translateY(38px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes lb-acercar{from{transform:scale(1.14);opacity:0}to{transform:none;opacity:.3}}
@keyframes greca-late{0%,100%{opacity:.26}50%{opacity:.5}}

/* preguntas: la respuesta se despliega */
@media (prefers-reduced-motion:no-preference){
  body.lb .preguntas details[open] .resp{animation:lb-subir .7s var(--ease-lujo) both}
}
body.lb .preguntas summary::after{border-color:#C9A24A}

/* formulario: foco dorado */
body.lb .campo :is(input,select,textarea){border-radius:10px;transition:border-color .4s var(--ease),box-shadow .5s var(--ease-lujo)}
body.lb .campo :is(input,select,textarea):focus{
  outline:none;border-color:#C9A24A;box-shadow:0 0 0 4px rgba(243,222,154,.22);
}

/* ==========================================================================
   Pie: crédito
   ========================================================================== */
.pie__credito a.arcoiris{
  font-weight:600;letter-spacing:.02em;text-decoration:none;
  background:linear-gradient(90deg,#FF2D55,#FF3BB0,#C13BFF,#8A3FFC,#C13BFF,#FF3BB0,#FF2D55);
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:arcoiris 6s linear infinite;
  transition:filter .35s var(--ease);
}
.pie__credito a.arcoiris:hover{filter:brightness(1.25) saturate(1.2)}
@keyframes arcoiris{from{background-position:0% 50%}to{background-position:300% 50%}}

@media (prefers-reduced-motion:reduce){
  .marmol{transform:none!important}
  .lb-progreso{display:none}
  .pie__credito a.arcoiris,body.lb .cifra b,body.lb :is(h1 em,.titulo em){animation:none}
}
@media (max-width:620px){
  body.lb .btn{padding:15px 26px}
  .marmol{top:-8%;height:116%}
}
@media print{.marmol,.lb-progreso{display:none!important}}

/* ==========================================================================
   Ajustes tras la revisión en pantalla
   ========================================================================== */
/* cifras y precios con números de caja alta: parejos y tabulares */
body.lb :is(.cifra b,.proc__precio,.tiempo__n,.romano,.datos-consultorio dd){font-variant-numeric:lining-nums tabular-nums}
body.lb .proc__precio{font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.04em}

/* las etiquetas pequeñas del pie van en la sans, no en la serif de titular */
body.lb .pie h4{font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase}

/* el selector del formulario recortaba el texto con la nueva fuente */
body.lb .campo select{height:auto;min-height:48px;line-height:1.45;padding:12px 40px 12px 14px}
body.lb .campo :is(input,textarea){line-height:1.45}
body.lb .sobre-azul .campo :is(input,select,textarea){background-color:rgba(11,24,40,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}

/* credenciales de la portada: vuelven a respirar bajo los botones */
body.lb .portada .avales{margin-top:clamp(34px,4.6vw,60px)}

/* mármol oscuro un punto más quieto detrás de textos largos */
.sobre-azul > .marmol--oscuro{opacity:.42}

/* encabezado en pantallas angostas: el ES/EN no se parte y el botón de
   agenda del encabezado se oculta (la portada ya trae el suyo) */
body.lb .idioma button{white-space:nowrap}
@media (max-width:560px){
  body.lb .lb-acciones .btn{display:none}
  body.lb .idioma button{padding:5px 10px;font-size:10px}
}

/* ==========================================================================
   Antes y después: carrusel con comparador deslizable
   ========================================================================== */
.ad{--gap:clamp(16px,2.2vw,30px);--por-vista:2;margin-top:clamp(8px,1vw,14px)}
.ad__ventana{overflow:hidden;padding:6px 2px 10px}
.ad__pista{
  display:flex;gap:var(--gap);
  transition:transform .9s var(--ease-lujo);
  will-change:transform;
}
.ad__caso{
  flex:0 0 calc((100% - var(--gap) * (var(--por-vista) - 1)) / var(--por-vista));
  margin:0;display:grid;gap:14px;
}
@media (max-width:900px){.ad{--por-vista:1}}

.ad__comparar{
  position:relative;aspect-ratio:4 / 5;overflow:hidden;border-radius:14px;
  background:#0B1828;
  user-select:none;-webkit-user-select:none;touch-action:pan-y;
  box-shadow:0 0 0 1px rgba(201,162,74,.45),0 0 0 7px rgba(11,24,40,.55),0 0 0 8px rgba(201,162,74,.22),0 34px 70px -34px rgba(0,0,0,.8);
}
.ad__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ad__antes{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}

.ad__linea{
  position:absolute;top:0;bottom:0;left:var(--pos);width:2px;translate:-1px 0;pointer-events:none;
  background:linear-gradient(180deg,transparent,#F3DE9A 12%,#C9A24A 50%,#F3DE9A 88%,transparent);
  box-shadow:0 0 14px rgba(243,222,154,.6);
}
.ad__tirador{
  position:absolute;top:50%;left:50%;width:54px;height:54px;translate:-50% -50%;
  border-radius:50%;
  background:var(--oro-metal);background-size:240% 100%;
  box-shadow:inset 0 1px 0 rgba(255,248,215,.9),inset 0 -1px 0 rgba(94,68,24,.45),0 10px 26px -8px rgba(0,0,0,.65),0 0 0 4px rgba(11,24,40,.35);
  transition:transform .5s var(--ease-lujo),background-position 1.2s var(--ease-lujo);
}
.ad__tirador::before,.ad__tirador::after{
  content:"";position:absolute;top:50%;width:0;height:0;translate:0 -50%;
  border-block:6px solid transparent;
}
.ad__tirador::before{left:13px;border-right:8px solid #2A1E08}
.ad__tirador::after{right:13px;border-left:8px solid #2A1E08}
.ad__comparar:hover .ad__tirador,.ad__comparar.arrastrando .ad__tirador{transform:scale(1.1);background-position:100% 50%}

.ad__etiqueta{
  position:absolute;top:16px;z-index:2;pointer-events:none;
  font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
  color:#F5F1E8;padding:7px 13px;border-radius:999px;
  background:rgba(11,24,40,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 0 0 1px rgba(201,162,74,.4);
  transition:opacity .4s var(--ease);
}
.ad__etiqueta--antes{left:16px}
.ad__etiqueta--despues{right:16px}
.ad__comparar[data-lado="antes"] .ad__etiqueta--despues,
.ad__comparar[data-lado="despues"] .ad__etiqueta--antes{opacity:.35}

/* el rango ocupa toda la foto: arrastrar en cualquier punto mueve el corte */
.ad__rango{
  position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:3;
  opacity:0;cursor:ew-resize;appearance:none;-webkit-appearance:none;background:none;
}
.ad__rango:focus-visible{opacity:0}
.ad__comparar:has(.ad__rango:focus-visible){box-shadow:0 0 0 2px #F3DE9A,0 0 0 8px rgba(243,222,154,.25),0 34px 70px -34px rgba(0,0,0,.8)}

.ad__pie{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-inline:4px}
.ad__pie b{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#C9A24A}
.ad__pie span{font-family:var(--display);font-size:clamp(20px,2vw,25px);color:var(--sobre-azul)}

.ad__controles{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:clamp(20px,2.6vw,34px)}
.ad__flecha{
  width:52px;height:52px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;font-size:18px;line-height:1;
  color:#EBD49B;border:1px solid transparent;
  background:linear-gradient(rgba(11,24,40,.6),rgba(11,24,40,.6)) padding-box,var(--oro-borde) border-box;
  transition:color .4s var(--ease),transform .5s var(--ease-lujo),box-shadow .5s var(--ease-lujo),opacity .4s var(--ease);
}
.ad__flecha:hover{color:#1C1406;background:var(--oro-metal);transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(180,138,56,.7)}
.ad__flecha[disabled]{opacity:.3;cursor:default;transform:none;box-shadow:none;color:#EBD49B;background:linear-gradient(rgba(11,24,40,.6),rgba(11,24,40,.6)) padding-box,var(--oro-borde) border-box}
.ad__puntos{display:flex;gap:10px}
.ad__puntos button{
  width:9px;height:9px;padding:0;border:0;border-radius:999px;cursor:pointer;
  background:rgba(243,222,154,.3);transition:width .6s var(--ease-lujo),background .4s var(--ease);
}
.ad__puntos button[aria-current="true"]{width:34px;background:var(--oro-metal)}
.ad__controles[hidden]{display:none}

@media (prefers-reduced-motion:reduce){.ad__pista{transition:none}}
.ad__rango{touch-action:pan-y}

/* subtítulo de la portada: acompañamiento y turismo médico */
body.lb .portada__sub{
  font-family:var(--sans);font-weight:400;
  font-size:clamp(15px,1.45vw,18px);line-height:1.65;
  color:var(--sobre-azul-2);max-width:58ch;
  margin:4px 0 0;padding-left:18px;
  border-left:1px solid #C9A24A;
}
@media (prefers-reduced-motion:no-preference){
  body.lb .portada .portada__sub{animation:lb-subir 1.3s var(--ease-lujo) .75s both}
}

/* ==========================================================================
   Portada v2: valoraciones, cinco pasos e Instagram
   ========================================================================== */
body.lb .valoraciones{max-width:980px;margin-inline:auto;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
body.lb .valoraciones .hermana span{color:#8A6A2E;letter-spacing:.22em}
body.lb .valoraciones__cta{text-align:center;margin:clamp(28px,3.2vw,44px) 0 0}
body.lb .tiempos--cinco{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
body.lb .portada .avales{gap:10px 22px}

body.lb .lb-instagram #sb_instagram{padding-bottom:0!important}
body.lb .lb-instagram #sb_instagram .sbi_photo_wrap,
body.lb .lb-instagram #sb_instagram .sbi_photo{border-radius:14px;overflow:hidden}
body.lb .lb-instagram #sb_instagram .sbi_item{transition:transform .8s var(--ease-lujo)}
body.lb .lb-instagram #sb_instagram .sbi_item:hover{transform:translateY(-4px)}
body.lb .lb-instagram #sb_instagram .sbi_photo img{transition:transform 1.2s var(--ease-lujo)}
body.lb .lb-instagram #sb_instagram .sbi_item:hover .sbi_photo img{transform:scale(1.06)}
body.lb .lb-instagram #sb_instagram .sbi_follow_btn a{
  border-radius:999px!important;font-family:var(--sans);font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:12px;
  color:#1C1406!important;background:var(--oro-metal)!important;background-size:240% 100%!important;
  box-shadow:inset 0 1px 0 rgba(255,248,215,.85),0 12px 32px -12px var(--oro-sombra)!important;padding:14px 28px!important;
}

/* cinco pasos: cinco columnas parejas que nunca se desbordan */
body.lb .tiempos--cinco{grid-template-columns:repeat(5,minmax(0,1fr))}
body.lb .tiempos--cinco .tiempo{padding:clamp(18px,1.8vw,28px)}
body.lb .tiempos--cinco .tiempo h3{font-size:clamp(19px,1.6vw,23px);overflow-wrap:normal;hyphens:manual}
body.lb .tiempos--cinco .tiempo p{font-size:14px}
@media (max-width:1100px){body.lb .tiempos--cinco{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.lb .tiempos--cinco .tiempo:last-child{grid-column:1 / -1}}
@media (max-width:620px){body.lb .tiempos--cinco{grid-template-columns:1fr}}

/* ==========================================================================
   Servicios en pestañas (Lo que hacemos)
   ========================================================================== */
body.lb .serv__kicker{
  font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:#8A6A2E;margin:0 0 14px;
}
.serv{max-width:1100px;margin-inline:auto}
.serv__tabs{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  margin:0 0 clamp(22px,2.6vw,36px);
}
.serv__tab{
  appearance:none;cursor:pointer;border-radius:999px;
  font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:11px 18px;color:#8A6A2E;border:1px solid transparent;
  background:linear-gradient(rgba(248,245,238,.85),rgba(248,245,238,.85)) padding-box,var(--oro-borde) border-box;
  transition:color .4s var(--ease),box-shadow .5s var(--ease-lujo),transform .5s var(--ease-lujo);
}
.serv__tab:hover{transform:translateY(-1px);box-shadow:0 10px 24px -14px var(--oro-sombra)}
.serv__tab[aria-selected="true"]{
  color:#1C1406;
  background:var(--oro-metal) padding-box,linear-gradient(118deg,#5E4418,#E9CF82 40%,#8C6A2C 70%,#F3DE9A) border-box;
  background-size:240% 100%,100% 100%;
  box-shadow:inset 0 1px 0 rgba(255,248,215,.85),0 12px 28px -12px var(--oro-sombra);
}
.serv__tab:focus-visible{outline:2px solid #C9A24A;outline-offset:3px}

.serv__panel{
  position:relative;border-radius:18px;
  padding:clamp(24px,3.4vw,50px);
  background:rgba(248,245,238,.82);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 0 0 1px rgba(201,162,74,.35),0 30px 70px -40px rgba(23,50,77,.4);
}
.serv__panel[hidden]{display:none}
.serv__panel + .serv__panel{margin-top:22px}          /* sin JS, todas visibles y separadas */
.serv[data-listo] .serv__panel + .serv__panel{margin-top:0}
@media (prefers-reduced-motion:no-preference){
  .serv[data-listo] .serv__panel:not([hidden]){animation:lb-subir .8s var(--ease-lujo) both}
}
body.lb .serv__titulo{font-size:clamp(28px,3vw,40px);margin:0 0 clamp(16px,2vw,24px);color:var(--azul)}
.serv__bloque + .serv__bloque{margin-top:clamp(20px,2.4vw,32px);padding-top:clamp(18px,2.2vw,28px);border-top:1px solid rgba(201,162,74,.28)}
body.lb .serv__sub{
  font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;
  color:#8A6A2E;margin:0 0 8px;
}
.serv__intro{font-size:15px;color:var(--tinta-2);margin:0 0 12px}
body.lb .entry-content .serv__lista,
.serv__lista{
  list-style:none;margin:0;padding:0;
  columns:3 240px;column-gap:clamp(20px,3vw,44px);
}
.serv__lista li{
  break-inside:avoid;position:relative;
  padding:7px 0 7px 20px;margin:0;
  font-size:15.5px;line-height:1.5;color:var(--tinta);
  border-bottom:1px solid rgba(23,50,77,.07);
}
.serv__lista li::before{
  content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;
  background:var(--oro-metal);background-size:240% 100%;transform:rotate(45deg);
  box-shadow:0 0 6px rgba(243,222,154,.6);
}
.serv__nota{
  margin:clamp(18px,2.2vw,28px) 0 0;padding:14px 18px;border-radius:12px;
  font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--azul);
  background:rgba(243,222,154,.16);border-left:2px solid #C9A24A;
}
.serv__cierre{text-align:center;margin-top:clamp(28px,3.4vw,48px);display:grid;justify-items:center;gap:18px}
.serv__cierre p{font-family:var(--serif);font-style:italic;font-size:clamp(19px,1.9vw,24px);color:var(--azul);max-width:46ch;margin:0}
@media (max-width:620px){
  .serv__tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:6px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}
  .serv__tabs::-webkit-scrollbar{display:none}
  .serv__tab{flex-shrink:0}
}

/* los subtítulos de categoría van en la sans (la regla de Astra para h4 pesaba más) */
body.lb .entry-content .serv__sub{font-family:var(--sans);font-weight:500;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#8A6A2E}
