/* Enrique Jaramillo Centro Odontológico — Sistema de diseño web "Monografía de marca"
   Fuente: MANUAL BASICO DE MARCA-EJS (colores, Lufga → Outfit en web, comillas, foto B/N, logosímbolo J).
   Reglas: sin íconos genéricos (flechas, viñetas); un solo momento de animación por página;
   contraste AA verificado; documentación en ../DESIGN.md. */

:root{
  /* Manual */
  --teal:#00A3AD;      /* Pantone 7467 C */
  --teal-2:#50BCBD;    /* Pantone 326 C */
  --mint:#C6E5E6;      /* Pantone 9 C aprox. */
  --sage:#8BCBB7;      /* Green 0921 C */
  --gris:#B2B2B2;
  --gris-2:#878787;
  /* Derivados AA (HANDOFF §3) */
  --teal-aa:#007A82;
  --teal-hover:#00575D;
  --ink:#1E3D40;
  --text:#3A4A4C;
  --muted:#5C6B6D;
  --mist:#F2F9F9;
  --line:#C6E5E6;
  --white:#fff;

  --font:"Outfit",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter:clamp(20px,4vw,56px);
  --max:1320px;
  --sec:clamp(88px,11vw,168px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--text);background:var(--white);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--teal-aa)}
img{display:block;max-width:100%;height:auto}
figure{margin:0}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--mint);color:var(--ink)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:2px}
html{scrollbar-color:var(--teal-aa) var(--mist);scrollbar-width:thin}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--mist)}
::-webkit-scrollbar-thumb{background:var(--teal-aa);border-radius:10px;border:2px solid var(--mist)}

.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none}
.skip:focus{top:12px}

.wrap{width:100%;max-width:calc(var(--max) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}

/* Tipografía */
.display-2{font-weight:300;font-size:clamp(2.125rem,3.5vw,3.5rem);line-height:1.06;letter-spacing:-.028em;color:var(--ink);text-wrap:balance}
.lead{font-size:clamp(1.1875rem,1.45vw,1.375rem);line-height:1.6;color:var(--text);max-width:34em}
.lead--fuerte{font-weight:400;color:var(--ink);font-size:clamp(1.375rem,1.8vw,1.625rem);line-height:1.3;letter-spacing:-.01em}

/* Botones y enlaces */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font:500 16px/1 var(--font);text-decoration:none;transition:background-color .25s var(--ease),color .25s var(--ease)}
.btn--sm{min-height:44px;padding:0 20px;font-size:15px}
.btn--teal{background:var(--teal-aa);color:#fff}
.btn--teal:hover{background:var(--teal-hover)}
.btn--ink{background:var(--ink);color:#fff}
.btn--ink:hover{background:var(--teal-aa)}
.ico{width:18px;height:18px;fill:currentColor;flex:none}

.enlace{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:500;color:var(--teal-aa);text-decoration:none}
.enlace::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--flecha) center/contain no-repeat;mask:var(--flecha) center/contain no-repeat;transition:transform .3s var(--ease)}
.enlace:hover{color:var(--teal-hover)}
.enlace:hover::after{transform:translateX(4px)}
:root{--flecha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
       --flecha-diag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M8 7h9v9'/%3E%3C/svg%3E");
       --mas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:var(--white);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:40px;min-height:84px}
.brand img{height:54px;width:auto}
.nav{margin-left:auto}
.nav ul{display:flex;gap:30px}
.nav a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ink);text-decoration:none}
.nav a:hover{text-decoration:underline}
.nav a[aria-current]{color:var(--teal-aa);text-decoration:underline}
.menu-movil{display:none}

@keyframes revela{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
.comilla{font-weight:300;line-height:.7;color:var(--teal-aa);font-size:clamp(5rem,9vw,9rem);display:block;user-select:none}




.j-marca{position:absolute;right:-3%;top:50%;height:135%;width:auto;transform:translateY(-50%);opacity:.14;pointer-events:none}





/* J del logosímbolo como marca de agua (banda oscura) */
.j-marca{position:absolute;right:-3%;top:50%;height:135%;width:auto;transform:translateY(-50%);opacity:.14;pointer-events:none}

/* Cierre (número grande + comillas) */
.cierre{background:var(--mint);padding-block:clamp(96px,11vw,160px);overflow:hidden}
.cierre .wrap{position:relative}
.cierre .comilla--abre{font-size:clamp(5rem,8vw,8rem);height:.42em;margin-bottom:clamp(20px,2.4vw,36px)}
.cierre .comilla--cierra{position:absolute;right:var(--gutter);bottom:clamp(96px,9vw,128px);font-size:clamp(5rem,8vw,8rem);height:.42em}
.numero{display:block;margin-top:clamp(8px,1.4vw,20px);font-weight:300;font-size:clamp(3.25rem,10.5vw,9.75rem);line-height:.95;letter-spacing:-.045em;color:var(--teal-aa);font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap;transition:color .25s var(--ease)}
.numero:hover{color:var(--ink)}
.cierre-pie{margin-top:clamp(36px,4vw,56px);padding-top:28px;border-top:1px solid rgba(30,61,64,.18);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.cierre-pie p{color:var(--text);font-size:clamp(1.0625rem,1.3vw,1.25rem)}

/* Footer */
.site-footer{background:var(--ink);color:#D6E9EA;padding-top:clamp(72px,8vw,112px);font-size:15px}
.footer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:48px}
.footer-marca{grid-column:1/6;display:grid;gap:16px;align-content:start;max-width:30em}
.footer-marca img{height:64px;width:auto}
.footer-slogan{font-size:1.375rem;font-weight:300;color:var(--mint);letter-spacing:-.01em}
.site-footer .wrap>div:nth-child(2){grid-column:7/10}
.site-footer .wrap>div:nth-child(3){grid-column:10/13}
.footer-titulo{font-size:14px;font-weight:500;color:var(--sage);margin-bottom:14px}
.footer-lista{display:grid;gap:2px}
.footer-lista li{display:flex;align-items:center;min-height:36px}
.footer-lista a{text-decoration:none;color:#fff;display:inline-flex;align-items:center;min-height:44px}
.footer-lista a:hover{text-decoration:underline}
.footer-legal{margin-top:clamp(56px,6vw,88px);padding-block:24px;border-top:1px solid rgba(198,229,230,.16);color:#A9C6C8;font-size:13px}

/* WhatsApp flotante */
.wa-flotante{position:fixed;right:20px;bottom:20px;z-index:50;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;background:var(--ink);color:#fff;font-weight:500;text-decoration:none;box-shadow:0 10px 28px -8px rgba(30,61,64,.45);transition:background-color .25s var(--ease)}
.wa-flotante:hover{background:var(--teal-aa)}
.wa-flotante .ico{width:20px;height:20px}

/* ───────── Tablet ───────── */
@media (max-width:1100px){
  .nav ul{gap:20px}
}

/* ───────── Mobile ───────── */
@media (max-width:900px){
  .nav,.header-cta{display:none}
  .header-row{min-height:68px;justify-content:space-between}
  .brand img{height:40px}
  .menu-movil{display:block}
  .menu-movil summary{list-style:none;width:44px;height:44px;display:grid;place-content:center;gap:7px;cursor:pointer}
  .menu-movil summary::-webkit-details-marker{display:none}
  .menu-movil summary span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease)}
  .menu-movil[open] summary span:first-child{transform:translateY(4.25px) rotate(45deg)}
  .menu-movil[open] summary span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
  .menu-movil ul{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);padding:8px var(--gutter) 24px}
  .menu-movil li a{display:flex;align-items:center;min-height:56px;border-top:1px solid var(--line);font-size:1.25rem;font-weight:300;color:var(--ink);text-decoration:none}

  .grid>*{grid-column:1/-1!important}
  .grid{row-gap:36px}
  .comilla{font-size:4.5rem}
  .j-marca{height:70%;top:auto;bottom:-10%;transform:none;right:-12%}
  .cierre .comilla--abre{font-size:4.5rem}
  .cierre .comilla--cierra{display:none}
  .footer-grid>*{grid-column:1/-1!important}
  body{padding-bottom:84px}
  .wa-flotante span{display:none}
  .wa-flotante{width:56px;height:56px;padding:0;justify-content:center}
  .wa-flotante .ico{width:24px;height:24px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}


/* ═════════ Componentes editoriales ═════════ */
.opcion-b .enlace{display:inline-flex;align-items:center;min-height:44px;gap:0;font-weight:500;color:var(--teal-aa);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.42em;transition:text-decoration-thickness .25s var(--ease),text-underline-offset .25s var(--ease),color .25s var(--ease)}
.opcion-b .enlace::after{content:none}
.opcion-b .enlace:hover{color:var(--teal-hover);text-decoration-thickness:2px;text-underline-offset:.3em}
.opcion-b .b-grupo li a{display:inline-flex;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/0 1px no-repeat;transition:background-size .35s var(--ease),color .25s var(--ease)}
.opcion-b .b-grupo li a:hover{text-decoration:none;background-size:100% 1px}

/* Opción B — "Monografía de marca". Hereda tokens, header, footer, botones y FAQ de ../styles.css */

.b-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.b-rotulo{grid-column:1/4;font-weight:400;font-size:clamp(1.1875rem,1.55vw,1.5rem);line-height:1.3;letter-spacing:-.01em;color:var(--ink);max-width:15em;text-wrap:balance}

/* 1 · Hero */
.b-hero{position:relative;min-height:max(640px,calc(100svh - 84px));display:flex;align-items:center;overflow:hidden}
.b-hero-j{position:absolute;top:0;right:0;bottom:0;width:38vw;background:var(--mint);animation:revela 1.1s var(--ease) both}
.b-j-foto{position:absolute;left:50%;top:7%;height:72%;aspect-ratio:207/444;transform:translateX(-50%);background:url(../img/hombre.jpg) 46% 38%/auto 118% no-repeat;filter:grayscale(1) contrast(1.06);-webkit-mask:url(../img/j.png) center/contain no-repeat;mask:url(../img/j.png) center/contain no-repeat}
.b-j-pie{position:absolute;left:clamp(24px,3vw,48px);right:clamp(24px,3vw,48px);bottom:clamp(24px,4vh,44px);font-weight:300;font-size:clamp(1.375rem,2vw,2rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink)}
.b-j-pie span{display:block;margin-top:6px;font-size:clamp(.8125rem,.9vw,.9375rem);font-weight:400;letter-spacing:0;color:var(--ink)}
.b-hero-cuerpo{position:relative;z-index:1;padding-right:calc(38vw + 24px);padding-block:clamp(40px,6vh,72px)}
.b-hero-cuerpo .comilla{font-size:clamp(4.5rem,7vw,7.5rem);height:.42em;margin-bottom:clamp(18px,2.4vw,32px)}
.b-slogan{font-weight:300;font-size:clamp(3.25rem,7.4vw,7.75rem);line-height:.92;letter-spacing:-.05em;color:var(--ink)}
.b-slogan span{color:var(--teal-aa)}
.b-h1{margin-top:clamp(28px,3.4vw,48px);font-weight:400;font-size:clamp(1.3125rem,1.85vw,1.875rem);line-height:1.25;letter-spacing:-.015em;color:var(--ink);max-width:22ch;text-wrap:balance}
.b-hero-barra{margin-top:clamp(24px,2.6vw,36px);display:flex;align-items:center;gap:28px}
.b-hero-barra p{max-width:30em;font-size:15px;line-height:1.55;color:var(--muted)}
.b-hero-barra .btn{flex:none}

/* 2 · Apertura */
.b-apertura{padding-top:var(--sec)}
.b-texto-grande{grid-column:5/13;font-weight:300;font-size:clamp(1.625rem,2.7vw,2.625rem);line-height:1.28;letter-spacing:-.02em;color:var(--ink)}
.b-texto-grande span{color:var(--teal-aa)}
.b-apertura-foto{margin:clamp(64px,7vw,112px) 0 0 auto;width:min(75vw,1200px)}
.b-apertura-foto img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 45%}
.b-apertura-foto figcaption{display:flex;justify-content:space-between;gap:16px;padding:14px var(--gutter) 0 0;font-size:14px;color:var(--muted)}

/* 3 · Servicios */
.b-servicios{padding-block:var(--sec)}
.b-servicios-cabeza .enlace{grid-column:10/13;justify-self:end;margin-top:-8px}
.b-grupos{margin-top:clamp(40px,4.5vw,64px);border-top:1px solid var(--line)}
.b-grupo{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start;padding:clamp(28px,3vw,44px) 0;border-bottom:1px solid var(--line)}
.b-grupo-nombre{position:relative;z-index:1;grid-column:1/9;font-weight:300;font-size:clamp(3rem,7.6vw,8rem);line-height:.95;letter-spacing:-.05em;color:var(--ink);transition:color .3s var(--ease)}
.b-grupo-nombre span{font-size:.26em;letter-spacing:-.01em;color:var(--teal-aa);white-space:nowrap}
.b-grupo ul{position:relative;z-index:1;grid-column:9/13;padding-top:.6em}
.b-grupo li a{display:flex;align-items:center;min-height:44px;font-size:clamp(1.0625rem,1.3vw,1.25rem);color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:color .25s var(--ease)}
.b-grupo li a:hover{color:var(--teal-aa);text-decoration:underline}
.b-grupo-foto{position:absolute;z-index:0;left:44%;top:50%;width:clamp(160px,15vw,230px);aspect-ratio:4/5;object-fit:cover;border-radius:2px;opacity:0;transform:translate(-50%,-46%);pointer-events:none;transition:opacity .35s var(--ease),transform .5s var(--ease)}
.b-grupo:hover .b-grupo-foto{opacity:1;transform:translate(-50%,-50%)}

/* 4 · Franja a sangre */
.b-franja{margin:0}
.b-franja img{width:100%;height:clamp(240px,34vw,540px);object-fit:cover;object-position:50% 55%}

/* 5 · Confianza */
.b-confianza{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding-block:var(--sec)}
.b-confianza .b-rotulo{color:#fff;position:relative}
.b-razones{grid-column:5/13;position:relative}
.b-razones li{font-weight:300;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.18;letter-spacing:-.02em;padding:20px 0;border-top:1px solid rgba(198,229,230,.22)}
.b-razones li:first-child{border-top:0;padding-top:0}

/* 6 · Equipo */
.b-equipo{background:var(--mist);padding-block:var(--sec)}
.b-equipo-cabeza{grid-column:1/4;display:grid;gap:18px;justify-items:start}
.b-equipo-cabeza .b-rotulo{grid-column:auto}
.b-equipo-cabeza p{font-size:16px}
.b-nombres{grid-column:5/13}
.b-nombres li{padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:24px}
.b-nombres li:first-child{border-top:0;padding-top:0}
.b-nombres h3{grid-column:1/-1;font-weight:300;font-size:clamp(2.5rem,5.4vw,5.5rem);line-height:.98;letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
.b-nombres p{margin-top:14px;color:var(--teal-aa);font-size:17px}

/* 7 · Consultorio */
.b-consultorio{padding-block:var(--sec)}
.b-collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.b-collage-titulo{grid-column:9/13;grid-row:1}
.b-collage figure{overflow:hidden;border-radius:2px}
.b-collage img{width:100%;height:100%;object-fit:cover}
.c-1{grid-column:1/9;grid-row:1/3;aspect-ratio:4/3}
.c-2{grid-column:8/12;grid-row:2;aspect-ratio:3/4;margin-top:clamp(40px,5vw,80px);position:relative;z-index:1;box-shadow:0 0 0 12px var(--white)}

/* 8 · FAQ abierta: pregunta y respuesta a la vista */
.b-faq{padding-bottom:var(--sec)}
.b-faq>.wrap{border-top:1px solid var(--line);padding-top:clamp(64px,7vw,104px)}
.b-qas{grid-column:5/13}
.b-qa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:32px;padding:26px 0;border-top:1px solid var(--line)}
.b-qa:first-child{border-top:0;padding-top:0}
.b-qa:last-child{border-bottom:1px solid var(--line)}
.b-qa h3{font-weight:400;font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.35;color:var(--ink)}
.b-qa p{color:var(--text);max-width:52ch}

/* 9 · Cierre */
.b-cierre{background:var(--mint);padding-block:clamp(88px,10vw,144px);overflow:hidden}
.b-cierre-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 40px}
.b-cierre-cabeza p{color:var(--text)}
.b-numero{display:block;margin:clamp(16px,2vw,28px) 0 clamp(28px,3vw,44px);font-weight:300;font-size:min(13.6vw,13.75rem);line-height:.9;letter-spacing:-.055em;color:var(--teal-aa);font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none;transition:color .25s var(--ease)}
.b-numero:hover{color:var(--ink)}

/* ───────── Tablet ───────── */
@media (max-width:1100px){
  .b-hero-j{width:40vw}
  .b-hero-cuerpo{padding-right:calc(40vw + 20px)}
  .b-hero-barra{flex-direction:column;align-items:flex-start;gap:16px}
  .b-grupo-foto{display:none}
}

/* ───────── Mobile ───────── */
@media (max-width:900px){
  .b-fila>*,.b-grupo>*,.b-collage>*{grid-column:1/-1!important}
  .b-fila{row-gap:24px}
  .b-hero{display:block;min-height:0}
  .b-hero-j{position:relative;width:100%;height:118vw}
  .b-j-foto{top:6%;height:70%}
  .b-hero-cuerpo{padding:36px var(--gutter) 48px}
  .b-servicios-cabeza .enlace{justify-self:start;margin-top:0}
  .b-grupo{row-gap:8px}
  .b-grupo-nombre{font-size:clamp(2.75rem,13.5vw,4.5rem)}
  .b-grupo-nombre span{display:block;font-size:.34em;margin-top:6px}
  .b-grupo ul{padding-top:4px}
  .b-apertura-foto{width:calc(100% - var(--gutter))}
  .b-apertura-foto img{aspect-ratio:4/3}
  .b-apertura-foto figcaption{flex-direction:column;gap:2px}
  .b-nombres li{grid-template-columns:1fr}
  .b-collage{row-gap:0}
  .b-collage-titulo{grid-row:auto;margin-bottom:28px}
  .c-1{grid-row:auto}
  .c-2{grid-column:5/13!important;grid-row:auto;margin-top:-28%;box-shadow:0 0 0 8px var(--white)}
  .b-cierre-cabeza{flex-direction:column}
  .b-qa{grid-template-columns:1fr;row-gap:8px}
}

/* Cierre tomado de la opción A: texto y CTA alineados a la izquierda */
.b-cierre-a .cierre-pie{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px}
.b-numero-fila{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.b-cierre-a .comilla--cierra{position:static;height:.42em;margin-bottom:.18em}

/* ═════════ Ficha de servicio (plantilla #2647) ═════════ */
.s-migas{display:flex;flex-wrap:wrap;align-items:center;gap:0 .6em;padding-top:clamp(24px,3vw,40px);font-size:14px;color:var(--muted)}
.s-migas a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}
.s-migas a:hover{color:var(--teal-aa);text-decoration:underline}
.s-migas [aria-current]{color:var(--ink)}
.s-hero{padding:clamp(8px,1.5vw,24px) 0 clamp(40px,4.5vw,64px)}
.s-hero-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.s-h1{grid-column:1/9;font-weight:300;font-size:clamp(3.5rem,10.5vw,10rem);line-height:.9;letter-spacing:-.055em;color:var(--ink);overflow-wrap:break-word;hyphens:auto}
.s-hero-lado{grid-column:9/13;display:grid;justify-items:start;gap:18px;padding-bottom:.6em}
.s-hero-lado p{font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.55;color:var(--text);max-width:30em}
.s-foto{margin:0}
.s-foto img{width:100%;height:clamp(260px,38vw,620px);object-fit:cover;object-position:50% 80%;animation:revela 1.1s var(--ease) both}
.s-cuerpo{padding-top:var(--sec)}
.s-intro{grid-column:5/13;font-weight:300;font-size:clamp(1.375rem,2.2vw,2.125rem);line-height:1.32;letter-spacing:-.015em;color:var(--ink);max-width:36em}
.s-seccion{margin-top:clamp(72px,8vw,128px)}
.s-contenido{grid-column:5/13}
.s-parrafo{font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.65;color:var(--text);max-width:62ch}
.s-beneficios{margin-top:clamp(36px,4vw,56px);border-bottom:1px solid var(--line)}
.s-beneficios li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:32px;align-items:start;padding:clamp(24px,2.6vw,36px) 0;border-top:1px solid var(--line)}
.s-beneficios h3{font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.1;letter-spacing:-.025em;color:var(--ink)}
.s-beneficios p{color:var(--text);max-width:52ch}
.s-parrafo--cierre{margin-top:clamp(36px,4vw,56px)}
.s-otros{padding-block:var(--sec)}
.s-otros>.wrap{border-top:1px solid var(--line);padding-top:clamp(64px,7vw,104px)}
.s-otros-lista{grid-column:5/13}
.s-otros-lista ul{border-bottom:1px solid var(--line);margin-bottom:24px}
.s-otros-lista li{border-top:1px solid var(--line)}
.s-otros-lista li:first-child{border-top:0}
.s-otros-lista li a{display:inline-flex;align-items:center;min-height:44px;padding:clamp(10px,1.2vw,18px) 0;font-weight:300;font-size:clamp(2rem,4.4vw,4.25rem);line-height:1.05;letter-spacing:-.04em;color:var(--ink);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 calc(100% - clamp(8px,1vw,14px))/0 1px no-repeat;transition:background-size .4s var(--ease),color .25s var(--ease)}
.s-otros-lista li a:hover{color:var(--teal-aa);background-size:100% 1px}
.s-otros-lista li:first-child a{padding-top:0}
@media (max-width:900px){
  .s-hero-fila>*,.s-cuerpo .b-fila>*,.s-seccion>*{grid-column:1/-1!important}
  .s-h1{font-size:clamp(3rem,16vw,5.5rem)}
  .s-hero-lado{margin-top:24px;padding-bottom:0}
  .s-beneficios li{grid-template-columns:1fr;row-gap:10px}
}

/* ═════════ Listado de servicios (página 2483) ═════════ */
.l-hero{padding:clamp(8px,1.5vw,24px) 0 clamp(64px,7vw,112px)}
.l-hero-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end}
.l-h1{grid-column:1/9;font-weight:300;font-size:clamp(2.75rem,6.4vw,6.5rem);line-height:.95;letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
.l-hero-lado{grid-column:9/13;display:grid;justify-items:start;gap:18px;padding-bottom:.5em}
.l-hero-lado p{font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.55;color:var(--text);max-width:30em}
.l-grupo{padding-bottom:clamp(72px,8vw,128px)}
.l-grupo-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start;border-top:1px solid var(--line);padding-top:clamp(40px,4.5vw,64px)}
.l-grupo-cabeza{grid-column:1/5;position:sticky;top:112px;display:grid;gap:24px}
.l-grupo-nombre{font-weight:300;font-size:clamp(2.75rem,5.2vw,5.5rem);line-height:.95;letter-spacing:-.05em;color:var(--ink)}
.l-grupo-nombre span{display:block;margin-top:8px;font-size:.3em;letter-spacing:-.01em;color:var(--teal-aa)}
.l-grupo-foto{aspect-ratio:1/1;overflow:hidden;border-radius:2px;max-width:340px}
.l-grupo-foto img{width:100%;height:100%;object-fit:cover}
.l-lista{grid-column:6/13;border-bottom:1px solid var(--line)}
.l-lista li{border-top:1px solid var(--line)}
.l-lista li:first-child{border-top:0}
.l-fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-items:baseline;padding:clamp(22px,2.4vw,34px) 0;text-decoration:none;color:inherit}
.l-lista li:first-child .l-fila{padding-top:0}
.l-fila h3{font-weight:300;font-size:clamp(1.625rem,2.6vw,2.5rem);line-height:1.08;letter-spacing:-.03em;color:var(--ink);justify-self:start;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:4px;transition:background-size .4s var(--ease),color .25s var(--ease)}
.l-fila p{font-size:16px;line-height:1.55;color:var(--muted);max-width:40ch}
.l-fila:hover h3,.l-fila:focus-visible h3{color:var(--teal-aa);background-size:100% 1px}
@media (max-width:900px){
  .l-hero-fila>*,.l-grupo-fila>*{grid-column:1/-1!important}
  .l-hero-lado{margin-top:24px;padding-bottom:0}
  .l-grupo-cabeza{position:static;grid-template-columns:1fr;margin-bottom:28px}
  .l-grupo-nombre{font-size:clamp(2.5rem,12.5vw,4.5rem)}
  .l-grupo-foto{aspect-ratio:16/10;max-width:none}
  .l-fila{grid-template-columns:1fr;row-gap:8px}
}

/* ═════════ Nosotros (página 2403) ═════════ */
.n-hero{padding-top:clamp(8px,1.5vw,24px)}
.n-h1{max-width:14ch}
.n-apertura{margin-top:clamp(48px,5.5vw,88px)}
.n-servicios{padding-top:var(--sec)}
.n-intro{font-size:clamp(1.25rem,1.9vw,1.75rem)}
.n-grupos{margin-top:clamp(36px,4vw,56px)}
.n-servicios+.b-franja{margin-top:var(--sec)}
.n-preguntas{background:var(--mint);padding-block:clamp(88px,10vw,144px)}
.n-preguntas-cabeza{grid-column:1/5;display:grid;gap:20px;justify-items:start;align-content:start}
.n-preguntas-cabeza .comilla{font-size:clamp(4.5rem,7vw,7rem);height:.42em;margin-bottom:8px}
.n-preguntas-cabeza p{color:var(--text);max-width:28em}
.n-datos{grid-column:6/13;border-bottom:1px solid rgba(30,61,64,.18)}
.n-datos li{display:flex;align-items:center;min-height:44px;padding:clamp(16px,1.8vw,26px) 0;border-top:1px solid rgba(30,61,64,.18);font-weight:300;font-size:clamp(1.375rem,2.3vw,2.25rem);line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.n-datos li:first-child{border-top:0;padding-top:0}
.n-datos a{color:var(--ink);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .4s var(--ease),color .25s var(--ease)}
.n-datos a:hover{color:var(--teal-hover);background-size:100% 1px}
@media (max-width:900px){
  .n-servicios .b-fila>*,.n-preguntas .b-fila>*{grid-column:1/-1!important}
  .n-datos{margin-top:40px}
  .n-datos li{font-size:clamp(1.125rem,5.4vw,1.5rem)}
}

/* Díptico de Nosotros (manual pág. 23): foto B/N de persona + panel mint con comillas */
.n-diptico{margin-top:clamp(56px,6vw,96px);display:grid;grid-template-columns:5fr 4fr;gap:10px;height:clamp(400px,46vw,660px)}
.n-diptico>*{position:relative;overflow:hidden;border-radius:2px;animation:revela 1s var(--ease) both}
.n-diptico>*:nth-child(2){animation-delay:.09s}
.n-diptico-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.n-diptico-cita{background:var(--mint);display:flex;align-items:center;padding:clamp(28px,4vw,64px)}
.n-diptico-cita .comilla--abre{position:absolute;top:clamp(24px,3vw,48px);left:clamp(24px,3vw,48px);font-size:clamp(5rem,8vw,8.5rem)}
.n-diptico-cita .comilla--cierra{position:absolute;right:clamp(24px,3vw,48px);bottom:clamp(-4px,0vw,0px);height:.5em;font-size:clamp(5rem,8vw,8.5rem)}
.n-diptico-cita p{font-weight:300;font-size:clamp(1.75rem,3.1vw,3.25rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink);max-width:12em}
.n-diptico-cita p span{color:var(--teal-aa)}
.n-recepcion{margin-top:var(--sec)}
@media (max-width:900px){
  .n-diptico{height:auto;grid-template-columns:1fr 1fr;gap:8px}
  .n-diptico>*{aspect-ratio:3/4}
  .n-diptico-cita{padding:18px}
  .n-diptico-cita .comilla{font-size:3.75rem}
  .n-diptico-cita .comilla--abre{top:16px;left:14px}
  .n-diptico-cita .comilla--cierra{right:14px}
  .n-diptico-cita p{font-size:clamp(1.0625rem,4.9vw,1.5rem)}
}

/* ═════════ Nuestro equipo (página 2469) ═════════ */
.e-cuerpo{padding-block:clamp(24px,3vw,48px) var(--sec)}
.e-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.e-visual{grid-column:1/5;position:sticky;top:112px;margin:0}
.e-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%;border-radius:2px;animation:revela 1.1s var(--ease) both}
.e-directorio{grid-column:6/13}
.e-rotulo{margin-bottom:clamp(24px,2.6vw,36px)}
.e-rotulo--2{margin-top:clamp(64px,7vw,104px)}
.e-atencion{border-bottom:1px solid var(--line)}
.e-atencion li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;column-gap:24px;padding:clamp(18px,2vw,26px) 0;border-top:1px solid var(--line)}
.e-atencion li:first-child{border-top:0;padding-top:0}
.e-atencion h3{font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.1;letter-spacing:-.025em;color:var(--ink)}
.e-atencion p{color:var(--teal-aa);font-size:17px}
@media (max-width:900px){
  .e-fila>*{grid-column:1/-1!important}
  .e-visual{position:static;margin-bottom:48px}
  .e-visual img{aspect-ratio:1/1}
  .e-atencion li{grid-template-columns:1fr;row-gap:4px}
}

/* ═════════ Contacto (página 2510) + formulario editorial ═════════ */
.c-h1{font-size:clamp(3rem,9vw,8.5rem)}
.c-cuerpo{padding-block:clamp(24px,3vw,48px) var(--sec)}
.c-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.c-datos-col{grid-column:1/6}
.c-rotulo{margin-bottom:clamp(20px,2.4vw,32px)}
.c-datos{border-bottom-color:var(--line)}
.c-datos li{border-top-color:var(--line);font-size:clamp(1.25rem,1.9vw,1.75rem)}
.c-form-col{grid-column:7/13}
.c-form-intro{margin-top:16px;color:var(--text)}
/* Formulario sin cajas: campos gigantes sobre una línea fina */
.f{margin-top:clamp(32px,3.6vw,52px)}
.f-campo{position:relative;padding-top:clamp(18px,2vw,26px);border-bottom:1px solid var(--ink)}
.f-campo+.f-campo{margin-top:clamp(20px,2.2vw,32px)}
.f-campo label{display:block;font-size:15px;font-weight:500;color:var(--teal-aa)}
.f-campo label span{font-weight:400;color:var(--muted)}
.f input,.f textarea,.f select{display:block;width:100%;margin:0;padding:6px 0 14px;border:0;border-radius:0;background:transparent;font:300 clamp(1.75rem,3.2vw,3rem)/1.15 var(--font);letter-spacing:-.025em;color:var(--ink);caret-color:var(--teal-aa);-webkit-appearance:none;appearance:none}
.f textarea{resize:vertical;min-height:2.6em}
.f input:focus,.f textarea:focus,.f select:focus{outline:none}
.f-campo:focus-within{border-bottom-color:var(--teal-aa);box-shadow:0 1px 0 0 var(--teal-aa)}
.f-campo:focus-within label{color:var(--ink)}
.f-label{display:block;font-size:15px;font-weight:500;color:var(--teal-aa)}
.f-campo:focus-within .f-label{color:var(--ink)}
/* Lista desplegable propia: campo cerrado grande, panel abierto a escala de lectura */
.f-combo{position:relative}
.f-combo-btn{display:block;width:100%;margin:0;padding:6px 48px 14px 0;border:0;background:transparent;text-align:left;cursor:pointer;font:300 clamp(1.75rem,3.2vw,3rem)/1.15 var(--font);letter-spacing:-.025em;color:var(--ink)}
.f-combo-btn:focus{outline:none}
.f-combo-btn::after{content:"";position:absolute;right:8px;top:40%;width:13px;height:13px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-50%) rotate(45deg);transition:transform .3s var(--ease)}
.f-combo-btn[aria-expanded="true"]::after{transform:translateY(-10%) rotate(-135deg)}
.f-combo-lista{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 1px);max-height:min(420px,60vh);overflow:auto;margin:0;padding:8px 0;list-style:none;background:var(--white);border:1px solid var(--line);border-radius:2px;box-shadow:0 28px 56px -28px rgba(30,61,64,.35);outline:none}
.f-combo-lista ul{margin:0;padding:0;list-style:none}
.f-combo-lista [role=option]{padding:12px 20px;font-size:1.125rem;line-height:1.35;color:var(--ink);cursor:pointer}
.f-combo-lista [role=option].activa{background:var(--mist)}
.f-combo-lista [role=option][aria-selected="true"]{color:var(--teal-aa);font-weight:500}
.f-grupo{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}
.f-grupo-titulo{display:block;padding:8px 20px 4px;font-size:13px;font-weight:500;color:var(--muted)}
.f [aria-invalid="true"]{color:var(--ink)}
.f-campo:has([aria-invalid="true"]){border-bottom-color:#A3281E}
.f-error{margin:8px 0 0;font-size:15px;color:#A3281E}
.f-pie{margin-top:clamp(32px,3.6vw,48px);display:grid;gap:14px;justify-items:start}
.f-pie p{font-size:14px;color:var(--muted)}
/* Mapa a sangre con tinte de marca */
.c-mapa{margin:0;position:relative}
.c-mapa iframe{display:block;width:100%;height:clamp(320px,38vw,560px);border:0;filter:grayscale(1) contrast(1.05) brightness(1.02)}
.c-mapa::after{content:"";position:absolute;left:0;right:0;top:0;height:clamp(320px,38vw,560px);background:var(--mint);mix-blend-mode:multiply;opacity:.55;pointer-events:none}
.c-mapa figcaption{padding-block:16px 8px}
@media (max-width:900px){
  .c-fila>*{grid-column:1/-1!important}
  .c-form-col{margin-top:72px}
}

/* Contacto: foto en capas sobre bloque mint (composición editorial del hero) */
.c-hero{position:relative;min-height:clamp(540px,66vh,760px);display:flex;align-items:flex-end;padding-bottom:clamp(48px,6vw,96px);margin-bottom:clamp(40px,5vw,80px)}
.c-hero .s-hero-fila{display:block;padding-right:calc(40vw + 24px)}
.c-hero .s-hero-lado{display:block;margin-top:clamp(24px,2.6vw,36px);padding:0}
.c-hero-foto{position:absolute;top:0;right:0;bottom:calc(-1 * clamp(40px,5vw,80px));width:40vw;margin:0}
.c-hero-foto::before{content:"";position:absolute;top:14%;right:0;bottom:0;left:22%;background:var(--mint)}
.c-hero-foto img{position:absolute;top:0;left:0;width:74%;height:84%;object-fit:cover;object-position:46% 28%;border-radius:2px;animation:revela 1.1s var(--ease) both}
@media (max-width:900px){
  .c-hero{display:block;min-height:0;padding-bottom:0;margin-bottom:56px}
  .c-hero .s-hero-fila{padding-right:var(--gutter)}
  .c-hero-foto{position:relative;width:100%;height:112vw;bottom:auto;margin-top:36px}
  .c-hero-foto::before{left:18%;top:12%}
  .c-hero-foto img{left:var(--gutter);width:76%;height:86%}
}

/* ═════════ Blog: listado (blog.html) y entrada (entrada.html, plantilla #2759) ═════════ */
.bl-hero{padding:clamp(8px,1.5vw,24px) 0 clamp(40px,4.5vw,72px)}
.bl-meta{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;color:var(--muted)}
.bl-meta span{color:var(--teal-aa);font-weight:500}
.bl-dest{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;text-decoration:none;color:inherit}
.bl-dest figure{grid-column:1/8;margin:0;aspect-ratio:4/3;overflow:hidden;border-radius:2px}
.bl-dest img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);animation:revela 1.1s var(--ease) both}
.bl-dest:hover img{transform:scale(1.02)}
.bl-dest-texto{grid-column:8/13;display:grid;gap:18px;padding-bottom:6px}
.bl-dest h2{font-weight:300;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.06;letter-spacing:-.035em;color:var(--ink);text-wrap:balance;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .45s var(--ease),color .25s var(--ease)}
.bl-dest:hover h2{color:var(--teal-aa)}
.bl-dest-texto>p:last-child{color:var(--text);max-width:40ch}
.bl-lista{padding-block:clamp(72px,8vw,128px) var(--sec)}
.bl-lista ul{border-top:1px solid var(--line)}
.bl-lista li{border-bottom:1px solid var(--line)}
.bl-fila{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding:clamp(22px,2.4vw,32px) 0;text-decoration:none;color:inherit}
.bl-fila .bl-meta{grid-column:1/4;flex-direction:column;gap:2px}
.bl-fila h3{grid-column:4/10;font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.12;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;transition:color .25s var(--ease)}
.bl-fila img{grid-column:11/13;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.bl-fila:hover h3{color:var(--teal-aa)}
/* Entrada */
.en-cabeza{padding:clamp(8px,1.5vw,24px) var(--gutter) clamp(40px,4.5vw,64px);display:grid;gap:20px}
.en-h1{font-weight:300;font-size:clamp(2.375rem,5vw,5rem);line-height:1.02;letter-spacing:-.04em;color:var(--ink);max-width:20ch;text-wrap:balance}
.en-foto img{animation:revela 1.1s var(--ease) both}
.en-cuerpo{padding-top:clamp(56px,6vw,96px);max-width:calc(68ch + var(--gutter)*2)}
.en-cuerpo p{font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.7;color:var(--text)}
.en-cuerpo p+p{margin-top:1.1em}
.en-cuerpo p:first-child{font-weight:300;font-size:clamp(1.375rem,2.1vw,1.875rem);line-height:1.35;letter-spacing:-.015em;color:var(--ink)}
.en-cuerpo a{color:var(--teal-aa);font-weight:500;text-decoration-thickness:1px;text-underline-offset:.3em}
.en-cuerpo a:hover{color:var(--teal-hover);text-decoration-thickness:2px}
.en-relacionado{margin-top:var(--sec)}
.en-relacionado>.wrap{border-top:1px solid var(--line);padding-top:clamp(56px,6vw,88px)}
.en-rel-cont{grid-column:5/13;display:grid;gap:18px;justify-items:start}
.en-rel-servicio{font-weight:300;font-size:clamp(2.75rem,6vw,6rem);line-height:.95;letter-spacing:-.05em;color:var(--ink);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:6px;transition:background-size .45s var(--ease),color .25s var(--ease)}
.en-rel-servicio:hover{color:var(--teal-aa);background-size:100% 1px}
.en-rel-cont p{color:var(--text);max-width:44ch}
.en-mas li a{font-size:clamp(1.5rem,2.6vw,2.5rem)!important}
@media (max-width:900px){
  .bl-dest>*,.en-relacionado .b-fila>*{grid-column:1/-1!important}
  .bl-dest-texto{margin-top:24px}
  .bl-fila{grid-template-columns:1fr 30%;row-gap:10px}
  .bl-fila .bl-meta{grid-column:1/-1;flex-direction:row}
  .bl-fila h3{grid-column:1}
  .bl-fila img{grid-column:2;grid-row:2}
}

/* ═════════════════════════════════════════════════════════════
   ADAPTACIÓN A WORDPRESS (bloques, navegación, botones, contenido)
   ═════════════════════════════════════════════════════════════ */
:root{--font:var(--wp--preset--font-family--outfit,"Outfit",system-ui,sans-serif)}
.wp-site-blocks{padding:0}
/* Sin márgenes automáticos de WordPress entre bloques (especificidad cero: los componentes mandan) */
:where(.wp-site-blocks,.wp-block-group,.wp-block-post-content)>*{margin-block-start:0;margin-block-end:0}
:where(.wp-block-group.is-layout-flow,.wp-block-post-content.is-layout-flow)>*{margin-block:0}
/* Resets con especificidad cero para no pisar los componentes */
:where(figure.wp-block-image,figure.wp-block-post-featured-image){margin:0}
:where(.wp-block-image) img{height:auto}
.wp-block-image img{vertical-align:bottom}
p.comilla{margin:0}

/* Encabezado: la parte de plantilla es la que queda fija */
header.wp-block-template-part{position:sticky;top:0;z-index:40}
.admin-bar header.wp-block-template-part{top:var(--wp-admin--admin-bar--height,32px)}
.site-header{position:static}
.brand{margin:0}
.brand img{height:54px!important;width:auto!important;max-width:none}
.site-header .wp-block-navigation{margin-left:auto}
.site-header .wp-block-navigation__container{gap:30px}
.site-header .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ink);text-decoration:none}
.site-header .wp-block-navigation-item__content:hover{text-decoration:underline;text-underline-offset:.3em}
.site-header .current-menu-item>.wp-block-navigation-item__content,.site-header [aria-current="page"]{color:var(--teal-aa);text-decoration:underline;text-underline-offset:.3em}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{color:var(--ink)}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--white)!important;padding:96px var(--gutter) 40px!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:0!important;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-top:1px solid var(--line)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{min-height:60px;font-size:1.5rem;font-weight:300}
@media (max-width:900px){.brand img{height:40px!important}}

/* Botones de WordPress con el estilo del sistema */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--teal-aa);color:#fff;font:500 16px/1 var(--font);text-decoration:none;transition:background-color .25s var(--ease)}
.wp-block-button__link:hover{background:var(--teal-hover);color:#fff}
.is-style-tinta .wp-block-button__link{background:var(--ink)}
.is-style-tinta .wp-block-button__link:hover{background:var(--teal-aa)}
.is-style-enlace .wp-block-button__link{min-height:44px;padding:0;border-radius:0;background:none;color:var(--teal-aa);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.42em}
.is-style-enlace .wp-block-button__link:hover{background:none;color:var(--teal-hover);text-decoration-thickness:2px;text-underline-offset:.3em}

/* Acentos de texto editables (formato "Resaltado" del editor) */
mark,mark.has-inline-color{background:none!important;color:var(--teal-aa)}

/* Hero de marca: la J del logosímbolo enmascara la imagen elegida en el editor */
.b-j-foto{position:absolute;left:50%;top:7%;height:72%;aspect-ratio:207/444;transform:translateX(-50%);margin:0;background:none!important;filter:none!important;-webkit-mask:url(../img/j.png) center/contain no-repeat;mask:url(../img/j.png) center/contain no-repeat}
.b-j-foto img{width:100%!important;height:100%!important;object-fit:cover;object-position:46% 38%;filter:grayscale(1) contrast(1.06)}
.b-j-pie p{margin:0}
.b-j-pie p+p{display:block;margin-top:6px;font-size:clamp(.8125rem,.9vw,.9375rem);font-weight:400;letter-spacing:0;color:var(--ink)}
.b-hero-barra .wp-block-buttons{flex:none}

/* Pies de foto */
.wp-element-caption{margin:0;padding:14px var(--gutter) 0 0;font-size:14px;color:var(--muted)}

/* Ficha de servicio: el contenido del editor toma la composición del prototipo */
.ej-ficha-cuerpo{padding-top:var(--sec)}
.ej-ficha-cuerpo .wp-block-post-content{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.ej-ficha-cuerpo .wp-block-post-content>*{grid-column:5/13;margin:0}
.ej-ficha-cuerpo .wp-block-post-content>*+*{margin-top:24px}
.ej-ficha-cuerpo .wp-block-post-content>p:first-child{font-weight:300;font-size:clamp(1.375rem,2.2vw,2.125rem);line-height:1.32;letter-spacing:-.015em;color:var(--ink);max-width:36em}
.ej-ficha-cuerpo .wp-block-post-content>p{font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.65;color:var(--text);max-width:62ch}
.ej-ficha-cuerpo .wp-block-post-content>h2{grid-column:1/4;font-weight:400;font-size:clamp(1.1875rem,1.55vw,1.5rem);line-height:1.3;letter-spacing:-.01em;color:var(--ink)}
.ej-ficha-cuerpo .wp-block-post-content>h2,.ej-ficha-cuerpo .wp-block-post-content>h2+*{margin-top:clamp(72px,8vw,128px)}
.ej-ficha-cuerpo .wp-block-post-content>h3{font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);color:var(--ink)}
.ej-ficha-cuerpo .s-beneficios{list-style:none;padding:0;margin-top:clamp(36px,4vw,56px)!important}
.ej-ficha-cuerpo .s-beneficios+*{margin-top:clamp(36px,4vw,56px)!important}
.ej-ficha-cuerpo .wp-block-post-content>ul:not(.s-beneficios){padding-left:1.1em}
@media (max-width:900px){
  .ej-ficha-cuerpo .wp-block-post-content>*{grid-column:1/-1!important}
  .ej-ficha-cuerpo .wp-block-post-content>h2+*{margin-top:20px}
}

/* Entrada de blog */
.en-cuerpo .wp-block-post-content>*+*{margin-top:1.1em}
.en-cuerpo .wp-block-post-content h2{margin-top:2em;font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);color:var(--ink)}
.en-cuerpo .wp-block-post-content ul,.en-cuerpo .wp-block-post-content ol{padding-left:1.2em;color:var(--text)}

/* Paginación del blog */
.bl-lista .navigation.pagination{margin-top:40px}
.bl-lista .nav-links{display:flex;gap:16px;align-items:center}
.bl-lista .page-numbers{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;color:var(--ink);text-decoration:none}
.bl-lista .page-numbers.current{color:var(--teal-aa);text-decoration:underline}

/* Pie de página: logo en blanco y navegación vertical */
.footer-marca .wp-block-site-logo img{height:64px!important;width:auto!important;filter:brightness(0) invert(1)}
.site-footer .wp-block-navigation__container{flex-direction:column;align-items:flex-start;gap:0}
.site-footer .wp-block-navigation-item__content{display:inline-flex;align-items:center;min-height:44px;color:#fff;text-decoration:none}
.site-footer .wp-block-navigation-item__content:hover{text-decoration:underline}
.site-footer p{margin:0}

/* Búsqueda y 404 */
.ej-404-enlaces{margin-top:24px}

/* Accesibilidad: enlace de salto de WordPress */
.skip-link.screen-reader-text:focus{background:var(--ink);color:#fff;padding:12px 18px;border-radius:999px;z-index:100}

/* Ajustes de composición con bloques */
.b-servicios-cabeza .wp-block-buttons{grid-column:10/13;justify-self:end;margin-top:-8px}
figure.j-marca{position:absolute;right:-3%;top:50%;height:135%;transform:translateY(-50%);opacity:.14;pointer-events:none;margin:0}
figure.j-marca img{height:100%!important;width:auto!important;max-width:none}
.b-equipo-cabeza .wp-block-buttons{margin-top:4px}
.n-preguntas-cabeza p.comilla{font-size:clamp(4.5rem,7vw,7rem);height:.42em;margin-bottom:8px}
@media (max-width:900px){
  .b-servicios-cabeza .wp-block-buttons{justify-self:start;margin-top:0}
  figure.j-marca{height:70%;top:auto;bottom:-10%;transform:none;right:-12%}
}

/* Foto destacada de cada servicio/entrada: encuadre centrado */
.wp-block-post-featured-image.s-foto img{object-position:50% 45%}

/* Grupos del Inicio: al pasar el cursor, la parte de la palabra que queda sobre la foto se vuelve blanca */
.b-grupo{container-type:inline-size}
.b-grupo-clon{grid-column:1/9;grid-row:1;align-self:start;z-index:2;color:#fff!important;pointer-events:none;opacity:0;
  --foto:clamp(160px,15vw,230px);
  clip-path:inset(-20% calc(100% - 44cqw - var(--foto)/2) -20% calc(44cqw - var(--foto)/2));
  text-shadow:0 1px 14px rgba(30,61,64,.35);transition:opacity .35s var(--ease)}
.b-grupo-clon span{color:#fff!important}
.b-grupo .b-grupo-nombre:not(.b-grupo-clon){grid-row:1}
.b-grupo ul{grid-row:1}
.b-grupo:hover .b-grupo-clon{opacity:1}
@media (max-width:1100px){.b-grupo-clon{display:none}}

/* Complemento del H1 (SEO): pequeño y turquesa bajo el título gigante */
.h1-complemento,.s-h1 mark,.l-h1 mark,.en-h1 mark{display:block;margin-top:.35em;font-size:max(.24em,1.0625rem);font-weight:300;line-height:1.2;letter-spacing:-.01em;color:var(--teal-aa)}

/* Ficha de servicio: secciones desde el formulario */
.ej-ficha-cuerpo .wp-block-post-content>ul.s-para{list-style:none;padding:0;border-bottom:1px solid var(--line)}
.s-para li{padding:18px 0;border-top:1px solid var(--line);font-size:clamp(1.0625rem,1.25vw,1.1875rem);line-height:1.5;color:var(--ink)}
.s-pasos{counter-reset:paso}
.s-pasos h3::before{counter-increment:paso;content:counter(paso,decimal-leading-zero);display:block;margin-bottom:.5em;font-size:.875rem;font-weight:400;letter-spacing:.04em;color:var(--teal-aa)}
.ej-ficha-cuerpo .s-qas{margin-top:0}
