/* LAS LETRAS, EN CASA */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../letras/instrument-sans-latin-wght-normal.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 700;font-display:swap;src:url(../letras/newsreader-latin-standard-normal.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:200 600;font-display:swap;src:url(../letras/newsreader-latin-standard-italic.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 400;font-display:swap;src:url(../letras/source-sans-3-latin-wght-normal.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../letras/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* LAS LETRAS DE RESERVA, CON LAS MEDIDAS DE LAS DE LA CASA */

@font-face{font-family:'Instrument Sans reserva';src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:101.65%;ascent-override:95.43%;descent-override:24.59%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BB-02BC,U+02BD-02C5,U+02C6,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}

@font-face{font-family:'Newsreader reserva';src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:99.91%;ascent-override:73.57%;descent-override:26.52%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BB-02BC,U+02BD-02C5,U+02C6,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
/* LA CURSIVA DE RESERVA DE LOS TITULARES Y LA RESERVA DE ANDROID (H4 de la auditoría 8, orden suya 01/10/2026).
   La cursiva de reserva salía de inclinar la redonda y ocupaba un 9-13 % más que la de la casa: el subtítulo de la
   cabecera del índice hacía dos renglones donde la buena hace uno, y al llegar la letra todo subía 29 px (47 en
   tableta): en castellano de 409 a 460 px de ancho y de 700 a 734; en catalán de 348 a 388; en inglés de 436 a 484
   y de 712 a 768. En esos tramos es ahora una cursiva de verdad, al tamaño que ocupa lo mismo que la de la casa:
   cada lengua con su medida (la mezcla de letras de cada subtítulo es distinta: el catalán y el inglés llevan su
   propia familia, elegida con :lang(), con la redonda de siempre) y cada cuerpo con la suya (el subtítulo va a 22 px
   hasta 699 y a 33,6 desde 700). En los demás anchos no se toca: el subtítulo cabe sobrado y la cursiva de verdad,
   más pequeña, haría recolocarse la cabecera 9 px en vez de 3 al llegar la letra. Y Android, que no tiene Times,
   usa su letra con remates (Noto Serif) también a la medida, redonda y cursiva. Cada cara lleva las alturas de
   renglón de la letra de la casa (divididas por su tamaño) y solo los caracteres que trae el archivo de la casa.
   SI SE CAMBIA EL SUBTÍTULO DE LA CABECERA, estas medidas dejan de ser exactas para el texto nuevo (seguirán
   siendo aproximadas, mucho mejores que sin ellas) */
@media (max-width:699px){
@font-face{font-family:'Newsreader reserva';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Times Italic'),local('Times-Italic'),local('Liberation Serif Italic');size-adjust:87.3%;ascent-override:84.2%;descent-override:30.35%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader reserva ca';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Times Italic'),local('Times-Italic'),local('Liberation Serif Italic');size-adjust:87.6%;ascent-override:83.91%;descent-override:30.25%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader reserva en';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Times Italic'),local('Times-Italic'),local('Liberation Serif Italic');size-adjust:90.6%;ascent-override:81.13%;descent-override:29.25%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader reserva Noto';font-style:italic;src:local('Noto Serif Italic'),local('NotoSerif-Italic');size-adjust:77.1%;ascent-override:95.34%;descent-override:34.37%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
}
@media (min-width:700px) and (max-width:739px){
@font-face{font-family:'Newsreader reserva';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Times Italic'),local('Times-Italic'),local('Liberation Serif Italic');size-adjust:88.9%;ascent-override:82.68%;descent-override:29.8%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
}
@media (min-width:700px) and (max-width:779px){
@font-face{font-family:'Newsreader reserva en';font-style:italic;src:local('Times New Roman Italic'),local('TimesNewRomanPS-ItalicMT'),local('Times Italic'),local('Times-Italic'),local('Liberation Serif Italic');size-adjust:92.2%;ascent-override:79.72%;descent-override:28.74%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
}
@media (min-width:700px){
@font-face{font-family:'Newsreader reserva Noto';font-style:italic;src:local('Noto Serif Italic'),local('NotoSerif-Italic');size-adjust:78.6%;ascent-override:93.52%;descent-override:33.71%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
}
@font-face{font-family:'Newsreader reserva ca';src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:99.91%;ascent-override:73.57%;descent-override:26.52%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BB-02BC,U+02BD-02C5,U+02C6,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader reserva en';src:local('Times New Roman'),local('Times'),local('Liberation Serif');size-adjust:99.91%;ascent-override:73.57%;descent-override:26.52%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BB-02BC,U+02BD-02C5,U+02C6,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}
@font-face{font-family:'Newsreader reserva Noto';src:local('Noto Serif'),local('NotoSerif'),local('NotoSerif-Regular');size-adjust:84.7%;ascent-override:86.78%;descent-override:31.28%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root:lang(ca){--serif:"Newsreader","Newsreader reserva ca","Newsreader reserva Noto",Georgia,serif}
:root:lang(en){--serif:"Newsreader","Newsreader reserva en","Newsreader reserva Noto",Georgia,serif}
@font-face{font-family:'Source Sans 3 reserva';src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:92.26%;ascent-override:110.99%;descent-override:43.36%;line-gap-override:0%;unicode-range:U+0000-00FF,U+0100-02BA,U+02BB-02BC,U+02BD-02C5,U+02C6,U+02C7-02CC,U+02CE-02D7,U+02DA,U+02DC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2191,U+2193,U+2212,U+2215,U+2C60-2C7F,U+A720-A7FF,U+FEFF,U+FFFD}

:root{
  --lienzo:1920px;
  --util:min(calc(100vw - var(--barra-scroll,0px)), var(--lienzo));
  --medio-util:calc(var(--util) / 2);
  --brand:#5B2546;

  --barra-granate:color-mix(in srgb, #5B2546 88%, transparent);
  --brand-dp:#401730;
  --brand-lt:#C28EAE;

  --subraya:5.5px;
  --brand-grey:#64656A;

  --flecha-luz:16.6px;

  --flecha-sale:58px;

  --flecha-tinta:calc(34px * 5 / 24);
  --ink:#211D22;
  --ink-3:#4A424C;
  --muted:#6E6970;
  --paper:#F7F6F5;


  --papel-fondo:#F2F1F0;
  --vertical-eje:.531;

  --vertical-base:341px;

  --fichas-equipo:5;

  --fichas-colab:var(--fichas-equipo);

  --grano:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%3E%3Cfilter%20id='g'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.65'%20numOctaves='4'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='200'%20height='200'%20filter='url%28%23g%29'%20opacity='0.16'/%3E%3C/svg%3E");

  --grano-papel:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='200'%20height='200'%3E%3Cfilter%20id='g'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.65'%20numOctaves='4'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='200'%20height='200'%20filter='url%28%23g%29'%20opacity='0.3125'/%3E%3C/svg%3E");
  --line:#DCD8DA;
  --white:#FFFFFF;
  --serif:"Newsreader","Newsreader reserva","Newsreader reserva Noto",Georgia,serif;
  --sans:"Instrument Sans","Instrument Sans reserva",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --menu:"Source Sans 3","Source Sans 3 reserva",system-ui,sans-serif;
  --pad:clamp(20px,5vw,64px);

  --tope-pagina:1920px;
  --sangria:calc((max(0px, 100vw - 1280px) / 2 + var(--pad)) / 2);

  --banda:clamp(57.5px,7.13vw,81.65px);
  --gap:clamp(38px,4.75vw,70px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:var(--banda)}

body{background-color:var(--paper);background-image:var(--grano);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}

#nav:focus{outline:none}

.wrap{max-width:1280px;margin:0 auto;padding-inline:var(--pad)}

.more{
  display:inline-flex;align-items:center;gap:10px;margin-top:28px;
  font-family:var(--sans);font-weight:300;font-size:23.8px;letter-spacing:0;text-transform:none;text-decoration:none;
  transition:border-color .25s,gap .25s;
}
.more::after,.serv__volver::after{content:"→";content:"→" / "";font-family:var(--sans);font-size:22px;
  transition:transform .25s}
@media (hover:hover){.more:hover::after,.serv__volver:hover::after{transform:translateX(6px)}}

/* header */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:60;
  height:var(--banda);display:flex;align-items:stretch;

  background:var(--brand);border-bottom:0;
  transition:top .35s,height .35s,background .35s,border-color .35s;
}
.hdr.is-stuck{top:0;height:var(--banda)}

.hdr.is-stuck .nav a{font-family:var(--menu);font-weight:300;font-size:20.13px;letter-spacing:.012em}
.hdr.is-stuck .nav a{color:#FFF}
@media (hover:hover){.hdr.is-stuck .nav a:hover{color:#FFF;text-decoration-color:currentColor}}
.hdr.is-stuck .burger{color:var(--paper)}

.hdr.is-stuck .nav.is-open a{
  color:#FFF;font-family:var(--menu);font-weight:300;font-size:20.13px}
@media (hover:hover){.hdr.is-stuck .nav.is-open a:hover{
  color:#FFF;text-decoration-color:currentColor}}

.hdr__in{position:relative;width:100%;max-width:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px}

body{--barra-vert:95.53px}
.hdr .hdr__in{padding-inline:var(--barra-vert)}
.mark{display:flex;align-items:center;line-height:0;flex:0 0 auto;align-self:center;
  position:relative;top:calc((.5 - .4176) * var(--logo-alto) + .5px)}

.tarjeta__caja{flex:none;width:100%;max-width:460px;margin-top:-33px;container-type:inline-size}
.hero__tarjeta{position:relative;width:100%;border:1px solid #DFDEDB;container-type:inline-size;
  display:flex;transition:background .25s}

.tarjeta__datos{display:flex;width:100%;
  font-family:var(--sans);line-height:1.72;color:#55575C}
.tarjeta__col{position:relative;width:max-content;}
.tarjeta__col p{line-height:1.352}
.tarjeta__datos a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.tarjeta__datos a:focus-visible{border-bottom-color:currentColor}
@media (hover:hover){.tarjeta__datos a:hover{border-bottom-color:currentColor}}
.tarjeta__datos a:focus-visible{outline:none}

.mark img{width:clamp(250.47px,39.721vw,470.58px);transition:width .35s}
:root{--logo-alto:calc(clamp(250.47px,39.721vw,470.58px) * 91 / 1418)}
.nav{display:flex;flex:0 1 auto;align-items:center;justify-content:flex-end;gap:28px}

.nav{display:none}

.nav.is-open,.hdr:not(.is-stuck) .nav.is-open{
  display:flex;position:fixed;top:var(--banda);bottom:0;z-index:65;

  width:min(var(--nav-ancho,330px),86vw);
  flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;
  background:var(--brand);border:0;border-radius:0;box-shadow:none;

  padding:20px 44px 52px;overflow:hidden;   /* nunca se desplaza: si no cabe, se aprietan las separaciones */
  animation:menu-entra .42s cubic-bezier(.22,.61,.36,1) both}
.nav.is-open{left:auto;right:0}
@keyframes menu-entra{from{transform:translateX(100%)}to{transform:none}}

.nav.is-open.se-va,.hdr:not(.is-stuck) .nav.is-open.se-va{
  animation-name:menu-sale;animation-fill-mode:forwards}
@keyframes menu-sale{from{transform:none}to{transform:translateX(100%)}}

.nav.is-open a{font-family:var(--menu);font-weight:300;font-size:20.13px;letter-spacing:.012em;
  color:#FFF;border-bottom:1px solid transparent;padding-block:calc(11px * var(--menu-aprieta,1));width:auto;line-height:1.2}
@media (hover:hover){.nav.is-open a:hover{color:#FFF;text-decoration-color:currentColor}}
.nav.is-open a[aria-current]{text-decoration-color:currentColor}

.nav.is-open .lang{width:auto;margin-top:calc(26px * var(--menu-aprieta,1));padding-top:0;border-top:0;position:relative}

.nav a{font-size:20.13px;text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:transparent;text-underline-offset:var(--subraya);
  color:var(--ink-3);padding-block:5px;border-bottom:1px solid transparent;
  transition:color .2s,text-decoration-color .2s}
@media (hover:hover){.nav a:hover{color:var(--brand);text-decoration-color:currentColor}}

.hdr.is-stuck .nav a[aria-current]{text-decoration-color:currentColor}
.lang{position:relative;font-size:12.5px;}

body{top:0!important}
.burger{background:none;border:0;cursor:pointer;padding:9.2px;color:var(--paper);position:relative;z-index:70;align-self:center}

body.pag-servicio .hdr .nav a{
  font-family:var(--menu);font-weight:300;letter-spacing:.012em;color:#FFF}
@media (hover:hover){body.pag-servicio .hdr .nav a:hover{
  color:#FFF;text-decoration-color:currentColor}}
body.pag-servicio .hdr .nav a[aria-current],body.pag-moreno .hdr .nav a[aria-current]{
  text-decoration-color:currentColor}
@media (max-width:720px){
  body.pag-servicio .hdr .nav:not(.is-open),body.pag-moreno .hdr .nav:not(.is-open){display:none}

}
.burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.burger span{display:block;background:currentColor;transition:transform .3s,opacity .3s}

.burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* hero */
.hero{
  display:flex;align-items:stretch;
  color:var(--ink);position:relative;overflow:hidden;container-type:inline-size;

  padding:calc(var(--banda) + var(--gap)) 0 calc(var(--gap) - 14.25px);

  background-color:var(--white);

  background-image:none;
  background-repeat:repeat;background-size:200px 200px;background-position:0 0;
}

.hero__in{position:relative;z-index:2;width:100%;display:flex;flex-direction:column}

.hero h1{font-family:var(--serif);font-weight:300;font-size:54.4px;line-height:1.13;letter-spacing:-.024em;color:var(--ink)}
.hero__sub{font-family:var(--serif);font-style:italic;font-weight:300;font-size:33.6px;line-height:1.32;color:#000;margin-top:20px;max-width:48ch}

.more,.serv__volver{color:var(--brand);border-bottom:0;padding-bottom:0}
@media (hover:hover){.more:hover .more__txt,.serv__volver:hover .more__txt{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}


/* secciones */
.sec{padding-block:var(--gap)}

.sec--alt{background-color:var(--white);--grano-sec:none}
.sec:not(.sec--alt):not(.sec--tint){background-color:var(--papel-fondo)}

.sec{background-image:var(--grano-sec, var(--grano))}
.sec:not(.sec--alt):not(.sec--tint){--grano-sec:var(--grano-papel)}


.post{transition:opacity .25s;font-size:15.5px;}

.post__date,.post__tag{text-box:trim-both cap alphabetic}

.post__date{font-family:var(--mono);letter-spacing:.08em;display:block}

.post__tag{display:inline-block;margin-top:0;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);border:1px solid var(--line);border-radius:100px;
  background-color:var(--white);background-image:none;background-size:200px 200px}

a.post__tag{text-decoration:none;cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s}
@media (hover:hover){a.post__tag:hover{background-color:var(--brand);background-image:none;color:#FFF;border-color:var(--brand)}}


@media (hover:hover){.post__enlace:hover :is(h2,h3){text-decoration:none;color:var(--brand)}}

/* equipo */
.equipo__wrap{--hueco-rotulo:clamp(18px,2vw,28px);
  display:flex;align-items:flex-start;gap:var(--hueco-rotulo)}
/* El RÓTULO del apartado: los dos cuadros y la palabra */

body:not(.pag-servicio) .equipo__wrap{--hueco-rotulo:0px}

.equipo__cuerpo{flex:1;min-width:0}

.equipo__frase{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:33.6px;line-height:1.32;color:var(--ink-3);
  margin-top:-7px;margin-bottom:calc(77px - 1.32em + var(--rot-baja,0px))}


.carr{--hueco:clamp(14px,1.6vw,24px);display:block;position:relative}
.carr__pista{width:100%;display:grid;scrollbar-width:none;
  --pie-alto:44px;}
.carr__pista::-webkit-scrollbar{display:none}

.carr__ir{position:absolute;top:calc(50% - 20px);transform:translateY(-50%);z-index:2;
  width:40px;height:40px;padding:0;cursor:pointer;background:none;
  border:1px solid currentColor;border-radius:50%;
  display:grid;place-items:center;color:var(--brand-grey);transition:color .2s}
.carr__ir svg{width:54%;height:54%;display:block}
@media (hover:hover){.carr__ir:hover{background:var(--brand-grey);border-color:var(--brand-grey);color:#FFF}}

.ficha{scroll-snap-align:start;perspective:1200px;position:relative}

.ficha__pie{z-index:1}

.ficha__pie{--asoma:calc(1.9em * ((1 - .7) / 2 + .7 * 2 / 24));
  position:absolute;left:0;right:0;top:calc(100% + 7px);margin:0;white-space:nowrap;
  display:flex;align-items:center;justify-content:center;gap:calc(.55em - var(--asoma));
  text-align:center;
  font-family:var(--sans);font-size:15.5px;line-height:1.3;
  color:var(--brand-grey);opacity:0;pointer-events:none;transition:opacity .35s}
@media (hover:hover){.ficha__pie-mail:hover{background:var(--brand-grey);color:#FFF}}
.ficha.es-nueva .ficha__pie,.ficha.is-vuelta .ficha__pie{opacity:1;pointer-events:auto}
@media (hover:hover){.ficha:hover .ficha__pie{opacity:1;pointer-events:auto}}

@media (hover:hover){.ficha:hover .ficha__marca{opacity:1}}
@media (hover:hover){.ficha:hover .ficha__nombre,.ficha:hover .ficha__cargo{opacity:0}}

@media (hover:hover){#equipo .ficha:hover .ficha__marca{opacity:.07}}
@media (hover:hover){#equipo .ficha:hover .ficha__nombre,#equipo .ficha:hover .ficha__cargo{opacity:1}}
#equipo .ficha.is-vuelta .ficha__marca{opacity:1}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover) .ficha__marca,
#equipo .ficha:has(.ficha__caja:hover) .ficha__marca{opacity:1}}
#equipo .ficha.is-vuelta .ficha__nombre,#equipo .ficha.is-vuelta .ficha__cargo{opacity:0}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover) .ficha__nombre,
#equipo .ficha:has(.ficha__cara:hover) .ficha__cargo,
#equipo .ficha:has(.ficha__caja:hover) .ficha__nombre,
#equipo .ficha:has(.ficha__caja:hover) .ficha__cargo{opacity:0}}
.ficha[hidden]{display:none}
.ficha__cara{position:relative;width:100%;aspect-ratio:1004/650;cursor:pointer;
  transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,.1,.2,1)}
.ficha.is-vuelta .ficha__cara{transform:rotateY(180deg)}
.ficha__frente,.ficha__dorso{position:absolute;inset:0;backface-visibility:hidden;
  container-type:inline-size}
.ficha__frente{background-color:#FFF;border:1px solid #DFDEDB;
  display:flex;flex-direction:column;

    padding:10.52% 7% var(--relleno-abajo, 11.27%) 6%;
    transition:background-color .25s,border-color .35s}
.ficha__dorso{transition:border-color .35s}

.ficha.es-nueva .ficha__frente{border-color:#DFDEDB}
@media (hover:hover){.ficha:hover .ficha__frente{border-color:#DFDEDB}}
.ficha.es-nueva .ficha__dorso::after{border-color:#DFDEDB}
@media (hover:hover){.ficha:hover .ficha__dorso::after{border-color:#DFDEDB}}
.ficha__dorso{transform:rotateY(180deg);background:#FFF;border:0;
  display:grid;place-items:center;overflow:hidden}
.ficha__dorso img{width:100%;height:100%;object-fit:cover;}

.ficha__dorso::after{content:"";position:absolute;inset:0;pointer-events:none;
  border:1px solid #DFDEDB;transition:border-color .35s}

.ficha__marca{position:absolute;inset:0;background-size:cover;background-position:center 18%;
  opacity:.07;pointer-events:none;z-index:0;transition:opacity .45s}

.ficha__nombre,.ficha__cargo{position:relative;z-index:1}

.ficha__nombre{margin-top:auto;
  margin-left:6.06cqw;white-space:nowrap;font-size:6.96cqw;line-height:1.3;color:var(--brand);
  font-weight:400;transition:color .35s,opacity .3s}

.ficha__cargo{margin-left:6.06cqw;white-space:nowrap;font-size:6.49cqw;line-height:1.4;color:var(--brand-grey);
  margin-top:0;transition:color .35s,opacity .3s}

.ficha__frente .ficha__girar{display:none}
.ficha__frente .ficha__girar svg{width:71%;height:71%}
@media (hover:hover){.ficha__frente .ficha__girar:hover{background:var(--brand);color:#FFF}}

/* tarjetas de la RED con logotipo */

.ficha--marca .ficha__cara,.ficha--marca.is-vuelta .ficha__cara{transform:none}

.ficha--marca .ficha__frente{padding:0;display:block}
.ficha--marca .ficha__logo{max-width:75%;max-height:64%;width:auto;height:auto;
  object-fit:contain;display:block}

.ficha__logo-txt{margin:0;font-family:var(--sans);font-weight:500;
  font-size:var(--cuerpo-marca, 7.8cqw);
  letter-spacing:.04em;line-height:1.2;color:#000;white-space:nowrap;text-align:center}

.ficha--marca.es-nueva .ficha__frente,
.ficha--marca.is-vuelta .ficha__frente{border-color:#DFDEDB}
@media (hover:hover){.ficha--marca:hover .ficha__frente{border-color:#DFDEDB}}

.ficha__agua{position:absolute;inset:0;display:grid;place-items:center;
  opacity:.25;transition:opacity .45s}
.ficha__fondo{position:absolute;inset:0;z-index:0}
.ficha--marca .ficha__logo,.ficha--marca .ficha__logo-txt{position:relative;z-index:1}
.ficha--marca.is-vuelta .ficha__agua{opacity:1}
@media (hover:hover){.ficha--marca:hover .ficha__agua{opacity:1}}

.ficha--marca .ficha__pie{opacity:1;pointer-events:auto}
.ficha__pie--marca{--asoma:calc(1.9em * ((1 - .7) / 2 + .7 * 2.5 / 24));
  white-space:normal;
  display:flex;flex-direction:row;align-items:center;
  justify-content:center;gap:calc(.55em - var(--asoma));justify-items:center;text-align:center;
  min-height:1.9em;
  color:var(--brand-grey)}
.ficha__pie-bar{color:#C9C6C2;margin:0 .5em}
.ficha__pie--marca .ficha__pie-web{margin:0;
  flex:none;width:1.9em;height:1.9em;display:grid;
  place-items:center;border-radius:50%;color:#000;transition:background .2s,color .2s}
.ficha__pie--marca .ficha__pie-web svg{width:70%;height:70%;display:block}
@media (hover:hover){.ficha__pie--marca a.ficha__pie-web:hover{background:var(--brand-grey);color:#FFF}}

.ficha__pie-web--mudo{pointer-events:none}


/* footer */

.ftr__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;width:100%;max-width:none}

.ftr__copy,
.ftr__legal,
.ftr__legal a{text-box:trim-both cap alphabetic}

.ftr__legal{display:flex;flex-wrap:wrap;align-items:center;gap:12px}


/* modal */


@media (hover:hover){.modal--doc .modal__x:hover{background:var(--brand);color:#FFF}}

/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}

body:not(.pag-servicio):not(.pag-moreno) .rv{opacity:1;transform:none;transition:none}

@media (max-width:720px){
  /* EL MENÚ ABIERTO SE VE TAMBIÉN CON LA BARRA PEGADA (con la página movida): esta regla lo
     escondía (error visto el 28/09/2026 al revisar el hallazgo 18 de la auditoría 1) */
  .nav:not(.is-open),.hdr.is-stuck .nav:not(.is-open){display:none}

  .burger,.hdr.is-stuck .burger{display:flex;position:relative;z-index:70}
  .burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .burger.is-open span:nth-child(2){opacity:0}
  .burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* Páginas de cada servicio */

body.pag-servicio{background-color:var(--white);background-image:none}


body.pag-servicio .serv{padding-bottom:calc(var(--gap) - 25.6px)}
body.pag-servicio .serv{position:relative;


  background-image:linear-gradient(var(--papel-fondo) 0 var(--corte,60%), var(--white) var(--corte,60%));
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:0 0}

body.pag-servicio .serv::before{content:"";position:absolute;left:0;right:0;top:0;
  height:var(--corte,60%);background-image:var(--grano-papel);pointer-events:none;z-index:0}


body.pag-servicio .hdr .nav.is-open a,body.pag-moreno .hdr .nav.is-open a{
  font-family:var(--menu);font-weight:300;font-size:20.13px;color:#FFF;line-height:1.2}

.serv__titulo{margin:0;}

body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .serv__titulo{
  font-family:var(--sans);letter-spacing:0;font-size:32.6px;

  color:var(--brand)}

/* 770 px y no 70ch: el «cero» lo mide cada navegador a su manera (H11, orden suya 30/09/2026) */
.serv__texto{max-width:770px;text-align:justify;}
.serv__texto > :last-child,.serv__texto > :last-child > :last-child{margin-bottom:0}

.serv__texto h2{position:relative;
  font-family:var(--serif);font-weight:300;font-size:26.3px;
  line-height:1.25;letter-spacing:0;text-transform:none;color:#000;
  margin:clamp(26px,2.8vw,40px) 0;
  text-align:left}


.serv__texto p{font-family:var(--menu);font-weight:315;color:#2A282D;
  font-size:19.2px;line-height:1.5;margin:0 0 1em}

.serv__arriba p{color:#000;font-weight:355}

body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma){
  --cuerpo-entrada:20.2px}
body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .serv__arriba p{

  font-size:var(--cuerpo-entrada)}
.serv__arriba{margin-bottom:clamp(64px,6.6vw,98px)}

.serv__volver{position:relative;display:inline-flex;align-items:center;gap:10px;margin-top:1.1em;
  font-family:var(--sans);font-weight:300;font-size:23.8px;letter-spacing:0;text-transform:none;
  color:var(--brand);text-decoration:none;transition:color .2s}

body.pag-servicio{
  --luz-cabecera:60px;
  --miga-caja:21.8px;

  --miga-tinta-arriba:4.93px;
  --miga-tinta-abajo:14.45px;

  --luz-miga:30px;

  --titulo-ciego:calc(.1488 * clamp(21.6px,2.7vw,33.6px));

  --titulo-baja:calc(var(--luz-miga) + var(--miga-tinta-abajo)
                     - var(--miga-caja) - var(--titulo-ciego))}
/* SERVICIOS RELACIONADOS */

body.pag-servicio .pubrel:not(.area-equipo):not(:has(.post)){display:none}

body.pag-servicio:not(:has(main .pubrel article.post)):has(#servicio .serv__texto > .serv__arriba + *) .sec.rel{
  background-color:var(--papel-fondo);background-image:var(--grano-papel)}


body.pag-servicio:not(:has(#servicio .serv__texto > .serv__arriba + *)):not(.pag-publicacion) .pubrel{
  background-color:var(--white);background-image:none;--grano-sec:none}
body.pag-servicio:not(:has(#servicio .serv__texto > .serv__arriba + *)) .sec.rel{
  background-color:var(--papel-fondo);background-image:var(--grano-papel);
  --grano-sec:var(--grano-papel)}


body.pag-servicio .pubrel .serv__volver--fin{display:flex;width:fit-content}


body.pag-servicio .rel:not(:has(.rel__lista li)){display:none}

body.pag-servicio .rel__titulo{line-height:1.32;
  margin:0 0 clamp(26px,2.8vw,40px)}

body.pag-servicio .pubrel .rel__titulo{margin-bottom:calc(clamp(26px,2.8vw,40px) - 40.1px)}

body.pag-servicio .rel .rel__titulo{margin-bottom:calc(clamp(26px,2.8vw,40px) - 21.3px)}

body.pag-servicio .rel__lista{--hueco-rel:28px;
  list-style:none;display:grid;
  width:var(--pubrel-ancho, min(1152px, 100%));max-width:none;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:0 var(--hueco-rel)}

body.pag-servicio .rel__lista li{position:relative}

/* CADA ÁREA, DENTRO DE SU RECUADRO */

body.pag-servicio .rel__lista a{display:block;text-decoration:none;
  position:relative;height:100%;

  background:#FFF;border:1px solid var(--line);border-radius:16px;

  padding:calc(var(--rel-tag-alto) - 1px + 26px) 26px 26px;
  transition:border-color .25s,box-shadow .25s}

@media (hover:hover){body.pag-servicio .rel__lista a:hover{
  border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}}

body.pag-servicio .rel__lista{--rel-tag-alto:calc(22.9px * 2 * .8)}

body.pag-servicio .rel__tag{margin:0;white-space:nowrap;
  height:var(--rel-tag-alto);
  display:flex;align-items:center;justify-content:center;padding:0 11px;
  position:absolute;left:-1px;right:-1px;top:-1px;transform:none;

  border:1px solid var(--line);border-radius:16px 16px 0 0;

  background-color:color-mix(in srgb, var(--brand-grey) 22%, #FFF);
  transition:background-color .2s,color .2s,border-color .2s}

body.pag-servicio .rel__texto{display:block;font-family:var(--menu);font-weight:315;
  color:#2A282D;font-size:18.2px;line-height:1.5;padding-left:0;padding-right:0}

@media (hover:hover){body.pag-servicio .rel__lista a:hover .rel__tag{background-color:var(--brand);
  background-image:none;color:#FFF;border-color:var(--brand)}}

@media (hover:hover){body.pag-servicio .rel__lista a .rel__tag:hover{background-color:var(--brand);
  background-image:none;color:#FFF;border-color:var(--brand)}}


.serv__volver--fin{margin-top:2.6em}

#equipo .ficha__pie{display:none !important}


#equipo .ficha{transition:transform .28s cubic-bezier(.4,.1,.2,1)}

#equipo .ficha.is-vuelta{transform:translateY(calc(-1 * var(--eleva,0px)))}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover),
#equipo .ficha:has(.ficha__caja:hover){transform:translateY(calc(-1 * var(--eleva,0px)))}}

#equipo .secnom{transition:opacity .2s}
#equipo.tapa-rotulo .secnom{opacity:0}

#equipo .ficha.is-vuelta .ficha__cara{transform:none}

#equipo .ficha__caja{
  position:absolute;left:0;right:0;top:100%;

  min-height:var(--caja-alto,50%);
  background:#FFF;border:1px solid #DFDEDB;border-top:0;
  display:flex;flex-direction:column;justify-content:space-between;

  padding:var(--caja-arriba,16px) 14px var(--caja-abajo,16px);

  opacity:0;visibility:hidden;pointer-events:none;z-index:3;
  transition:opacity .22s ease, visibility 0s linear .22s}
#equipo .ficha.is-vuelta .ficha__caja{opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .22s ease, visibility 0s}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover) .ficha__caja,
#equipo .ficha:has(.ficha__caja:hover) .ficha__caja{opacity:1;visibility:visible;pointer-events:auto;
  transition:opacity .22s ease, visibility 0s}}

#equipo .ficha .ficha__frente,#equipo .ficha .ficha__dorso{
  transition:border-color .25s,box-shadow .25s}

#equipo .ficha .ficha__dorso{border:1px solid #DFDEDB;box-sizing:border-box}
#equipo .ficha.is-vuelta .ficha__frente,#equipo .ficha.is-vuelta .ficha__dorso{
  border-color:var(--brand-lt);border-bottom-color:transparent;
  box-shadow:0 6px 22px rgba(45,46,49,.07)}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover) .ficha__frente,
#equipo .ficha:has(.ficha__cara:hover) .ficha__dorso,
#equipo .ficha:has(.ficha__caja:hover) .ficha__frente,
#equipo .ficha:has(.ficha__caja:hover) .ficha__dorso{
  border-color:var(--brand-lt);border-bottom-color:transparent;
  box-shadow:0 6px 22px rgba(45,46,49,.07)}}
#equipo .ficha.is-vuelta .ficha__caja{
  border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}
@media (hover:hover){#equipo .ficha:has(.ficha__cara:hover) .ficha__caja,
#equipo .ficha:has(.ficha__caja:hover) .ficha__caja{
  border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}}

#equipo .ficha__caja-n{margin:0;font-family:var(--sans);font-weight:300;
  font-size:16.5px;line-height:1.3;color:var(--brand)}
#equipo .ficha__caja-c{margin:var(--caja-hueco-nc,0px) 0 0;font-family:var(--sans);font-weight:300;
  font-size:14.5px;line-height:1.35;color:var(--muted)}
#equipo .ficha__caja-id{margin:0}

#equipo .ficha__caja-enl{display:flex;flex-direction:row;align-items:center;
  justify-content:flex-start;margin:0}

#equipo .ficha__caja-enl button svg{display:none}

#equipo .ficha__caja-n.tiene{cursor:pointer;display:inline-block;width:max-content;
  transform-origin:left center;transition:color .2s,transform .2s}
#equipo .ficha__caja-n.tiene:focus-visible{color:var(--brand-dp);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:.14em;transform:scale(1.06)}
@media (hover:hover){#equipo .ficha__caja-n.tiene:hover{color:var(--brand-dp);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:.14em;transform:scale(1.06)}}

#equipo .ficha__caja button{display:inline-flex;align-items:center;gap:6px;width:max-content;
  background:none;border:0;padding:0;text-align:left;cursor:pointer;transform-origin:left center;
  font-family:var(--sans);font-weight:300;font-size:14.5px;line-height:1.5;
  color:#5F5A5F;text-decoration:none;transition:color .2s,transform .2s}

#equipo .ficha__caja button:focus-visible{color:var(--brand);transform:scale(1.06)}
@media (hover:hover){#equipo .ficha__caja button:hover{color:var(--brand);transform:scale(1.06)}}
#equipo .ficha__caja button:focus-visible svg{color:var(--brand)}
@media (hover:hover){#equipo .ficha__caja button:hover svg{color:var(--brand)}}

#equipo .ficha__nombre,#equipo .ficha__cargo{font-family:var(--sans);font-weight:300}

body:not(.pag-servicio) #colaboradores{
  background-color:var(--papel-fondo);padding-top:0;padding-bottom:0}

body:not(.pag-servicio) #colaboradores .col__linea{margin-top:0}

body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase{
  position:absolute;left:var(--eq-izq,-111px);top:var(--eq-arriba,0px);width:34px;
  margin:0;z-index:4;
  writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;
  display:grid;align-items:center}


body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom{line-height:1;text-decoration:none;color:#000}

#colaboradores .col__abre,
#colaboradores .col__abre .col__txt{text-decoration:none;border-bottom:0}

#colaboradores .col__abre .col__txt{color:var(--brand-grey)}

#colaboradores .col__punta{color:var(--brand-grey)}

@media (hover:hover){#colaboradores .col__abre:hover .col__txt{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
  text-decoration-color:var(--brand-grey)}}

#colaboradores.col--abierto .col__abre .col__txt{color:var(--brand-grey)}
@media (hover:hover){#colaboradores.col--abierto .col__abre:hover .col__txt{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;
  text-decoration-color:var(--brand-grey)}}


#colaboradores{position:relative}
.col__linea{margin-top:var(--col-sube,38px);display:flex;position:relative;z-index:5}
.col__abre{display:inline-flex;align-items:center;gap:20px;background:none;border:0;padding:0;
  cursor:pointer;font-family:var(--sans);font-weight:300;font-size:23.8px;line-height:1.5;
  color:var(--brand);transition:color .2s}
@media (hover:hover){.col__abre:hover{color:var(--brand-dp)}}

@media (hover:hover){.col__abre:hover .col__txt{text-decoration:underline;
  text-underline-offset:5px;text-decoration-thickness:1px}}
@media (hover:hover){.col__abre:hover .col__punta{transform:translateY(6px)}}
@media (hover:hover){.col--abierto .col__abre:hover .col__punta{transform:rotate(180deg) translateY(6px)}}

.col__punta{width:29px;height:29px;flex:0 0 auto;transition:transform .3s ease}
.col--abierto .col__punta{transform:rotate(180deg)}

.col__panel{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.4,.1,.2,1)}

#equipo{transition:padding-bottom .45s cubic-bezier(.4,.1,.2,1)}

#colaboradores{transition:padding-bottom .45s cubic-bezier(.4,.1,.2,1)}

#equipo.col--sin-animar,#equipo.col--sin-animar .col__panel{transition:none}
.col__panel .carr{position:relative;margin-top:var(--col-luz,0px)}

.col__panel{padding-bottom:var(--col-abajo,0px)}

.col__panel .carr__pista{--holgura:2px;
  padding-left:var(--holgura);padding-right:var(--holgura);
  margin-left:calc(-1 * var(--holgura));margin-right:calc(-1 * var(--holgura));
  scroll-padding-left:var(--holgura);scroll-padding-right:var(--holgura);
  grid-auto-flow:column;grid-template-columns:none;
  grid-auto-columns:var(--ancho-ficha-eq,270px);
  overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;
  column-gap:var(--hueco-eq,24px);padding-bottom:0;row-gap:0}
.col__panel .carr__pista::-webkit-scrollbar{display:none}
.col__panel .carr__ir{display:none}
.col__panel .ficha__pie{display:none !important}

.col__panel .ficha{position:relative}
.col__panel .col__enlace{position:absolute;inset:0;z-index:3;display:block;
  border-radius:inherit;text-indent:-9999px;overflow:hidden;cursor:pointer}

.col__panel .ficha,.col__panel .ficha__cara,
.col__panel .ficha__frente,.col__panel .ficha__marca{min-width:0}

#equipo .col__panel .ficha__agua{opacity:1}
#equipo .col__panel .ficha .ficha__frente,
#equipo .col__panel .ficha .ficha__dorso{border-bottom-color:#DFDEDB}

@media (hover:hover){#equipo .col__panel .ficha:hover .ficha__frente,
#equipo .col__panel .ficha:hover .ficha__dorso,
#equipo .col__panel .ficha:has(.ficha__cara:hover) .ficha__frente,
#equipo .col__panel .ficha:has(.ficha__cara:hover) .ficha__dorso{
  border-color:var(--brand);box-shadow:none}}
.col__flechas{position:absolute;inset:0;pointer-events:none;display:none}
.col__flechas .eq__f{pointer-events:auto}
.col--abierto .col__flechas{display:block}


#contacto .hero__tarjeta{border:0;padding:0;justify-content:flex-start;
  flex-direction:column;align-items:flex-start}


#contacto .tarjeta__col p:last-of-type{margin-top:18px}


#contacto .cont__wrap{max-width:none;padding-left:95.53px}


.ftr__barra{background:var(--negro-casa);
  display:flex;align-items:center;
  margin-top:var(--barra-luz,90px)}

.ftr__barra .ftr__in{padding-inline:95.53px}

.ftr__barra{--pie-tinta:#BCBDC0}

.ftr__barra,.ftr__barra p,.ftr__barra span{font-style:normal;font-size:14.5px;
  letter-spacing:.012em;line-height:1.3;text-transform:uppercase;color:var(--pie-tinta)}

.ftr__barra .ftr__legal a{text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:transparent;text-underline-offset:var(--subraya);
  transition:text-decoration-color .2s}
@media (hover:hover){.ftr__barra .ftr__legal a:hover{text-decoration-color:currentColor}}

.hero__mas{position:relative;top:var(--sube-mas,0px)}
.hero{min-height:var(--alto-hero,auto);height:var(--alto-hero,auto);touch-action:pan-y}


/* Equipo: CUATRO tarjetas a la vista, EN UNA SOLA LÍNEA */

.carr__pista{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;
  column-gap:var(--hueco);row-gap:calc(var(--pie-alto) + clamp(8px,0.9vw,14px));
  padding-bottom:var(--pie-alto)}

#equipo .carr__pista{--holgura:2px;
  grid-auto-flow:column;grid-template-columns:none;
  grid-auto-columns:var(--ancho-ficha-eq,270px);

  overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;

  column-gap:var(--hueco-eq,var(--hueco))}


#equipo .carr__ir{display:none}
#equipo .equipo__cuerpo{position:relative}

#equipo .eq__f,
#colaboradores .eq__f{position:absolute;top:var(--eq-medio,50%);transform:translateY(-50%);z-index:4;
  width:34px;height:68px;border:0;background:none;padding:0;cursor:pointer;
  display:grid;place-items:center;color:var(--brand);
  transition:color .25s,transform .25s}
#equipo .eq__f svg,
#colaboradores .eq__f svg{width:34px;height:68px}
#equipo .eq__f--izq{left:var(--eq-izq,-111px)}
#equipo .eq__f--der{left:var(--eq-der,auto)}

#colaboradores .eq__f--izq{
  left:calc(var(--pad) + var(--vertical-sangria) - 34px - var(--flecha-luz))}
#colaboradores .eq__f--der{left:auto;
  right:calc(var(--pad) + var(--vertical-sangria) - 34px - var(--flecha-luz))}
@media (hover:hover){#equipo .eq__f--izq:hover,
#colaboradores .eq__f--izq:hover{transform:translate(-5px,-50%)}}
@media (hover:hover){#equipo .eq__f--der:hover,
#colaboradores .eq__f--der:hover{transform:translate(5px,-50%)}}
@media (hover:hover){#equipo .eq__f:hover,
#colaboradores .eq__f:hover{color:var(--brand-dp)}}
.ficha[hidden]{display:none}


@media (max-width:1180px){ .carr__pista{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:900px){ .carr__pista{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:620px){ .carr__pista{grid-template-columns:minmax(0,1fr)} }


/* LA FIRMA */

body.pag-firma .serv{

  --corte-pub:calc(var(--banda) + 2 * var(--luz-miga)
                   + var(--miga-tinta-abajo) - var(--miga-tinta-arriba));
  background-image:
    linear-gradient(var(--white) 0 var(--corte-pub), var(--papel-fondo) var(--corte-pub));
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:0 0;
  background-color:var(--white)}

body.pag-firma #servicio::after{display:none}


/* ÍNDICE DE PUBLICACIONES */

body.pag-publicaciones .serv,body.pag-publicacion .serv{
  --corte-pub:calc(var(--banda) + 2 * var(--luz-miga)
                   + var(--miga-tinta-abajo) - var(--miga-tinta-arriba));
  background-color:var(--white);
  background-image:linear-gradient(var(--white) 0 var(--corte-pub), var(--papel-fondo) var(--corte-pub));
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:0 0}

body.pag-publicaciones .pub-lista{padding-top:0}

body.pag-publicaciones .pub__paginacion:empty{margin-top:0}

:root{--luz-limpiar-0:33.84px;--luz-filtros-0:32.83px;--luz-abajo-0:60.01px}

@media (min-width:700px){
  .pub__filtro-txt{white-space:nowrap}
}
@media (min-width:700px) and (max-width:1199px){
  :root{--luz-limpiar-0:31.84px;--luz-filtros-0:27.48px;--luz-abajo-0:60.01px}
}
@media (max-width:699px){
  :root{--luz-limpiar-0:38.13px;--luz-filtros-0:36.2px;--luz-abajo-0:60px}
}
.pub__filtros{display:grid;grid-template-rows:repeat(7,auto);
  grid-auto-flow:column;
  margin-top:var(--luz-filtros, var(--luz-filtros-0))}

.pub__filtro{cursor:pointer;
  transition:background-color .2s,color .2s,border-color .2s}

.pub__filtro{display:flex;align-items:center;justify-content:space-between;gap:1.6em;
  width:100%;text-align:left}

.pub__filtro-n{flex:none;font-variant-numeric:tabular-nums;}

.pub__filtro.es-activa{
  background:var(--brand);color:#FFF;border-color:var(--brand)}
@media (hover:hover){.pub__filtro:not([disabled]):not(.recien-quitada):hover{
  background:var(--brand);color:#FFF;border-color:var(--brand)}}

.pub__filtro[disabled]{cursor:default;pointer-events:none;
  color:#B9B9BD;border-color:#E7E6E4;background-color:#FAFAF9;background-image:none}
.pub__filtro[disabled] .pub__filtro-n{opacity:.85}

.pub__rejilla{display:grid;}
.pub__vacio{font-family:var(--menu);font-weight:300;color:var(--muted);font-size:15.5px}

.pub__paginas{align-items:center;gap:8px;margin-top:clamp(30px,3.2vw,46px)}
@media (hover:hover){.pub__flecha:hover:not(:disabled){
  background:var(--brand-grey);border-color:var(--brand-grey);color:#FFF}}


/* PÁGINA DE CADA PUBLICACIÓN */

.pub__cab > *{max-width:100%}
body.pag-publicacion .serv__titulo{color:#000}

.pub__ficha{display:flex;flex-direction:column;align-items:flex-start;
  gap:var(--luz-tags, 14px);
  }

.pub__tags{display:flex;flex-wrap:wrap;gap:10px 12px;}
.pub__tags .post__tag{width:var(--ancho-tag, auto);text-align:center;white-space:nowrap}
.pub__ficha .post__date{font-size:13.75px;color:#5F5A5F}
.pub__ficha .post__tag{font-size:11.875px;padding:5px 13.75px}

@media (min-width:1200px){
  body.pag-publicacion .pub__ficha .post__tag{padding-top:10.1375px;padding-bottom:10.1375px}
}

.pub__resumen{font-family:var(--menu);font-weight:355;color:#000;line-height:1.5;

  text-align:justify;
  margin:clamp(20px,2vw,28px) 0 0}

body.pag-publicacion .pub-texto .serv__texto{margin-top:0}
body.pag-publicacion .pub-texto .serv__texto h2:first-child{margin-top:0}
body.pag-publicacion .pub-texto{padding-top:calc(var(--gap) - 25.6px)}

/* «LEER TODO», ENCIMA DE LOS TÍTULOS DE UNA PUBLICACIÓN: abre y recoge todos los apartados */
.leer-todo{display:block;width:max-content;margin:0;
  font:300 23.8px/1.25 var(--sans);letter-spacing:0;text-transform:none;color:var(--brand);
  background:none;border:0;padding:0;cursor:pointer}
@media (hover:hover){.leer-todo:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}

body.pag-publicacion main:has(.pubrel article.post) .pub-texto .serv__volver--fin{display:none}

body.pag-publicacion main:has(.pubrel article.post) .pub-texto{
  padding-bottom:max(0px, calc(var(--gap) - 52.8px))}

@media (hover:hover){.ficha:hover .ficha__pie-esp,
.ficha__pie:hover .ficha__pie-esp{color:var(--brand)}}
.ficha__pie-n,.ficha__pie-esp{text-decoration:none;color:inherit}

@media (hover:hover){.ficha:hover .ficha__pie-n[data-trayectoria],
.ficha__pie-n[data-trayectoria]:hover{text-decoration-color:var(--brand)}}


.hero__mas{max-width:var(--ancho-hero);font-size:var(--cuerpo-hero);
  display:flex;justify-content:flex-start}

@media (hover:hover){.hero .more:hover{gap:10px}}
@media (hover:hover){.hero .more:hover::after{transform:translateX(6px)}}


body:not(.pag-servicio) #equipo{padding-top:60px;padding-bottom:60px}


/* NADIE PUEDE SELECCIONAR EL TEXTO DE LA WEB CON EL RATÓN (frena la copia casual; no impide ver el código, guardar
   la página, el modo lectura, imprimir ni que los buscadores lean el texto). ÚNICA EXCEPCIÓN: la tarjeta de
   contacto —dirección y teléfono—, en el cierre y en la página de Contacto; y lo que uno escribe en un formulario */
body{-webkit-user-select:none;user-select:none}
.hero__tarjeta,.hero__tarjeta *,
body.pag-contacto .cont__ciudad,body.pag-contacto .cont__ciudad *,
body.pag-contacto .cont__datos,body.pag-contacto .cont__datos *,
input,textarea{-webkit-user-select:text;user-select:text}
/* Y LOS TEXTOS, Y SOLO ELLOS (H11 de la auditoría 6, orden suya 01/10/2026: «b, pero solo textos, ni rótulos ni
   fotografías ni otros elementos»): los párrafos y las listas del texto corrido, para quien se los hace leer en voz
   alta, los traduce o los resalta. Los rótulos, las fotografías, las fichas, los menús, los botones, la firma del
   autor y el formulario siguen sin poder seleccionarse */
:is(.serv__arriba, .serv__grupo) :is(p, li, blockquote):not(.doc__tm),
.serv__texto > p:not(.pub__firma),
.pub__resumen, .pers__tray p, .tal__intro, .res__texto{-webkit-user-select:text;user-select:text}
main img{-webkit-user-select:none;user-select:none}
/* Y EL TÍTULO Y EL RESUMEN DE LAS FICHAS DE PUBLICACIÓN (orden suya, 08/10/2026, 08:01: «en las fichas de publicaciones se debe poder
   seleccionar con el ratón el título y el resumen»). Van dentro del enlace de la ficha, y la ficha entera es pulsable por un enlace
   que la cubre (el ::after del enlace en el índice y en las relacionadas; a.carrpub__todo en la portada): el texto se pone por
   encima de ese enlace, se deja seleccionar y el enlace no se arrastra (si no, arrastrar sobre el texto arrastra el enlace). Al
   soltar el ratón con texto seleccionado no se abre la publicación: lo mira js/comun.js. Lo demás de la ficha —la etiqueta, la
   fecha, el botón— sigue sin poder seleccionarse. */
.post__enlace :is(h2,h3,p),.carrpub__tit,.carrpub__res{position:relative;z-index:2;-webkit-user-select:text;user-select:text}
.post__enlace,.carrpub__enlace{-webkit-user-drag:none}
/* Y EL TÍTULO DE LA PÁGINA DE CADA PUBLICACIÓN (orden suya, 08/10/2026, 10:00: «En las páginas de publicaciones se debe poder seleccionar
   con el ratón el texto del título»); el resumen ya se podía. */
body.pag-publicacion .pub__cab h1.serv__titulo{-webkit-user-select:text;user-select:text}

/* FLOTANTE DE LA TRAYECTORIA */


.modal--tray::backdrop{background:none}

.modal--tray:not(.is-open){visibility:hidden;animation:none;pointer-events:none}


body.tray-abierta #equipo .eq__f,
body.tray-abierta #equipo .col__abre,
body.tray-abierta #equipo .col__flechas{opacity:0;pointer-events:none}


@media (hover:hover){.modal--tray .modal__x:hover{background-color:var(--brand);background-image:none;
  border-color:var(--brand);color:#FFF}}

.modal--tray .modal__x:focus-visible{outline:none;
  background-color:var(--brand);background-image:none;border-color:var(--brand);color:#FFF}


/* PUBLICACIONES DE LA PORTADA: carrusel de fichas */

.carrpub__marco{position:relative}
.carrpub__pista{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3*28px)/4);
  gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;align-items:stretch}

.carrpub__card{position:relative;scroll-snap-align:start;background:#FFF;border:1px solid var(--line);
  border-radius:0 0 16px 16px;display:flex;transition:border-color .25s,box-shadow .25s}
@media (hover:hover){.carrpub__card:hover{border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}}

.carrpub__cuerpo{display:flex;flex-direction:column;min-width:0;
  padding:26px 26px 22px;border-top:6px solid var(--brand);border-radius:0}

.carrpub__todo{position:absolute;inset:0;z-index:1;border-radius:0 0 16px 16px}

.carrpub__meta{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 14px;
  flex-wrap:nowrap;min-width:0}

.carrpub__fecha{font-family:var(--mono);font-size:15px;letter-spacing:.06em;color:#5F5A5F;
  text-box:trim-both cap alphabetic;flex:0 0 auto;white-space:nowrap;text-align:right}
.carrpub__pie{display:flex;align-items:center;justify-content:space-between;gap:12px}

.carrpub__area{position:relative;z-index:2;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--brand);background:#FFF;border:1px solid var(--line);
  border-radius:999px;padding:7.23px 11.63px;text-decoration:none;text-box:trim-both cap alphabetic;
  flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:background .25s,color .25s,border-color .25s}
@media (hover:hover){.carrpub__area:hover{background:var(--brand);color:#FFF;border-color:var(--brand)}}

/* LAS ETIQUETAS «ASUNTO RELEVANTE» Y «NOVEDAD LEGISLATIVA», COMO LAS DE LAS DEMÁS ÁREAS (blancas, con la letra granate y el filete
   gris; al señalarlas, granate con la letra blanca) EN TODAS PARTES: en los carruseles de publicaciones (la portada y las relacionadas),
   en el índice y en la cabecera del artículo (órdenes suyas, 08/10/2026, 17:24: «que dejen de ser como son y pasen a ser como todas las
   de las demás áreas (tanto en reposo como al señalar)», y 17:32: «en la cabecera del artículo también lo cambiamos y lo dejamos como las
   demás etiquetas que hay en la cabecera del artículo»). Del 28/09/2026 (la E de las tres) a entonces, la de asunto relevante iba sobre
   amarillo suave (#FAFFB0) con la letra en negro, y la de novedad legislativa igual desde las 13:52 del 08/10/2026 (a las 13:03 la había
   pedido sobre el azul del BOE con la letra en blanco; el azul queda solo en su circunferencia). Las clases --exp y --nov siguen en las
   etiquetas: las usan las reglas de la imagen de la ficha (el sello entero, sin recortar) y los guiones. */

.carrpub__tit{margin:0 0 14px;font-family:var(--serif);font-weight:400;line-height:1.32;
  font-size:21.42px;color:var(--ink);-webkit-line-clamp:4;-webkit-box-orient:vertical;
  }

.carrpub__res{font-family:var(--sans);font-size:16.3125px;line-height:1.66;
  color:var(--muted);-webkit-line-clamp:8;-webkit-box-orient:vertical;}

.carrpub__flecha{position:relative;z-index:2;
  margin-top:auto;align-self:flex-start;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--brand);color:var(--brand);display:grid;place-items:center;
  text-decoration:none;
  transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s ease}
.carrpub__flecha svg{width:17px;height:17px}
@media (hover:hover){.carrpub__card:hover .carrpub__flecha{background:var(--brand);
  border-color:var(--brand);color:#FFF;transform:translateX(8px)}}

@media (hover:hover){.carrpub__card a.carrpub__flecha:hover{background:var(--brand);
  border-color:var(--brand);color:#FFF}}

.carrpub__f{position:absolute;transform:translateY(-50%);z-index:4;
  width:34px;height:68px;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;color:var(--brand);
  transition:color .25s,transform .25s,opacity .25s}

.carrpub__f--izq{left:calc(-1 * var(--flecha-sale))}


@media (max-width:1407px){
  body:not(.pag-servicio){--flecha-sale:min(58px, var(--pad) - 6px)}
}

.carrpub__f[disabled]{color:var(--brand-grey);opacity:.55;cursor:default}
@media (hover:hover){.carrpub__f--izq:hover:not([disabled]){transform:translate(-5px,-50%)}}
@media (hover:hover){.carrpub__f--der:hover:not([disabled]){transform:translate(5px,-50%)}}
@media (hover:hover){.carrpub__f:hover:not([disabled]){color:var(--brand-dp)}}

/* LA CABECERA: SU REPARTO HORIZONTAL, TODO EN CSS */
:root{

  --negro-casa:#000;

  --vertical-sangria:calc(var(--vertical-base) * var(--vertical-eje));
  /* LA SANGRÍA QUE DEJÓ EL MINILOGO: de ella cuelgan las flechas de las tiras (--flecha-sale) */

  --sangria-minilogo:calc(25px + 18.48px);
      }


body:not(.pag-servicio) .hero:not(.hero--sin-foto) > .wrap{

  margin-left:var(--vertical-sangria);

  padding-right:0;

  max-width:min(1280px, calc(50% - 48px - var(--vertical-sangria)))}

/* LA CABECERA CORRIDA Y LA FOTOGRAFÍA */

.hero__foto{position:absolute;top:0;bottom:0;z-index:1;

  right:0;

  left:0;

  cursor:pointer;

  background-size:cover;background-position:center;background-repeat:no-repeat}

/* EL CARRUSEL DE LA CABECERA. La foto de la fachada —la de la imagen del sello y la del lema— va en blanco y negro y al
   33,5 %; las de las publicaciones, tal como son, y el papel de los asuntos relevantes, entero: cada capa lleva lo suyo
   (ver «LAS IMÁGENES DE PUBLICACIONES DEL CARRUSEL DE LA CABECERA», al final de la hoja) */
.hero__fotos{position:absolute;inset:0;pointer-events:none;isolation:isolate}
.hero__capa{position:absolute;inset:0;opacity:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;

  filter:grayscale(1);

  transition:opacity 1.2s ease}
.hero__capa.is-visible{opacity:.335;z-index:1}

.hero__puntos{--pausa-luz:14px;--pausa-lado:32px;
  position:absolute;left:50%;
  transform:translateX(calc(-50% - (var(--pausa-luz) + var(--pausa-lado)) / 2));
  bottom:calc(var(--pad) / 2);z-index:3;
  display:flex;gap:10px;align-items:center}

/* LOS PUNTOS, DEL TAMAÑO DE LA PAUSA Y CON CIRCUNFERENCIA GRANATE DE 1 PX (H5 de la auditoría 6, orden suya
   01/10/2026): blancos sin borde apenas se veían sobre la fachada clara (1,1 a 1,8 : 1; la norma pide 3 : 1);
   con la circunferencia, de 6,4 a 10,0 : 1. Antes medían 18 px y no llevaban borde. Tableta y móvil: tras la pausa */
.hero__punto{width:32px;height:32px;border-radius:50%;cursor:pointer;
  border:1px solid var(--brand);background-color:#FFF;
  transition:background-color .35s ease}

.hero__punto.is-activo{background-color:var(--brand)}
@media (hover:hover){.hero__punto:hover{background-color:var(--brand)}}

/* LAS FLECHAS DE LA CABECERA */
.hero__f{position:absolute;

  top:calc((var(--banda) + 100%) / 2);
  transform:translateY(-50%);z-index:4;
  width:62px;height:124px;border:0;background:none;cursor:pointer;
  display:grid;place-items:center;color:var(--brand);
  transition:color .25s,transform .25s}
.hero__f svg{width:62px;height:124px;display:block}

.hero__f--izq{left:80.03px}
.hero__f--der{right:80.03px}
@media (hover:hover){.hero__f--izq:hover{transform:translate(-5px,-50%)}}
@media (hover:hover){.hero__f--der:hover{transform:translate(5px,-50%)}}
@media (hover:hover){.hero__f:hover{color:var(--brand-dp)}}

/* LAS FLECHAS VAN A LOS LADOS DE LA PANTALLA SOLO DONDE CABEN «COMO EN LA BASE» (orden suya, 05/10/2026, 20:38: «esto para todas
   las configuraciones de portátil en las que no caben las flechas como en base»): guardando con el cuadro del título la
   separación de la base (61 px entre el trazo de la flecha izquierda y el cuadro), que se cumple de 1.556 px de ancho en
   adelante. Por debajo no van a los lados (hasta entonces el corte estaba en 1.370 px y, de 1.370 a 1.433 px, la flecha
   izquierda caía sobre el cuadro): van junto a la línea de puntos (bloque «LAS FLECHAS, JUNTO A LA LÍNEA DE PUNTOS», detrás del
   botón de pausa). La base no cambia. */
@media (max-width:1555px){ .hero__f{display:none} }

/* LAS TRES RAYAS, CONTADAS POR SU TINTA Y NO POR SU CAJA */
@media (min-width:1370px){ .hdr .burger{margin-right:-9.2px} }

.hero__titulares{display:grid}

body:not(.pag-servicio) .hero__in,
body:not(.pag-servicio) .hero__body{pointer-events:none}
body:not(.pag-servicio) .hero__in a{pointer-events:auto}
.hero__titular{grid-area:1 / 1;opacity:0;pointer-events:none;transition:opacity 1.2s ease}

.hero__titular.is-visible{opacity:1}
.hero__titular.is-visible a{pointer-events:auto}

body:not(.pag-servicio) .hero__mas{transition:opacity 1.2s ease}

.hero__ir{

  position:absolute;left:0;top:var(--ir-firma,var(--ir-y,0px));margin:0;
  width:var(--hero-ir);height:var(--hero-ir)}

.hero__titular{position:relative;
  --hero-ir:calc(38px * 2 * .75);

  --hero-titulo:calc(var(--util) - 2 * (var(--pad) + var(--vertical-sangria)))}
.hero__ir svg{width:calc(17px * 2 * .75);height:calc(17px * 2 * .75)}

@media (hover:hover){.hero__ir:hover{background:var(--brand);border-color:var(--brand);color:#FFF;
  transform:translateX(8px)}}

.hero__pub{
  font-family:var(--serif);font-weight:300;font-style:normal;

  font-size:calc(54.4px * .75 + 2px);line-height:1.13;

  color:#000;

  width:var(--pub-ancho, var(--hero-titulo));
  max-width:var(--hero-titulo);
  text-wrap:balance;
  }

html.midiendo main{visibility:hidden}

/* LA PORTADA, ALINEADA CON LA CABECERA */

#servicios .secnom,
#equipo .secnom,
#publicaciones .secnom{
  font-family:var(--sans);font-weight:300;letter-spacing:0;font-size:32.6px}

.secnom{font-style:normal;text-underline-offset:.2em}

@media (min-width:1408px){

  body:not(.pag-servicio){--flecha-sale:111px}
}

@media (min-width:1690px){
  body:not(.pag-servicio) .carrpub__marco{max-width:none;width:var(--carrpub-ancho,auto)}
}

@media (min-width:1690px){

  body:not(.pag-servicio){--flecha-sale:calc(var(--sangria-minilogo) + var(--flecha-tinta))}

  body:not(.pag-servicio) .carrpub__f--der{
    right:calc(-1 * (var(--sangria-minilogo) + var(--flecha-tinta)))}
}

@media (min-width:1560px){
  body:not(.pag-servicio) #equipo .carr__ir,
  body:not(.pag-servicio) #colaboradores .carr__ir{margin-left:calc(var(--pad) + 40px + 24px)}
}

/* LA CABECERA DE LA FIRMA, alineada como la de la portada */


body.pag-firma #servicio{--corte-pub:0px;background-color:var(--papel-fondo)}
body.pag-firma .serv{overflow:hidden}

:root{
       --cuerpo-hero:18.24px;
       --ancho-hero:calc(70 * .65789 * var(--cuerpo-hero));


       --vertical-serv-raiz:calc(.75 * 341px);
       --sangria:calc(var(--vertical-serv-raiz) * .5372);

       --ancho-texto:770px}


body.pag-servicio:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones) #servicio .equipo__wrap{--hueco-rotulo:0px}

body.pag-servicio:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones) main > section > .wrap{margin-left:var(--sangria);margin-right:0}


/* FOTOGRAFÍA DE LA PÁGINA DE ÁREA */
body.pag-servicio .serv > .wrap{position:relative;z-index:2}

body.pag-servicio #servicio h1{margin-top:var(--titulo-baja)}

body.pag-publicacion #servicio h1,body.pag-publicaciones #servicio h1{
  margin-top:calc(var(--titulo-baja) + var(--luz-cabecera))}

body.pag-servicio #servicio .serv__texto{margin-top:calc(4 / 3 * clamp(30px,3.2vw,46px))}

body.pag-servicio .serv__foto,
body.pag-servicio #servicio:has(.serv__foto) h1,
body.pag-servicio #servicio:has(.serv__foto) .serv__texto{opacity:0;transition:opacity .28s ease}
body.pag-servicio.banda-lista .serv__foto,
body.pag-servicio.banda-lista #servicio:has(.serv__foto) h1,
body.pag-servicio.banda-lista #servicio:has(.serv__foto) .serv__texto{opacity:1}

body.pag-servicio .serv__foto{position:absolute;z-index:1;pointer-events:none;

  left:0;width:100%;

  --medida-banda:calc(var(--ancho-texto) / 3.6034 * 2 / 3);
  --alto-barra-img:calc(var(--medida-banda) * .75);
  height:var(--alto-barra-img);
  top:var(--foto-y, var(--corte,60%));transform:translateY(-50%)}


/* LOS APARTADOS DE LA PORTADA, ALINEADOS CON LA CABECERA */
@media (min-width:1461px){
  body:not(.pag-servicio) main > section.sec > .wrap{margin-left:var(--vertical-sangria);margin-right:0}


}


/* MARCAS DE AGUA DE LAS PUBLICACIONES */
body.pag-publicaciones #servicio{isolation:isolate}

body.pag-publicaciones .pub__rejilla{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:60px 28px}
body.pag-publicaciones .pub__rejilla .post[hidden]{display:none}
body.pag-publicaciones .pub__rejilla .post{
  position:relative;display:flex;background:#FFF;

  border:1px solid var(--line);border-radius:0 0 16px 16px;max-width:none;padding:0;
  transition:border-color .25s,box-shadow .25s}
@media (hover:hover){body.pag-publicaciones .pub__rejilla .post:hover{
  border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}}
body.pag-publicaciones .pub__rejilla .post > *{position:relative;z-index:2}

body.pag-publicaciones .pub__rejilla .post .post__meta{padding:26px 26px 0;border-top:6px solid var(--brand);border-radius:0;
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;min-width:0}
body.pag-publicaciones .pub__rejilla .post__date{font-size:15px;letter-spacing:.06em;color:#5F5A5F;
  flex:0 0 auto;white-space:nowrap;text-align:right}

body.pag-publicaciones .pub__rejilla .post__tag{padding:7.23px 11.63px;
  flex:0 1 auto;min-width:0;white-space:nowrap}
body.pag-publicaciones .pub__rejilla .post__pie{margin:17.48px 26px 22px;display:flex;
  align-items:center;justify-content:space-between;gap:12px}
body.pag-publicaciones .pub__rejilla .post .post__pie .more{margin:0}
body.pag-publicaciones .pub__rejilla .post__enlace{padding:14px 26px 0;text-decoration:none}
body.pag-publicaciones .pub__rejilla .post__enlace :is(h2,h3){
  margin:0 0 14px;font-family:var(--serif);font-weight:400;line-height:1.32;
  font-size:21.42px;color:var(--ink);-webkit-line-clamp:4;-webkit-box-orient:vertical;
  }
body.pag-publicaciones .pub__rejilla .post__enlace p{font-family:var(--sans);font-size:16.3125px;line-height:1.66;color:var(--muted);-webkit-line-clamp:8;-webkit-box-orient:vertical;}
body.pag-publicaciones .pub__rejilla .post .more{
  margin:17.48px 26px 22px;align-self:flex-start;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--brand);color:var(--brand);display:grid;place-items:center;
  transition:background .28s ease,color .28s ease,transform .28s ease}
@media (hover:hover){body.pag-publicaciones .pub__rejilla .post .more:hover .more__txt{text-decoration:none}}
body.pag-publicaciones .pub__rejilla .post .more .more__txt{font-size:0;line-height:0;letter-spacing:0}
body.pag-publicaciones .pub__rejilla .post .more .more__txt::after{
  content:"→";content:"→" / "";font-family:var(--sans);font-size:17px;line-height:1;letter-spacing:0}
body.pag-publicaciones .pub__rejilla .post .more::after{content:none}

@media (hover:hover){body.pag-publicaciones .pub__rejilla .post:hover .more{background:var(--brand);
  border-color:var(--brand);color:#FFF;transform:translateX(8px)}}
@media (hover:hover){body.pag-publicaciones .pub__rejilla .post .more:hover{background:var(--brand);
  border-color:var(--brand);color:#FFF}}


body.pag-publicaciones .pub-lista{padding-bottom:60px}
body.pag-publicaciones #paginas{display:none}

body.pag-publicaciones .pub-lista .wrap{position:relative}

.pub__pg-nums{display:contents}
.pub__paginacion{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:0 7.2px;margin-top:60px;

  width:var(--pubrel-ancho, min(1152px, 100%));max-width:none}
.pub__pg{border:0;background:none;padding:7.2px 12px;cursor:pointer;
  font-family:var(--menu);font-weight:300;font-size:19.8px;line-height:1;
  color:var(--brand-grey);display:inline-flex;align-items:center;gap:9.6px;
  transition:color .2s}
@media (hover:hover){.pub__pg:hover{color:var(--brand)}}
.pub__pg--n{min-width:38.4px;justify-content:center}

.pub__pg--n.is-activa{color:var(--brand);font-weight:400;cursor:default;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.pub__pg--salto{padding:7.2px 9.6px}

.pub__pg-hueco{font-family:var(--menu);font-weight:300;font-size:22.5px;line-height:1;
  color:var(--brand-grey);padding:7.2px 2px;display:inline-flex;align-items:center;cursor:default}
body.pag-publicaciones .pub__pg-hueco{color:#000}
.pub__pg svg{width:13.2px;height:21.6px;flex:none}
.pub__pg--salto svg{width:16.8px;height:21.6px}

body.pag-servicio .pubrel .pub__rejilla{grid-auto-flow:column;grid-auto-columns:calc((100% - 3*28px)/4);
  grid-template-columns:none;gap:28px;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;align-items:stretch}

body.pag-servicio .pubrel .wrap{position:relative}
/* EL APARTADO DE PUBLICACIONES RELACIONADAS ES EL DE LA PORTADA, SIN LA FOTOGRAFÍA */

@media (min-width:1408px){
  body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .pubrel > .wrap,
  body.pag-publicacion .pubrel > .wrap{
    margin-left:calc(var(--vertical-base) * var(--vertical-eje));margin-right:0;max-width:1280px}

  body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .rel > .wrap{
    margin-left:calc(var(--vertical-base) * var(--vertical-eje));margin-right:0;max-width:1280px}
}
body.pag-servicio .pubrel .pub__rejilla,
body.pag-publicaciones #listado{
  width:var(--pubrel-ancho, min(1152px, 100%));max-width:none}

body.pag-servicio .pubrel .post{
  position:relative;display:flex;background:#FFF;

  border:1px solid var(--line);border-radius:0 0 16px 16px;max-width:none;padding:0;
  scroll-snap-align:start;transition:border-color .25s,box-shadow .25s}
@media (hover:hover){body.pag-servicio .pubrel .post:hover{
  border-color:var(--brand-lt);box-shadow:0 6px 22px rgba(45,46,49,.07)}}
body.pag-servicio .pubrel .post > *{position:relative;z-index:2}

body.pag-servicio .pubrel .post .post__meta{padding:26px 26px 0;border-top:6px solid var(--brand);border-radius:0;
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:nowrap;min-width:0}
body.pag-servicio .pubrel .post__date{font-size:15px;letter-spacing:.06em;color:#5F5A5F;
  flex:0 0 auto;white-space:nowrap;text-align:right}

body.pag-servicio .pubrel .post__tag{padding:7.23px 11.63px;
  flex:0 1 auto;min-width:0;white-space:nowrap}

body.pag-servicio .pubrel .post__pie{margin:17.48px 26px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:12px}
body.pag-servicio .pubrel .post .post__pie .more{margin:0}
body.pag-servicio .pubrel .post__enlace{padding:14px 26px 0;text-decoration:none}
body.pag-servicio .pubrel .post__enlace :is(h2,h3){
  margin:0 0 14px;font-family:var(--serif);font-weight:400;line-height:1.32;
  font-size:21.42px;color:var(--ink);-webkit-line-clamp:4;-webkit-box-orient:vertical;
  }
body.pag-servicio .pubrel .post__enlace p{font-family:var(--sans);font-size:16.3125px;line-height:1.66;color:var(--muted);-webkit-line-clamp:8;-webkit-box-orient:vertical;}
body.pag-servicio .pubrel .post .more{
  margin:17.48px 26px 22px;align-self:flex-start;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--brand);color:var(--brand);display:grid;place-items:center;
  transition:background .28s ease,color .28s ease,transform .28s ease}

@media (hover:hover){body.pag-servicio .pubrel .post .more:hover .more__txt{text-decoration:none}}
body.pag-servicio .pubrel .post .more .more__txt{font-size:0;line-height:0;letter-spacing:0}
body.pag-servicio .pubrel .post .more .more__txt::after{
  content:"→";content:"→" / "";font-family:var(--sans);font-size:17px;line-height:1;letter-spacing:0}
body.pag-servicio .pubrel .post .more::after{content:none}

@media (hover:hover){body.pag-servicio .pubrel .post:hover .more{background:var(--brand-grey);
  border-color:var(--brand-grey);color:#FFF;transform:translateX(8px)}}
@media (hover:hover){body.pag-servicio .pubrel .post .more:hover{background:var(--brand);
  border-color:var(--brand);color:#FFF}}

body.pag-servicio .area-equipo .rel__titulo,
body.pag-servicio .pubrel .rel__titulo,
body.pag-servicio .pers-areas .rel__titulo,
body.pag-servicio .rel .rel__titulo{font-family:var(--sans);font-weight:300;letter-spacing:0;
  font-size:32.6px;color:var(--brand-grey);font-style:normal;text-decoration:none}

.pubrel__f{position:absolute;top:var(--pista-medio,50%);transform:translateY(-50%);z-index:4;
  width:34px;height:68px;border:0;background:none;padding:0;cursor:pointer;
  display:grid;place-items:center;color:var(--brand);
  transition:color .25s,transform .25s,opacity .25s}
.pubrel__f svg{width:34px;height:68px}

.pubrel__f--izq{left:max(calc(4px - var(--sangria)), calc(var(--pad) - 34px - var(--flecha-luz)))}
.pubrel__f--der{left:min(calc(100% - 38px),
  calc(var(--pad) + min(1152px, 100% - 2 * var(--pad)) + var(--flecha-luz)))}
@media (min-width:1408px){
  body.pag-servicio .pubrel__f--izq{
    left:max(calc(4px - var(--vertical-base) * var(--vertical-eje)),
             calc(var(--pad) - 34px - var(--flecha-luz)))}
}
@media (min-width:1690px){
  body.pag-servicio .pubrel__f--der{
    left:calc(var(--pad) + var(--pubrel-ancho, min(1152px, 100% - 2 * var(--pad)))
              + var(--flecha-luz))}
}
.pubrel__f[disabled]{color:var(--brand-grey);opacity:.55;cursor:default}
@media (hover:hover){.pubrel__f--izq:hover:not([disabled]){transform:translate(-5px,-50%)}}
@media (hover:hover){.pubrel__f--der:hover:not([disabled]){transform:translate(5px,-50%)}}
@media (hover:hover){.pubrel__f:hover:not([disabled]){color:var(--brand-dp)}}
.pubrel__f.se-esconde{display:none}


body.pag-publicaciones #servicio{
  --corte-pub:0px;
  padding-top:calc(var(--banda) + 60px - 90.65px + var(--luz-arriba-extra, 0px))}

@media (min-width:700px){ body.pag-publicaciones{--titulo-ciego:calc(.1488 * 33.6px)} }

body.pag-publicacion #servicio{
  --corte-pub:0px;

  padding-top:calc(var(--banda) + 60px - var(--titulo-baja) - var(--luz-cabecera))}

@media (min-width:1408px){

  body.pag-publicaciones main > section > .wrap{
    margin-left:calc(var(--vertical-base) * var(--vertical-eje));margin-right:0}
}

.serv__lista{list-style:none;
  display:grid;column-gap:28px}

.serv__lista a{display:inline-block;text-decoration:none;transform-origin:left center;
  font-family:var(--sans);font-weight:300;font-size:20.8px;line-height:1.9;
  color:#323235;transition:color .2s,transform .2s}

.serv__lista a:focus-visible{color:var(--brand);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:.18em;transform:scale(1.06)}
@media (hover:hover){.serv__lista a:hover{color:var(--brand);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:.18em;transform:scale(1.06)}}


body.pag-servicio h1,
body.pag-servicio h2,
body.pag-servicio h3,
body.pag-servicio p,
body.pag-servicio li,
body.pag-servicio em,
body.pag-servicio .serv__titulo,
body.pag-publicaciones h1,
body.pag-publicaciones h2,
body.pag-publicaciones p,
body.pag-publicaciones em,
body.pag-publicaciones .serv__titulo{
  font-style:normal}

/* LOS TÉRMINOS MARCADOS DEL TEXTO DE ÁREA, OTRA VEZ EN CURSIVA */
body.pag-servicio .serv__texto em{font-style:italic}

body.pag-publicacion .pub__cab h1 em{font-style:italic;color:inherit;font-weight:inherit}

/* EL GRANO EN LOS FONDOS PARTIDOS AL REVÉS */
body.pag-firma .serv::before,
body.pag-publicacion .serv::before,
body.pag-publicaciones .serv::before{height:var(--corte-pub);

  background-image:none}
body.pag-firma .serv::after,
body.pag-publicacion .serv::after,
body.pag-publicaciones .serv::after{display:block;content:"";position:absolute;
  left:0;right:0;top:var(--corte-pub);bottom:0;height:auto;
  background-color:transparent;background-image:var(--grano-papel);
  -webkit-mask:none;mask:none;pointer-events:none;z-index:0}

/* LA PÁGINA DE CADA PUBLICACIÓN, SUS FONDOS (orden suya, 07/10/2026, 18:52: «En las páginas de publicaciones, el apartado de la
   cabecera que contiene la foto y el resumen, con fondo blanco; el apartado de los títulos desplegables, con fondo papel; y el
   apartado de las publicaciones relacionadas, con fondo blanco»; vista la prueba, 18:59: «ok»; implantado la noche del
   07/10/2026). La cabecera (#servicio: la miga, el título, la foto y el resumen) va entera en blanco y sin grano —fuera el
   corte de blanco a papel de la regla de la página de publicaciones y el grano de su ::after—; el apartado de los títulos
   desplegables (.pub-texto), en el papel con su grano; y el de las publicaciones relacionadas (.sec.pubrel), en blanco, sin
   grano, aunque la página lo traiga sin la marca sec--alt. ESTE BLOQUE VA DETRÁS DE LA REGLA DEL GRANO DE AHÍ ARRIBA, que
   pinta el grano en ese mismo ::after y pesa lo mismo: a igual peso manda la última (corregido la noche del 08/10/2026, 01:55:
   puesto más arriba, el grano seguía saliendo sobre el blanco de la cabecera; lo vio repaso_limpio.py). */
body.pag-publicacion #servicio{background-color:var(--white);background-image:none;--grano-sec:none}
body.pag-publicacion .serv::after{background-image:none}
body.pag-publicacion .pub-texto{background-color:var(--papel-fondo);--grano-sec:var(--grano-papel)}
body.pag-publicacion .sec.pubrel:not(.sec--alt){background-color:var(--white);background-image:none;--grano-sec:none}

/* PÁGINAS DE ÁREA: LA MIGA, SU FRANJA BLANCA Y LA BANDA DEL TÍTULO */


body.pag-servicio:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones) .serv__foto::after{
  content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;
  background:#FFF;pointer-events:none}

/* EL CONTACTO EN GRANATE, CON LA TARJETA EN RECUADRO — EN TODAS LAS PÁGINAS */


#contacto .tarjeta__col p{
  text-align:left}

@media (hover:hover){body.pag-servicio:not(.pag-firma):not(.pag-publicaciones) .pubrel .post:hover .more{
  background:var(--brand);border-color:var(--brand);color:#FFF}}
@media (hover:hover){body.pag-servicio:not(.pag-firma):not(.pag-publicaciones) .pubrel .post .more:hover{
  background:var(--brand);border-color:var(--brand);color:#FFF}}

/* PRUEBA: EL CIERRE DE LA PÁGINA, EN UN SOLO BLOQUE GRANATE */

#contacto .ftr__barra{--pie-tinta:#BCBDC0;
  background:none;border:0;right:0;left:0;bottom:var(--pie-abajo,55px);pointer-events:none}

#contacto .ftr__barra .ftr__in{align-items:baseline;
  flex-wrap:nowrap;gap:0 12px;pointer-events:auto}


#contacto .ftr__barra .ftr__copy,
#contacto .ftr__barra .ftr__legal{white-space:nowrap}


#contacto .tarjeta__caja,
body.pag-servicio #contacto .tarjeta__caja{margin-top:0}

/* PRUEBA (páginas de área): CADA RÓTULO DEL TEXTO LARGO SE PLIEGA Y SE DESPLIEGA */
body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .serv__texto > h2{padding-right:44px;

  cursor:pointer}

@media (hover:hover){body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones)
  .serv__texto > h2:hover .serv__rot{
  text-decoration:underline;text-decoration-thickness:.5px;
  text-underline-offset:.22em;text-decoration-color:rgba(58,56,60,.55)}}

.serv__pliega{position:absolute;right:0;top:.625em;transform:translateY(-50%);
  font:inherit;display:grid;place-items:center;width:29px;height:29px;
  background:none;border:0;padding:0;cursor:pointer;color:var(--brand);
  transition:color .2s}
@media (hover:hover){.serv__pliega:hover{color:var(--brand-dp)}}
.serv__pliega svg{width:29px;height:29px;transition:transform .3s ease}
.serv__pliega[aria-expanded="true"] svg{transform:rotate(180deg)}

.serv__grupo{overflow:hidden;max-height:0;transition:max-height .45s cubic-bezier(.4,.1,.2,1)}
.serv__grupo.abierto{max-height:var(--alto-grupo,3000px)}

body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones)
  .serv__texto > h2{transition:margin-top .45s cubic-bezier(.4,.1,.2,1),
                               margin-bottom .45s cubic-bezier(.4,.1,.2,1)}

body.pag-servicio.pliega-montando:not(.pag-publicacion):not(.pag-publicaciones)
  .serv__texto > h2{transition:none}
body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones)
  .serv__grupo:not(.abierto) + h2{margin-top:calc(53.1px - clamp(26px,2.8vw,40px))}

/* PRUEBA (La firma): EL TÍTULO, COMO LOS RÓTULOS DE LA PORTADA, Y EL TEXTO UN PUNTO MAYOR */

body.pag-firma{--sangria-firma:43.68px}
body.pag-firma #servicio h1{
  font-family:var(--sans);font-size:32.6px;letter-spacing:0;text-underline-offset:.18em}


/* EL ÍNDICE DE PUBLICACIONES: TÍTULO, ETIQUETAS Y LUCES */
body.pag-publicaciones #servicio h1{
  font-family:var(--sans);letter-spacing:0;text-underline-offset:.18em}

body.pag-publicaciones #servicio{padding-bottom:var(--luz-abajo, var(--luz-abajo-0))}

body.pag-publicacion #servicio{padding-bottom:var(--luz-abajo, 60px)}


/* EL APARTADO DE ÁREAS DE PRÁCTICA DE UNA PERSONA */

body.pag-persona .pers-areas{padding-top:52px;padding-bottom:calc(60px - 16.5px)}

body.pag-persona .pers-areas > .wrap{margin-left:var(--vertical-sangria) !important;}

/* EL APARTADO DE EQUIPO QUE CIERRA LA PÁGINA DE PERSONA */

body.pag-persona{--flecha-sale:calc(var(--sangria-minilogo) + var(--flecha-tinta))}

body.pag-persona .pers-areas__lista{
  grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}

body.pag-persona .pers-areas .rel__titulo{margin-bottom:calc(60px - 21px)}

/* NINGUNA CAPA SOBRE EL BLANCO PURO — LAS PÁGINAS DE PERSONA */
body.pag-persona .serv::before,
body.pag-persona .serv::after{display:none}


/* LA FICHA DE PUBLICACIÓN, REDISEÑADA */
.carrpub__card,
body.pag-publicaciones .pub__rejilla .post,
body.pag-servicio .pubrel .post{

  --cuerpo-alto:459.3px;

  --img-alto:calc(var(--cuerpo-alto) * .375);
  --linea-res:27.08px;
  flex-direction:column}


.carrpub__card,
body.pag-publicaciones .pub__rejilla .post,
body.pag-servicio .pubrel .post{
  min-height:calc(var(--cuerpo-alto) + var(--img-alto));}
.carrpub__cuerpo{min-height:0;}

.carrpub__meta{margin-bottom:21px}
body.pag-publicaciones .pub__rejilla .post__enlace,
body.pag-servicio .pubrel .post .post__enlace{padding-top:21px}

.carrpub__res,
body.pag-publicaciones .pub__rejilla .post__enlace p,
body.pag-servicio .pubrel .post .post__enlace p{
  display:-webkit-box;-webkit-line-clamp:var(--rengl-res,4);-webkit-box-orient:vertical;

  overflow:hidden;min-height:0;flex:1 1 0;
  margin:0 0 calc(44.6px - var(--linea-res) * .75)}

body.pag-publicaciones .pub__rejilla .post .post__enlace,
body.pag-servicio .pubrel .post .post__enlace{display:flex;flex-direction:column;flex:1 1 0;
  min-height:0}

.carrpub__tit,
body.pag-publicaciones .pub__rejilla .post__enlace :is(h2,h3),
body.pag-servicio .pubrel .post .post__enlace :is(h2,h3){
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  min-height:0;
  /* el titular no encoge: con el espaciado del visitante se cortaba a media línea; cede el resumen, que se mide en
     líneas enteras (H6 de la auditoría 6, orden suya 01/10/2026) */
  flex-shrink:0;

  margin-bottom:calc(var(--linea-res) * .75)}

@media (hover:hover){.carrpub__card:hover .carrpub__tit,
body.pag-publicaciones .pub__rejilla .post:hover .post__enlace :is(h2,h3),
body.pag-servicio .pubrel .post:hover .post__enlace :is(h2,h3){
  text-decoration:underline;text-decoration-color:currentColor;
  text-decoration-thickness:from-font;text-underline-offset:.18em}}

body.pag-publicaciones .pub__rejilla .post .post__enlace,
body.pag-servicio .pubrel .post .post__enlace{position:static}
body.pag-publicaciones .pub__rejilla .post .post__enlace::after,
body.pag-servicio .pubrel .post .post__enlace::after{
  content:"";position:absolute;inset:0;z-index:1}

body.pag-publicaciones .pub__rejilla .post > .post__meta,
body.pag-publicaciones .pub__rejilla .post > .post__pie,
body.pag-servicio .pubrel .post > .post__meta,
body.pag-servicio .pubrel .post > .post__pie{z-index:auto}

body.pag-publicaciones .pub__rejilla .post .post__tag,
body.pag-publicaciones .pub__rejilla .post .more,
body.pag-servicio .pubrel .post .post__tag,
body.pag-servicio .pubrel .post .more{position:relative;z-index:3}


body.pag-publicaciones .pub__rejilla .post > .post__pie,
body.pag-servicio .pubrel .post > .post__pie{margin-top:auto}

.carrpub__card .pub__img,
body.pag-publicaciones .pub__rejilla .post .pub__img,
body.pag-servicio .pubrel .post .pub__img{flex:none;width:100%;height:var(--img-alto);
  object-fit:cover;object-position:center;

  position:relative;z-index:0}

.carrpub__card:has(.pub__img)::before,
body.pag-publicaciones .pub__rejilla .post:has(.pub__img)::before,
body.pag-servicio .pubrel .post:has(.pub__img)::before{display:none}


/* EL PIE DE FIRMA DE LAS PUBLICACIONES */

.serv__texto .pub__firma{display:flex;justify-content:flex-start;align-items:baseline;gap:0;
  margin:2.6em 0 0;border-top:0;padding-top:0;font-size:18.2px;letter-spacing:0;
  text-transform:uppercase;color:var(--brand)}

.serv__texto .pub__firma .s{margin:0 .5em;color:var(--brand)}

body.pag-publicacion .serv__texto .pub__firma{flex-wrap:wrap}
body.pag-publicacion .serv__texto .pub__firma .a + .s{display:none}
body.pag-publicacion .serv__texto .pub__firma .d{flex-basis:100%;text-align:left}

body.pag-publicacion .serv__texto .pub__firma a.a{text-decoration:none}
@media (hover:hover){body.pag-publicacion .serv__texto .pub__firma a.a:hover{text-decoration:underline;
  text-decoration-thickness:.5px;text-underline-offset:.22em}}

/* EL BLOQUE DE FILTROS DEL ÍNDICE DE PUBLICACIONES */

body.pag-publicaciones .pub__filtros{
  --canalon-pub:28px;
  column-gap:var(--canalon-pub);
  }


body.pag-publicaciones .pub__filtro.es-activa{
  background-color:var(--brand);color:#FFF;border-color:var(--brand)}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover{
  background-color:var(--brand);color:#FFF;border-color:var(--brand)}}
body.pag-publicaciones .pub__filtro[disabled]{
  color:#B9B9BD;border-color:#E7E6E4;background-color:#FAFAF9;background-image:none}


/* «VOLVER AL EQUIPO», EN LUGAR DEL ASPA, EN EL PANEL DE LA TRAYECTORIA */
@media (hover:hover){.modal--tray .tray__volver:hover::before{transform:translateX(-6px)}}

/* EL BOTÓN DE CONTACTO, FIJO ABAJO A LA DERECHA */
.fab{
  --sello-alto:calc(var(--banda) / 2 + var(--logo-alto) / 2);
  position:fixed;right:calc(var(--pad) / 2);bottom:calc(var(--pad) / 2);
  width:calc(var(--sello-alto) * 1.5);height:calc(var(--sello-alto) * 1.5);
  display:flex;align-items:center;justify-content:center;

  border-radius:50%;background:rgba(91,37,70,.62);color:#FFF;
  transition:background-color .25s}
.fab svg{width:44%;height:44%;display:block}
.fab:focus-visible{background:var(--brand)}
@media (hover:hover){.fab:hover{background:var(--brand)}}

.fab{transition:background-color .25s,opacity .3s,transform .3s}
.fab--fuera{opacity:0;transform:scale(.72);pointer-events:none}
/* de 700 px en adelante, el botón se aparta mientras una flecha de carrusel pasa por detrás (orden suya, 29/09/2026) */
.fab--aparta{opacity:0;transform:scale(.72);pointer-events:none}

/* LA PÁGINA DE CONTACTO */
body.pag-contacto,
body.pag-contacto #contacto-pagina{background-color:#FFF;background-image:none}

body.pag-contacto{--cont-x:calc((var(--pad) + var(--vertical-sangria)) / 2);
  --sangria:calc(var(--cont-x) - var(--pad))}

body.pag-contacto #contacto-pagina{padding-top:calc(var(--banda) + 60px - 54px)}
body.pag-contacto .cont__titulo{margin-top:46px;
  text-decoration:underline;text-underline-offset:6.52px}

body.pag-contacto #contacto-pagina h1{margin-bottom:-7.19px}
body.pag-talento #contacto-pagina h1{margin-bottom:-8.02px}

body.pag-contacto .cont__cuerpo{
  --luz-ciudad:60px;

  display:grid;grid-template-columns:max-content 1fr;column-gap:var(--cont-x);align-items:start;
  padding-inline:var(--cont-x)}


body.pag-contacto .cont__ciudad{font-family:"Source Sans 3",var(--sans);
  font-weight:300;font-size:33.6px;line-height:1.32;color:var(--ink);
  text-box:trim-both cap alphabetic;margin:var(--luz-ciudad,60px) 0 0}

body.pag-contacto .cont__datos{font-family:"Source Sans 3",var(--sans);font-style:normal;
  font-weight:300;font-size:25.7px;line-height:1.352;color:#1E1E20;margin:30px 0 0}

body.pag-contacto .cont__datos p.cont__dir{color:#55575C;margin-bottom:11px}
body.pag-contacto .cont__datos a{text-decoration:none}
@media (hover:hover){body.pag-contacto .cont__datos a:hover{text-decoration:underline;text-underline-offset:4px}}

body.pag-contacto #contacto-pagina{padding-bottom:60px}
body.pag-contacto .cont__mapa iframe{width:100%;height:100%;border:0;display:block}

/* LA PÁGINA DE CONTACTO CABE ENTERA EN LA VENTANA, y el mapa es quien cede */
body.pag-contacto #contacto-pagina{
  min-height:calc(100vh - var(--pie-alto,64px));
  display:flex;flex-direction:column}
body.pag-contacto .cont__cuerpo{flex:1 1 auto}
body.pag-contacto .cont__mapa{align-self:stretch;}


/* EL MENÚ, EN CORTINA A TODA LA PANTALLA */
.nav.is-open,.hdr:not(.is-stuck) .nav.is-open{
  left:0;right:0;width:auto;

  align-items:center;justify-content:flex-start;gap:clamp(10px,1.4vw,20px);

  padding:clamp(20px, calc(100vh - var(--banda) - 470px), 137.4px)
          var(--pad) clamp(30px,6vh,80px);

  background:color-mix(in srgb, var(--brand) 88%, transparent);
  animation-name:menu-baja}
@keyframes menu-baja{from{transform:translateY(-100%)}to{transform:none}}
.nav.is-open.se-va,.hdr:not(.is-stuck) .nav.is-open.se-va{animation-name:menu-sube}
@keyframes menu-sube{from{transform:none}to{transform:translateY(-100%)}}

.nav.is-open a{text-align:center;width:auto}
.nav.is-open .lang{margin-top:clamp(16px,2.4vh,34px)}

/* LA CORTINA, AFINADA */

@property --barra-scroll{syntax:"<length>";inherits:true;initial-value:0px}
body{--barra-scroll:calc(100vw - 100%)}
.fab{z-index:66}
.mark{transition:transform .42s cubic-bezier(.22,.61,.36,1)}

body.menu-abierto .mark{
  transform:translateX(calc(var(--util) / 2 - var(--barra-vert) - 50%))}

.hdr .nav.is-open a,
.hdr.is-stuck .nav.is-open a,
body.pag-servicio .hdr .nav.is-open a,body.pag-moreno .hdr .nav.is-open a{

  font-size:clamp(20px, 4.6vh, 34.73px)}

@keyframes menu-elemento{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.nav.is-open > a,.nav.is-open > .lang{
  animation:menu-elemento .34s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(.28s + var(--orden, 0) * .045s)}
.nav.is-open > a:nth-child(1){--orden:0}
.nav.is-open > a:nth-child(2){--orden:1}
.nav.is-open > a:nth-child(3){--orden:2}
.nav.is-open > a:nth-child(4){--orden:3}
.nav.is-open > a:nth-child(5){--orden:4}
.nav.is-open > a:nth-child(6){--orden:5}
.nav.is-open > .lang{--orden:6}

.nav.is-open.se-va > a,.nav.is-open.se-va > .lang{animation:none;opacity:1;transform:none}

.nav.is-open a{text-decoration-thickness:1px;text-underline-offset:.14em}
@media (hover:hover){.nav.is-open a:hover,.hdr.is-stuck .nav.is-open a:hover,
body.pag-servicio .hdr .nav.is-open a:hover,body.pag-moreno .hdr .nav.is-open a:hover{
  color:#FFF;text-decoration-color:rgba(255,255,255,.85)}}

/* EL ICONO DE LAS TRES RAYAS, IGUALADO Y UN 50% MAYOR */
.burger{display:flex;flex-direction:column;justify-content:center;gap:11px}
.burger span{width:33px;height:2px;margin:0}
.burger.is-open span:nth-child(1){transform:translateY(13px) rotate(45deg)}
.burger.is-open span:nth-child(3){transform:translateY(-13px) rotate(-45deg)}

/* LA BARRA: ABOGADOS EN NEGRO, Y EN NEGRO LA BARRA AL BAJAR */

.hdr.is-stuck{background:var(--barra-granate)}

.hdr.is-stuck ~ .fab{background:rgba(91,37,70,.62)}
.hdr.is-stuck ~ .fab:focus-visible{background:var(--brand)}
@media (hover:hover){.hdr.is-stuck ~ .fab:hover{background:var(--brand)}}

/* EL BLOQUE DE FILTROS, RECOMPUESTO */
body.pag-publicaciones .pub__filtros{

  width:max-content;
  row-gap:0}

body.pag-publicaciones .pub__filtro-n{display:none}

body.pag-publicaciones .pub__filtro{font-weight:300;background:none;border:0;border-radius:0;padding:0;height:auto;

  text-transform:none;letter-spacing:normal;white-space:normal;justify-content:flex-start;
  transition:color .2s}

body.pag-publicaciones .pub__filtro::before{
  content:"";flex:none;width:.72em;height:.72em;
  background:#FFF;border:1px solid var(--brand-grey);
  transition:background-color .2s,border-color .2s}

body.pag-publicaciones .pub__filtro.es-activa{background:none}
body.pag-publicaciones .pub__filtro.es-activa::before{
  background:var(--brand);border-color:var(--brand)}

@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover{
  color:var(--brand);background:none;border-color:transparent}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):hover::before{border-color:var(--brand)}}

body.pag-publicaciones .pub__filtro[disabled]{
  color:#B9B9BD;background:none;cursor:not-allowed}
body.pag-publicaciones .pub__filtro[disabled]::before{
  background:#FAFAF9;border-color:#DDDCDA}

body.pag-publicaciones .pub__filtro-n{margin-left:auto;font-size:.62em;opacity:.55}

body.pag-publicaciones .pub__filtro .pub__filtro-txt,
body.pag-publicaciones .pub__filtro .pub__filtro-n{text-box:normal}

/* EL CIERRE, EN NEGRO */
#contacto{--pie-alto:64px;
  background-repeat:no-repeat;
  background-size:100% calc(100% - var(--pie-alto))}

#contacto .ftr__barra{
  position:static;margin:0;height:var(--pie-alto);
  display:flex;align-items:center;

  background-color:color-mix(in srgb, var(--brand) 12%, rgba(0,0,0,.9))}


/* LA TARJETA DEL CIERRE SE FUNDE CON EL APARTADO */
#contacto .tarjeta__datos{justify-content:flex-start;font-size:3.729cqw}
#contacto .tarjeta__col{max-width:100%}
#contacto .tarjeta__col p,#contacto .tarjeta__col a{color:#FFF}

/* LA TARJETA DEL CIERRE, SIN LA COLUMNA DE SECCIONES */

#contacto .hero__tarjeta{padding:62px 0 var(--pie-abajo-menu,60px)}


#contacto .equipo__cuerpo{position:relative}

#contacto .equipo__cuerpo{min-height:var(--menu-pie-alto,0px)}

#contacto .cont__menu{
  position:absolute;top:var(--menu-pie-y,0px);left:var(--menu-pie-x,50%);
  display:flex;flex-direction:column;gap:.42em;
  font-family:var(--menu);font-weight:300;font-size:20.7px;line-height:1.62;
  color:rgba(255,255,255,.88)}

/* EL ENLACE «CUÉNTANOS TU EXPERIENCIA» EN EL CIERRE */
#contacto .cont__exp{position:absolute;right:var(--exp-x,6px);top:var(--exp-y,0px);

  margin-top:0;white-space:nowrap;color:#BCBDC0;

  --exp-lado:der}

@media (min-width:700px) and (max-width:1199px){
  #contacto .cont__exp{left:0;right:auto;--exp-lado:izq}
}

#contacto .cont__menu a{text-decoration:none;width:max-content}
@media (hover:hover){#contacto .cont__menu a:hover{
  text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:rgba(255,255,255,.85);text-underline-offset:.2em}}

/* «BARCELONA» EN LUGAR DEL LOGOTIPO */

#contacto .tarjeta__ciudad{font-style:normal;
  font-size:33.6px;line-height:1.32;
  text-box:trim-both cap alphabetic;}

/* LA LÍNEA DEL PIE, REPARTIDA */
#contacto .ftr__barra .ftr__in{justify-content:space-between}


#equipo #people{--pie-alto:0px}
#equipo .ficha--retrato{--ret-prop:3/4;perspective:none}
#equipo .ret{position:relative;display:block;width:100%;aspect-ratio:var(--ret-prop);
  overflow:hidden;background:#0A0A0A;border:1px solid #DFDEDB}
#equipo .ret__foto{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;transition:opacity .45s ease}
#equipo .ret__foto--color{opacity:0}
@media (hover:hover){#equipo .ficha--retrato:hover .ret__foto--color{opacity:1}}
@media (hover:hover){#equipo .ficha--retrato:hover .ret__foto--bn{opacity:0}}

#equipo .ficha--retrato,
#equipo .ficha--retrato.is-vuelta{transform:none}
@media (hover:hover){#equipo .ficha--retrato:hover{transform:none}}

#equipo .ret__nombre{position:absolute;left:0;right:0;bottom:0;z-index:2;
  font-family:var(--sans);font-weight:400;color:#FFF;
  font-size:16.5px;line-height:1.25;
  padding:41px 12px 12px;text-align:center;
  /* EL SOMBREADO DEL NOMBRE (H4 de la auditoría 6, orden suya 01/10/2026): llega a negro al 55 % ANTES del primer
     renglón, para que el blanco destaque al menos 4,5 : 1 sobre cualquier foto, aunque la ropa sea blanca del todo;
     las paradas van en px desde arriba, así que valen aunque el nombre ocupe dos renglones. Antes: relleno de
     arriba 15 px menor y el 55 % al 62 % del alto. Al dar de alta a una persona, dar_de_alta_persona.py lo
     comprueba con comprobar_nombres_fotos.py y, si una foto no llegara, oscurece él solo (orden suya). */
  background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.08) 14px,rgba(0,0,0,.25) 24px,rgba(0,0,0,.55) 38px,rgba(0,0,0,.72) 100%)}

/* EL IDIOMA, EN SIGLAS: ES | CAT | EN */
.lang{display:flex;align-items:baseline;justify-content:center;
  font-family:var(--menu);letter-spacing:.012em}
/* las siglas son ENLACES (H9, orden suya 30/09/2026): los !important las blindan frente a las
   reglas generales de los enlaces del panel (el tamaño por altura de ventana, rellenos y filetes,
   y el subrayado al 85 % al señalar), que no deben alcanzarlas */
.nav .lang .lang__sigla{background:none;border:0!important;cursor:pointer;padding-block:0!important;
  font:inherit;font-size:inherit!important;letter-spacing:normal!important;color:#FFF;text-transform:uppercase;
  text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:transparent!important;
  text-underline-offset:.14em;transition:color .2s,opacity .2s,text-decoration-color .2s}
.nav .lang .lang__sigla[aria-current]{text-decoration-color:currentColor!important}
@media (hover:hover){.nav .lang .lang__sigla:hover{text-decoration-color:currentColor!important}}
.lang__bar{color:#C9C6C2;margin:0 .5em;user-select:none}

.nav.is-open .lang{font-family:var(--menu);font-weight:300;font-size:24.31px;line-height:1.2}


#contacto .ftr__barra{

  background-color:var(--negro-casa)}


body.pag-firma{


  --firma-texto-off:var(--sangria-firma)}

body.pag-firma #servicio > .wrap .serv__texto{
  margin-left:var(--firma-texto-off);
  margin-top:44px}

/* LAS PÁGINAS DE CADA PERSONA DEL EQUIPO */
body.pag-persona #persona{background-color:#FFF;background-image:none}
body.pag-persona #persona::before{display:none}
body.pag-persona{--cont-x:calc((var(--pad) + var(--vertical-sangria)) / 2);
  --sangria:calc(var(--cont-x) - var(--pad))}


body.pag-persona.pag-sin-tray #persona{padding-bottom:60px}


body.pag-persona .pers__cuerpo,
body.pag-indice-equipo .eqidx__fila{
  display:grid;grid-template-columns:264px 1fr;align-items:start;

  column-gap:129.5px;
  margin-left:calc(var(--pad) + var(--vertical-sangria) - var(--cont-x));
  margin-top:55.4px}
body.pag-persona .pers__foto{width:264px;height:352px;overflow:hidden}

body.pag-persona .pers__foto img{width:100%;height:100%;object-fit:cover;}

body.pag-persona .pers__nombre,
body.pag-indice-equipo .eqidx__fila .pers__nombre{
  font-family:var(--serif);font-style:normal;font-weight:300;
  font-size:46.4px;line-height:1.16;color:var(--ink);
  text-box:trim-both cap alphabetic;}
/* EL NOMBRE, EN EL ÍNDICE DE EQUIPO, LLEVA A LA FICHA: se subraya al señalarlo */
.pers__nombre-enlace{text-decoration:none}
@media (hover:hover){.pers__nombre-enlace:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}}

body.pag-persona .pers__cargo,
body.pag-indice-equipo .eqidx__fila .pers__cargo{
  font-family:var(--sans);font-style:normal;font-weight:300;letter-spacing:0;
  font-size:25.5px;line-height:1.32;
  text-transform:none;color:var(--brand-grey);
  text-box:trim-both cap alphabetic;margin:22px 0 0}

body.pag-persona .pers__datos,
body.pag-indice-equipo .eqidx__fila .pers__datos{
  list-style:none;margin:60px 0 0;
  display:flex;flex-direction:column;gap:14px;
  font-family:var(--sans);font-weight:400;font-size:18px;color:var(--ink)}
body.pag-persona .pers__datos li,
body.pag-indice-equipo .eqidx__fila .pers__datos li{display:flex;align-items:center;gap:16px}
body.pag-persona .pers__datos svg,
body.pag-indice-equipo .eqidx__fila .pers__datos svg{width:22px;height:22px;flex:none;color:var(--brand)}
body.pag-persona .pers__datos a,
body.pag-indice-equipo .eqidx__fila .pers__datos a{text-decoration:none}
@media (hover:hover){body.pag-persona .pers__datos a:hover,
body.pag-indice-equipo .eqidx__fila .pers__datos a:hover{text-decoration:underline;text-underline-offset:4px}}

body.pag-persona .pers__datos li.pers__in,
body.pag-indice-equipo .eqidx__fila .pers__datos li.pers__in{align-items:baseline}
body.pag-persona .pers__datos li.pers__in svg,
body.pag-indice-equipo .eqidx__fila .pers__datos li.pers__in svg{transform:translateY(calc(22px * 2.5 / 24))}

body.pag-persona .pers__raya{border:0;border-top:1px solid var(--line);margin:52px 0 0}

body.pag-persona .pers__tray{max-width:770px;margin-top:54px;text-align:justify}

body.pag-persona .pers__tray p{
  font-family:var(--menu);font-weight:355;line-height:1.62;
  color:var(--ink);margin:0 0 1.1em}
body.pag-persona .pers__tray p:last-child{margin-bottom:0}
body.pag-persona .pers__tray .tray__nombre{color:var(--ink)}

#equipo .ret__enlace{display:block;text-decoration:none}


/* LA BARRA DEL PIE EN LA PÁGINA DE CONTACTO */
body.pag-contacto .cont__barra{

  margin-top:0}
body.pag-contacto .cont__barra .ftr__in{flex-wrap:nowrap}


/* EL RECORTE DEL RESUMEN DE UNA FICHA — QUE NO SE VEA NINGUNA LÍNEA PARTIDA */
.carrpub__res,
body.pag-publicaciones .pub__rejilla .post__enlace p,
body.pag-servicio .pubrel .post__enlace p{

  display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:var(--rengl-res, 99);
  overflow:hidden}

body.pag-publicaciones .pub__rejilla .post__enlace p,
body.pag-servicio .pubrel .post__enlace p,
.carrpub__res{
  flex:0 0 auto !important;margin-top:auto !important;
  height:calc(var(--rengl-res, 6) * 1lh) !important}

.carrpub__cuerpo{flex:1 1 0 !important}

.carrpub__pie{margin-top:0}


/* LOS DATOS DEL CIERRE, EN LA LETRA DEL MENÚ DE SECCIONES */
#contacto .tarjeta__col p:not(.tarjeta__ciudad),
#contacto .tarjeta__col p:not(.tarjeta__ciudad) a{
  font-family:var(--menu);font-weight:300;font-size:19.7px}

#contacto .tarjeta__col p.tarjeta__ciudad + p{font-size:25.7px}

#contacto .tarjeta__col p a[href^="tel"]{font-size:25.7px}

#contacto .tarjeta__ciudad{font-family:var(--menu);font-weight:300}

body.pag-firma #servicio h1{text-decoration:none}


/* «TALENTO» EN LOS DOS MENÚS, SIN QUE SE MUEVAN LOS EXTREMOS */
#contacto .cont__menu{row-gap:0.222px}

.nav.is-open,.hdr:not(.is-stuck) .nav.is-open{row-gap:calc(3.066px * var(--menu-aprieta,1))}

/* «EQUIPO ASIGNADO A …», EL ÚLTIMO APARTADO DE LAS PÁGINAS DE ÁREA */


body.pag-servicio .area-equipo .rel__titulo{margin-bottom:39px}


/* EL MENÚ DEL CIERRE ENTRA POR LA IZQUIERDA */
#contacto .cont__menu--entra a{opacity:0}
#contacto .cont__menu--entra.is-dentro a{
  animation:cont-menu-elemento .34s cubic-bezier(.16,1,.3,1) both;
  animation-delay:calc(.28s + var(--orden, 0) * .045s)}
#contacto .cont__menu--entra.is-dentro a:nth-child(1){--orden:0}
#contacto .cont__menu--entra.is-dentro a:nth-child(2){--orden:1}
#contacto .cont__menu--entra.is-dentro a:nth-child(3){--orden:2}
#contacto .cont__menu--entra.is-dentro a:nth-child(4){--orden:3}
#contacto .cont__menu--entra.is-dentro a:nth-child(5){--orden:4}
#contacto .cont__menu--entra.is-dentro a:nth-child(6){--orden:5}
@keyframes cont-menu-elemento{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  #contacto .cont__menu--entra a{opacity:1}
  #contacto .cont__menu--entra.is-dentro a{animation:none}
}

body.pag-servicio .serv__grupo p{font-size:var(--cuerpo-grupo)}


/* LOS RÓTULOS DE APARTADO, EN NEGRO */
body.pag-servicio .pubrel .rel__titulo,
body.pag-servicio #relacionados .rel__titulo,
body.pag-servicio .area-equipo .rel__titulo,
body.pag-persona .pers-areas .rel__titulo{
  color:color-mix(in srgb, var(--brand-grey) 75%, #000)}


/* LA PAGINACIÓN DE LAS PUBLICACIONES */
.pub__paginacion .pub__pg{font-size:22.5px}

/* EL MENÚ CORTINA NO SEÑALA DÓNDE ESTAMOS: NINGÚN ELEMENTO SALE SUBRAYADO */
@media (hover:hover){body .hdr .nav a[aria-current]:not(:hover),
body .hdr .nav.is-open a[aria-current]:not(:hover){text-decoration-color:transparent}}

#equipo{--rot-baja:21.04px}
#publicaciones{--rot-baja:20.04px}

/* LA PÁGINA «Aviso legal, privacidad y cookies» */

body.pag-legal #servicio{background-color:#FFF;background-image:none;--grano-sec:none}

body.pag-legal:not(.pag-404) #servicio{padding-top:calc(var(--banda) + 60px - 54px)}
body.pag-legal #servicio::before{display:none}

body.pag-legal{min-height:100vh;display:flex;flex-direction:column}
body.pag-legal main{flex:1 0 auto}

body.pag-legal .serv__texto h2{font-family:var(--sans);top:-.125em;
  margin-bottom:calc(clamp(26px,2.8vw,40px) - .5px)}
body.pag-legal .serv__texto .doc__tm{color:var(--ink);font-weight:400;
  margin-top:1.7em;margin-bottom:.55em}
body.pag-legal .serv__texto .serv__grupo > .doc__tm:first-child{margin-top:.2em}

body.pag-legal .serv__texto .vs{font-size:.88em;letter-spacing:.01em}

/* LA LUZ DE LA MIGA AL TÍTULO, LA DE CONTACTO */
body.pag-legal #servicio h1{margin-top:46px}

/* LA PÁGINA DE «NO ENCONTRADO»: EL TEXTO, CENTRADO A LO ALTO DEL BLANCO */
body.pag-404 main{display:flex;flex-direction:column;justify-content:center;

  padding-top:var(--banda)}

body.pag-404 #servicio{padding-top:61.53px;padding-bottom:60px}
body.pag-404 #servicio h1{margin-top:0}

body.pag-404 #servicio .equipo__cuerpo{text-box:trim-both cap alphabetic}

/* LA PÁGINA DE QUIEN NO AUTORIZA EL USO DE SU IMAGEN */
body.pers-sin-imagen .pers__cuerpo{grid-template-columns:1fr}

body.pag-persona.pers-sin-imagen #persona{padding-bottom:50.84px}

/* EL MAPA DE LA PÁGINA DE CONTACTO: A 60 DEL TELÉFONO Y A 60 DE LA BARRA NEGRA (en la base); SE ENSEÑA AL PULSAR «VER EL MAPA» */
body.pag-contacto .cont__texto{position:relative}

/* LA PÁGINA DE CONTACTO YA SALE COLOCADA EN EL PRIMER CUADRO */
@media (min-width:1901px){

  body.pag-contacto{--cont-caja-x:95.51px;
    --mapa-ancho:calc((var(--medio-util) - var(--cont-caja-x)) * .9)}
  /* DESDE EL 28/09/2026 (orden suya): el mapa acaba a 60 de «Cuéntanos tu experiencia», que va a 60
     de la barra negra, y «Enviar» también a 60: el mapa 56,23 más corto y la consulta 28,11 más
     corta que antes. */
  body.pag-contacto .cont__mapa{
    --mapa-y:277.67px;
    --mapa-h:max(240px, 100vh - 571.12px);
    --mapa-w:var(--mapa-ancho)}
  body.pag-contacto .cont__ver{--ver-y:273.67px}

  body.pag-contacto:not(.pag-talento) .cont__form{--form-y:-32.33px}
  body.pag-talento .cont__form{--form-y:-31.5px}

  body.pag-contacto:not(.pag-talento) #f-consulta{height:max(132px, 100vh - 571.14px)}
  html[lang="en"] body.pag-contacto:not(.pag-talento) #f-consulta{height:max(132px, 100vh - 547.95px)}
  body.pag-talento #f-consulta{height:max(132px, 100vh - 611.95px)}
}
body.pag-contacto .cont__mapa{
  position:absolute;left:0;top:var(--mapa-y,0px);
  width:var(--mapa-w,100%);height:var(--mapa-h,240px);
  margin-top:0;min-height:0;
  transition:top .45s cubic-bezier(.4,.1,.2,1),height .45s cubic-bezier(.4,.1,.2,1)}

body.pag-contacto.mapa-montando .cont__mapa{transition:none}

/* «VER EL MAPA», A 60 DE LA TINTA DEL TELÉFONO, EN EL SITIO DEL MAPA: el recuadro del mapa no se ve hasta
   que se pulsa el enlace; entonces aparece el mapa —arranca a 60 del teléfono, donde el enlace, y acaba donde
   acababa— y el enlace desaparece; el mapa siempre a su tamaño, sin agrandarse */
body.pag-contacto .cont__ver{position:absolute;left:0;top:var(--ver-y,213.67px);margin:0;line-height:1.2}
body.pag-contacto .cont__ver-btn{background:none;border:0;padding:0;margin:0;font:inherit;
  cursor:pointer;display:inline-flex;align-items:baseline;color:var(--brand)}
body.pag-contacto .cont__ver-txt{
  font-family:var(--sans);font-weight:300;font-size:23.8px;line-height:1.2;
  color:var(--brand);letter-spacing:0;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;
  text-decoration-color:transparent;transition:text-decoration-color .2s}
body.pag-contacto .cont__ver-btn::after{content:"\00a0\00a0→";content:"\00a0\00a0→" / "";font-family:var(--sans);
  font-size:22px;color:var(--brand)}
body.pag-contacto .cont__ver-btn:focus-visible .cont__ver-txt{text-decoration-color:currentColor}
@media (hover:hover){body.pag-contacto .cont__ver-btn:hover .cont__ver-txt{text-decoration-color:currentColor}}
body.pag-contacto .cont__mapa{visibility:hidden}
body.pag-contacto .cont__mapa.a-la-vista{visibility:visible}
body.pag-contacto .cont__ver--fuera{visibility:hidden}

@media (max-width:699px){
  body.pag-contacto .cont__ver{--ver-y:192.13px}
  body.pag-contacto .cont__ver-txt{font-size:19px}
  body.pag-contacto .cont__ver-btn::after{font-size:17.6px}
}


/* EL FORMULARIO DE CONTACTO, EN LA MITAD DERECHA */


body.pag-contacto #contacto-pagina::before{display:block;
  left:var(--medio-util);width:var(--medio-util);right:auto;bottom:0;height:auto;
  background-color:var(--papel-fondo);}
body.pag-contacto #contacto-pagina > .wrap,
body.pag-contacto .cont__cuerpo{position:relative;z-index:1}

body.pag-contacto{--form-luz:90px}
body.pag-contacto .cont__form{
  position:absolute;top:var(--form-y,0px);

  left:calc(var(--medio-util) + var(--form-luz));right:auto;
  width:calc(var(--medio-util) - var(--form-luz) - var(--cont-x));
  display:flex;flex-direction:column;gap:11px;background:none}

body.pag-contacto .form__campo:has(> #f-email),
body.pag-contacto .form__campo:has(> #f-consulta),
body.pag-contacto .form__campo:has(> .form__adjunta),
body.pag-contacto .form__pie{margin-top:11px}
/* el recambio sin :has() para navegadores antiguos (H17, orden suya 30/09/2026): la misma luz, por el orden */
body.pag-contacto .form__campo + .form__campo{margin-top:11px}


body.pag-contacto .form__oculto{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}

.solo-se-oye{position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap}

body.pag-contacto .form__trampa{position:absolute;left:-9999px;top:auto;
  width:1px;height:1px;overflow:hidden}

body.pag-contacto .form__caja{
  width:100%;
  background:#FFF;border:1px solid var(--brand);border-radius:3px;
  padding:11px 14px;font-family:var(--sans);font-weight:400;font-size:16.5px;color:#2A282D;
  transition:border-color .2s,box-shadow .2s}
/* EL CAMPO EN EL QUE SE ESCRIBE, CON BORDE GRANATE DE 1 PX (H7 de la auditoría 6, orden suya 01/10/2026): antes, un
   halo granate al 16 % que no se distinguía del fondo (1,03 : 1) */
body.pag-contacto .form__caja:focus{outline:0;border-color:var(--brand);
  box-shadow:none}   /* con el borde gris del H12, el propio borde se vuelve granate (antes, un aro de 1 px por fuera) */
body.pag-contacto .form__caja--alto{min-height:132px;resize:vertical;line-height:1.5}

body.pag-contacto .form__adjunta{
  display:flex;align-items:center;gap:.6em;cursor:pointer;color:var(--brand-grey);

  line-height:20px}

body.pag-contacto .form__clip{display:block;width:1.2em;height:1.2em;flex:0 0 auto}

body.pag-contacto .form__adjunta.tiene{color:#2A282D}

body.pag-contacto .form__caja--mal{border-color:var(--brand-dp);
  box-shadow:0 0 0 2px rgba(91,37,70,.16)}
/* Y EL RÓTULO DEL CAMPO QUE FALLA, EN GRANATE (auditoría 1, hallazgo 13, elegido el 28/09/2026) */
body.pag-contacto .form__campo:has(> .form__caja--mal) .form__rotulo,
body.pag-contacto .form__adjunta.form__caja--mal{color:var(--brand-dp)}

body.pag-contacto .form__aviso{font-family:var(--sans);font-weight:400;font-size:14.5px;
  line-height:1.6;color:#55575C;text-align:justify}

body.pag-contacto .form__aviso a{text-decoration:underline;
  text-decoration-color:currentColor;text-decoration-thickness:.75px;
  text-underline-offset:3px;transition:color .2s}
body.pag-contacto .form__aviso a:focus-visible{color:var(--brand)}
@media (hover:hover){body.pag-contacto .form__aviso a:hover{color:var(--brand)}}
body.pag-contacto .form__aviso .vs{font-size:.88em;letter-spacing:.01em}

body.pag-contacto .form__gracias{margin:0;font-family:var(--sans);font-weight:400;
  font-size:14.5px;line-height:1.6;color:#2F6B4E;text-align:justify}

/* LA FRASE DE AL LADO DE «ENVIAR →», CENTRADA A LA TINTA CON EL BOTÓN (orden suya, 28/09/2026):
   el centro de la tinta de la frase, en el centro de la tinta de «Enviar →». Con las cajas centradas
   la tinta queda 0,23 px alta: se baja. En el móvil la frase va debajo del botón y no cuenta. */
body.pag-contacto .form__pie{display:flex;align-items:center;gap:22px}

body.pag-contacto .form__aviso--pie{text-align:left;position:relative;top:.23px}

body.pag-contacto .form__gracias{color:#2F6B4F}

body.pag-contacto .form__gracias{color:#2F6B4F}

body.pag-contacto .form__gracias.form__gracias--error{color:var(--brand)}

body.pag-contacto .form__adjunta:has(#f-cv:focus-visible){
  outline:2px solid var(--brand);outline-offset:3px;border-radius:3px}

body.pag-contacto .form__campo{position:relative}

body.pag-contacto .form__campo > :is(input,textarea).form__caja{display:block;}
body.pag-contacto .form__rotulo{
  position:absolute;left:0;top:0;bottom:0;display:flex;align-items:center;
  padding-left:14px;font-family:var(--sans);font-weight:400;font-size:16.5px;
  line-height:1.5;color:var(--brand-grey);pointer-events:none}
body.pag-contacto #f-nombre{padding-left:calc(14px + 9.93em)}
body.pag-contacto #f-email{padding-left:calc(14px + 3.63em)}
/* EN CATALÁN Y EN INGLÉS EL RÓTULO MIDE OTRA COSA y lo escrito ha de empezar donde en español: a
   0,6 em (9,9 px) del final del rótulo (error visto por él el 28/09/2026: en catalán, lo escrito en
   el correo se montaba encima de «Correu electrònic*»). */
html[lang="ca"] body.pag-contacto #f-nombre{padding-left:calc(14px + 8.176em)}
html[lang="ca"] body.pag-contacto #f-email{padding-left:calc(14px + 8.964em)}
html[lang="en"] body.pag-contacto #f-nombre{padding-left:calc(14px + 9.873em)}

body.pag-contacto .form__campo:has(> textarea) .form__rotulo{
  bottom:auto;align-items:flex-start;padding-top:11px;
  background:#FFF;border-top-left-radius:3px}
/* el recambio sin :has(): el mismo rótulo, señalado por su «for» (H17, orden suya 30/09/2026) */
body.pag-contacto .form__rotulo[for="f-consulta"]{
  bottom:auto;align-items:flex-start;padding-top:11px;
  background:#FFF;border-top-left-radius:3px}
body.pag-contacto textarea.form__caja{padding-top:calc(11px + 1.5em)}

body.pag-contacto .form__nota{
  position:absolute;right:0;top:calc(100% + 6px);
  font-family:var(--sans);font-weight:400;font-size:14.5px;line-height:1.6;color:#55575C}

/* EL BOTÓN DE ENVIAR: «Enviar →», en la letra de «Cuéntanos tu experiencia →» */
body.pag-contacto .form__enviar{
  flex:none;display:inline-flex;align-items:center;gap:10px;border:0;
  background:none;color:var(--brand);cursor:pointer;
  font-family:var(--sans);font-weight:300;font-size:23.8px;line-height:1.25;
  letter-spacing:0;text-transform:none}
body.pag-contacto .form__enviar::after{content:"→";content:"→" / "";font-family:var(--sans);font-size:22px;
  transition:transform .25s}
@media (hover:hover){body.pag-contacto .form__enviar:hover::after{transform:translateX(6px)}}
body.pag-contacto .form__enviar:focus-visible .form__enviar-txt{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media (hover:hover){body.pag-contacto .form__enviar:hover .form__enviar-txt{
  text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
body.pag-contacto .form__enviar:disabled{cursor:default;opacity:.55}
/* mientras se envía, «no disponible» en vez de desactivado, con el mismo aspecto (H10 de la auditoría 6) */
body.pag-contacto .form__enviar[aria-disabled="true"]{cursor:default;opacity:.55}

/* LA PORTADA: EL APARTADO DE ÁREAS DE PRÁCTICA, REHECHO */
body:not(.pag-servicio) #servicios > .wrap{
  max-width:none;margin-left:0;margin-right:0;

  padding-left:calc(var(--pad) + var(--vertical-sangria));
  padding-right:calc(var(--pad) + var(--vertical-sangria))}
body:not(.pag-servicio) #servicios .equipo__wrap{--hueco-rotulo:0px;display:block}

body:not(.pag-servicio) #servicios .secnom{text-decoration:none}

body:not(.pag-servicio) #servicios{position:relative}


body:not(.pag-servicio) #servicios > .wrap{position:relative;z-index:1}

/* LAS PÁGINAS DE PUBLICACIÓN: EL FONDO DE LO RELACIONADO Y LA FIRMA */
body.pag-publicacion .pub__firma{text-align:right}


/* LA PÁGINA DE «Talento» */

body.pag-talento .tal__intro{
  font-family:var(--serif);font-style:italic;font-weight:300;

  font-size:23.4px;line-height:1.42;color:var(--ink-3);max-width:calc((var(--lienzo) / 2 - var(--cont-x)) * .9)}
body.pag-talento .tal__intro + .tal__intro{margin-top:1.1em}

body.pag-talento .tal__fuerte{color:var(--ink)}

body.pag-talento .cont__texto{margin-top:53px}

/* EL CIERRE DE CONTACTO: SU MITAD DERECHA ALTERNA CON EL APARTADO DE ENCIMA */

#contacto{position:relative}
#contacto.es-papel::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  left:var(--corte-granate,100%);right:0;top:0;
  bottom:var(--pie-alto,0px);width:auto;height:auto;
  background-image:var(--grano-papel);background-color:transparent}

#contacto > *{position:relative;z-index:1}


@media (hover:hover){#contacto .cont__menu a:hover{text-decoration-color:#000}}


/* ÁREAS DE PRÁCTICA, EN TEXTO CORRIDO */

body:not(.pag-servicio) #servicios .serv__corrido{

  margin:0;padding-right:0;
  font-family:var(--sans);font-weight:300;font-size:32.6px;line-height:1.35;

  text-align:justify;
  color:#000}

body:not(.pag-servicio) #servicios .serv__corrido .secnom{
  display:inline;background:none;color:#000;

  padding:0;margin-right:6.42px;white-space:nowrap}
body:not(.pag-servicio) #servicios .serv__corrido a{

  color:var(--brand-grey);text-decoration:none;border-bottom:0;

  text-transform:lowercase}

/* LAS ÁREAS DE LA PORTADA, EN CINCO COLUMNAS */
#servicios .equipo__cuerpo{

  container-type:inline-size}

body:not(.pag-servicio) #servicios .serv__corrido{

  --areas-hueco:60px;
  --areas-huecos:calc(2 * var(--areas-hueco));
  --areas-grupos:60px;

  --areas-cuerpo:min(32.6px, calc((100cqw - var(--areas-huecos)) / 35.8));
  --areas-luz:calc(var(--areas-cuerpo) * .6301);
  font-size:var(--areas-cuerpo);
  display:grid;

  grid-template-rows:auto repeat(6, auto);
  grid-template-columns:repeat(3, max-content);

  justify-content:space-between;column-gap:var(--areas-hueco);
  row-gap:var(--areas-luz);

  text-align:left;

  background-image:
    linear-gradient(var(--line) 0 0),
    linear-gradient(var(--line) 0 0),
    linear-gradient(var(--line) 0 0);
  background-size:
    var(--areas-c1-w, 0px) 1px,
    var(--areas-c2-w, 0px) 1px,
    var(--areas-c3-w, 0px) 1px;
  background-position:
    var(--areas-c1-x, 0px) var(--areas-yh, 0px),
    var(--areas-c2-x, 0px) var(--areas-yh, 0px),
    var(--areas-c3-x, 0px) var(--areas-yh, 0px);
  background-repeat:no-repeat}

body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido{

  --areas-cuerpo:26px;

  justify-content:start;column-gap:111.6px}

body:not(.pag-servicio) #servicios .serv__corrido .secnom{
  grid-area:1 / 1 / 2 / -1;
  justify-self:start;text-box:trim-both cap alphabetic;
  margin:0 0 calc(60px - var(--areas-luz));white-space:nowrap}

body:not(.pag-servicio) #servicios .serv__corrido a{
  text-transform:none;text-box:trim-both cap alphabetic;white-space:nowrap}


body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7),
body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10),
body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){

  margin-top:calc(var(--areas-grupos) - var(--areas-luz) - var(--areas-luz) / 2)}

body:not(.pag-servicio) #servicios .serv__corrido > a{
  padding-block:calc(var(--areas-luz) / 2);
  margin-block:calc(var(--areas-luz) / -2)}

body:not(.pag-servicio) #servicios{padding-block:60px}

/* (120 px del final de la foto de la cabecera al rótulo y 120 de la última línea de áreas a las fotos del equipo: se explica
   al final de la hoja, en «EN LA PORTADA, CUATRO LUCES DE 120 PX») */
body:not(.pag-servicio):not(.pag-indice) #servicios{padding-top:121.55px;padding-bottom:59px}
body:not(.pag-servicio) #servicios > .wrap > .equipo__cuerpo > .equipo__frase{margin:0}

body:not(.pag-servicio) #servicios .serv__corrido{--areas-claro:var(--brand)}

/* EL RÓTULO «ÁREAS DE PRÁCTICA» DE LA PORTADA ES UN ENLACE AL ÍNDICE DE ÁREAS EN TODAS LAS CONFIGURACIONES, COMO «EQUIPO» Y
   «PUBLICACIONES», PERO SIN «EFECTO HOVER» (orden suya, 03/10/2026, 18:01, aclarada a las 21:17: «efectivamente no tiene
   efecto hover, pero por qué … no cambia a color granate como los demás al mover el mouse?»): AL PASAR EL RATÓN SE PONE
   GRANATE, COMO LOS OTROS DOS RÓTULOS, PERO NO SE MUEVE (para él, el «efecto hover» es el movimiento). En la tanda 10 se le
   quitó también el color, por entenderlo mal y no preguntar. La transición del color (0,18 s) es la que ya lleva, la misma de
   los otros dos. Hasta la tanda 10, de 1.200 px para arriba no recogía el puntero, y por debajo se ponía granate y subía
   3 px, como los nombres de las áreas (de ellos hereda la subida: por eso se le quita aquí). */
body:not(.pag-servicio) #servicios .serv__corrido .secnom a{
  color:inherit;font-weight:inherit;text-transform:none;text-decoration:none}

@media (hover:hover){body:not(.pag-servicio) #servicios .serv__corrido .secnom a:hover{
  color:var(--brand);top:0;left:0;text-decoration:none}}


/* LA PÁGINA DE ÍNDICE DE ÁREAS DE PRÁCTICA */

body.pag-indice main{position:relative;padding-top:var(--banda);
  background-color:var(--papel);
  background-image:var(--grano-papel);background-size:200px 200px;
  background-clip:content-box;background-origin:content-box}

body.pag-indice main > *{position:relative;z-index:1}

body.pag-indice .ind__foto{

  padding:86px 0 0 calc(var(--pad) + var(--vertical-sangria))}

/* EL CIERRE, ENTERO EN GRANATE */

#contacto.es-papel::after{content:none}

#contacto .cont__menu a{color:#BCBDC0}
@media (hover:hover){#contacto .cont__menu a:hover{text-decoration-color:#BCBDC0}}


/* EL RÓTULO «PUBLICACIONES», EN VERTICAL */
#publicaciones .equipo__cuerpo{position:relative}
body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
  position:absolute;left:calc(-1 * var(--flecha-sale));top:0;width:34px;
  margin:0;z-index:4;
  writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;
  display:grid;align-items:center}
body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{line-height:1;text-decoration:none;color:#000}

body:not(.pag-servicio) #publicaciones{padding-top:60px;padding-bottom:calc(120px - 11.55px)}


body.pag-indice #servicios .equipo__frase{display:none}

body.pag-indice .ind__rot{

  margin:0;font-family:var(--sans);font-weight:300;font-size:calc(61.2px * .8);line-height:1;
  letter-spacing:0;color:#000}

/* RETOQUES DEL 5 DE SEPTIEMBRE DE 2026 */

/* EL APARTADO DE CONTACTO, CON EL NEGRO QUE TENÍA TALENTO, EN TODAS LAS PÁGINAS (órdenes suyas, 03/10/2026, 17:34 y 17:43): el
   mismo velo, negro al 88 % sobre el fondo de la página (antes, negro al 75 % sobre blanco). La barra del aviso legal va en
   negro puro (--negro-casa). */
#contacto,
body.pag-servicio #contacto,
body.pag-firma #contacto{

  background-color:color-mix(in srgb, #000 88%, transparent);

  background-image:none}

body:not(.pag-servicio) .hero__mas .more{font-size:32.6px;color:#000}

@media (hover:hover){body:not(.pag-servicio) .hero__mas .more:hover,
body:not(.pag-servicio) .hero__mas .more:hover .more__txt{
  color:var(--brand);font-weight:700;text-decoration:none}}

/* TODAS LAS BARRAS DEL PIE, IGUALES A LA DE LA PORTADA */

.ftr__barra,
body.pag-contacto .cont__barra{background-color:var(--negro-casa);height:64px}

.ftr__barra .ftr__copy{order:-1}

.ftr__barra,.ftr__barra p,.ftr__barra span{
  font-family:var(--sans);font-weight:400}

/* LOS CAMPOS, CON BORDE GRIS DE 1 PX (H12 de la auditoría 6, orden suya 01/10/2026): sin él, la caja blanca apenas
   se distinguía del papel (1,2 : 1); el gris 132 es el más claro que llega a 3 : 1 con el papel. Con error, el borde
   granate oscuro de siempre; y el rótulo de la caja grande se aparta 1 px para no tapar la esquina del borde */
body.pag-contacto .form__caja{border:1px solid rgb(132,132,132)}
body.pag-contacto .form__caja--mal{border-color:var(--brand-dp);box-shadow:0 0 0 2px rgba(91,37,70,.45)}
body.pag-contacto .form__campo:has(> textarea) .form__rotulo,
body.pag-contacto .form__rotulo[for="f-consulta"]{top:1px;left:1px;padding-top:10px;padding-left:13px;
  border-top-left-radius:2px}

body.pag-firma #servicio{background-image:none;background-color:#FFF}


body.pag-contacto .cont__titulo{text-decoration:none}

body.pag-publicaciones #servicio{background-image:none;--grano-sec:none}
body.pag-publicaciones .serv::after{background-image:none}

body.pag-publicaciones #servicio h1.serv__titulo{
  color:#000;font-size:calc(61.2px * .8 * .9);text-decoration:none}
body.pag-publicaciones .pub__filtros{transform:none}

body.pag-indice .ind__rot,
body.pag-indice #servicios .serv__corrido > a{
  position:relative;
  animation:none}
body.pag-indice .ind__rot{--orden:0}
body.pag-indice #servicios .serv__corrido > :nth-child(1){--orden:1}
body.pag-indice #servicios .serv__corrido > :nth-child(2){--orden:1}
body.pag-indice #servicios .serv__corrido > :nth-child(3){--orden:2}
body.pag-indice #servicios .serv__corrido > :nth-child(4){--orden:2}
body.pag-indice #servicios .serv__corrido > :nth-child(5){--orden:3}
body.pag-indice #servicios .serv__corrido > :nth-child(6){--orden:3}
body.pag-indice #servicios .serv__corrido > :nth-child(7){--orden:4}
body.pag-indice #servicios .serv__corrido > :nth-child(8){--orden:4}
body.pag-indice #servicios .serv__corrido > :nth-child(9){--orden:5}
body.pag-indice #servicios .serv__corrido > :nth-child(10){--orden:5}
body.pag-indice #servicios .serv__corrido > :nth-child(11){--orden:6}
body.pag-indice #servicios .serv__corrido > :nth-child(12){--orden:6}
body.pag-indice #servicios .serv__corrido > :nth-child(13){--orden:7}
body.pag-indice #servicios .serv__corrido > :nth-child(14){--orden:7}

/* EL ÍNDICE DE PUBLICACIONES, COMO EL DE ÁREAS */
body.pag-publicaciones main{position:relative;background-color:#FFF}

body.pag-publicaciones main > *{position:relative;z-index:1}

body.pag-publicaciones #servicio,
body.pag-publicaciones .pub-lista{background-color:transparent}

body.pag-publicaciones .pub__rejilla.rv{opacity:1;transform:none;transition:none}

body.pag-publicaciones #servicio h1.serv__titulo{--orden:0}
body.pag-publicaciones #filtros > :nth-child(1){--orden:1}
body.pag-publicaciones #filtros > :nth-child(2){--orden:2}
body.pag-publicaciones #filtros > :nth-child(3){--orden:3}
body.pag-publicaciones #filtros > :nth-child(4){--orden:4}
body.pag-publicaciones #filtros > :nth-child(5){--orden:5}
body.pag-publicaciones #filtros > :nth-child(6){--orden:6}
body.pag-publicaciones #filtros > :nth-child(7){--orden:7}
body.pag-publicaciones #filtros > :nth-child(8){--orden:8}
body.pag-publicaciones #filtros > :nth-child(9){--orden:9}
body.pag-publicaciones #filtros > :nth-child(10){--orden:10}
body.pag-publicaciones #filtros > :nth-child(11){--orden:11}
body.pag-publicaciones #filtros > :nth-child(12){--orden:12}
body.pag-publicaciones #filtros > :nth-child(13){--orden:13}
body.pag-publicaciones #filtros > :nth-child(14){--orden:14}
body.pag-publicaciones .pub__rejilla > :nth-child(1){--orden:15}
body.pag-publicaciones .pub__rejilla > :nth-child(2){--orden:16}
body.pag-publicaciones .pub__rejilla > :nth-child(3){--orden:17}
body.pag-publicaciones .pub__rejilla > :nth-child(4){--orden:18}
body.pag-publicaciones .pub__rejilla > :nth-child(5){--orden:19}
body.pag-publicaciones .pub__rejilla > :nth-child(6){--orden:20}
body.pag-publicaciones .pub__rejilla > :nth-child(7){--orden:21}
body.pag-publicaciones .pub__rejilla > :nth-child(8){--orden:22}
body.pag-publicaciones .pub__rejilla > :nth-child(9){--orden:23}
body.pag-publicaciones .pub__rejilla > :nth-child(10){--orden:24}
body.pag-publicaciones .pub__rejilla > :nth-child(11){--orden:25}

body.pag-indice .mark,
body.pag-publicaciones .mark{
  transform:translateX(calc(var(--util) / 2 - var(--barra-vert) - 50%))}


/* LAS DOS PÁGINAS DE ÍNDICE, EN NEGRO */
body.pag-publicaciones .hdr, body.pag-publicaciones .hdr.is-stuck{background:#000}

body.pag-indice .hdr.is-stuck{background:var(--barra-granate)}


@media (hover:hover){body.pag-indice #servicios .serv__corrido a:hover{
  color:#000;text-decoration:none;text-decoration-line:none}}


@media (hover:hover){body.pag-publicaciones .pub__pg:hover{color:#000}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover,
body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  color:#000}}

@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):hover::before{border-color:#000}}

body.pag-publicaciones .pub__filtro.es-activa::before{
  background:#000;border-color:#000}

@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover,
body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  color:#FFF;text-decoration:none}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  text-decoration:underline;text-decoration-color:#FFF;
  text-decoration-thickness:1px;text-underline-offset:.2em}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):hover::before{border-color:var(--brand-grey)}}

@media (hover:hover){body.pag-publicaciones .pub__filtro.es-activa:hover::before{background:#000;border-color:#000}}

#contacto .tarjeta__col p.tarjeta__ciudad + p{margin-top:39.05px}

@media (hover:hover){body:not(.pag-servicio) #servicios .serv__corrido a:hover{
  text-decoration:none;font-weight:700}}

@media (hover:hover){body.pag-indice #servicios .serv__corrido a:hover{color:#FFF;font-weight:700;text-decoration:none}}


@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  text-decoration:none;font-weight:700}}

body.pag-publicaciones{--filtro-apagado:#B9B9BD}
body.pag-publicaciones .pub__filtro[disabled],
body.pag-publicaciones .pub__filtro[disabled] .pub__filtro-txt{color:var(--filtro-apagado)}
body.pag-publicaciones .pub__filtro[disabled]::before{
  background:var(--filtro-apagado);border-color:var(--filtro-apagado)}

#servicio .equipo__cuerpo{position:relative}
body.pag-firma #servicio h1.serv__titulo{

  position:absolute;left:calc(var(--firma-texto-off) - 34px - 33.16px);top:49px;width:34px;

  margin:0;z-index:4;
  writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;
  display:grid;align-items:center}

body.pag-firma #servicio{padding-top:calc(var(--banda) + 60px - 50px)}

body.pag-firma{--cuerpo-firma:21.2px}
body.pag-firma #servicio .serv__arriba p{font-size:var(--cuerpo-firma)}

/* LOS SEÑALADOS, REHECHOS. EN LA PORTADA, EL NOMBRE DEL ÁREA SEÑALADA SE CORRE 3 PX A LA DERECHA, como en el índice de áreas
   (orden suya, 07/10/2026, 00:21: «en el apartado de areas de la página de inicio, al mover el mouse sobre las areas, el efecto
   hover no debe ser hacia arriba sino hacia la derecha»; hasta entonces subía 3 px). El rótulo «Áreas de práctica» no se mueve. */
body:not(.pag-servicio) #servicios .serv__corrido a{position:relative;top:0;left:0;
  transition:left .18s ease, color .18s ease}

@media (hover:hover){body:not(.pag-servicio) #servicios .serv__corrido a:hover{
  color:var(--areas-claro);top:0;left:3px;font-weight:inherit;text-decoration:none}}
@media (hover:hover){body.pag-indice #servicios .serv__corrido a:hover{
  color:var(--areas-claro);top:-3px;font-weight:inherit;text-decoration:none}}

@media (hover:hover){body:not(.pag-servicio) .hero__mas .more:hover,
body:not(.pag-servicio) .hero__mas .more:hover .more__txt{
  color:var(--brand);font-weight:inherit;text-decoration:none}}
@media (hover:hover){body:not(.pag-servicio) .hero__mas .more:hover .more__txt{
  text-decoration:underline;text-decoration-color:currentColor;
  text-decoration-thickness:1px;text-underline-offset:.18em}}

/* EL RÓTULO «PUBLICACIONES» DE LA PORTADA, DEL TAMAÑO DEL DE «EQUIPO» (orden suya, 03/10/2026, 17:29): 32,6 px, como él (eran
   27,1); en tablet ya eran iguales y en el móvil los dos van a 26 px (se fue la cuenta que lo ataba al alto de la ficha) */
body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
  font-size:32.6px}


body:not(.pag-servicio) #servicios .serv__corrido{
  max-width:calc(var(--lienzo) - 2 * (var(--pad) + var(--vertical-sangria)))}

body.pag-publicaciones .pub__filtro{font-size:26.4px;line-height:52.52px;gap:28px;color:#000}
/* el texto del filtro, en negro en todos sus estados, también elegido (repuesta por orden suya, 01/10/2026: la
   limpieza del 30/09 la había quitado y el texto del filtro elegido salía en blanco sobre blanco) */
body.pag-publicaciones .pub__filtro .pub__filtro-txt{color:#000}

@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover,
body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  color:#000;font-weight:inherit}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:not([disabled]):not(.recien-quitada):hover .pub__filtro-txt{
  text-decoration:underline;text-decoration-color:#000;
  text-decoration-thickness:1px;text-underline-offset:.2em}}

body.pag-publicaciones .pub__pg{color:#000}
@media (hover:hover){body.pag-publicaciones .pub__pg:hover{color:var(--brand)}}

body.pag-publicaciones .hdr{background:var(--brand)}
body.pag-publicaciones .hdr.is-stuck{background:var(--barra-granate)}

body.pag-firma #servicio h1.serv__titulo{color:var(--brand)}

/* LAS PÁGINAS DE ÁREA, CON EL TÍTULO EN VERTICAL */

body.tiene-rotulo #servicio h1.serv__titulo{color:#000}

#relacionados .serv__volver--fin{margin-top:54px}

/* CON EL MENÚ CORTINA ABIERTO, LA BARRA VA EN GRANATE MACIZO */
body.menu-abierto .hdr,
body.menu-abierto .hdr.is-stuck{background:var(--brand)}

/* LA IMAGEN DE LA PUBLICACIÓN, AL PRINCIPIO DE SU ARTÍCULO: ENTERA Y EN SU COLOR (07/10/2026; decidido con él el 06/10/2026, 14:26: «me
   gustaría poner la imagen de la publicación en su color original (en blanco y negro o en color)»). Su recuadro tiene la proporción de
   la imagen, 1.600 × 824 (1,94 a 1, la de la ficha del ordenador), en todas las pantallas; las publicaciones que siguen con la imagen
   anterior (1.400 × 700) la enseñan ahí recortada un 1,5 % por cada lado. Hasta entonces iba en blanco y negro, al 33,5 % y en una
   tira de la mitad de alto que la imagen de las fichas. LOS ASUNTOS RELEVANTES NO CAMBIAN (orden suya, 06/10/2026): su sello sigue
   como estaba —en gris, al 33,5 % y a la medida de aquella tira (--cabeza-alto y la cuenta de más abajo)—. */
body.pag-publicacion .pub__cab{--cabeza-alto:.5}
body.pag-publicacion .pub__cab > .pub__cabeza{width:100%;height:auto;
  aspect-ratio:1600 / 824;
  object-fit:cover;object-position:center}

:root{
  --exp-carpeta-ancho:805; --exp-carpeta-alto:1110}

/* (body[data-nov], una novedad legislativa, va igual que un asunto relevante: su sello BOE, en gris y al 33,5 %; 08/10/2026) */
body:is([data-exp],[data-nov]) .pub__cab{
  --exp-caja-prop:calc(var(--cabeza-w, 334.47) / (var(--cabeza-h, 172.23) * var(--cabeza-alto)));
  --exp-carpeta-prop:calc(var(--exp-carpeta-ancho) / var(--exp-carpeta-alto));
  --sello-lado:calc(100% * var(--exp-carpeta-prop) / var(--exp-caja-prop)
                    * var(--exp-carpeta-alto) / var(--exp-carpeta-ancho))}
body:is([data-exp],[data-nov]) .pub__cab > .pub__cabeza{
  width:var(--sello-lado);
  aspect-ratio:1;
  object-view-box:none;
  object-fit:contain;object-position:left;
  filter:grayscale(1);opacity:.335}

/* LA FECHA DE LA PUBLICACIÓN, EN VERTICAL Y A LA IZQUIERDA DE LA IMAGEN */
body.pag-publicacion .pub__cab{position:relative}
body.pag-publicacion .pub__cab .post__date{

  position:absolute;right:calc(100% + 33.64px / 2 + 1.66px);top:var(--fecha-y,0px);
  width:max-content;z-index:4;
  writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}

body.pag-publicacion .pub__ficha .pub__tags{flex-direction:column;align-items:flex-start}

/* LA PÁGINA DE ÍNDICE DE EQUIPO, `equipo.html` */

body.pag-indice-equipo .ind__foto{height:auto;padding-top:55px;padding-bottom:52.05px}

/* EL APARTADO DE LAS FOTOGRAFÍAS, EN BLANCO (orden suya, 07/10/2026, 18:52: «En la página de índice de equipo, el fondo del
   apartado que contiene las fotografías, de color blanco»; 19:06, preguntó si ese blanco era el mismo que el de la página de
   publicación —lo es, var(--white)— y, vista la prueba, 19:09: «ok»; implantado la noche del 07/10/2026). La franja del rótulo
   «Equipo» (.ind__foto), que es del mismo paño, va también en blanco, para que no quede una franja de papel encima de las
   fotografías (se le dijo al enseñársela). Hasta entonces, los dos en el papel con su grano. */
body.pag-indice-equipo .ind__foto,
body.pag-indice-equipo #equipo{
  background-color:var(--white);background-image:none}
body.pag-indice-equipo #equipo{padding-top:0;}

body.pag-indice-equipo .eqidx__lista{display:grid;gap:60px}

body.pag-indice-equipo .eqidx__fila{margin:0}

body.pag-indice-equipo .eqidx__fila .ret__nombre{display:none}

/* EL ÍNDICE DE ÁREAS: LAS CATORCE, EN DOS COLUMNAS DE SIETE */

body.pag-indice #servicios .serv__corrido{
  text-align-last:start;hyphens:none}
body.pag-indice #servicios .serv__corrido > a{white-space:nowrap;width:max-content}


body.pag-indice:not(.pag-indice-equipo) .ind__foto{height:auto;padding-bottom:55.49px}

body.pag-indice:not(.pag-indice-equipo) .ind__foto{padding-top:55px}
body.pag-indice:not(.pag-indice-equipo) #servicios{padding-top:0;min-height:0}

body.pag-indice #servicios .serv__corrido{margin-top:calc(-1 * var(--areas-luz))}

body.pag-indice:not(.pag-indice-equipo) .ind__foto,
body.pag-indice:not(.pag-indice-equipo) #servicios{
  background-color:var(--white);background-image:none}

body.pag-indice:not(.pag-indice-equipo) .ind__rot{font-size:calc(61.2px * .8 * .9)}

body.pag-indice #servicios .serv__corrido a{left:0;transition:left .18s ease, color .18s ease}
@media (hover:hover){body.pag-indice #servicios .serv__corrido a:hover{top:0;left:3px}}

/* LAS PÁGINAS DE ÁREA, EN DOS MITADES */

body.pag-servicio.tiene-rotulo #servicio .serv__texto{
  display:grid;
  grid-template-columns:calc(var(--area-mitad) - var(--marco-luz, 30px)) var(--area-mitad);
  column-gap:calc(var(--area-hueco) + var(--marco-luz, 30px));align-items:start}
body.pag-servicio.tiene-rotulo #servicio{
  --area-hueco:90px;
  --area-mitad:calc((var(--lienzo) - 2 * (var(--pad) + var(--vertical-sangria)) - var(--area-hueco)) / 2)}
body.pag-servicio.tiene-rotulo #servicio .serv__arriba{grid-column:1;grid-row:1}
body.pag-servicio.tiene-rotulo #servicio .serv__plegables{grid-column:2;grid-row:1}

body.pag-servicio.tiene-rotulo #servicio .serv__arriba p,
body.pag-servicio.tiene-rotulo #servicio .serv__grupo p{text-align:justify}

body.pag-servicio.tiene-rotulo #servicio::before{height:100%}
body.pag-servicio.tiene-rotulo #publicaciones-relacionadas{
  background-color:var(--white);background-image:none}
body.pag-servicio.tiene-rotulo #equipo-asignado{
  background-color:var(--white);background-image:none}

body.pag-servicio.tiene-rotulo #servicio .serv__texto h2{
  font-family:var(--menu);
  margin-bottom:calc(clamp(26px,2.8vw,40px) - 56.86px / 2 + 2.01px)}

.ftr__barra{box-shadow:0 -1px 0 0 var(--negro-casa)}

body.pag-servicio.tiene-rotulo #servicio .serv__texto{--pleg-luz:25px}
body.pag-servicio.tiene-rotulo #servicio .serv__grupo p{
  margin-bottom:calc(var(--pleg-luz) - 15.29px)}
body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.abierto),
body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.va-abrir){
  margin-bottom:calc(var(--pleg-luz) - 14.86px)}

body.pag-servicio.tiene-rotulo #servicio .serv__grupo.abierto + h2,
body.pag-servicio.tiene-rotulo #servicio .serv__grupo.va-abrir + h2{margin-top:1.01px}

body.pag-servicio.tiene-rotulo #servicio .serv__grupo h3{
  margin-top:12.71px;margin-bottom:calc(var(--pleg-luz) - 16.84px)}

body.pag-servicio.tiene-rotulo #servicio .serv__texto h2,
body.pag-publicacion .pub-texto .serv__texto h2{
  padding-right:calc(29px * 1.5)}

body.pag-servicio.tiene-rotulo #servicio{
  --pleg-fondo:color-mix(in srgb, var(--white) 70%, var(--papel-fondo))}
body.pag-servicio.tiene-rotulo #servicio{--marco-luz:calc(var(--luz-cabecera,60px) / 2)}
body.pag-servicio.tiene-rotulo #servicio .serv__plegables{
  padding:calc(var(--marco-luz) - 7px) var(--marco-luz)
          calc(var(--marco-luz) - 22.44px) var(--marco-luz)}

body.pag-servicio.tiene-rotulo:not(:has(#servicio .serv__texto > .serv__arriba + *)) #servicio{
  background-image:linear-gradient(90deg, var(--papel-fondo) 0 100%, var(--papel-fondo) 100%)}

/* LOS SUBTÍTULOS, DEBAJO DE LA PRESENTACIÓN EN TODAS LAS CONFIGURACIONES, Y EL TEXTO */
body.pag-servicio.tiene-rotulo #servicio .serv__texto{
  grid-template-columns:1fr;column-gap:0}
body.pag-servicio.tiene-rotulo #servicio .serv__plegables{
  grid-column:1;grid-row:auto;padding:0}
body.pag-servicio.tiene-rotulo #servicio{
  background-image:linear-gradient(180deg, var(--papel-fondo) 0 var(--pleg-y, 100%),
                            var(--pleg-fondo) var(--pleg-y, 100%) 100%)}

body.pag-servicio.tiene-rotulo #servicio .serv__texto h2,
body.pag-publicacion .pub-texto .serv__texto h2{cursor:pointer}
@media (hover:hover){body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:hover .serv__rot,
body.pag-publicacion .pub-texto .serv__texto h2:hover .serv__rot{
  text-decoration:underline;text-decoration-color:currentColor;
  text-decoration-thickness:from-font;text-underline-offset:.18em}}

body.pag-servicio.tiene-rotulo #servicio .serv__foto{background:none}

body.pag-legal .serv__texto h2:has(+ .serv__grupo.abierto),
body.pag-legal .serv__texto h2:has(+ .serv__grupo.abierto) .serv__rot{color:var(--brand)}

body.pag-publicacion .pub-texto .serv__texto{--pleg-luz:25px}

body.pag-publicacion .pub-texto .serv__texto h2{
  margin-bottom:calc(clamp(26px,2.8vw,40px) - 56.86px + 35.48px)}
body.pag-publicacion .pub-texto .serv__grupo p{
  margin-bottom:calc(var(--pleg-luz) - 15.28px)}
body.pag-publicacion .pub-texto .serv__texto h2:has(+ .serv__grupo.abierto){
  margin-bottom:calc(var(--pleg-luz) - 16.85px)}
body.pag-publicacion .pub-texto .serv__grupo.abierto + h2,
body.pag-publicacion .pub-texto .serv__grupo.va-abrir + h2{margin-top:3.01px}

body.pag-publicacion .pub-texto .serv__grupo:not(.abierto):not(.va-abrir) + h2{
  margin-top:calc(48.07px - clamp(26px,2.8vw,40px))}

/* LAS LUCES DE LA PUBLICACIÓN, A 60 EN TODAS LAS CONFIGURACIONES */
body.pag-publicacion{--luz-cab-pub:60px}
body.pag-publicacion .pub__ficha{margin-top:calc(60px - 9.28px)}
body.pag-publicacion .serv__texto .serv__grupo + .pub__firma{
  margin-top:calc(65.52px - clamp(26px,2.8vw,40px))}
body.pag-publicacion .serv__texto p + .pub__firma{margin-top:calc(2.6em - 1.11px)}

body.hero-sin-firma .hero__mas{opacity:0;pointer-events:none;transition:opacity .45s ease}

body.pag-persona{min-height:100vh;display:flex;flex-direction:column}
body.pag-persona main{flex:1 0 auto;display:flex;flex-direction:column}
body.pag-persona main > section:first-child{flex:1 0 auto}

body.pag-servicio #servicio > .wrap:has(+ .serv__foto){margin-bottom:max(1lh, 19.6px)}

body.pag-publicacion .pub-texto .serv__texto h2 .serv__rot{
  display:grid;grid-template-columns:max-content 1fr;
  column-gap:calc(var(--luz-cabecera,60px) / 3)}
@media (hover:hover){body.pag-publicacion .pub-texto .serv__texto h2:hover .serv__rot{text-decoration:none}}
@media (hover:hover){body.pag-publicacion .pub-texto .serv__texto h2:hover .rot__t{
  text-decoration:underline;text-decoration-color:currentColor;
  text-decoration-thickness:from-font;text-underline-offset:.18em}}

body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.abierto),
body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.va-abrir) .serv__rot,
body.pag-publicacion .pub-texto .serv__texto h2:has(+ .serv__grupo.abierto) .serv__rot,

body.pag-legal .serv__texto h2:has(+ .serv__grupo.abierto) .serv__rot{
  font-weight:500}

/* LAS PÁGINAS DE ÁREA POR DEBAJO DE 1920 — LA COMPOSICIÓN «MENOR» */
@media (min-width:700px) and (max-width:1900px){

  body{
    --fichas-equipo:4;

    --fichas-colab:var(--fichas-equipo);
    --hueco-cuadro:28px;
    --vert-base:calc(64px + 341px * .531);
    --legible-base:calc(var(--lienzo) - 2 * var(--vert-base));
    --cuadro-base:calc((var(--legible-base) - 3 * var(--hueco-cuadro)) / 4);

    --bloque:min(calc(3 * var(--cuadro-base) + 2 * var(--hueco-cuadro)),
                 calc(var(--util) - 2 * var(--pad)));

    --vert-menor:calc((var(--util) - var(--bloque)) / 2)}

  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .pubrel > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .rel > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .area-equipo > .wrap,
  body.pag-servicio.pag-persona:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .pubrel > .wrap{
    margin-left:var(--vert-menor);
    width:var(--bloque);max-width:none;padding-inline:0}

  body.pag-servicio.tiene-rotulo #servicio .serv__texto{

    max-width:calc(31.68 * var(--cuerpo-entrada))}
  body.pag-servicio.tiene-rotulo #servicio .serv__plegables{
    grid-column:1;grid-row:auto;padding:0}


  body.pag-servicio.tiene-rotulo .pubrel .pub__rejilla,
  body.pag-servicio.pag-persona .pubrel .pub__rejilla{
    width:var(--bloque);grid-auto-columns:calc((100% - 2 * var(--hueco-cuadro)) / 3)}

  body.pag-servicio.tiene-rotulo .pubrel__f--izq,
  body.pag-servicio.pag-persona .pubrel__f--izq{left:calc(-34px - var(--flecha-luz))}
  body.pag-servicio.tiene-rotulo .pubrel__f--der,
  body.pag-servicio.pag-persona .pubrel__f--der{left:calc(100% + var(--flecha-luz))}

  body.pag-servicio.tiene-rotulo .rel__lista{
    width:var(--bloque);grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--hueco-cuadro)}

  body.pag-servicio.tiene-rotulo
    .rel__lista:has(li:nth-child(4)):not(:has(li:nth-child(5))) li:nth-child(3){grid-column:1}
  body.pag-servicio.tiene-rotulo
    .rel__lista:has(li:nth-child(4)):not(:has(li:nth-child(5))) li:nth-child(4){grid-column:2}
}

/* EL ÍNDICE DE PUBLICACIONES Y LAS PÁGINAS DE PUBLICACIÓN, EN «MENOR» */
@media (min-width:700px) and (max-width:1900px){

  body.pag-publicaciones.pag-servicio main > section > .wrap,
  body.pag-publicacion.pag-servicio main > section > .wrap{
    margin-left:var(--vert-menor);margin-right:0;
    width:var(--bloque);max-width:none;padding-inline:0}

  body.pag-publicaciones #listado{
    width:var(--bloque);grid-template-columns:repeat(3,minmax(0,1fr))}

  body.pag-publicaciones .pub__paginacion{width:var(--bloque)}

  body.pag-publicacion .pubrel .pub__rejilla{
    width:var(--bloque);grid-auto-columns:calc((100% - 2 * var(--hueco-cuadro)) / 3)}

  body.pag-publicacion .pubrel__f--izq{left:calc(-34px - var(--flecha-luz))}
  body.pag-publicacion .pubrel__f--der{left:calc(100% + var(--flecha-luz))}
}

/* LA COLUMNA DE LECTURA, UNA SOLA PARA TODA LA WEB */
body.pag-servicio{
  --cuerpo-grupo:20.2px;
  --columna-lectura:calc(31.68 * var(--cuerpo-grupo))}
body.pag-publicacion .pub__cab,
body.pag-publicacion .pub-texto .serv__texto,
body.pag-legal .serv__texto{max-width:var(--columna-lectura)}

/* EL EQUIPO EN «MENOR»: EL ÍNDICE Y LAS QUINCE PÁGINAS DE PERSONA */
@media (min-width:700px) and (max-width:1900px){

  body.pag-indice .ind__foto{padding-left:var(--vert-menor)}


  body.pag-persona #persona > .wrap,
  body.pag-persona .pers-areas > .wrap{

    margin-left:var(--vert-menor) !important;margin-right:0;
    width:var(--bloque);max-width:none;padding-inline:0}
  body.pag-persona #persona .pers__cuerpo{margin-left:0;width:100%}
}


/* EL MENÚ CORTINA, CENTRADO A LO ALTO POR DEBAJO DE 1.900 PX; los márgenes del panel se aprietan con el resto si el
   bloque no cabe (orden suya, 29/09/2026: el menú entero en la pantalla, sin desplazamiento) */
@media (max-width:1900px){
  .nav.is-open,.hdr:not(.is-stuck) .nav.is-open{
    justify-content:center;
    padding-top:calc(clamp(20px, 6vh, 80px) * var(--menu-aprieta,1) - var(--cortina-ajuste, 0px));
    padding-bottom:calc(clamp(20px, 6vh, 80px) * var(--menu-aprieta,1) + var(--cortina-ajuste, 0px))}
}

/* CONTACTO Y TALENTO, EN UNA COLUMNA */
@media (min-width:700px) and (max-width:1900px){
  body.pag-contacto #contacto-pagina{min-height:0}

  body.pag-contacto{min-height:100vh;display:flex;flex-direction:column}
  body.pag-contacto main{flex:1 0 auto}

  body.pag-contacto #contacto-pagina > .wrap{
    margin-left:var(--barra-vert);
    width:var(--bloque);max-width:none;padding-inline:0}
  body.pag-contacto .cont__cuerpo{
    display:block;margin-left:var(--barra-vert);width:var(--bloque);padding-inline:0}

  body.pag-contacto{--caja-menor:calc((var(--lienzo) / 2 - var(--cont-x)) * .9)}
  body.pag-talento .tal__intro{max-width:none}

  body.pag-contacto .cont__mapa{
    position:relative;top:auto;width:100%;aspect-ratio:auto;
    height:calc(var(--caja-menor) * 6 / 16 + 54px);

    --mapa-luz:50.25px;
    margin-top:var(--mapa-luz, 0px);
    transition:margin-top .45s cubic-bezier(.4,.1,.2,1),height .45s cubic-bezier(.4,.1,.2,1)}

  body.pag-contacto .cont__ver{--ver-y:213.67px}
  body.pag-contacto #contacto-pagina::before{display:none}

  body.pag-contacto .cont__form{
    position:static;top:auto;left:auto;

    width:var(--util);
    margin:60px 0 0 calc(-1 * var(--barra-vert));
    padding:60px var(--barra-vert);
    background-color:var(--papel-fondo);background-image:var(--grano-papel)}

  body.pag-talento .cont__form{margin-top:calc(60px - 11.23px)}
  body.pag-contacto #contacto-pagina{padding-bottom:0}
}

/* LA FIRMA TOMA LA COLUMNA DE LECTURA DE LA CASA */

body.pag-firma #servicio > .wrap .serv__texto{max-width:calc(31.68 * var(--cuerpo-firma))}

/* LA FIRMA EN DOS COLUMNAS, de 1.200 px en adelante: cada una del ancho de lectura de la casa,
   los renglones de las dos a la misma altura (el hueco entre párrafos mide un renglón) y cuadradas
   por el guion, que ajusta el ancho, el espacio entre palabras o entre letras en cantidades que no
   se ven. En «tablet» y en el teléfono sigue en una columna; en «tablet», centrada en la página. */
@media (min-width:1200px){
  body.pag-firma #servicio > .wrap .serv__texto{
    --col-firma:calc(31.68 * var(--cuerpo-firma));--hueco-firma:60px;
    max-width:none;
    width:calc(var(--ancho-firma, min(calc(2 * var(--col-firma) + var(--hueco-firma)), 100%)) + var(--ajuste-firma, 0px))}
  body.pag-firma #servicio .serv__arriba{
    column-count:2;column-gap:var(--hueco-firma);column-fill:auto;
    word-spacing:var(--palabras-firma, 0px);letter-spacing:var(--letras-firma, 0)}
  body.pag-firma #servicio .serv__arriba p{margin:0 0 1lh}
  body.pag-firma #servicio .serv__arriba p:last-child{margin-bottom:0}
}

/* LA FIRMA: LA LUZ DEL FINAL DEL APARTADO, IGUAL QUE LA DEL PRINCIPIO */
body.pag-firma #servicio{padding-bottom:50.22px}

/* LA FIRMA, DE 1.200 px EN ADELANTE, COMPUESTA COMO EN «TABLET» (orden suya, 01/10/2026): el rótulo en
   horizontal, en el canto izquierdo del logotipo (donde arranca la primera columna) y a 60 px de luz de
   la barra; las dos columnas, cuadradas, a 60 px de luz bajo el rótulo; y el apartado blanco llega hasta
   el final de la pantalla, como el del índice de áreas, con el cierre debajo. El cuerpo de los párrafos,
   el de siempre: la página ya no tiene que caber entera en la pantalla. */
@media (min-width:1200px){
  body.pag-firma #servicio h1.serv__titulo{
    position:static;width:auto;
    writing-mode:horizontal-tb;transform:none;
    display:block;text-align:left;
    text-box:trim-both cap alphabetic;
    margin:0 0 calc(60px + var(--cuerpo-firma) * .11 - var(--cuerpo-firma) * .3781) var(--firma-texto-off)}
  body.pag-firma #servicio > .wrap .serv__texto{margin-top:0}
  body.pag-firma #servicio{padding-top:calc(var(--banda) + 60.5px);min-height:100vh}
}
/* el bloque de las dos columnas NO se recorta por arriba (text-box) como en «tablet», donde es una sola: recortarlo
   subiría 8 px solo la primera columna y los renglones de las dos dejarían de ir a la misma altura. La luz de 60 px del
   rótulo a lo más alto del texto (las ascendentes: la medida de la casa, la misma fórmula que en «tablet») sale
   restando al margen del rótulo lo que se habría recortado (0,3781 del cuerpo: 8,02 px a 21,2); y abajo, la luz de siempre del apartado (50,22 px) deja 60 px desde la base del último renglón
   cuando el texto pasa del alto de la pantalla */

/* LA FIRMA ENTRA EN LA COMPOSICIÓN «MENOR» */
@media (min-width:700px) and (max-width:1900px){
  body.pag-firma #servicio > .wrap{
    margin-left:calc(var(--vert-menor) - var(--sangria-firma));
    margin-right:0;width:calc(var(--bloque) + var(--sangria-firma));max-width:none;
    padding-inline:0}
}


/* LA PORTADA EN «MENOR» */
@media (min-width:700px) and (max-width:1900px){

  body:not(.pag-servicio) .hero:not(.hero--sin-foto) > .wrap{
    margin-left:var(--vert-menor);
    width:var(--bloque);max-width:none;padding-inline:0}

  .hero__titular{--hero-titulo:100%}

  .hero{height:auto;min-height:0;
    padding-bottom:calc(30.81px + 18px + var(--pad) / 2
                        + var(--sube-mas, 0px) - var(--firma-cola, 14.8px))}

  body:not(.pag-servicio) #servicios > .wrap,
  body:not(.pag-servicio) #equipo > .wrap,
  body:not(.pag-servicio) #colaboradores > .wrap,
  body:not(.pag-servicio) #publicaciones > .wrap{
    margin-left:var(--vert-menor);margin-right:0;
    width:var(--bloque);max-width:none;padding-inline:0}

  body:not(.pag-servicio) #publicaciones .carrpub__pista{
    grid-auto-columns:calc((100% - 2 * var(--hueco-cuadro)) / 3)}

  body:not(.pag-servicio) #colaboradores .eq__f--izq{
    left:calc(var(--vert-menor) - 34px - var(--flecha-luz))}
  body:not(.pag-servicio) #colaboradores .eq__f--der{left:auto;
    right:calc(var(--vert-menor) - 34px - var(--flecha-luz))}

  body:not(.pag-servicio) #publicaciones .carrpub__f--izq{
    left:calc(-1 * min(calc(34px + var(--flecha-luz)), var(--vert-menor)))}
  body:not(.pag-servicio) #publicaciones .carrpub__f--der{
    right:calc(-1 * min(calc(34px + var(--flecha-luz)), var(--vert-menor)))}
}


/* «EQUIPO» Y «PUBLICACIONES», ENLACES A SUS DOS ÍNDICES */
body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom a,
body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom a{
  color:inherit;text-decoration:none;position:relative;left:0;
  transition:left .18s ease, color .18s ease}
@media (hover:hover){body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom a:hover,
body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom a:hover{
  color:var(--brand);left:3px;text-decoration:none}}

body:not(.pag-servicio) .hero__in .hero__titular:not(.is-visible) a{pointer-events:none}

/* LA COMPOSICIÓN «TABLET», de 700 a 1199 px */
@media (min-width:700px) and (max-width:1199px){

  body{--fichas-equipo:3}

  body:not(.pag-servicio) #publicaciones .carrpub__pista{
    grid-auto-columns:calc((100% - var(--hueco-cuadro)) / 2)}


  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
    position:static;width:auto;
    writing-mode:horizontal-tb;transform:none;
    display:block;text-align:left;
    margin:0 0 60px}

  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    display:block;text-box:trim-both cap alphabetic}

  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    font-size:32.6px}

  body{--barra-vert:var(--vert-menor)}
  #contacto .cont__wrap{padding-left:var(--vert-menor)}

  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    color:var(--brand)}

  @media (hover:hover){body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom a:hover,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom a:hover{
    color:inherit;left:0}}

  .ftr__barra .ftr__in{padding-inline:var(--vert-menor)}

  /* TALENTO Y CONTACTO, EN «TABLET» */
  body.pag-contacto .cont__texto,
body.pag-contacto .cont__form,
body.pag-contacto .cont__datos{max-width:100%;width:100%}


  body.pag-contacto .cont__form{
    width:auto;max-width:none;
    margin-inline:calc(-1 * var(--vert-menor));
    padding-inline:var(--vert-menor)}

  /* EL ÍNDICE DE EQUIPO, EN «TABLET» */
  body.pag-indice-equipo .eqidx__fila{
    grid-template-columns:var(--eqidx-foto-w, 264px) 1fr;
    column-gap:calc(129.5px * .75 * .75)}
  body.pag-indice-equipo .eqidx__fila .ret{height:var(--eqidx-foto-h, 352px);

    margin-top:var(--eqidx-foto-y, 0px)}

  /* LA PÁGINA DE CADA PERSONA, EN «TABLET» */
  body.pag-persona .pers__cuerpo{
    grid-template-columns:var(--eqidx-foto-w, 264px) 1fr;
    column-gap:calc(129.5px * .75 * .75)}
  body.pag-persona .pers__foto{
    width:var(--eqidx-foto-w, 264px);height:var(--eqidx-foto-h, 352px);
    margin-top:var(--eqidx-foto-y, 0px);
    grid-area:1 / 1 / 4 / 2}
  body.pag-persona .pers__ficha{display:contents}
  body.pag-persona .pers__ficha .pers__nombre{grid-area:1 / 2}
  body.pag-persona .pers__ficha .pers__cargo{grid-area:2 / 2}
  body.pag-persona .pers__ficha .pers__datos{grid-area:3 / 2}
  body.pag-persona .pers__raya{display:none}

  body.pag-persona .pers__tray{grid-area:4 / 1 / 5 / -1;max-width:671.89px}

  body.pag-persona:not(.pag-sin-tray) #persona{padding-bottom:calc(60px - 10.1px)}

  body.pag-persona #persona{
    padding-top:calc(var(--banda) + 60px - var(--eqidx-foto-y, 0px))}
  body.pag-persona #persona .pers__cuerpo{margin-top:0}

  /* LAS PÁGINAS DE ÁREA, EN «TABLET» */

  body.pag-servicio.tiene-rotulo .pubrel .pub__rejilla,
  body.pag-servicio.pag-persona .pubrel .pub__rejilla{
    grid-auto-columns:calc((100% - var(--hueco-cuadro)) / 2)}

  body.pag-servicio.tiene-rotulo .rel__lista{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-flow:row;
    overflow-x:visible}

  .hdr .burger{margin-right:-9.2px}

  .fab{--fab-luz:calc(var(--vert-menor) - var(--sello-alto) * .75);
       right:var(--fab-luz);bottom:var(--fab-luz)}


  body:not(.pag-servicio) #servicios .serv__corrido{

    --areas-hueco:90px;
    --areas-cuerpo:min(24px, calc((100cqw - var(--areas-hueco)) / 26.8));

    --areas-luz:calc(var(--areas-cuerpo) * .6301);
    grid-template-columns:max-content max-content;
    justify-content:start;

    }

  body:not(.pag-servicio) #servicios .serv__corrido .secnom{
    color:var(--brand);
    margin:0 0 calc(60px - var(--areas-cuerpo) * .6301);white-space:nowrap}


  body:not(.pag-servicio) #servicios .serv__corrido .secnom,
  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    text-decoration:underline;text-decoration-color:var(--brand-grey);
    text-decoration-thickness:1px;}

  #contacto .tarjeta__col{
    display:flex;flex-wrap:wrap;align-items:center;column-gap:16.8px}
  /* «Barcelona» conserva la altura de fila que le daba el pin (7 cqw, mínimo 26 px), con el texto centrado como iba */
  #contacto .tarjeta__ciudad{order:1;min-height:max(7cqw,26px);align-content:center}

  #contacto .tarjeta__col > p:not(.tarjeta__ciudad){order:3;flex:0 0 100%}

  .hero__punto{position:relative}
  /* con puntos de 24 y huecos de 6, el área del dedo, 3 px por lado para no montarse sobre la del vecino (H5) */
  .hero__punto::after{content:"";position:absolute;inset:-13px -3px}

  body.lupa #equipo .ret__foto--color{opacity:1}
  body.lupa #equipo .ret__foto--bn{opacity:0}
}

@media (min-width:700px) and (max-width:1199px){
  body.pag-talento .tal__intro{max-width:calc(768px * .9)}
}

@media (max-width:1199px){

  body.pag-publicaciones #listado{grid-template-columns:repeat(2,minmax(0,1fr))}

  body.pag-publicaciones #listado{--pub-filas:6}

  body.pag-publicaciones #listado .post__enlace p{display:none}

  body.pag-publicaciones .pub__filtros{
    width:var(--bloque);}

  body.pag-publicaciones #listado .post{min-height:0}

  body.pag-publicaciones #listado .post .post__enlace{flex:0 0 auto;min-height:auto}


  body.pag-publicaciones #listado .post{--img-alto:calc(273.09px * .375 * 1.25)}

  body.pag-publicaciones #listado .post__enlace :is(h2,h3){min-height:calc(4 * 1.32em)}

  body.pag-publicaciones #listado .post__enlace :is(h2,h3){font-weight:300}

  body.pag-publicaciones #listado .post:has(.post__tag--exp,.post__tag--nov) .pub__img{object-fit:contain}

  body.pag-publicaciones #listado .post{gap:0}

  body.pag-publicaciones .pub__pg-nums{
    display:flex;flex-wrap:wrap;justify-content:center;gap:0 7.2px;flex:0 0 100%}
  body.pag-publicaciones .pub__pg--txt,
  body.pag-publicaciones .pub__pg--salto{order:2}
  body.pag-publicaciones .pub__paginacion{row-gap:14px}

  body.pag-publicaciones #listado{--pub-filas:5}
}

@media (max-width:1199px){

  body.pag-firma #servicio h1.serv__titulo{
    position:static;width:auto;
    writing-mode:horizontal-tb;transform:none;
    display:block;text-align:left;
    text-box:trim-both cap alphabetic;

    margin:0 0 calc(60px + var(--cuerpo-firma) * .11) var(--sangria-firma)}

  body.pag-firma #servicio > .wrap .serv__texto{margin-top:0;text-box:trim-both cap alphabetic}

  body.pag-firma #servicio{padding-top:calc(var(--banda) + 61.5px)}

  body.pag-firma #servicio{padding-bottom:60px}

  body.pag-firma{min-height:100vh;display:flex;flex-direction:column}
  body.pag-firma main{flex:1 0 auto;display:flex;flex-direction:column}
  body.pag-firma #servicio{flex:1 0 auto}
}

@media (min-width:700px) and (max-width:1199px){

  body.pag-indice #servicios{--cierre-en-pantalla:1}

  body.pag-indice-equipo .ind__rot{text-box:trim-both cap alphabetic}
  body.pag-indice-equipo .ind__foto{padding-top:60.75px;padding-bottom:calc(60px - var(--eqidx-foto-y, 0px))}
  body.pag-indice-equipo .eqidx__lista{gap:calc(60px - var(--eqidx-foto-y, 0px))}
  body.pag-indice-equipo .eqidx__fila .pers__ficha{margin-bottom:calc(-1 * var(--eqidx-datos-sobra, 0px))}
}

@media (min-width:700px) and (max-width:1199px){

  body.pag-publicacion:is([data-exp],[data-nov]) .pub__cab .post__date{left:calc(var(--sello-lado) + 33.64px / 2);}
  body.pag-publicacion .pub__cab .post__date{
    right:auto;left:calc(100% + 33.64px / 2);

    transform:none}

  body.pag-publicacion .pubrel .pub__rejilla{
    grid-auto-columns:calc((100% - var(--hueco-cuadro)) / 2)}
}

@media (min-width:700px) and (max-width:1199px){
  .carrpub__tit,
  body.pag-servicio .pubrel .post .post__enlace :is(h2,h3){-webkit-line-clamp:3;

    min-height:calc(3 * 1.32em)}

  body.pag-servicio .pubrel .post{gap:0}

  .carrpub__card,
  body.pag-servicio .pubrel .post{

    min-height:calc(var(--cuerpo-alto) + var(--img-alto) - 28.27px)}
  .carrpub__res,
  body.pag-servicio .pubrel .post .post__enlace p{margin-top:0 !important}
}

/* LAS ÁREAS DE PRÁCTICA, REPARTIDAS DE OTRA MANERA — «BASE» Y «MENOR» */
@media (min-width:1200px){

  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(1){grid-area:2 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(2){grid-area:3 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){grid-area:4 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4){grid-area:5 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(5){grid-area:6 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(6){grid-area:7 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7){grid-area:2 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(8){grid-area:3 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(9){grid-area:4 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10){grid-area:5 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(11){grid-area:6 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(12){grid-area:7 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(13){grid-area:2 / 3}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(14){grid-area:3 / 3}

  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4){
    margin-top:calc(var(--areas-grupos) - var(--areas-luz) - var(--areas-luz) / 2)}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){
    margin-top:calc(var(--areas-luz) / -2)}

  body:not(.pag-servicio) #servicios .serv__corrido{
    background-image:
      linear-gradient(var(--line) 0 0),
      linear-gradient(var(--line) 0 0);
    background-size:
      var(--areas-c1-w, 0px) 1px,
      var(--areas-c2-w, 0px) 1px;
    background-position:
      var(--areas-c1-x, 0px) var(--areas-yh, 0px),
      var(--areas-c2-x, 0px) var(--areas-yh, 0px)}
}

/* LAS ÁREAS DE PRÁCTICA, REPARTIDAS DE OTRA MANERA — EN «TABLET» */

@media (min-width:700px) and (max-width:1900px){

  body:not(.pag-servicio) #servicios .serv__corrido{
    grid-template-rows:auto repeat(8, auto);
    background-image:
      linear-gradient(var(--line) 0 0),
      linear-gradient(var(--line) 0 0),
      linear-gradient(var(--line) 0 0);
    background-size:
      var(--areas-c1-w, 0px) 1px,
      var(--areas-c2-w, 0px) 1px,
      var(--areas-c1-w, 0px) 1px;
    background-position:
      var(--areas-c1-x, 0px) var(--areas-yh, 0px),
      var(--areas-c2-x, 0px) var(--areas-yh, 0px),
      var(--areas-c1-x, 0px) var(--areas-yh2, 0px)}

  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(1){grid-area:2 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(2){grid-area:3 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){grid-area:4 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4){grid-area:5 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(5){grid-area:6 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(6){grid-area:7 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(13){grid-area:8 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(14){grid-area:9 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7){grid-area:2 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(8){grid-area:3 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(9){grid-area:4 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10){grid-area:5 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(11){grid-area:6 / 2}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(12){grid-area:7 / 2}

  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(13){
    margin-top:calc(var(--areas-grupos) - var(--areas-luz) - var(--areas-luz) / 2)}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){
    margin-top:calc(var(--areas-luz) / -2)}
}

/* LA PÁGINA DE PERSONA SIN TRAYECTORIA Y LA DE QUIEN NO AUTORIZA SU IMAGEN — «TABLET» */
@media (min-width:700px) and (max-width:1199px){

  body.pag-persona.pag-sin-tray .pers__ficha{display:block}
  body.pag-persona.pag-sin-tray .pers__foto{grid-area:1 / 1 / 2 / 2}

  body.pag-persona.pag-sin-tray:not(.pers-sin-imagen) .pers__ficha{margin-bottom:-9.16px}

  body.pag-persona.pers-sin-imagen .pers__cuerpo{grid-template-columns:1fr}
}

/* LAS DOS LUCES DE LA FICHA DE PERSONA, EN LA BASE Y EN «MENOR» */
@media (min-width:1200px){

  body.pag-persona #persona{padding-top:calc(var(--banda) + 60px)}
  body.pag-persona #persona .pers__cuerpo{margin-top:0}
  body.pag-persona:not(.pag-sin-tray) #persona{padding-bottom:calc(60px - 10.1px)}
}

/* LA PÁGINA DE AVISOS LEGALES TOMA LOS MÁRGENES DEL TRAMO — «MENOR» Y «TABLET» */
@media (min-width:700px) and (max-width:1900px){

  body.pag-servicio.pag-legal:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap{
    margin-left:var(--barra-vert);
    width:var(--bloque);max-width:none;padding-inline:0}

}

/* DOS COSAS DEL DEDO EN «TABLET» */
@media (min-width:700px) and (max-width:1199px){
  
  .ftr__barra .ftr__legal a{position:relative}
  
  .ftr__barra .ftr__legal a::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:44px;
    transform:translateY(-50%)}

}

/* EL BOTÓN DE CORREO EN «TABLET»: COMO EN LA BASE, Y FUERA EN LAS PÁGINAS QUE CABEN ENTERAS */
@media (min-width:700px) and (max-width:1199px){
  body.pagina-entera .fab{visibility:hidden;pointer-events:none}
}

/* EL LOGOTIPO DE LA BARRA, ALCANZABLE CON EL DEDO — «TABLET» */
@media (min-width:700px) and (max-width:1199px){
  .hdr .mark::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:44px;
    transform:translateY(-50%)}
}

/* LOS RÓTULOS QUE DESPLIEGAN, ALCANZABLES CON EL DEDO — «TABLET» */
@media (min-width:700px) and (max-width:1199px){
  body.pag-servicio #servicio h2:has(.serv__rot),
  body.pag-legal #servicio h2:has(.serv__rot),
  body.pag-publicacion .pub-texto .serv__texto h2:has(.serv__rot){position:relative}
  body.pag-servicio #servicio h2:has(.serv__rot)::after,
  body.pag-legal #servicio h2:has(.serv__rot)::after,
  body.pag-publicacion .pub-texto .serv__texto h2:has(.serv__rot)::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:44px;
    transform:translateY(-50%)}
}

/* LAS ETIQUETAS DE MATERIA, ALCANZABLES CON EL DEDO — «TABLET» */
@media (min-width:700px) and (max-width:1199px){

  .carrpub__area{overflow:visible}
  .carrpub__area::after,
  #listado .post__tag::after,
  body.pag-servicio .pubrel .post__tag::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:44px;
    transform:translateY(-50%)}

  .pub__tags .post__tag{
    min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* EL ENLACE DE LA POLÍTICA DE PRIVACIDAD, ALCANZABLE CON EL DEDO — «TABLET» */
@media (min-width:700px) and (max-width:1199px){
  .form__aviso a{position:relative}
  .form__aviso a::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:44px;
    transform:translateY(-50%)}
}

/* EL RESUMEN DE LA PUBLICACIÓN, CON LA LETRA DEL ARTÍCULO — LOS TRES TRAMOS */
body.pag-publicacion .pub__resumen{font-size:var(--cuerpo-grupo)}

/* LA TRAYECTORIA DE LAS PÁGINAS DE PERSONA, A 75 CARACTERES — LOS TRES TRAMOS */
body.pag-persona .pers__tray p{font-size:21px}

/* EL TEXTO PLEGABLE DE LAS PÁGINAS DE ÁREA, CON LA LETRA DE SU PRESENTACIÓN */
body.pag-servicio.tiene-rotulo #servicio .serv__grupo p{font-size:var(--cuerpo-entrada)}

@media (min-width:1200px) and (max-width:1900px){

  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
    left:var(--rot-izq, calc(-1 * var(--flecha-sale)))}
}

@media (min-width:1200px){
  .carrpub__area::after,
  body.pag-publicaciones #listado .post__tag::after,
  body.pag-servicio .pubrel .post__tag::after{
    content:"";position:absolute;left:0;right:0;top:50%;
    height:24px;transform:translateY(-50%)}
}

@media (min-width:700px) and (max-width:1199px){

  :root{--kt:1px}

  :root{--pad:clamp(51.2px,5vw,64px)}
  body{--bloque:min(calc(3 * calc((1920px - 2 * (64px + 341px * .531) - 3 * 28px) / 4) + 2 * 28px),
                    calc(var(--util) - 2 * var(--pad)))}


  body.pag-contacto .form__adjunta{line-height:normal}


  body.pag-persona .pers__nombre{font-size:calc(2.9891vw + 0.924px)}
}

/* EL ARO DEL FOCO, EN BLANCO DENTRO DE LA BARRA */
#hdr :focus-visible{outline-color:#FFF}

/* EL ARO DEL FOCO, EN BLANCO TAMBIÉN EN EL CIERRE Y EN LA BARRA DEL PIE */
#contacto :focus-visible,
.ftr__barra :focus-visible{outline-color:#FFF}
/* Y EN EL BOTÓN DEL CORREO MIENTRAS FLOTA SOBRE LO OSCURO (la clase la
   pone js/comun.js) (H7 de la auditoría 6, orden suya 01/10/2026): el granate sobre lo oscuro casi no se veía */
.fab.fab--sobre-oscuro:focus-visible{outline-color:#FFF}

/* SITIO PARA EL RECUADRO DEL FOCO DENTRO DE LOS CARRUSELES */

:root{--aro-sale:6px;--pista-aire:6px}
@media (min-width:700px) and (max-width:1199px){

  :root{--pista-aire:calc(6 * var(--kt))}
}

#equipo .carr__pista,
.col__panel .carr__pista,
.carrpub__pista,
body.pag-servicio .pubrel .pub__rejilla{
  --holgura:var(--aro-sale);
  padding-left:var(--aro-sale);padding-right:var(--aro-sale);
  margin-left:calc(-1 * var(--aro-sale));margin-right:calc(-1 * var(--aro-sale));
  scroll-padding-left:var(--aro-sale);scroll-padding-right:var(--aro-sale);
  margin-bottom:calc(-1 * var(--aro-sale))}

#equipo .carr__pista,
.col__panel .carr__pista{
  padding-top:calc(var(--eleva,0px) + var(--aro-sale));
  margin-top:calc(-1 * (var(--eleva,0px) + var(--aro-sale)));
  padding-bottom:var(--aro-sale)}

.carrpub__pista{
  padding-top:var(--aro-sale);margin-top:calc(-1 * var(--aro-sale));
  padding-bottom:calc(var(--pista-aire) + var(--aro-sale))}

body.pag-servicio .pubrel .pub__rejilla{
  padding-top:var(--aro-sale);margin-top:calc(-1 * var(--aro-sale));
  padding-bottom:var(--aro-sale)}

.col__panel{padding-inline:var(--aro-sale);margin-inline:calc(-1 * var(--aro-sale))}
.col--abierto .col__panel{padding-bottom:var(--aro-sale)}

/* EL AJUSTE OBLIGATORIO DEJABA EL FOCO FUERA DE LA PANTALLA (en tablet) */

body.pag-servicio .pubrel .pub__rejilla{box-sizing:content-box}

/* EL ENLACE DEL TITULAR Y EL RESUMEN EN LA FICHA DEL CARRUSEL */
.carrpub__enlace{display:flex;flex-direction:column;flex:1 1 0;
  min-height:0;min-width:0;color:inherit;text-decoration:none}

@media (min-width:700px) and (max-width:1199px){
  .carrpub__enlace{flex:0 1 auto}
}
.carrpub__enlace:focus-visible{text-decoration:none}
@media (hover:hover){.carrpub__enlace:hover{text-decoration:none}}

.carrpub__f{top:calc(var(--carrpub-ficha,100%) / 2 + var(--aro-sale))}

/* EL BOTÓN QUE PARA EL CARRUSEL DE LA CABECERA */

.hero__pausa{position:absolute;top:50%;transform:translateY(-50%);
  left:calc(100% + var(--pausa-luz));
  width:var(--pausa-lado);height:var(--pausa-lado);border:1px solid var(--brand);border-radius:50%;
  background-color:#FFF;color:var(--brand);cursor:pointer;
  display:grid;place-items:center;
  transition:background-color .35s ease,color .35s ease}
@media (hover:hover){.hero__pausa:hover{background-color:var(--brand);color:#FFF}}
.hero__pausa-ico{width:17.33px;height:17.33px;fill:currentColor;display:block}
/* EN EL MÓVIL NO CABEN NUEVE PUNTOS DE 32 (con la pausa, 414 px), Y EN LA TABLETA LA FILA PASABA POR DEBAJO DE «LA
   FIRMA →»: por debajo de 1.200 px, todos, pausa incluida, a 24 px —lo mínimo para el dedo—, con huecos de 6 y 10
   hasta la pausa, y el símbolo de la pausa a escala; ocupan 298 px (H5 de la auditoría 6, orden suya 01/10/2026).
   Va aquí, detrás de la pausa, para mandar sobre ella */
@media (max-width:1199px){
  .hero__puntos{--pausa-lado:24px;--pausa-luz:10px;gap:6px}
  .hero__punto{width:24px;height:24px}
  .hero__pausa-ico{width:13px;height:13px}
}

/* LAS FLECHAS, JUNTO A LA LÍNEA DE PUNTOS (órdenes suyas, 05/10/2026, de las 20:14 a las 20:39, sobre las láminas del portátil de
   1.366 px: «SI MENOR es portátil, entonces es un ordenador y tiene que haber flechas para desplazarse»; «Para todas las
   configuraciones de "ordenador" en las que no caben las flechas de desplazamiento, pon las flechas a los lados de la linea de
   puntos»; «el boton de play pause no debe quedar dentro de las flechas»; y, preguntado si también con ratón por debajo de
   1.200 px, donde la página se ve como en la tablet y con ratón no se puede deslizar: «si»).
   DÓNDE: de 1.200 a 1.555 px de ancho, siempre; por debajo de 1.200 px, solo si el aparato tiene ratón (y de 370 px en adelante:
   más estrecho, el conjunto no cabe con el margen de la página). De 1.556 px en adelante las flechas siguen a los lados de la
   pantalla, como en la base; en una tablet o un móvil sin ratón no hay flechas, como siempre.
   CÓMO: el orden es flecha – puntos – flecha – botón de pausa; las flechas, con el trazo del alto de un punto y de 2 px de
   grueso, a 3,2 huecos de la línea de puntos (32 px con los puntos de 32; 19,2 px con los de 24); el botón de pausa, a esa
   misma distancia de la flecha derecha; el conjunto entero (de la flecha izquierda al botón de pausa), centrado en la
   pantalla. El color, el que tengan las flechas en esa imagen (granate; blancas sobre la foto de una publicación).
   TODO LO PONE LA HOJA, sin guion, para que nada se mueva al cargar: por eso el hueco de las fotos trae escrito cuántos
   puntos lleva la línea (--hero-puntos; lo escribe carrusel_cabecera.py). Sin guiones se ve un punto menos (el del sello
   va escondido): se descuenta aquí.
   La flecha se pulsa también un poco alrededor de su dibujo (una zona sin pintar de 8 px a cada lado, 6 con los puntos de
   24), que no llega a los puntos ni al botón de pausa. */
@media (min-width:1200px) and (max-width:1555px){
  .hero__foto{--fl-punto:32px;--fl-hueco:10px;--fl-pausa:32px;--fl-grueso:2.5;--fl-toque:-4px -8px}
}
@media (min-width:370px) and (max-width:1199px) and (hover:hover) and (pointer:fine){
  .hero__foto{--fl-punto:24px;--fl-hueco:6px;--fl-pausa:24px;--fl-grueso:3.3333;--fl-toque:-4px -6px}
}
@media (min-width:1200px) and (max-width:1555px), (min-width:370px) and (max-width:1199px) and (hover:hover) and (pointer:fine){
  .hero__foto{--fl-n:var(--hero-puntos, 8);
    --fl-aire:calc(var(--fl-hueco) * 3.2);
    --fl-alto:calc(var(--fl-punto) * 1.2);
    --fl-ancho:calc(var(--fl-alto) / 2);
    --fl-trazo:calc(var(--fl-ancho) * 11 / 24);
    --fl-linea:calc(var(--fl-n) * var(--fl-punto) + (var(--fl-n) - 1) * var(--fl-hueco));
    --fl-medio:calc(50% - (var(--fl-aire) + var(--fl-pausa)) / 2)}
  html:not(.midiendo) body:not(.hero-con-logo) .hero__foto{--fl-n:calc(var(--hero-puntos, 8) - 1)}
  .hero__puntos{--pausa-luz:calc(2 * var(--fl-aire) + var(--fl-trazo));
    transform:translateX(calc(-50% - (var(--fl-aire) + var(--pausa-lado)) / 2))}
  .hero__f{display:grid;width:var(--fl-ancho);height:var(--fl-alto);right:auto;
    top:calc(100% - var(--pad) / 2 - var(--fl-punto) / 2)}
  .hero__f svg{width:var(--fl-ancho);height:var(--fl-alto);stroke-width:var(--fl-grueso)}
  .hero__f::after{content:"";position:absolute;inset:var(--fl-toque)}
  .hero__f--izq{left:calc(var(--fl-medio) - var(--fl-linea) / 2 - var(--fl-aire) - var(--fl-ancho) * 17 / 24)}
  .hero__f--der{left:calc(var(--fl-medio) + var(--fl-linea) / 2 + var(--fl-aire) - var(--fl-ancho) * 7 / 24)}
}

/* «MENOR» TOMA LA MISMA VERTICAL QUE EL CONTENIDO */
@media (min-width:1200px) and (max-width:1369px){
  body{--barra-vert:var(--vert-menor)}
  .hdr .burger{margin-right:-9.2px}
  #contacto .cont__wrap{padding-left:var(--vert-menor)}
  .ftr__barra .ftr__in{padding-inline:var(--vert-menor)}
}


/* LAS ÁREAS DE PRÁCTICA NO ENCOGEN */
@media (max-width:1900px){
  body:not(.pag-servicio) #servicios .serv__corrido{--areas-cuerpo:32.6px}
}

/* LAS ÁREAS DE PRÁCTICA, EN UNA SOLA COLUMNA POR DEBAJO DE 1.020 px, en la portada y en el índice de áreas (orden suya,
   05/10/2026; hasta entonces, por debajo de 960 px). Entre 960 y 1.018 px las dos columnas del índice de áreas, con su letra
   de 32,6 px, no cabían: en inglés «Inheritance and succession» se salía 58 px del bloque y la página sacaba barra
   horizontal; en castellano «Arrendamientos urbanos» se metía 14 px en el margen. Preguntado con una imagen, eligió la
   misma regla en las dos páginas (en la portada, con su letra de 26 px, sí cabían). A 1.020 px el inglés cabe con 1,6 px
   de sobra: SI CAMBIA UN NOMBRE O LA LETRA, HAY QUE VOLVER A MEDIR (comprobar_area.py lo mide, en las tres lenguas, en los
   anchos donde esta hoja cambia de composición). */
@media (max-width:1019px){
  body:not(.pag-servicio) #servicios .serv__corrido{
    grid-template-columns:max-content;
    grid-template-rows:auto repeat(14, auto);
    justify-content:start;
    background-image:none}

  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(1){grid-area:2 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(2){grid-area:3 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(3){grid-area:4 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4){grid-area:5 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(5){grid-area:6 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(6){grid-area:7 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7){grid-area:8 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(8){grid-area:9 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(9){grid-area:10 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10){grid-area:11 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(11){grid-area:12 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(12){grid-area:13 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(13){grid-area:14 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(14){grid-area:15 / 1}
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(4),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(7),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(10),
  body:not(.pag-servicio) #servicios .serv__corrido > a:nth-of-type(13){
    border-top:1px solid var(--line);
    margin-top:calc(30px - var(--areas-luz));
    padding-top:30px}
}


/* EQUIPO: LA FOTOGRAFÍA SE PONE ENCIMA DE LOS DATOS POR DEBAJO DE 800 px */
@media (max-width:799px){
  body.pag-indice-equipo .eqidx__fila{
    grid-template-columns:minmax(0,1fr);row-gap:32px}

  #equipo .eqidx__fila .ret{width:160.5px;height:214px;margin-top:0}

  body.pag-persona .pers__cuerpo{

    grid-template-columns:minmax(0,1fr);row-gap:33px}
  body.pag-persona .pers__foto{width:160.5px;height:214px;margin-top:0;grid-area:auto / 1}

  body.pag-persona .pers__ficha{display:block;min-width:0}
  body.pag-persona .pers__tray{grid-area:auto / 1}

  body.pag-indice-equipo .eqidx__fila .pers__datos{margin-top:calc(60px - 16.49px)}
  body.pag-persona .pers__datos{margin-top:calc(60px - 16.49px)}

  body.pag-indice-equipo .eqidx__lista{gap:calc(60px - 22px * 2.5 / 24)}
  body.pag-indice-equipo #equipo{padding-bottom:calc(60px - 22px * 2.5 / 24)}
}

/* LA COLUMNA DE LECTURA LLEGA AL MARGEN POR DEBAJO DE 800 */
@media (max-width:799px){

  body.pag-servicio .serv__texto,
  body.pag-servicio.tiene-rotulo #servicio .serv__texto,
  body.pag-publicacion .pub-texto .serv__texto,

  body.pag-publicacion .pub__cab{max-width:none}
}

@media (max-width:887px){
  body.pag-publicaciones .pub__filtros{
    grid-template-columns:minmax(0,1fr);
    }
}

/* EL COLOR DE DOS APARTADOS DE LA PORTADA: el del apartado Equipo, que aquí se ponía en blanco, VUELVE A SER EL PAPEL de todo
   apartado sin marca (orden suya, 04/10/2026, 08:36: «En la página de inicio, el apartado equipo sobre fondo papel»): la regla
   que había aquí se ha quitado. Sus luces, en «EL APARTADO EQUIPO DE LA PORTADA, SOBRE FONDO PAPEL», al final de la hoja. */

/* EL LOGOTIPO NO ENCOGE EN TABLET */
@media (min-width:700px){
  .hdr .mark img{width:470.58px}
}

/* «MOVIL» — LA COMPOSICIÓN DE MENOS DE 700 px */
@media (max-width:699px){

  :root{--vertical-sangria:0px}

  body{--barra-vert:20px}
  .hdr{--burger-ancho:51px; --burger-luz:18px}
  .hdr .hdr__in{padding-inline:var(--barra-vert);gap:14px var(--burger-luz);flex-wrap:nowrap}
  .hdr .mark img{
    width:min(250.47px,
              calc(100vw - 2 * var(--barra-vert) - var(--burger-ancho) - var(--burger-luz)))}

  body.menu-abierto .mark{transform:none}

  .ftr__barra .ftr__in{padding-inline:var(--pad)}

  .hero{min-height:0;height:auto;padding-bottom:calc(var(--gap) - 14.25px + 46px)}
  body:not(.pag-servicio) .hero:not(.hero--sin-foto) > .wrap,
  body:not(.pag-servicio) .hero > .wrap{padding-right:var(--pad);max-width:none}

  .hero__titular{--hero-titulo:100%;min-width:0}

  .hero__titular h1{font-size:34px}
  .hero__sub{font-size:22px}
  body:not(.pag-servicio) .hero__mas .more{font-size:22px}
  .hero__pub{font-size:26px}

  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido .secnom{font-size:26px}
  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido{
    --areas-cuerpo:19px;
    display:flex;flex-direction:column;align-items:stretch;}

  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido > a:nth-of-type(3){margin-top:calc(var(--areas-luz) / -2)}
  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido > a:nth-of-type(4),
  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido > a:nth-of-type(7),
  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido > a:nth-of-type(10),
  body:not(.pag-servicio):not(.pag-indice) #servicios .serv__corrido > a:nth-of-type(13){
    margin-top:calc(var(--areas-cuerpo) * .6578 + 1.5px);
    padding-top:calc(var(--areas-cuerpo) * 1.2422 - 1.5px)}

  #equipo .carr__pista{margin-inline:auto;column-gap:12px;}

  #equipo .eq__f--izq{left:-8px}
  body:not(.pag-servicio) #publicaciones .carrpub__pista{margin-inline:auto;column-gap:12px}
  body:not(.pag-servicio) #publicaciones .carrpub__f--izq{left:-7px}
  body:not(.pag-servicio) #publicaciones .carrpub__f--der{left:auto;right:-9px}

  #publicaciones .more{font-size:22px}

  body:not(.pag-servicio) #publicaciones .carrpub__tit{font-size:16.3125px}


  #contacto .cont__wrap{padding-left:var(--pad)}
  #contacto .tarjeta__ciudad{font-size:26px}

  #contacto .tarjeta__col p.tarjeta__ciudad + p{font-size:20.7px}
  #contacto .tarjeta__col p a[href^="tel"]{font-size:20.7px}
  #contacto .ftr__barra .ftr__in,
body.pag-contacto .cont__barra .ftr__in,
body.pag-legal .cont__barra .ftr__in{
    flex-direction:column;flex-wrap:nowrap;align-items:flex-start;justify-content:center;
    row-gap:16px}

  #contacto .ftr__barra .ftr__copy,
#contacto .ftr__barra .ftr__copy #yr,
#contacto .ftr__barra .ftr__legal,
body.pag-contacto .cont__barra .ftr__copy,
body.pag-contacto .cont__barra .ftr__copy #yr,
body.pag-contacto .cont__barra .ftr__legal,
body.pag-legal .cont__barra .ftr__copy,
body.pag-legal .cont__barra .ftr__copy #yr{font-size:12.5px}
  #contacto .ftr__barra .ftr__legal a,
body.pag-contacto .cont__barra .ftr__legal a{font-size:12.5px}

  /* LA LÍNEA DE LOS LEGALES: TODA LA BARRA (40 px) RESPONDE AL DEDO — HALLAZGO 19 */
  
  .ftr__barra .ftr__legal a{position:relative}
  
  .ftr__barra .ftr__legal a::after{
    content:"";position:absolute;left:0;right:0;top:50%;height:40px;
    transform:translateY(-50%)}

  #contacto .ftr__barra .ftr__copy,
  #contacto .ftr__barra .ftr__copy #yr,
  body.pag-contacto .cont__barra .ftr__copy,
  body.pag-contacto .cont__barra .ftr__copy #yr,
  body.pag-legal .cont__barra .ftr__copy,
  body.pag-legal .cont__barra .ftr__copy #yr{letter-spacing:.42px}

  #contacto .ftr__barra .ftr__copy,
  body.pag-contacto .cont__barra .ftr__copy{display:none}
  #contacto{--pie-alto:40px}
  body.pag-contacto .cont__barra,
  body.pag-legal .cont__barra{height:40px}
  #contacto .ftr__barra .ftr__in,
  body.pag-contacto .cont__barra .ftr__in,
  body.pag-legal .cont__barra .ftr__in{padding-top:1.1px}
  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
    left:-8px;top:0;width:34px}
  body:not(.pag-servicio) #equipo > .wrap > .equipo__cuerpo > .equipo__frase .secnom,
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    font-size:26px}

  body.pag-firma #servicio > .wrap{
    margin-left:calc(var(--pad) - var(--sangria-firma));margin-right:0;
    width:calc(100% - 2 * var(--pad) + var(--sangria-firma));max-width:none;padding-inline:0}
  body.pag-firma #servicio h1.serv__titulo{font-size:26px}
  body.pag-firma #servicio{padding-top:calc(var(--banda) + 60.5px)}
  body.pag-firma #servicio > .wrap .serv__texto p{text-align:left}

  body.pag-indice .mark,
  body.pag-publicaciones .mark{transform:none}
  body.pag-indice:not(.pag-indice-equipo) .ind__rot{font-size:34px}
  body.pag-indice:not(.pag-indice-equipo) .ind__foto{padding-top:57px;padding-bottom:56.32px}
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido{margin-top:0}
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido{
    --areas-cuerpo:19px;
    display:flex;flex-direction:column;align-items:stretch;}
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a{width:auto}
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a:nth-of-type(3){margin-top:calc(var(--areas-luz) / -2)}
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a:nth-of-type(4),
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a:nth-of-type(7),
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a:nth-of-type(10),
  body.pag-indice:not(.pag-indice-equipo) #servicios .serv__corrido > a:nth-of-type(13){
    margin-top:calc(var(--areas-cuerpo) * .6578 + 1.5px);
    padding-top:calc(var(--areas-cuerpo) * 1.2422 - 1.5px)}

  body.pag-indice-equipo .ind__rot{font-size:34px;text-box:trim-both cap alphabetic}
  body.pag-indice-equipo .ind__foto{padding-top:60.52px;padding-bottom:60px}
  body.pag-indice-equipo .eqidx__fila .pers__ficha{margin-bottom:calc(-1 * var(--eqidx-datos-sobra, 0px))}
  body.pag-indice-equipo .eqidx__fila .pers__datos li:has(a[href^="mailto:"]){align-items:flex-start}
  body.pag-indice-equipo .eqidx__fila .pers__datos li:has(a[href^="mailto:"]) svg{margin-top:calc((1lh - 22px) / 2)}
  body.pag-indice-equipo .eqidx__fila .pers__nombre{font-size:26px}
  body.pag-indice-equipo .eqidx__fila .pers__cargo{font-size:19px}

  body.pag-publicaciones #listado{grid-template-columns:minmax(0,1fr);--pub-filas:10}
  body.pag-publicaciones #servicio h1.serv__titulo{font-size:34px}
  body.pag-publicaciones .pub__filtro{
    font-size:19px;line-height:calc(52.52px * 19 / 26.4);gap:calc(28px * 19 / 26.4)}
  body.pag-publicaciones #servicio{padding-top:calc(var(--banda) + 60px - 88.41px)}

  body.pag-publicaciones .pub__pg--salto{display:none}

  body.pag-contacto{min-height:100vh;display:flex;flex-direction:column;
    --caja-menor:calc(var(--util) - 2 * var(--pad))}
  body.pag-contacto main{flex:1 0 auto}
  body.pag-contacto #contacto-pagina{min-height:0;padding-bottom:0}
  body.pag-contacto #contacto-pagina > .wrap{
    margin-left:var(--pad);width:var(--caja-menor);max-width:none;padding-inline:0}
  body.pag-contacto .cont__cuerpo{
    display:block;margin-left:var(--pad);width:var(--caja-menor);padding-inline:0}
  body.pag-contacto .cont__texto,
  body.pag-contacto .cont__datos{width:100%;max-width:100%}
  body.pag-talento .tal__intro{max-width:none}
  body.pag-contacto .cont__mapa{
    position:relative;top:auto;width:100%;aspect-ratio:auto;
    height:calc(var(--caja-menor) * 6 / 16 + 53px);

    --mapa-luz:52.02px;
    margin-top:var(--mapa-luz, 0px);
    transition:margin-top .45s cubic-bezier(.4,.1,.2,1),height .45s cubic-bezier(.4,.1,.2,1)}
  body.pag-contacto #contacto-pagina::before{display:none}
  body.pag-contacto .cont__form{
    position:static;top:auto;left:auto;width:auto;max-width:none;
    margin:60px calc(-1 * var(--pad)) 0;
    padding:60px var(--pad) 26.4px;
    background-color:var(--papel-fondo);background-image:var(--grano-papel)}

  body.pag-talento .cont__form{margin-top:calc(60px - 11.23px)}
  body.pag-contacto #contacto-pagina h1{font-size:26px}
  body.pag-contacto #contacto-pagina{padding-top:calc(var(--banda) + 60px - 53px)}

  body.pag-contacto #contacto-pagina h1{margin-bottom:-6.47px}
  body.pag-talento #contacto-pagina h1{margin-bottom:-6.31px}
  body.pag-contacto .cont__ciudad{font-size:26px}

  body.pag-contacto .cont__datos{font-size:20.7px}

  body.pag-servicio.tiene-rotulo{--hueco-cuadro:28px}
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .pubrel > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .rel > .wrap,
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .area-equipo > .wrap,
  body.pag-servicio.pag-persona:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .pubrel > .wrap{
    margin-left:var(--pad);width:calc(var(--util) - 2 * var(--pad));
    max-width:none;padding-inline:0}
  body.pag-servicio.tiene-rotulo #servicio .serv__plegables{grid-area:auto / 1;}
  body.pag-servicio.tiene-rotulo #servicio h1.serv__titulo{font-size:26px}
  body.pag-servicio.tiene-rotulo .pubrel .pub__rejilla,
  body.pag-servicio.pag-persona .pubrel .pub__rejilla,
  body.pag-publicacion.pag-servicio .pubrel .pub__rejilla{
    width:258px;margin-inline:auto;grid-auto-columns:258px;column-gap:12px}
  body.pag-servicio.tiene-rotulo .pubrel__f--izq,
  body.pag-servicio.pag-persona .pubrel__f--izq,
  body.pag-publicacion.pag-servicio .pubrel__f--izq{left:-7px}
  body.pag-servicio.tiene-rotulo .pubrel__f--der,
  body.pag-servicio.pag-persona .pubrel__f--der,
  body.pag-publicacion.pag-servicio .pubrel__f--der{left:auto;right:-7px}
  body.pag-servicio.tiene-rotulo .pubrel .post,
  body.pag-servicio.pag-persona .pubrel .post,
  body.pag-publicacion.pag-servicio .pubrel .post{
    --cuerpo-alto:calc(459.3px - 4 * 1.32 * (21.42px - 16.3125px));
    --img-alto:calc(459.3px * .375);gap:0}
  body.pag-servicio.tiene-rotulo .pubrel .post .post__enlace :is(h2,h3),
  body.pag-servicio.pag-persona .pubrel .post .post__enlace :is(h2,h3),
  body.pag-publicacion.pag-servicio .pubrel .post .post__enlace :is(h2,h3){font-size:16.3125px}
  body.pag-servicio.tiene-rotulo .serv__volver--fin,
  body.pag-publicacion.pag-servicio .serv__volver--fin{font-size:22px;display:block;width:auto}
  .leer-todo{font-size:22px}
  body.pag-servicio.tiene-rotulo .serv__volver--fin::after,
  body.pag-publicacion.pag-servicio .serv__volver--fin::after{
    display:inline;content:"\00A0→";content:"\00A0→" / "";margin-left:calc(10px - .25em);
    position:relative;left:0;transition:left .25s}
  @media (hover:hover){body.pag-servicio.tiene-rotulo .serv__volver--fin:hover::after,
  body.pag-publicacion.pag-servicio .serv__volver--fin:hover::after{transform:none;left:6px}}
  body.pag-servicio.tiene-rotulo .area-equipo .rel__titulo,
  body.pag-servicio.tiene-rotulo .pubrel .rel__titulo,
  body.pag-servicio.pag-persona .pubrel .rel__titulo,
  body.pag-publicacion.pag-servicio .pubrel .rel__titulo,
  body.pag-servicio.tiene-rotulo .rel .rel__titulo{font-size:26px}
  body.pag-servicio.tiene-rotulo #servicio .serv__plegables h2{font-size:22px}


  body.pag-servicio.tiene-rotulo #servicio .serv__arriba p,
  body.pag-servicio.tiene-rotulo #servicio .serv__grupo p{text-align:left}
  body.pag-servicio.tiene-rotulo .rel__lista{
    width:auto;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:var(--hueco-cuadro);overflow-x:visible}

  body{--ficha-tel:min(258px, calc(var(--util) - 2 * var(--pad) - 62px));
    --etq-renglon:calc(12px * 1.35);--etq-alto:calc(var(--etq-renglon) + 7.54px + 2 * 6.98px + 2px)}

  #equipo .carr__pista{width:var(--ficha-tel);grid-auto-columns:var(--ficha-tel);
    padding-left:var(--aro-sale);padding-right:var(--aro-sale)}
  body:not(.pag-servicio) #publicaciones .carrpub__pista{
    width:calc(var(--ficha-tel) + 12px);grid-auto-columns:var(--ficha-tel)}
  body:not(.pag-servicio) #publicaciones .carrpub__card{--img-alto:calc(var(--ficha-tel) * 172.2375 / 258);
    --cuerpo-alto:calc(459.3px - 4 * 1.32 * (21.42px - 16.3125px) + var(--etq-renglon))}
  body.pag-servicio.tiene-rotulo .pubrel .pub__rejilla,
  body.pag-servicio.pag-persona .pubrel .pub__rejilla,
  body.pag-publicacion.pag-servicio .pubrel .pub__rejilla{width:var(--ficha-tel);grid-auto-columns:var(--ficha-tel)}
  body.pag-servicio.tiene-rotulo .pubrel .post,
  body.pag-servicio.pag-persona .pubrel .post,
  body.pag-publicacion.pag-servicio .pubrel .post{--img-alto:calc(var(--ficha-tel) * 172.2375 / 258);
    --cuerpo-alto:calc(459.3px - 4 * 1.32 * (21.42px - 16.3125px) + var(--etq-renglon))}

  body:not(.pag-servicio) #publicaciones .more{display:block;width:fit-content;max-width:100%}

  body:not(.pag-servicio) #publicaciones{padding-bottom:calc(120px - 10.63px)}
  body:not(.pag-servicio) #publicaciones .more::after{
    display:inline;content:"\00A0→";content:"\00A0→" / "";margin-left:calc(10px - .25em);
    position:relative;left:0;transition:left .25s}
  @media (hover:hover){body:not(.pag-servicio) #publicaciones .more:hover::after{transform:none;left:6px}}
  body:not(.pag-servicio) #publicaciones .carrpub__area,
  body.pag-servicio.tiene-rotulo .pubrel .post__tag,
  body.pag-servicio.pag-persona .pubrel .post__tag,
  body.pag-publicacion.pag-servicio .pubrel .post__tag{
    display:inline-flex;align-items:center;justify-content:center;
    height:var(--etq-alto);box-sizing:border-box;padding-top:1.75px;padding-bottom:0;
    white-space:normal;overflow:visible;text-overflow:clip;
    text-align:center;text-wrap:balance;text-box:none;line-height:var(--etq-renglon)}

  /* LA ETIQUETA DE MATERIA, A 12 px EN «MÓVIL» (HALLAZGO 19); EN EL ÍNDICE DE PUBLICACIONES,
     LA MATERIA QUE NO CABE EN UN RENGLÓN PASA A DOS, COMO EN LAS FICHAS */
  body:not(.pag-servicio) #publicaciones .carrpub__area,
  body.pag-publicaciones .pub__rejilla .post__tag,
  body.pag-servicio .pubrel .post__tag{font-size:12px}
  body.pag-publicaciones .pub__rejilla .post__tag{white-space:normal;text-align:center;text-wrap:balance}

  body.pag-publicacion.pag-servicio main > section > .wrap{
    margin-left:var(--pad);margin-right:0;width:calc(var(--util) - 2 * var(--pad));
    max-width:none;padding-inline:0}
  body.pag-publicacion #servicio h1.serv__titulo{font-size:26px}
  body.pag-publicacion .pub-texto .serv__texto h2{font-size:22px}

  body.pag-publicacion .pub__cab{--fecha-tinta:12.5px;--fecha-sale:.91px}
  body.pag-publicacion .pub__cab > .pub__cabeza{
    width:calc(100% - var(--fecha-tinta) - 33.64px / 2)}

  body:is([data-exp],[data-nov]) .pub__cab{
    --sello-lado:calc((100% - var(--fecha-tinta) - 33.64px / 2)
                      * var(--exp-carpeta-prop) / var(--exp-caja-prop))}
  body:is([data-exp],[data-nov]) .pub__cab > .pub__cabeza{width:var(--sello-lado)}
  body.pag-publicacion .pub__cab .post__date{left:auto;right:var(--fecha-sale);transform:none}

  body.pag-publicacion:is([data-exp],[data-nov]) .pub__cab .post__date{
    right:auto;left:calc(var(--sello-lado) + 33.64px / 2)}
  body.pag-publicacion .pub__tags .post__tag{
    min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  body.pag-publicacion .serv__texto .pub__firma{flex-direction:column;align-items:flex-start}
  body.pag-publicacion .serv__texto .pub__firma .s{display:none}

  body.pag-publicacion .serv__texto .serv__grupo + .pub__firma{margin-top:calc(2.6em - 6.42px)}

  body.pag-publicacion .pub__resumen,
  body.pag-publicacion .pub-texto .serv__texto p{text-align:left}

  body.pag-persona .pers__raya{display:none}
  body.pag-persona .pers__nombre{font-size:26px}
  body.pag-persona .pers__cargo{font-size:19px}
  body.pag-persona .pers-areas .rel__titulo{font-size:26px}
  body.pag-persona .pers-areas__lista a{font-size:19px}

  body.pag-persona .pers__cuerpo{row-gap:32px}

  body.pag-persona #persona{padding-top:calc(var(--banda) + 60px - var(--eqidx-foto-y, 0px))}
  body.pag-persona #persona .pers__cuerpo{margin-top:0}

  body.pag-persona:not(.pag-sin-tray) #persona{padding-bottom:calc(60px - 10.1px)}
  body.pag-persona.pag-sin-tray #persona{padding-bottom:calc(60px - 9.16px)}

  body.pag-persona .pers-areas{padding-top:calc(60px - 6px);padding-bottom:calc(60px - 14.09px)}

  body.pag-persona .pers-areas .rel__titulo{margin-bottom:42.69px}

  body.pag-persona .pers__tray{text-align:left}

  body.pag-servicio.pag-legal:not(.pag-404):not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap{
    margin-left:var(--pad);width:calc(var(--util) - 2 * var(--pad));
    max-width:none;padding-inline:0}
  body.pag-legal:not(.pag-404) #servicio h1.serv__titulo{font-size:26px}
  body.pag-legal:not(.pag-404) .serv__texto h2{font-size:22px}
  body.pag-legal:not(.pag-404) .serv__texto p{text-align:left}
  body.pag-legal:not(.pag-404) #servicio{padding-top:calc(var(--banda) + 60px - 52px);
    padding-bottom:25.26px}
  body.pag-legal:not(.pag-404) #servicio .serv__texto{margin-top:50.44px}

  body.pag-servicio.pag-404:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap{
    margin-left:var(--pad);width:calc(var(--util) - 2 * var(--pad));
    max-width:none;padding-inline:0}
  body.pag-404 #servicio h1.serv__titulo{font-size:26px}
  body.pag-404 .serv__texto p{text-align:left}
  body.pag-404 #servicio{padding-top:61.28px;}

  #contacto .cont__exp{display:block;left:0;right:auto;max-width:100%;white-space:normal;
    --exp-lado:izq}

  #contacto .cont__exp::after{content:none}
  #contacto .cont__exp .more__txt::after{content:"\00a0\00a0→";content:"\00a0\00a0→" / "";
    font-family:var(--sans);font-size:22px}

  body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.abierto),
body.pag-servicio.tiene-rotulo #servicio .serv__texto h2:has(+ .serv__grupo.va-abrir){
    margin-bottom:calc(var(--pleg-luz) - 13.5px)}
  body.pag-servicio.tiene-rotulo #servicio .serv__grupo.abierto + h2,
body.pag-servicio.tiene-rotulo #servicio .serv__grupo.va-abrir + h2{margin-top:2.04px}
  body.pag-publicacion .pub-texto .serv__texto h2:has(+ .serv__grupo.abierto){
    margin-bottom:calc(var(--pleg-luz) - 15.5px)}
  body.pag-publicacion .pub-texto .serv__grupo.abierto + h2,
body.pag-publicacion .pub-texto .serv__grupo.va-abrir + h2{margin-top:4.22px}
}

/* LA PÁGINA «CUÉNTANOS TU EXPERIENCIA» */

body.pag-resena{--cont-x:var(--barra-vert);
  --sangria:calc(var(--cont-x) - var(--pad))}

body.pag-resena{min-height:100vh;display:flex;flex-direction:column}
body.pag-resena main{flex:1 0 auto;display:flex;flex-direction:column}
body.pag-resena #resena{flex:1 0 auto}
body.pag-resena #resena{background-color:#FFF;background-image:none;--grano-sec:none;

  padding-top:calc(var(--banda) + 60px - 8.01px);
  padding-bottom:calc(60px - 11.55px)}

body.pag-resena .res__enlace{margin-top:calc(60px - 17.23px)}

body.pag-resena .res__google{

  display:inline-block;height:0.9905em;width:3.2596em;vertical-align:-0.2341em;

  transform:translateY(0.0249em);

  margin:0 .04em}

@media (hover:hover){body.pag-resena .res__enlace:hover .more__txt{text-decoration:none}}

body.pag-resena .res__texto{
  font-family:var(--sans);font-weight:300;font-size:23.4px;line-height:1.42;
  color:var(--ink-3);max-width:753.72px;text-align:left;

  margin:calc(60px - 17.02px) 0 0}

@media (min-width:700px) and (max-width:1900px){

  body.pag-servicio.pag-resena:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #resena > .wrap{
    margin-left:var(--barra-vert);margin-right:0;
    width:var(--bloque);max-width:none;padding-inline:0}
}
@media (max-width:699px){
  body.pag-servicio.pag-resena:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #resena > .wrap{
    margin-left:var(--pad);margin-right:0;
    width:calc(var(--util) - 2 * var(--pad));max-width:none;padding-inline:0}
  body.pag-servicio.pag-resena:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) .res__titulo{font-size:26px}
  body.pag-resena .res__texto{max-width:none}

  body.pag-resena #resena{padding-top:calc(var(--banda) + 60px - 5.99px)}
  body.pag-resena .res__texto{margin-top:calc(60px - 15.31px)}
}

/* EL APARTADO DE COLABORADORES, APARCADO: NO SE ENSEÑA A NINGÚN ANCHO (SUS REGLAS SE CONSERVAN) */
#colaboradores{display:none}


/* CONTACTO: LAS DOS COLUMNAS, A LOS MÁRGENES DEL RÓTULO (BASE Y MENOR) */
@media (min-width:1901px){
  body.pag-contacto{--cont-x:var(--barra-vert)}
}
@media (min-width:1200px) and (max-width:1900px){
  body.pag-contacto{--caja-menor:var(--bloque)}
  body.pag-contacto .cont__form > *{max-width:var(--bloque)}
}

/* EL AVISO LEGAL, AL MARGEN DEL RÓTULO, EN LA BASE */
@media (min-width:1901px){
  body.pag-servicio.pag-legal:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap{
    margin-left:calc(var(--barra-vert) - var(--pad));}
}

/* LAS PUBLICACIONES DE EXPERIENCIA ENTRAN EN LA CABECERA DE LA PORTADA */
.hero__capa--papel{
  background-color:var(--papel-fondo);

  background-image:var(--grano-papel);
  background-size:auto;background-repeat:repeat;background-position:left top;
  filter:none}
.hero__capa--papel.is-visible{opacity:1}

/* LA ETIQUETA DE LA CABECERA («Asunto relevante» o el nombre de la materia): junto al botón redondo de la publicación, centrada
   con él y acabando donde acaba el renglón más largo del título. DESDE EL 06/10/2026 NO ES UN ENLACE (orden suya, 12:17): es
   un texto, no se puede pulsar y no cambia al señalarla. Su color lo pone el bloque de las imágenes de las materias, al final
   de la hoja. */
.hero__tag{--etq-k:1.25;position:absolute;top:var(--ir-firma,var(--ir-y,0px));height:var(--hero-ir);
  right:calc(100% - var(--titulo-largo, min(var(--pub-ancho, var(--hero-titulo)), 100%)));
  display:inline-flex;align-items:center}
/* SU LETRA (--etq-k: cuántas veces la de las etiquetas de las fichas, de 10,5 px): un 25 % mayor, 13,125 px (orden suya,
   30/09/2026); EN EL MÓVIL (menos de 700 px), 12 px, como las etiquetas de las fichas en el móvil (06/10/2026, 13:27 a 13:39:
   «la letra de las etiquetas en móvil, ¿no es proporcionalmente demasiado grande…?»; de las tres que vio, «b»). Con la letra
   va la etiqueta entera: su relleno y su alto. */
@media (max-width:699px){ .hero__tag{--etq-k:1.1428571} }
.hero__tag .carrpub__area{font-size:calc(10.5px * var(--etq-k));letter-spacing:calc(.1em);
  padding:calc(7.23px * var(--etq-k)) calc(11.63px * var(--etq-k));pointer-events:none;cursor:default;
  /* CON LA LETRA DEL MENÚ, EN SU GROSOR FINO (orden suya, 07/10/2026, 17:30: «es posible que la etiqueta de area de las diapositivas
     de la portada tenga menos impacto? da la sensación de que es negrita y no queda bien»; de las tres versiones, 17:36: «la C»;
     implantado esa noche): Source Sans 3 a 300, en vez de la letra de las fichas (Instrument Sans a 500); el tamaño, el color y
     el sitio no cambian, y la etiqueta sale algo más corta */
  font-family:var(--menu);font-weight:300}
/* EN DOS LÍNEAS (órdenes suyas, 05/10/2026, 16:09 a 19:40): cuando en una no cabe junto al botón o cabe justa, el guion de la
   portada le pone la marca es-varias, el número de líneas (--etq-n) y su ancho: el texto, centrado y repartido en renglones
   parejos; el alto, el de una línea más un renglón por cada línea de más. */
.hero__tag .carrpub__area.es-varias{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  height:calc(10.5px * var(--etq-k) * 1.35 * (var(--etq-n, 2) - 1) + 7.54px * var(--etq-k) + 2 * 7.23px * var(--etq-k) + 2px);
  padding-top:calc(1.75px * var(--etq-k));padding-bottom:0;white-space:normal;overflow:visible;text-overflow:clip;
  text-align:center;text-wrap:balance;text-box:none;line-height:calc(10.5px * var(--etq-k) * 1.35)}


/* EL SELLO DE LOS CUADROS DE ASUNTO RELEVANTE (Y EL BOE DE LOS DE NOVEDAD LEGISLATIVA, 08/10/2026), SOBRE BLANCO */
.carrpub__card:has(.carrpub__area--exp,.carrpub__area--nov) .pub__img,
body.pag-publicaciones .pub__rejilla .post:has(.post__tag--exp,.post__tag--nov) .pub__img,
body.pag-servicio .pubrel .post:has(.post__tag--exp,.post__tag--nov) .pub__img{
  background-color:var(--white);background-image:none}

/* LOS FILTROS DEL ÍNDICE, DE 1.200 PX PARA ARRIBA (orden suya, 08/10/2026, 12:51): LAS CATORCE ÁREAS EN DOS COLUMNAS DE SIETE
   Y, EN LA TERCERA, «ASUNTO RELEVANTE» Y DEBAJO «NOVEDAD LEGISLATIVA» (hasta entonces, los quince en tres columnas de cinco).
   Las dos casillas fijas van escritas; las áreas se reparten solas, por columnas. Un área más necesita una fila más (lo
   decide él): comprobar_area.py lo cuenta y dar_de_alta_area.py se para. */
@media (min-width:1200px){
  body.pag-publicaciones .pub__filtros{
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:repeat(7,auto);
    max-width:100%}
  body.pag-publicaciones .pub__filtro[data-area="asunto-relevante"]{grid-column:3;grid-row:1}
  body.pag-publicaciones .pub__filtro[data-area="novedad-legislativa"]{grid-column:3;grid-row:2}
}

@media (min-width:888px) and (max-width:1199px){
  body.pag-publicaciones .pub__filtros{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:none;grid-auto-flow:row}
}

@media (max-width:887px){
  body.pag-publicaciones .pub__filtros{grid-template-rows:none;grid-auto-flow:row}
}

@media (min-width:1200px){
  body.pag-publicaciones .pub__filtro{font-size:22.2px;line-height:44.17px}
}

/* (y «Novedad legislativa», también en granate: orden suya, 08/10/2026, 12:51) */
body.pag-publicaciones .pub__filtro:is([data-area="asunto-relevante"],[data-area="novedad-legislativa"]):not([disabled]),
body.pag-publicaciones .pub__filtro:is([data-area="asunto-relevante"],[data-area="novedad-legislativa"]):not([disabled]) .pub__filtro-txt{
  color:var(--brand)}
@media (hover:hover){body.pag-publicaciones .pub__filtro:is([data-area="asunto-relevante"],[data-area="novedad-legislativa"]):not([disabled]):hover,
body.pag-publicaciones .pub__filtro:is([data-area="asunto-relevante"],[data-area="novedad-legislativa"]):not([disabled]):hover .pub__filtro-txt{
  color:var(--brand)}}
@media (hover:hover){body.pag-publicaciones .pub__filtro:is([data-area="asunto-relevante"],[data-area="novedad-legislativa"]):not([disabled]):hover .pub__filtro-txt{
  text-decoration-color:var(--brand)}}

/* EL BOTÓN DE BORRAR LOS FILTROS, EN EL ÍNDICE DE PUBLICACIONES */
body.pag-publicaciones .pub__limpiar{
  display:flex;align-items:center;justify-content:flex-start;gap:28px;
  margin:var(--luz-limpiar, var(--luz-limpiar-0)) 0 0;padding:0;border:0;background:none;
  font-family:var(--sans);font-weight:inherit;
  font-size:26.4px;line-height:52.52px;color:#000;cursor:pointer;
  text-box:trim-both cap alphabetic}
body.pag-publicaciones .pub__limpiar-ico{
  flex:none;width:calc(.72em + 2px);height:calc(.72em + 2px);
  display:grid;place-items:center}

body.pag-publicaciones .pub__limpiar:not([disabled]) .pub__limpiar-txt{color:var(--brand)}
body.pag-publicaciones .pub__limpiar[disabled]{color:var(--filtro-apagado);cursor:default}
@media (hover:hover){body.pag-publicaciones .pub__limpiar:not([disabled]):hover .pub__limpiar-txt{
  text-decoration:underline;text-decoration-color:var(--brand);
  text-decoration-thickness:1px;text-underline-offset:.2em}}

@media (min-width:1200px){
  body.pag-publicaciones .pub__limpiar{font-size:22.2px;line-height:44.17px}
}
@media (max-width:699px){
  body.pag-publicaciones .pub__limpiar{
    font-size:19px;line-height:calc(52.52px * 19 / 26.4);gap:calc(28px * 19 / 26.4)}
}

/* EL TEXTO DESPLEGADO RESPIRA 35 */
body.pag-publicacion .pub-texto .serv__grupo > :first-child{margin-top:17.76px}
body.pag-servicio.tiene-rotulo #servicio .serv__plegables .serv__grupo > :first-child{
  margin-top:23.77px}
body.pag-publicacion .pub-texto .serv__grupo p + p,
body.pag-servicio.tiene-rotulo #servicio .serv__plegables .serv__grupo p + p{margin-top:19.72px}
body.pag-publicacion .pub-texto .serv__grupo > :last-child,
body.pag-servicio.tiene-rotulo #servicio .serv__plegables .serv__grupo > :last-child{
  margin-bottom:19.72px}
@media (max-width:699px){
  body.pag-publicacion .pub-texto .serv__grupo > :first-child,
  body.pag-servicio.tiene-rotulo #servicio .serv__plegables .serv__grupo > :first-child{
    margin-top:0}}

body.pag-servicio:not(.pag-publicacion):not(.pag-publicaciones)
  .serv__grupo.va-abrir:not(.abierto) + h2{transition:none}

@media (min-width:1370px){
  body.pag-servicio.tiene-rotulo:not(.pag-publicacion):not(.pag-publicaciones):not(.pag-firma) #servicio > .wrap{
    margin-left:var(--barra-vert);padding-inline:0;
    width:calc(var(--util) - var(--barra-vert) - var(--pad));max-width:none}
}

@media (min-width:1370px){

  body.pag-publicacion.pag-servicio main > #servicio > .wrap,
  body.pag-publicacion.pag-servicio main > .pub-texto > .wrap{
    margin-left:var(--barra-vert);margin-right:0;padding-inline:0;
    width:calc(var(--util) - var(--barra-vert) - var(--pad));max-width:none}
}

@media (min-width:1370px){
  body.pag-firma #servicio > .wrap{
    margin-left:var(--barra-vert);margin-right:0;padding-inline:0;
    width:calc(var(--util) - var(--barra-vert) - var(--pad));max-width:none}
  body.pag-firma{--firma-texto-off:0px}
}

/* OPCIÓN B: EL DISEÑO, CENTRADO EN LAS PANTALLAS MÁS ANCHAS QUE 1.920 */
@media (min-width:1921px){
  body{--canto:max(0px, calc((100% - 1920px) / 2))}
  body > main, body > footer{width:100%;max-width:1920px;margin-inline:auto}
  body::before, body::after{content:"";position:fixed;top:0;bottom:0;z-index:-1;
    width:var(--canto);pointer-events:none;
    background-color:var(--papel-fondo);background-image:var(--grano)}
  .hdr{left:var(--canto);right:var(--canto)}
  .nav.is-open,.hdr:not(.is-stuck) .nav.is-open{left:var(--canto);right:var(--canto)}
  .fab{right:calc(var(--canto) + var(--pad) / 2)}
}

/* LA PÁGINA ENTRA YA COLOCADA: LO QUE AFINA EL GUION, RESERVADO EN LA HOJA */
body.pag-publicacion #servicio .pub__cab > .pub__cabeza{margin-top:calc(var(--titulo-baja) + var(--luz-cabecera))}
body.pag-publicacion #servicio .pub__cab > .pub__cabeza + h1{margin-top:55px}
body.pag-publicacion #servicio .pub__cab > .pub__cabeza ~ .pub__resumen{margin-top:39.66px}
@media (max-width:699px){
  body.pag-publicacion #servicio .pub__cab > .pub__cabeza + h1{margin-top:56px}
  body.pag-publicacion #servicio .pub__cab > .pub__cabeza ~ .pub__resumen{margin-top:42.69px}
}
body.pag-servicio.tiene-rotulo:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones):not(.pag-legal) #servicio{padding-top:133.6px}
body.pag-servicio.tiene-rotulo #servicio .serv__texto{margin-top:44px}
body.pag-servicio.tiene-rotulo #servicio .serv__plegables{margin-top:45.5px}
@media (max-width:1369px){body.pag-servicio.tiene-rotulo #servicio .serv__plegables{margin-top:52px}}
@media (max-width:1199px){body.pag-servicio.tiene-rotulo #servicio .serv__plegables{margin-top:57px}}
@media (min-width:700px) and (max-width:1199px){body.pag-servicio.tiene-rotulo:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones):not(.pag-legal) #servicio{padding-top:calc(6.055vw + 63px)}}
/* EN EL TELÉFONO NO HAY BOTÓN DEL CORREO: tapaba el final de las líneas; el contacto está en el
   menú y al pie de todas las páginas */
@media (max-width:699px){
  .fab{display:none}
}

@media (max-width:699px){
  body.pag-servicio.tiene-rotulo #servicio .serv__plegables{margin-top:60.5px}
  body.pag-servicio.tiene-rotulo:not(.pag-firma):not(.pag-publicacion):not(.pag-publicaciones):not(.pag-legal) #servicio{padding-top:111.5px}
  body.pag-servicio.tiene-rotulo #servicio .serv__texto{margin-top:45.7px}
}

@media (max-width:699px){
  #contacto .cont__exp{--exp-y:263px}
  #contacto .cont__menu{--menu-pie-x:0px;--menu-pie-y:342px}
  #contacto .equipo__cuerpo{--menu-pie-alto:593.8px}
  body.pag-resena #contacto .cont__menu{--menu-pie-y:264px}
  body.pag-resena #contacto .equipo__cuerpo{--menu-pie-alto:515.8px}
}
@media (max-width:345.43px){
  html[lang="es"] body:not(.pag-resena) #contacto .cont__menu{--menu-pie-y:380.5px}
  html[lang="es"] body:not(.pag-resena) #contacto .equipo__cuerpo{--menu-pie-alto:632.3px}
}
@media (max-width:381.43px){
  html:is([lang="ca"],[lang="en"]) body:not(.pag-resena) #contacto .cont__menu{--menu-pie-y:380.5px}
  html:is([lang="ca"],[lang="en"]) body:not(.pag-resena) #contacto .equipo__cuerpo{--menu-pie-alto:632.3px}
}
@media (min-width:700px) and (max-width:1199px){
  #contacto .hero__tarjeta{padding-top:58.33px}
  #contacto .cont__exp{--exp-y:292.56px}
  #contacto .cont__menu{--menu-pie-x:0px;--menu-pie-y:371.5px}
  #contacto .equipo__cuerpo{--menu-pie-alto:623.3px}
  body.pag-resena #contacto .cont__menu{--menu-pie-y:293.6px}
  body.pag-resena #contacto .equipo__cuerpo{--menu-pie-alto:545.3px}
}
@media (min-width:1200px){
  #contacto .hero__tarjeta{--pie-abajo-menu:50.75px}
  #contacto .cont__exp{--exp-y:58px}
  #contacto .cont__menu{--menu-pie-y:53px;line-height:32.2px}
}
@media (min-width:1200px) and (max-width:1369px){
  #contacto .cont__menu{--menu-pie-x:473px}
  html[lang="ca"] #contacto .cont__menu{--menu-pie-x:455.5px}
  html[lang="en"] #contacto .cont__menu{--menu-pie-x:468.5px}
  body.pag-resena #contacto .cont__menu{--menu-pie-x:626.2px}
  html[lang="en"] body.pag-resena #contacto .cont__menu{--menu-pie-x:640.2px}
  #contacto .cont__exp{--exp-x:calc(100% - 1065.4px)}
}
@media (min-width:1370px){
  #contacto .cont__exp{--exp-x:31.52px}
}
@media (min-width:1370px) and (max-width:1900px){
  html[lang="en"] body.pag-resena #contacto .cont__menu{--menu-pie-x:calc(50% + 91.75px)}
}
@media (min-width:1901px){
  #contacto .cont__menu{--menu-pie-x:calc(100% / 3 + 59.37px)}
  html[lang="ca"] #contacto .cont__menu{--menu-pie-x:calc(100% / 3 + 47.7px)}
  html[lang="en"] #contacto .cont__menu{--menu-pie-x:calc(100% / 3 + 56.37px)}
  body.pag-resena #contacto .cont__menu{--menu-pie-x:calc(100% / 3 + 161.5px)}
  html[lang="en"] body.pag-resena #contacto .cont__menu{--menu-pie-x:calc(100% / 3 + 170.8px)}
}

body.pag-contacto .cont__form > .form__aviso{margin-top:44px}
body.pag-contacto .form__pie{margin-top:5.25px}
@media (max-width:699px){body.pag-contacto .form__pie{margin-top:8.22px}}

/* EN EL TELÉFONO, LA FRASE DE «ANTES DE ENVIAR» VA DEBAJO DE «ENVIAR →», EN UN RENGLÓN (orden suya
   del 28/09/2026); los avisos y el «gracias», que la sustituyen, van en el mismo sitio */
@media (max-width:699px){
  body.pag-contacto .form__pie{flex-direction:column;align-items:flex-start;gap:0}
  body.pag-contacto .form__aviso--pie{top:0}
}
@media (max-width:339px){
  body.pag-contacto .form__aviso--pie:not(.form__gracias){font-size:13.2px}
}

/* «EQUIPO ASIGNADO» EN LAS PÁGINAS DE ÁREA: TARJETAS EN UNA FILA QUE SE PASA CON FLECHAS, COMO LAS
   PUBLICACIONES RELACIONADAS (auditoría 1, hallazgo 17, decidido el 28/09/2026). Las tarjetas
   miden lo que hace falta para que llenen la línea: 6 en base, 5 en «menor», 4 en «tablet» (3 por
   debajo de 900 px) y 2 en el teléfono; con más personas, las flechas. Nombre en dos renglones. */
body.pag-servicio .pubrel.area-equipo .eqasig__pista{
  --eqasig-n:6;--eqasig-hueco:28px;
  grid-auto-columns:calc((100% - (var(--eqasig-n) - 1) * var(--eqasig-hueco)) / var(--eqasig-n));
  gap:var(--eqasig-hueco);align-items:start}
@media (max-width:1900px){
  body.pag-servicio .pubrel.area-equipo .eqasig__pista{--eqasig-n:5}
}
@media (max-width:1199px){
  body.pag-servicio .pubrel.area-equipo .eqasig__pista{--eqasig-n:4}
}
@media (max-width:899px){
  body.pag-servicio .pubrel.area-equipo .eqasig__pista{--eqasig-n:3}
}
@media (max-width:699px){
  body.pag-servicio .pubrel.area-equipo .eqasig__pista{--eqasig-n:2;--eqasig-hueco:12px;
    grid-auto-columns:calc((100% - var(--eqasig-hueco)) / 2)}
}
body.pag-servicio .eqasig__ficha{scroll-snap-align:start;min-width:0}
body.pag-servicio .eqasig__enlace{display:block;position:relative;text-decoration:none}
body.pag-servicio .eqasig__marco{display:block;position:relative;aspect-ratio:3 / 4;overflow:hidden;
  background:#FFF}
body.pag-servicio .eqasig__foto{position:absolute;inset:0;width:100%;height:100%;display:block;
  object-fit:cover;transition:opacity .35s}
body.pag-servicio .eqasig__foto--color{opacity:0}
body.pag-servicio .eqasig__enlace:focus-visible .eqasig__foto--color{opacity:1}
@media (hover:hover){body.pag-servicio .eqasig__enlace:hover .eqasig__foto--color{opacity:1}}
/* EL NOMBRE, DENTRO DE LA FOTOGRAFÍA (orden suya, 30/09/2026): en dos renglones (el apellido en el
   segundo), en el vértice inferior izquierdo, en blanco y con la letra y el sombreado del pie de foto de
   la portada; el cargo no se enseña */
body.pag-servicio .eqasig__nombre{display:block;position:absolute;left:0;right:0;bottom:0;z-index:2;
  font-family:var(--sans);font-weight:400;font-size:16.5px;line-height:1.25;color:#FFF;
  padding:41px 12px 12px;text-align:left;text-box:trim-both cap alphabetic;
  /* EL SOMBREADO DEL NOMBRE (H4 de la auditoría 6, orden suya 01/10/2026): llega a negro al 55 % ANTES del primer
     renglón, para que el blanco destaque al menos 4,5 : 1 sobre cualquier foto, aunque la ropa sea blanca del todo;
     las paradas van en px desde arriba, así que valen aunque el nombre ocupe dos renglones. Antes: relleno de
     arriba 15 px menor y el 55 % al 62 % del alto. Al dar de alta a una persona, dar_de_alta_persona.py lo
     comprueba con comprobar_nombres_fotos.py y, si una foto no llegara, oscurece él solo (orden suya). */
  background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.08) 11px,rgba(0,0,0,.27) 22px,rgba(0,0,0,.55) 33px,rgba(0,0,0,.72) 100%)}
/* al pasar el ratón por la foto del equipo asignado, la foto pasa a color y el nombre NO se subraya, como en
   la portada (orden suya, 01/10/2026) */
@media (max-width:699px){
  /* la letra del nombre, un 25 % menor que en la base (orden suya, 30/09/2026) */
  body.pag-servicio .eqasig__nombre{font-size:11.25px;padding:28px 10px 9px;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.08) 7px,rgba(0,0,0,.27) 15px,rgba(0,0,0,.55) 22px,rgba(0,0,0,.72) 100%)}
}
@media (max-width:339px){
  body.pag-servicio .eqasig__nombre{font-size:9.75px;padding:25px 8px 8px;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.08) 6px,rgba(0,0,0,.27) 13px,rgba(0,0,0,.55) 20px,rgba(0,0,0,.72) 100%)}
}
/* Las luces del apartado ya salen puestas (el guion las afina): 60 a la tinta del título, 60 del
   título a las fotografías y 60 del cargo al final */
body.pag-servicio.tiene-rotulo #equipo-asignado.pubrel{padding-top:52px;padding-bottom:60px}
body.pag-servicio.tiene-rotulo #equipo-asignado.pubrel .eqasig__pista{margin-top:44px}
@media (max-width:699px){
  body.pag-servicio.tiene-rotulo #equipo-asignado.pubrel{padding-top:54px}
  body.pag-servicio.tiene-rotulo #equipo-asignado.pubrel .eqasig__pista{margin-top:45.7px}
}

/* IMPRESIÓN (orden suya del 29/09/2026, tras la auditoría de navegadores). Solo se imprimen las páginas de cada
   publicación y la de Contacto; todas las demás salen en blanco. En las que se imprimen: cada hoja lleva el logotipo
   centrado en la cabecera y, al pie, la dirección web a la izquierda y el número de hoja a la derecha (cuadros de
   margen de la hoja: Chrome y Edge; Firefox y Safari imprimen sin ellos). La publicación: título, resumen y texto
   con los apartados desplegados, sin fecha ni etiquetas. Contacto: solo la dirección y el teléfono */
@media print{
  /* 1. LAS PÁGINAS QUE NO SE IMPRIMEN: una hoja en blanco */
  body:not(.pag-publicacion):not(.pag-contacto) > *,
  body.pag-talento > *{display:none !important}
  html,
  body:not(.pag-publicacion):not(.pag-contacto),
  body.pag-talento{background:#FFF !important}
  @page{margin:10mm}

  /* 2. LA HOJA DE LAS QUE SÍ SE IMPRIMEN: el logotipo centrado arriba (87,5 mm de ancho, de 12 a 17,6 mm del borde;
     el texto empieza a 30 mm) y, abajo, la dirección web a la izquierda y el número de hoja a la derecha */
  body.pag-publicacion,
  body.pag-contacto:not(.pag-talento){page:web;background:#FFF !important;color:#000}
  @page web{
    margin:30mm 12mm 16mm;
    @top-center{content:url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%201418%2091%22%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20-0.4076009%2074.7408940%29%22%20d=%22M8%200%20653%201411H683H713L1358%200H1299H1239L1019%20484H337L120%200H64H8ZM678%201236%20379%20574H979L678%201236Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%2071.5719154%2074.7408940%29%22%20d=%22M162%200V1397H216H270V90H961V45V0Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20122.1696862%2074.7408940%29%22%20d=%22M164%200V1397H218H486Q693%201397%20810.0%201303.5Q927%201210%20927%201045Q927%20880%20810%20787Q763%20750%20701%20728Q824%20706%20907%20644Q1042%20546%201042%20371Q1042%20197%20915.5%2098.5Q789%200%20564%200H218H164ZM272%201300V748H486Q639%20748%20723.5%20820.0Q808%20892%20808%201023Q808%201155%20723.5%201227.5Q639%201300%20486%201300H272ZM272%20661V97H564Q735%2097%20829.0%20171.0Q923%20245%20923%20378Q923%20512%20820.5%20586.5Q718%20661%20532%20661H272Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20179.6143704%2074.7408940%29%22%20d=%22M1300%20627Q1300%20328%201144.0%20155.5Q988%20-17%20716%20-17Q444%20-17%20287.5%20155.5Q131%20328%20131%20627V1397H185H239V621Q239%20370%20367.0%20226.0Q495%2082%20716%2082Q938%2082%201065.0%20226.0Q1192%20370%201192%20621V1397H1246H1300Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20254.9877997%2074.7408940%29%22%20d=%22M162%200V1397H216H507Q731%201397%20857.5%201301.0Q984%201205%20984%201034Q984%20864%20857%20768Q799%20724%20718%20700Q749%20679%20792%20633Q874%20545%20955%20418L1220%200H1158H1096L831%20418Q733%20573%20668.5%20620.5Q604%20668%20491%20668H270V0H216H162ZM270%20755H508Q678%20755%20771.5%20826.5Q865%20898%20865%201027Q865%201157%20771.5%201228.5Q678%201300%20508%201300H270Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20316.9199215%2074.7408940%29%22%20d=%22M1424%20-268Q1237%20-294%201022%20-186Q880%20-116%20783%20-14Q517%205%20322%20194Q104%20405%20104%20698Q104%20992%20322.0%201203.0Q540%201414%20843%201414Q1147%201414%201365.0%201203.0Q1583%20992%201583%20698Q1583%20405%201365%20194Q1186%2020%20948%20-10Q1056%20-107%201193%20-157Q1395%20-230%201538%20-154ZM843%201317Q586%201317%20404.5%201136.0Q223%20955%20223%20698Q223%20442%20404.5%20261.0Q586%2080%20843%2080Q1101%2080%201282.5%20261.0Q1464%20442%201464%20698Q1464%20955%201282.5%201136.0Q1101%201317%20843%201317Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20404.2596700%2074.7408940%29%22%20d=%22M1300%20627Q1300%20328%201144.0%20155.5Q988%20-17%20716%20-17Q444%20-17%20287.5%20155.5Q131%20328%20131%20627V1397H185H239V621Q239%20370%20367.0%20226.0Q495%2082%20716%2082Q938%2082%201065.0%20226.0Q1192%20370%201192%20621V1397H1246H1300Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20479.7446006%2074.7408940%29%22%20d=%22M164%200V1397H918V1352V1307H272V747H903V702V657H272V90H942V45V0Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20532.6323546%2074.7408940%29%22%20d=%22M162%200V1397H216H507Q731%201397%20857.5%201301.0Q984%201205%20984%201034Q984%20864%20857%20768Q799%20724%20718%20700Q749%20679%20792%20633Q874%20545%20955%20418L1220%200H1158H1096L831%20418Q733%20573%20668.5%20620.5Q604%20668%20491%20668H270V0H216H162ZM270%20755H508Q678%20755%20771.5%20826.5Q865%20898%20865%201027Q865%201157%20771.5%201228.5Q678%201300%20508%201300H270Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20594.5830190%2074.7408940%29%22%20d=%22M1424%20-268Q1237%20-294%201022%20-186Q880%20-116%20783%20-14Q517%205%20322%20194Q104%20405%20104%20698Q104%20992%20322.0%201203.0Q540%201414%20843%201414Q1147%201414%201365.0%201203.0Q1583%20992%201583%20698Q1583%20405%201365%20194Q1186%2020%20948%20-10Q1056%20-107%201193%20-157Q1395%20-230%201538%20-154ZM843%201317Q586%201317%20404.5%201136.0Q223%20955%20223%20698Q223%20442%20404.5%20261.0Q586%2080%20843%2080Q1101%2080%201282.5%20261.0Q1464%20442%201464%20698Q1464%20955%201282.5%201136.0Q1101%201317%20843%201317Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20681.9090178%2074.7408940%29%22%20d=%22M1300%20627Q1300%20328%201144.0%20155.5Q988%20-17%20716%20-17Q444%20-17%20287.5%20155.5Q131%20328%20131%20627V1397H185H239V621Q239%20370%20367.0%20226.0Q495%2082%20716%2082Q938%2082%201065.0%20226.0Q1192%20370%201192%20621V1397H1246H1300Z%22/%3E%3Cpath%20fill=%22%235B2546%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20757.4753044%2074.7408940%29%22%20d=%22M164%200V1397H918V1352V1307H272V747H903V702V657H272V90H942V45V0Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20834.0002109%2074.7408940%29%22%20d=%22M8%200%20653%201411H683H713L1358%200H1299H1239L1019%20484H337L120%200H64H8ZM678%201236%20379%20574H979L678%201236Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20905.9010261%2074.7408940%29%22%20d=%22M164%200V1397H218H486Q693%201397%20810.0%201303.5Q927%201210%20927%201045Q927%20880%20810%20787Q763%20750%20701%20728Q824%20706%20907%20644Q1042%20546%201042%20371Q1042%20197%20915.5%2098.5Q789%200%20564%200H218H164ZM272%201300V748H486Q639%20748%20723.5%20820.0Q808%20892%20808%201023Q808%201155%20723.5%201227.5Q639%201300%20486%201300H272ZM272%20661V97H564Q735%2097%20829.0%20171.0Q923%20245%20923%20378Q923%20512%20820.5%20586.5Q718%20661%20532%20661H272Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%20963.2840229%2074.7408940%29%22%20d=%22M843%20-17Q540%20-17%20322.0%20194.0Q104%20405%20104%20698Q104%20992%20322.0%201203.0Q540%201414%20843%201414Q1147%201414%201365.0%201203.0Q1583%20992%201583%20698Q1583%20405%201365.0%20194.0Q1147%20-17%20843%20-17ZM843%2080Q1101%2080%201282.5%20261.0Q1464%20442%201464%20698Q1464%20955%201282.5%201136.0Q1101%201317%20843%201317Q586%201317%20404.5%201136.0Q223%20955%20223%20698Q223%20442%20404.5%20261.0Q586%2080%20843%2080Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%201052.1064105%2074.7408940%29%22%20d=%22M854%20-17Q539%20-17%20320.5%20190.5Q102%20398%20102%20698Q102%20999%20312.0%201206.5Q522%201414%20825%201414Q967%201414%201087.5%201385.0Q1208%201356%201358%201285V1175Q1224%201251%201104.0%201284.0Q984%201317%20839%201317Q577%201317%20399.0%201139.0Q221%20961%20221%20698Q221%20435%20399.0%20257.5Q577%2080%20839%2080Q1070%2081%201250%20176V609H957V699H1358V115Q1139%20-17%20854%20-17Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%201130.0717027%2074.7408940%29%22%20d=%22M8%200%20653%201411H683H713L1358%200H1299H1239L1019%20484H337L120%200H64H8ZM678%201236%20379%20574H979L678%201236Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%201202.0276137%2074.7408940%29%22%20d=%22M162%200V1397H216H679Q1010%201397%201211.5%201205.0Q1413%201013%201413%20698Q1413%20384%201206.0%20192.0Q999%200%20659%200H216H162ZM270%2097H659Q948%2097%201121.0%20261.0Q1294%20425%201294%20698Q1294%20972%201126.5%201136.0Q959%201300%20679%201300H270Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%201281.9928211%2074.7408940%29%22%20d=%22M843%20-17Q540%20-17%20322.0%20194.0Q104%20405%20104%20698Q104%20992%20322.0%201203.0Q540%201414%20843%201414Q1147%201414%201365.0%201203.0Q1583%20992%201583%20698Q1583%20405%201365.0%20194.0Q1147%20-17%20843%20-17ZM843%2080Q1101%2080%201282.5%20261.0Q1464%20442%201464%20698Q1464%20955%201282.5%201136.0Q1101%201317%20843%201317Q586%201317%20404.5%201136.0Q223%20955%20223%20698Q223%20442%20404.5%20261.0Q586%2080%20843%2080Z%22/%3E%3Cpath%20fill=%22%2364656A%22%20transform=%22matrix%280.0528997672%200%200%20-0.0528997672%201370.9703423%2074.7408940%29%22%20d=%22M823%201210Q725%201266%20652.0%201291.5Q579%201317%20517%201317Q387%201317%20297.5%201236.5Q208%201156%20208%201040Q208%20949%20276%20886Q343%20824%20505%20766Q715%20690%20796%20600Q877%20511%20877%20354Q877%20198%20762.5%2090.5Q648%20-17%20482%20-17Q382%20-17%20295.5%2012.0Q209%2041%20117%20105V228Q217%20153%20302.5%20116.5Q388%2080%20466%2080Q591%2080%20677.0%20164.5Q763%20249%20763%20372Q763%20467%20692%20536Q622%20604%20467%20660Q249%20738%20171%20821Q94%20903%2094%201057Q94%201207%20216.5%201310.5Q339%201414%20517%201414Q593%201414%20664.0%201394.0Q735%201374%20823%201327Z%22/%3E%3C/svg%3E");width:87.5mm;height:5.615mm;padding-bottom:12.4mm}
    @bottom-left{content:"alburquerqueabogados.com";vertical-align:top;padding-top:4mm;
      font:400 11px/1 "Instrument Sans","Instrument Sans reserva",system-ui,sans-serif;letter-spacing:.02em;color:#000}
    @bottom-right{content:counter(page);vertical-align:top;padding-top:4mm;
      font:400 11px/1 "Instrument Sans","Instrument Sans reserva",system-ui,sans-serif;letter-spacing:.02em;color:#000}
  }

  /* 3. LO COMÚN A LAS DOS: sin la barra fija, el botón del correo ni el cierre; sin animaciones ni transiciones */
  body.pag-publicacion .hdr,
  body.pag-contacto:not(.pag-talento) .hdr,
  body.pag-publicacion .fab,
  body.pag-contacto:not(.pag-talento) .fab,
  body.pag-publicacion #contacto,
  body.pag-contacto:not(.pag-talento) #contacto,
  body.pag-publicacion .ftr__barra,
  body.pag-contacto:not(.pag-talento) .ftr__barra,
  body.pag-publicacion .leer-todo,
  body.pag-contacto:not(.pag-talento) .leer-todo,
  body.pag-publicacion .serv__pliega,
  body.pag-contacto:not(.pag-talento) .serv__pliega,
  body.pag-publicacion .serv__volver,
  body.pag-contacto:not(.pag-talento) .serv__volver{display:none !important}
  body.pag-publicacion .rv,
  body.pag-contacto:not(.pag-talento) .rv{opacity:1 !important;transform:none !important}
  body.pag-publicacion *,
  body.pag-contacto:not(.pag-talento) *{transition:none !important;animation:none !important}
  body.pag-publicacion main,
  body.pag-contacto:not(.pag-talento) main,
  body.pag-publicacion main > section,
  body.pag-contacto:not(.pag-talento) main > section{background:none !important;padding:0 !important;margin:0 !important;
    min-height:0 !important;box-shadow:none !important}
  body.pag-publicacion main > section::before,
  body.pag-contacto:not(.pag-talento) main > section::before,
  body.pag-publicacion main > section::after,
  body.pag-contacto:not(.pag-talento) main > section::after{display:none !important}
  body.pag-publicacion main > section > .wrap,
  body.pag-contacto:not(.pag-talento) main > section > .wrap{width:auto !important;max-width:none !important;margin:0 !important;
    padding:0 !important}
  body.pag-publicacion .equipo__wrap,
  body.pag-contacto:not(.pag-talento) .equipo__wrap{display:block !important;padding:0 !important}
  body.pag-publicacion .equipo__cuerpo,
  body.pag-contacto:not(.pag-talento) .equipo__cuerpo{max-width:none !important;transform:none !important}
  body.pag-publicacion main h1,
  body.pag-contacto:not(.pag-talento) main h1{margin:0 !important;max-width:none !important;opacity:1 !important}

  /* 4. LA PUBLICACIÓN: solo el artículo */
  body.pag-publicacion main > section:not(#servicio):not(.pub-texto),
  body.pag-publicacion .pub__cab > .pub__cabeza,
  body.pag-publicacion .pub__ficha{display:none !important}
  body.pag-publicacion .pub__resumen{margin:22px 0 0 !important;max-width:none !important}
  body.pag-publicacion .serv__texto{display:block !important;max-width:none !important;opacity:1 !important;
    margin:34px 0 0 !important;padding:0 !important;transform:none !important;column-count:auto !important}
  body.pag-publicacion .serv__grupo{max-height:none !important;overflow:visible !important;margin:0 !important;padding:0 !important;
    background:none !important}
  body.pag-publicacion .serv__texto h2{margin:24px 0 10px !important;padding:0 !important;break-after:avoid;cursor:auto}
  body.pag-publicacion .serv__texto h3{break-after:avoid}
  body.pag-publicacion .serv__texto h2:first-child,
  body.pag-publicacion .leer-todo + h2{margin-top:0 !important}
  body.pag-publicacion .serv__grupo p{margin:0 0 11px !important;orphans:3;widows:3}
  body.pag-publicacion .pub__firma{margin:26px 0 0 !important}

  /* 5. CONTACTO: solo la dirección y el teléfono (17:25: sin «Contacto» ni «Barcelona»); sin el mapa, su enlace ni
     el formulario */
  body.pag-contacto:not(.pag-talento) main h1,
  body.pag-contacto:not(.pag-talento) .cont__ciudad,
  body.pag-contacto:not(.pag-talento) .cont__ver,
  body.pag-contacto:not(.pag-talento) .cont__mapa,
  body.pag-contacto:not(.pag-talento) .cont__form{display:none !important}
  body.pag-contacto:not(.pag-talento) #contacto-pagina{display:block !important}
  body.pag-contacto:not(.pag-talento) .cont__cuerpo,
  body.pag-contacto:not(.pag-talento) .cont__texto{display:block !important;position:static !important;min-height:0 !important;
    width:auto !important;max-width:none !important;margin:0 !important;padding:0 !important;
    transform:none !important}
  body.pag-contacto:not(.pag-talento) .cont__datos{margin:0 !important}
  body.pag-contacto:not(.pag-talento) .cont__datos a{color:inherit !important;text-decoration:none !important}
}

/* CONTRASTE ALTO DE WINDOWS (orden suya del 29/09/2026, tras la auditoría de navegadores: H2). En ese modo el
   navegador cambia todos los fondos por el del lienzo: la barra, el menú cortina y los puntos y la pausa de la
   cabecera conservan sus colores, y los campos del formulario llevan un recuadro que solo se ve en ese modo */
@media (forced-colors: active){
  .hdr,.nav{forced-color-adjust:none}
  .hero__punto,.hero__pausa{forced-color-adjust:none}
  body.pag-contacto .form__caja{outline:1px solid transparent;outline-offset:-1px}
}

/* MOVIMIENTO REDUCIDO (orden suya del 29/09/2026, tras la auditoría de navegadores: H9). Para quien tiene activado
   «reducir el movimiento»: las animaciones y las transiciones duran un instante, el desplazamiento es inmediato y lo
   que entra «al llegar» está a la vista desde el principio */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-delay:0s !important;
    animation-iteration-count:1 !important;transition-duration:.001ms !important;transition-delay:0s !important}
  html{scroll-behavior:auto !important}
  .rv{opacity:1 !important;transform:none !important}
}


/* SIN MEZCLA DE COLORES (navegadores anteriores a 2023; auditoría de navegadores, H16, 29/09/2026): los mismos colores
   que resultan de cada «color-mix()», ya calculados, para los navegadores que no la entienden; los actuales ignoran
   este bloque */
@supports not (color:color-mix(in srgb, #000, #fff)){
  :root{--barra-granate:rgba(91,37,70,.88)}
  body.pag-servicio .rel__tag{background-color:rgb(221,221,222)}
  .nav.is-open,.hdr:not(.is-stuck) .nav.is-open{background:rgba(91,37,70,.88)}
  #contacto,body.pag-servicio #contacto,body.pag-firma #contacto{background-color:rgba(0,0,0,.88)}
  body.pag-servicio .area-equipo .rel__titulo,
  body.pag-persona .pers-areas .rel__titulo{color:rgb(75,76,80)}
  body.pag-servicio.tiene-rotulo #servicio{--pleg-fondo:rgb(251,251,251)}
}

/* LAS PUBLICACIONES, CON EL ANCHO DE LAS PÁGINAS DE ÁREA (orden suya del 29/09/2026): en la base, la cabecera de la
   publicación (imagen, titular, resumen y etiquetas) y su texto (rótulos, párrafos y firma) miden lo que el texto de las
   áreas, 770 px; la imagen y el sello crecen en proporción. En «menor», tablet y móvil ya medían lo mismo */
@media (min-width:1901px){
  body.pag-publicacion .pub__cab,
  body.pag-publicacion .pub-texto .serv__texto{max-width:var(--ancho-texto)}
}

/* LA FIRMA Y EL ÍNDICE DE ÁREAS, SIN SALTOS AL ENTRAR (orden suya del 29/09/2026): como la portada, esperan
   escondidos, ocupando su sitio, hasta que el guion los ha colocado; aquí el cierre también, porque asoma en la
   primera pantalla */
html.midiendo body.pag-firma #contacto,
html.midiendo body.pag-indice:not(.pag-indice-equipo) #contacto{visibility:hidden}

/* EL FILTRO POR AUTOR DEL ÍNDICE DE PUBLICACIONES (orden suya, 30/09/2026): un cuadro combinado a 45 px
   del grupo de filtros, a la izquierda, con los bordes redondeados de las etiquetas; el texto en negro y
   en minúsculas, con la tipografía de los filtros y la letra a 20 (su elección: con la de los filtros no
   cabía el nombre más largo); sin cambio de color al señalarlo. El ancho —el del filtro más largo de la
   primera columna— lo mide js/publicaciones.js (--ancho-autor) */
body.pag-publicaciones .pub__autores{margin-top:45px;text-align:left;line-height:0}
body.pag-publicaciones .pub__autor{appearance:none;-webkit-appearance:none;cursor:pointer;
  display:inline-block;width:var(--ancho-autor, min(var(--ancho-autor-0), 100%));
  font-family:var(--sans);font-weight:300;font-size:20px;line-height:1.25;color:#000;
  letter-spacing:normal;text-transform:none;
  border:1px solid var(--line);border-radius:100px;background-color:var(--white);
  padding:7.23px 46px 7.23px 15px;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 7%22><path d=%22M1 1l5 5 5-5%22 fill=%22none%22 stroke=%22%23000000%22 stroke-width=%221.6%22 stroke-linecap=%22round%22/></svg>');background-repeat:no-repeat;background-position:right 17px center;background-size:13px 8px}

/* solo para lectores de pantalla y buscadores: fuera de la vista sin ocultarlo, sin ocupar sitio (H14, orden suya 30/09/2026) */
.solo-lector{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* EL LINKEDIN DEL DESPACHO, BAJO «CUÉNTANOS TU EXPERIENCIA» (orden suya, 30/09/2026): el cuadro «in» en blanco,
   alineado al margen izquierdo del texto del enlace y a 30 px de luz bajo él; lo coloca comun.js */
#contacto .cont__linkedin{position:absolute;top:var(--li-y,0px);left:var(--li-x,0px);display:block;
  width:24px;height:24px;line-height:0;border-bottom:0}
#contacto .cont__linkedin img{width:24px;height:24px;display:block}
@media (hover:hover){#contacto .cont__linkedin:hover img{opacity:.8}}

/* EL ENLACE LEGAL DEL PIE, ALCANZABLE: 24 PX DE ALTO DE ZONA PULSABLE EN EL ORDENADOR (H17 de la auditoría 6, orden suya
   01/10/2026). En el móvil (40 px) y en «tablet» (44 px) ya lo tenía, del hallazgo 19 de la auditoría 1; aquí se
   quedaba en 19. Relleno invisible centrado en el enlace: no mueve nada ni cambia el recuadro del teclado */
@media (min-width:1200px){
  .ftr__legal a{position:relative}
  .ftr__legal a::after{content:"";position:absolute;left:0;right:0;top:50%;height:24px;transform:translateY(-50%)}
}

/* LAS MEDIDAS PROVISIONALES DEL ÍNDICE DE PUBLICACIONES, LAS DEL PROGRAMA (H11 de la auditoría 8, orden suya 01/10/2026):
   el ancho del cuadro de autores que le pone js/publicaciones.js en cada lengua y configuración (el del filtro más largo
   de la primera columna), para que nada cambie si el navegador pinta antes de que corra el programa. Las luces de
   arriba y de abajo, en las provisionales --luz-…-0 de más arriba. Si cambian los filtros o el cuadro, volver a medir */
body.pag-publicaciones{--ancho-autor-0:326.83px}
html[lang="ca"] body.pag-publicaciones{--ancho-autor-0:328.69px}
html[lang="en"] body.pag-publicaciones{--ancho-autor-0:317.84px}
@media (min-width:700px) and (max-width:1199px){
  body.pag-publicaciones{--ancho-autor-0:383.06px}
  html[lang="ca"] body.pag-publicaciones{--ancho-autor-0:385.28px}
  html[lang="en"] body.pag-publicaciones{--ancho-autor-0:393.33px}
}
@media (max-width:699px){
  body.pag-publicaciones{--ancho-autor-0:276.33px}
  html[lang="ca"] body.pag-publicaciones{--ancho-autor-0:277.92px}
  html[lang="en"] body.pag-publicaciones{--ancho-autor-0:283.72px}
}

/* …Y EL ANCHO DEL LISTADO EN LA BASE (H11 de la auditoría 8, orden suya 01/10/2026): de 1.901 en adelante,
   publicaciones.js ensancha el listado como el carrusel, al ancho de la página menos dos veces el eje del tronco
   (2 × 245,07 px, redondeado como él a 490,1); de entrada, lo mismo, medido sobre el apartado, que ocupa la página
   entera (100cqw: sin la barra de desplazamiento, como el programa) */
@media (min-width:1901px){
  body.pag-publicaciones .pub-lista{container-type:inline-size}
  body.pag-publicaciones #listado{width:var(--pubrel-ancho, calc(100cqw - 490.1px))}
}

/* LAS FOTOS DE LOS TITULARES DE LA CABECERA, DESPUÉS DE LA DE LA FACHADA (H2 de la auditoría 8, orden suya
   01/10/2026): una capa con foto que no se ve no la descarga hasta que el programa la marca «lista» (las pide una
   detrás de otra cuando la página ha cargado); la que se ve, sí. Sin programa solo se ve la primera, como siempre */
.hero__capa[style]:not(.is-visible):not(.hero__capa--lista){background-image:none!important}

/* LA FOTO DE LA FACHADA, A LA MEDIDA DE LA PANTALLA (H5 de la auditoría 8, orden suya 01/10/2026; rehecho el 03/10/2026
   con la foto nueva, de 3.840 × 2.160, y la cabecera a pantalla completa): los teléfonos de pie piden un RECORTE CENTRAL
   de la misma foto, sin reducirla —el mismo encuadre y el mismo tamaño de cada detalle—, y las demás pantallas la entera,
   que es la escrita en la página. El recorte mide 5/6 del alto de la foto (1.800 px) y lo piden las pantallas de hasta
   539 px de ancho que son, como mucho, 2/3 de anchas que de altas: cubre lo que se ve con un 25 % de margen, porque en un
   teléfono la barra del navegador aparece y desaparece y la pantalla útil cambia de alto. Las tres páginas del índice
   preanuncian la que toca con la misma condición. Si cambia la foto de la fachada, volver a sacar el recorte:
   guiones/recortes_fachada.py */
@media (max-width:539px) and (max-aspect-ratio:2/3){
  .hero__capa[style*="hero-fachada-color.webp"]{background-image:url("../img/hero-fachada-color-movil.webp")!important}
}

/* LA CORTINA DE «ENVIANDO…» (H8 de la auditoría 7; idea y condiciones suyas, 02/10/2026): si el envío de un formulario
   tarda más de un segundo, baja una cortina como la del menú —en su mismo sitio, con su mismo color y su misma entrada—
   con «Enviando…» en el centro, en la letra de los enlaces del menú. La barra se pone como con el menú abierto (lo hace
   la clase «menu-abierto», que el guion pone a la vez) y el aspa es la del menú. Mientras está, el logotipo no es un
   enlace */
.envio-cortina{position:fixed;top:var(--banda);bottom:0;left:0;right:0;z-index:65;
  display:flex;align-items:center;justify-content:center;padding:0 var(--pad);
  background:color-mix(in srgb, var(--brand) 88%, transparent);
  animation:menu-baja .42s cubic-bezier(.22,.61,.36,1) both}
.envio-cortina.se-va{animation-name:menu-sube;animation-fill-mode:forwards}
.envio-cortina__txt{margin:0;font-family:var(--menu);font-weight:300;font-size:clamp(20px, 4.6vh, 34.73px);
  letter-spacing:.012em;line-height:1.2;color:#FFF;text-align:center}
body.envio-en-cortina .hdr .mark{pointer-events:none;cursor:default}
@media (min-width:1921px){
  .envio-cortina{left:var(--canto);right:var(--canto)}
}
@media (forced-colors: active){
  .envio-cortina{forced-color-adjust:none}
}
@supports not (color:color-mix(in srgb, #000, #fff)){
  .envio-cortina{background:rgba(91,37,70,.88)}
}

/* LA LÍNEA DE AVISO BAJO «VER EL MAPA» (H4 de la auditoría legal; orden suya, 02/10/2026). El mapa lo sirve Google y no
   se carga hasta que se pide; la política de cookies dice que la página lo advierte, y esta es la advertencia. Va
   dentro del párrafo del enlace: se va con él cuando se enseña el mapa y, como ese párrafo va colocado aparte, no
   ocupa sitio ni mueve «Ver el mapa», el mapa o el formulario. Con la letra pequeña y el color de los avisos del
   formulario; a 12 px del enlace y con 430 px de ancho como mucho. */
body.pag-contacto .cont__ver-nota{display:block;margin-top:12px;max-width:430px;
  font-family:var(--sans);font-weight:400;font-size:14.5px;line-height:1.6;letter-spacing:normal;
  color:#55575C;text-align:left}

/* LOS TRES ENLACES LEGALES DEL PIE (H11 de la auditoría legal; orden suya, 02/10/2026). «Aviso legal | Privacidad |
   Cookies» era un solo enlace; ahora son tres, y cada uno lleva a su apartado de la página legal. Van dentro de una
   caja (.ftr__tres) que ocupa el sitio exacto del enlace único: toma la letra del párrafo, igual que la tomaba el
   enlace (sin esto le alcanzaría la regla de los «span» de la barra, que en el móvil dice otro cuerpo), y va recortada
   al alto de sus mayúsculas, como él. En reposo no cambia nada a la vista; con el ratón o con el teclado se subraya la
   palabra señalada, no las tres. La zona que responde al ratón o al dedo (24, 44 y 40 px de alto) la sigue poniendo
   cada enlace. */
.ftr__barra .ftr__legal .ftr__tres{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;
  text-box:trim-both cap alphabetic}

/* LA CAJA GRANDE DEL FORMULARIO, CON UN TEXTO MÁS LARGO QUE ELLA (orden suya, 02/10/2026). Cuando el texto no cabe y
   sube, pasaba por detrás del rótulo («Consulta*», «Presentación*») y se pisaban. El rótulo ya era una pieza blanca
   puesta encima de la caja: ahora se estira de lado a lado, y el texto que sube desaparece por debajo de esa franja.
   Acaba a 4 px del canto derecho (libra la esquina redondeada del borde; el texto no llega ahí, que la caja tiene
   14 px de margen por dentro) y, si el navegador pinta una barra de desplazamiento con sitio propio, donde empieza la
   barra (--barra-caja, que mide js/contacto.js). Con la caja vacía o con un texto que cabe, nada cambia a la vista:
   blanco sobre blanco. Y el renglón del cursor, al escribir al final o al moverse con el teclado, se para a renglón
   entero entre la franja y el pie de la caja (los márgenes de arriba y de abajo del texto, con 3 y 4 px de holgura por
   la altura del cursor): ni detrás de la franja ni cortado. */
body.pag-contacto .form__campo:has(> textarea) .form__rotulo,
body.pag-contacto .form__rotulo[for="f-consulta"]{right:calc(4px + var(--barra-caja, 0px))}
body.pag-contacto textarea.form__caja{scroll-padding-top:calc(14px + 1.5em);scroll-padding-bottom:15px}

/* LOS RÓTULOS DE LOS TRES ÍNDICES, CON LA LETRA DE LOS DE LA FIRMA, CONTACTO Y TALENTO (orden suya, 02/10/2026): Instrument
   Sans fina de 32,6 px (26 en el móvil), en granate. El rótulo, más pequeño, se queda con lo alto de sus letras donde estaba
   (a 60–61 px de la barra) y lo de debajo conserva su distancia a él: sube lo que encoge la letra. Los márgenes compensan lo
   que la caja de la letra, con interlineado 1, deja por encima y por debajo de las letras al cambiar el cuerpo; el de equipo
   no los necesita en tablet ni en móvil, porque ahí su caja ya va recortada a las letras (text-box). El índice de áreas sigue
   llenando la pantalla: su guion estira el apartado blanco hasta el pie de la pantalla. */
body.pag-indice:not(.pag-indice-equipo) .ind__rot,
body.pag-indice-equipo .ind__rot,
body.pag-publicaciones #servicio h1.serv__titulo{font-size:32.6px;color:var(--brand)}
@media (min-width:700px){
  body.pag-indice:not(.pag-indice-equipo) .ind__rot{margin-top:1.74px;margin-bottom:1.47px}
  body.pag-publicaciones #servicio h1.serv__titulo{position:relative;top:3.74px}
}
@media (min-width:1200px){
  body.pag-indice-equipo .ind__rot{margin-top:1.22px;margin-bottom:3.36px}
}
@media (max-width:699px){
  body.pag-indice:not(.pag-indice-equipo) .ind__rot,
  body.pag-indice-equipo .ind__rot,
  body.pag-publicaciones #servicio h1.serv__titulo{font-size:26px}
  body.pag-indice:not(.pag-indice-equipo) .ind__rot{margin-top:1.24px;margin-bottom:1px}
  body.pag-publicaciones #servicio h1.serv__titulo{position:relative;top:2.24px}
}

/* EL TÍTULO DE LAS PÁGINAS DE ÁREA, EN GRANATE (orden suya, 02/10/2026); el de las publicaciones sigue en negro, por orden suya */
body.pag-servicio.tiene-rotulo #servicio h1.serv__titulo{color:var(--brand)}

/* EL APARTADO BLANCO DEL ÍNDICE DE ÁREAS CONSERVA LA ALTURA QUE TENÍA CON EL RÓTULO GRANDE (orden suya, 02/10/2026, 17:05:
   «si el apartado se ha acortado al disminuir la letra, tienes que aumentar la altura en lo mismo que ha encogido al aplicar
   la nueva letra»). En el ordenador el blanco llega al pie de la pantalla y nada cambia. Donde su altura la pone la lista
   (tablet, móvil, ventanas bajas y sin JavaScript), bajo el último nombre quedan los 60 px de siempre MÁS lo que encogió el
   rótulo: 8,27 px (5,76 en el móvil). La cifra vive aquí y la lee el guion de la página (areasLlenan, en js/comun.js). */
body.pag-indice:not(.pag-indice-equipo) #servicios{--blanco-de-mas:8.27px;padding-bottom:calc(60px + var(--blanco-de-mas))}
@media (max-width:699px){
  body.pag-indice:not(.pag-indice-equipo) #servicios{--blanco-de-mas:5.76px}
}

/* LA CABECERA DE LA PORTADA OCUPA LA PANTALLA ENTERA (órdenes suyas, 03/10/2026, 11:58 y 13:04: «en todas las
   configuraciones y en todas las medidas, el carrusel de imágenes de arriba de todo ocupe la pantalla completa (barra del
   logo + carrusel = pantalla completa). La línea de puntos irá abajo, como ahora, y las flechas centradas en el alto, como
   ahora, pero no muevas ni el texto ni los enlaces de la posición actual»). La cabecera empieza en lo alto de la página,
   por detrás de la barra, así que mide como poco el alto de la pantalla al abrir la página (100svh: con las barras del
   navegador a la vista; 100vh donde no se conozca). El texto no cuelga del alto y no se mueve; los puntos cuelgan del pie
   y las flechas del centro, y lo siguen solos. SI EL TEXTO PIDE MÁS ALTO QUE LA PANTALLA (un teléfono tumbado, una ventana
   muy baja), MANDA EL TEXTO, como hasta ahora: por eso es un mínimo. En base el guion de la portada sigue calculando
   --alto-hero, que queda de suelo. */
.hero{min-height:calc(100vh * var(--hero-zoom, 1));min-height:calc(100svh * var(--hero-zoom, 1))}
@media (min-width:1901px){
  .hero{height:auto;min-height:max(calc(100vh * var(--hero-zoom, 1)), var(--alto-hero, 0px));min-height:max(calc(100svh * var(--hero-zoom, 1)), var(--alto-hero, 0px))}
}
/* (--hero-zoom: 1 con el zoom al 100 % o ampliado; con el zoom reducido, lo reducido. Se explica al final de la hoja, en el
   bloque del centrado del texto de esta cabecera.) */

/* EL TEXTO DE LA CABECERA DE LA PORTADA, CENTRADO EN EL ALTO, Y EL ZOOM REDUCIDO (órdenes suyas, 03/10/2026, 14:36: «vamos a
   centrar verticalmente todo el bloque de texto y enlaces del carrusel de la cabecera, igual que hemos centrado las flechas
   de desplazamiento. … cuando hago zoom hacia abajo, la foto ocupa toda la pantalla y no se ve el resto de la página de
   inicio»).
   · EL CENTRADO, EN LAS CUATRO CONFIGURACIONES: en base y en menor desde el 03/10/2026; en tablet y en móvil, desde el
     04/10/2026 («hay que centrarlo verticalmente en la imagen, igual que en base y menor»; «la del lema también centrada»).
     Lo que baja cada cosa lo calcula el guion de la portada (js/inicio.js): --hero-baja, el bloque de la fachada (del titular
     a «La Firma»), y --pub-baja, lo que le falta a cada publicación para quedar centrada ella sola con su botón (15:29:
     «opcion 2»: cada imagen del carrusel centra su propio texto). Nunca baja más de lo que la pantalla completa ha alargado
     la cabecera: en una ventana más baja que el texto, todo se queda donde estaba.
   · EL ZOOM REDUCIDO (15:52: «LA B»): la cabecera se queda con el alto que tiene al 100 % y debajo aparece el resto de la
     página. El navegador no le dice a la página qué zoom tiene: lo deduce js/comun.js (zoomDePantalla) y lo deja en
     --hero-zoom, que multiplica el alto de la pantalla en las dos reglas de «LA CABECERA DE LA PORTADA OCUPA LA PANTALLA
     ENTERA». Donde no se pueda deducir, vale 1 y la cabecera llena la ventana, como al 100 %. */
.hero__in{top:var(--hero-baja,0px)}
.hero__titular{top:var(--pub-baja,0px)}

/* EN LA PORTADA, CUATRO LUCES DE 120 PX (orden suya, 03/10/2026, 17:51: «encima del rotulo areas de practica quiero 120x;
   entre la ultima linea de areas y las fotos de equipo, 120; entre el fnal de las fotos de equipo y las publicaciones, 120;
   entre el enlace ver todas las publicaciones y el apartado de contacto, 120»). Medidas a la tinta, como las demás de la casa:
     1 · del final de la foto de la cabecera a lo alto de las letras del rótulo «Áreas de práctica»;
     2 · de la base de la última línea de áreas al borde de arriba de las fotos del equipo;
     3 · del pie de las fotos del equipo a lo alto de las fichas de publicaciones;
     4 · de la base del enlace «Ver todas las publicaciones» al comienzo del apartado de contacto.
   Las fotos del equipo se cuentan por la foto, sin su filete de 1 px (así se le dieron las cifras de antes: 106 y 121).
   Las cuatro salen de los rellenos de los tres apartados: el de áreas (121,55 px arriba y 59 abajo: está en su sitio, más
   arriba en la hoja), el de equipo (los 60 de siempre arriba y 59 abajo, aquí) y el de publicaciones (los 60 de siempre
   arriba y 120 menos lo que baja la letra del enlace abajo, en su sitio).
   EN TABLET los rótulos «Equipo» y «Publicaciones» van tumbados ENCIMA de sus fotos y de sus fichas: allí las luces 2 y 3
   llegan hasta lo alto de las letras de cada rótulo (y del rótulo a lo suyo siguen los 60 px de siempre); por eso sus dos
   rellenos crecen 2,53 y 1,53 px. EN EL MÓVIL el rótulo de áreas es más pequeño y su letra sube menos: 121,3 px.
   OJO — DESDE LA TANDA 12 (04/10/2026) EL APARTADO EQUIPO VA SOBRE PAPEL Y LAS LUCES 2 Y 3 SE PARTEN EN DOS: 120 px por fuera del
   papel (de las áreas al papel y del papel al rótulo «Publicaciones») y 120 px por dentro (del papel a las fotos y de las
   fotos al final del papel). Los rellenos que valen son los del bloque «EL APARTADO EQUIPO DE LA PORTADA, SOBRE FONDO
   PAPEL», al final de la hoja, que mandan sobre los de aquí. */
body:not(.pag-servicio):not(.pag-indice) #equipo{padding-bottom:59px}
@media (min-width:700px) and (max-width:1199px){
  body:not(.pag-servicio):not(.pag-indice) #servicios{padding-bottom:61.53px}
  body:not(.pag-servicio):not(.pag-indice) #equipo{padding-bottom:60.53px}
}
@media (max-width:699px){
  body:not(.pag-servicio):not(.pag-indice) #servicios{padding-top:121.3px}
}

/* EL RÓTULO «PUBLICACIONES» DE LA PORTADA, TUMBADO ENCIMA DE LAS FICHAS (orden suya, 03/10/2026, 22:04: «en lugar de en
   vertical en horizontal y encima de las publicaciones, en el mismo margen izquierdo que el recuadro. El rótulo a 120px del
   borde inferior de la foto de equipo y del rótulo al cuadro de la publicacion 60px. el enlace del rotulo de pubicaciones deja
   de tener efecto hover»; vistas las imágenes de base, menor y móvil: «Sí, así»). Hasta entonces iba de pie, a la izquierda
   de las fichas, en base, menor y móvil; en tablet ya iba tumbado y a esas mismas luces, y NO SE TOCA: por eso estas reglas
   van solo de 1.200 px para arriba y por debajo de 700. «Equipo» sigue de pie.
   · Las luces, A LA TINTA: 120 px del pie de las fotos del equipo a lo alto de las letras del rótulo (el relleno de abajo de
     #equipo, que era 59, pasa a 60,53 px, como en tablet; 60,28 en el móvil, donde la letra es de 26 px) y 60 px de la base
     del rótulo al cuadro de la primera ficha (su margen de abajo, con la caja de la letra recortada a la tinta).
   · El margen izquierdo: el rótulo empieza donde empieza el cuadro de la ficha. En base y en menor sale solo (la caja de
     la letra queda 2 px antes del cuadro y la tinta de la «P» cae en su borde); en el móvil la ficha va centrada, así que el
     rótulo se corre la mitad de lo que le sobra a la ficha (la ficha empieza 2 px más adentro, como en base: los que la
     pista deja para el aro del foco).
   · «Efecto hover», para él, es EL MOVIMIENTO: al pasar el ratón el rótulo se pone granate, como siempre, pero ya no se
     corre 3 px (se le preguntó: «Granate, sin moverse»).
   Lo que el guion de la portada calcula para el rótulo de pie (--rot-izq) queda sin efecto: un rótulo que va en el flujo
   no atiende a «left». */
@media (min-width:1200px), (max-width:699px){
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
    position:static;width:auto;z-index:auto;
    writing-mode:horizontal-tb;transform:none;
    display:block;text-align:left;
    margin:0 0 60px}
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom{
    display:block;text-box:trim-both cap alphabetic}
}
@media (min-width:1200px){
  body:not(.pag-servicio):not(.pag-indice) #equipo{padding-bottom:60.53px}
}
@media (max-width:699px){
  body:not(.pag-servicio):not(.pag-indice) #equipo{padding-bottom:60.28px}
  body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase{
    margin-left:calc((100% - var(--ficha-tel)) / 2)}
}
@media (hover:hover){body:not(.pag-servicio) #publicaciones > .wrap > .equipo__cuerpo > .equipo__frase .secnom a:hover{
  left:0}}

/* EL APARTADO EQUIPO DE LA PORTADA, SOBRE FONDO PAPEL (órdenes suyas, 04/10/2026: 08:36, «En la página de inicio, el apartado
   equipo sobre fondo papel. Añade 60px de luz encima de las fotografías y ahí empieza el fondo papel. Añade 60px de luz debajo
   de las fotografías y ahí termina el fondo papel … Al decir añade quiero decir que aumentes la altura de la pagina»; 08:45,
   vista la imagen, «120px encima y debajo de las fotos»; y vistas las cuatro configuraciones, «Sí, así»).
   · EL FONDO es el papel de todo apartado sin marca (--papel-fondo con su grano fuerte): se ha quitado la regla que lo ponía
     en blanco («EL COLOR DE DOS APARTADOS DE LA PORTADA», más arriba). Va de lado a lado, como todo apartado.
   · EL PAPEL EMPIEZA 120 PX POR ENCIMA DE LAS FOTOS Y ACABA 120 PX POR DEBAJO (la foto, sin su filete de 1 px: por eso los
     rellenos del apartado son de 119).
   · POR FUERA DEL PAPEL SIGUEN LOS 120 PX QUE HABÍA (las luces 2 y 3 de «EN LA PORTADA, CUATRO LUCES DE 120 PX», que ahora
     llegan al papel y no a las fotos): de la base de la última línea de áreas al principio del papel (el relleno de abajo de
     áreas, que era 59, o 61,53 en tablet), y del final del papel a lo alto de las letras del rótulo «Publicaciones» (el
     relleno de arriba de publicaciones, que era 60: 121,53 px, y 121,28 en el móvil, donde la letra es de 26 px).
     La portada mide 240 px más de alto (154 en tablet).
   · EN TABLET el rótulo «Equipo» va tumbado encima de las fotos: allí el papel empieza igual, 120 px por encima de las fotos,
     y EL RÓTULO VA EN MEDIO DE ESOS 120 PX (preguntado, contestó: «el rótulo centrado verticalmente en los 120px»; vista la
     imagen, «Sí, así»), a la tinta: 47,5 px de papel sobre sus letras y 47,5 px de la base de sus letras a las fotos (hasta
     ahora estaba a 60 px de las fotos). Sale de un relleno de arriba de 49,03 px y de un margen de abajo del rótulo de
     46,5 px (con su caja de 23,47 px y el filete de la ficha, 120).
   Van aquí, detrás de todos los rellenos de la portada, para mandar sobre ellos. */
body:not(.pag-servicio):not(.pag-indice) #servicios{padding-bottom:120px}
body:not(.pag-servicio):not(.pag-indice) #equipo{padding-top:119px;padding-bottom:119px}
body:not(.pag-servicio):not(.pag-indice) #publicaciones{padding-top:121.53px}
@media (min-width:700px) and (max-width:1199px){
  body:not(.pag-servicio):not(.pag-indice) #equipo{padding-top:49.03px}
  body:not(.pag-servicio):not(.pag-indice) #equipo > .wrap > .equipo__cuerpo > .equipo__frase{margin-bottom:46.5px}
}
@media (max-width:699px){
  body:not(.pag-servicio):not(.pag-indice) #publicaciones{padding-top:121.28px}
}

/* LA PRIMERA IMAGEN DEL CARRUSEL DE LA CABECERA: EL SELLO CON LA A, SOBRE LA FOTO DE LA FACHADA (órdenes suyas, 03/10/2026, de
   las 21:25 a las 22:31, y 04/10/2026, 08:07 y 08:29; sustituye al logo sobre el papel, de la tarde del 03/10). EN LAS CUATRO
   CONFIGURACIONES, también en el móvil. Los nombres (hero__capa--logo, hero__punto--logo, hero-con-logo, hero-en-logo) son los
   de la imagen del logo.
   · LA FOTO DE DETRÁS ES LA DE LA FACHADA, «la misma imagen de la fachada que la de la imagen 2»: la capa de la primera
     imagen va vacía y, mientras se ve (hero-en-logo), la hoja mantiene a la vista la capa de la fachada, con su gris y su
     33,5 %. Al pasar de la 1 a la 2 la foto ni cambia ni parpadea: es la misma capa.
   · EL SELLO (.hero__sello: el círculo granate que mandó, con la A hueca; lo escribe carrusel_cabecera.py dentro de la propia
     página) va a todo color, fuera del envoltorio de las fotos, centrado a lo ancho y en el alto que queda bajo la barra
     granate, como iba el logo. Su ancho va con el de la pantalla: 1/8 en base y en menor, 3/16 en tablet y 3/10 en el
     móvil. SON LOS TAMAÑOS QUE ELIGIÓ EL 03/10 (1/6, «B»; 1/4, «b»; 2/5, «b»), REDUCIDOS UN 25 % (04/10/2026, 08:29: «reduce
     un 25% el tamaño del sello de la primera imagen»; «En todas» las pantallas). Sin guiones no se ve: la primera imagen es
     la fachada con el lema, como siempre.
   · CON EL ZOOM REDUCIDO, EL SELLO GUARDA LA PROPORCIÓN QUE TIENE AL 100 % (aviso suyo, 05/10/2026, 13:22: «cuando se hace zoom
     hacia abajo en la página de inicio, el sello con la A en la primera imagen del carrusel sale gigante»). La cabecera
     se queda, con el zoom reducido, con el alto que tiene al 100 % (--hero-zoom, más arriba), pero la ventana crece, y el
     sello, que va con el ancho de la ventana, crecía con ella: al 50 % ocupaba el 44 % del alto de la cabecera en vez del
     22 %. Su ancho se multiplica por --hero-zoom, igual que el alto de la cabecera; con el zoom al 100 % o ampliado vale 1 y
     no cambia nada.
   · EN LA PRIMERA IMAGEN SE VEN LAS FLECHAS Y LA LÍNEA DE PUNTOS, COMO EN LAS DEMÁS (04/10/2026, 08:07: «quiero que en la primea
     imagen también se vean las flechas y la línea de puntos»; la noche del 03/10 se habían quitado, y así salió la tanda
     11). LO QUE NO SE VE EN ELLA ES EL BOTÓN DE CORREO (03/10, 21:45), y solo arriba, mientras la imagen está a la vista
     (hero-sello-a-la-vista, que pone el guion de la portada): si el visitante ya ha bajado por la página, «se queda».
   · EL PASO DE LA PRIMERA IMAGEN A LA SEGUNDA ES CON EL FUNDIDO DE 1,2 s QUE HAY ENTRE TODAS LAS DEMÁS (04/10/2026, 08:07: «QUIERO
     volver a poner el efecto de transicion entre la primera y la segunda imagen»; la noche del 03/10, a las 22:28, lo había
     pedido de golpe, y así salió la tanda 11): sobre la misma foto, el sello se apaga mientras aparecen el lema y «La Firma».
     No lleva nada suyo: es el fundido de siempre de las capas, de los titulares y del sello, y se porta como el de las demás
     imágenes en todo («haz solo lo que te he pedido»).
   · AL LLEGAR A LA PORTADA EL CARRUSEL ESTÁ YA EN LA PRIMERA, «sin que se vea ningun movimiento» (03/10, 22:31; en la tanda 10
     se colocaba con el fundido en marcha y se veía la segunda desvaneciéndose). Para eso, al llegar, el guion pone un instante
     la marca hero-al-instante, que quita los fundidos. Desde el 08/10/2026 (queja suya, 07:53), al irse de la portada el
     carrusel ya no se mueve y, al volver con «atrás», sigue en la imagen en la que estaba (colocada también con esa marca si
     el navegador vuelve a cargar la página).
   · ES LO PRIMERO QUE SE CARGA Y SE VE (03/10, 21:45: «Esta imagen es lo primero que se tiene que cargar en la página de inicio
     al entrar en la web»): mientras el resto de la portada espera escondido a que el guion lo coloque (html.midiendo), la
     cabecera ya enseña la primera imagen tal como va a quedar: la foto de la fachada, el sello, las flechas y la línea de
     puntos, sin texto y sin botón de correo. El sello va escrito en la propia página y la foto se pide la primera (está
     preanunciada en la cabeza de la página). El alto de la cabecera cuenta ya entonces con el zoom: la cuenta de --hero-zoom
     va también en la cabeza de las tres portadas. PARA QUE LA LÍNEA DE PUNTOS NO CAMBIE CUANDO LLEGA EL GUION, en esa espera
     la hoja la pinta ya como él la va a dejar: el punto de la primera imagen, a la vista y marcado (la página lo trae
     escondido y sin marcar, y con la marca en el de la fachada, que es como se queda sin guiones), y, donde el carrusel
     arranca detenido («reducir el movimiento»), el botón redondo con su triángulo en vez de las dos barras (el mismo
     triángulo que dibuja el guion, recortado sobre el propio dibujo). (Las reglas que enseñan la cabecera antes de tiempo
     llevan «:has»: un navegador que no lo entienda no adelanta nada y enseña la cabecera con lo demás, como hasta la tanda
     10.) */
html:not(.midiendo) body:not(.hero-con-logo) .hero__punto--logo{display:none}
body.hero-en-logo .hero__capa[style*="hero-fachada-color.webp"]{opacity:.335}
.hero__sello{position:absolute;left:50%;top:calc(50% + var(--banda) / 2);
  width:calc(12.5vw * var(--hero-zoom, 1));height:auto;aspect-ratio:1;
  transform:translate(-50%, -50%);pointer-events:none;
  opacity:0;visibility:hidden;transition:opacity 1.2s ease, visibility 0s linear 1.2s}
@media (min-width:700px) and (max-width:1199px){
  .hero__sello{width:calc(18.75vw * var(--hero-zoom, 1))}
}
@media (max-width:699px){
  .hero__sello{width:calc(30vw * var(--hero-zoom, 1))}
}
body.hero-en-logo .hero__sello{opacity:1;visibility:visible;transition:opacity 1.2s ease, visibility 0s linear 0s}
body.hero-sello-a-la-vista .fab{opacity:0;transform:scale(.72);pointer-events:none}
body.hero-al-instante .hero__sello,
body.hero-al-instante .hero__capa,
body.hero-al-instante .hero__caja,
body.hero-al-instante .hero__f,
body.hero-al-instante .hero__titular,
body.hero-al-instante .hero__mas,
body.hero-al-instante .fab{transition:none !important}
html.midiendo .hero:has(.hero__sello){visibility:visible}
html.midiendo .hero:has(.hero__sello) .hero__in{visibility:hidden}
html.midiendo .hero:has(.hero__sello) .hero__sello{opacity:1;visibility:visible;transition:none}
html.midiendo .hero__punto{transition:none}
html.midiendo .hero__punto--logo{background-color:var(--brand)}
html.midiendo .hero__punto.is-activo:not(.hero__punto--logo){background-color:#FFF}
@media (prefers-reduced-motion:reduce){
  html.midiendo body:not(.hero-con-logo) .hero__pausa-ico{background-color:currentColor;
    clip-path:polygon(35.417% 21.667%, 75% 50%, 35.417% 78.333%)}
  html.midiendo body:not(.hero-con-logo) .hero__pausa-ico rect{display:none}
}
html.midiendo body:has(.hero__sello) .fab{opacity:0;transform:scale(.72);pointer-events:none;transition:none}

/* LAS IMÁGENES DE PUBLICACIONES DEL CARRUSEL DE LA CABECERA (órdenes suyas, 04/10/2026, de las 10:39 a las 12:14: «En las imágenes
   3 y siguientes, las que se correspoden con publicaciones, vamos a hacer que la imagen sea la original (sin degradados). El
   texto encima de la imagen de color blanco. Detra del texto blanco y delante de la imagen, pon un recuadro granate (el
   granate del menu cortina), pero con degradado de izquierda a derecha»; y lo que fue eligiendo sobre las pruebas).
   · LA FOTO, TAL COMO ES: a todo color y sin transparencia (la capa lleva la marca hero__capa--pub; la escribe
     carrusel_cabecera.py). La de la fachada —las imágenes del sello y del lema— sigue en blanco y negro y al 33,5 %.
   · EL TÍTULO Y SU BOTÓN REDONDO, EN BLANCO (el titular lleva hero__titular--foto). CON EL RATÓN ENCIMA DEL BOTÓN («La A»): se
     rellena de blanco y su flecha toma el color del recuadro; se desplaza 8 px a la derecha, como siempre.
   · EL RECUADRO (hero__caja; lo crea y lo mide js/inicio.js): del granate del menú cortina, #5B2546 al 88 %, sobre las fotos
     en color, y del gris corporativo, #64656A al 88 %, sobre las fotos en blanco y negro («el granate en las de color y el
     gris en las de blanco y negro»). Empieza 60 px a la izquierda del texto y 60 px sobre lo alto de las letras del título,
     acaba 60 px bajo el botón, llega 180 px más allá del final del renglón más largo («la 3») y se apaga en sus últimos
     300 px («la b»): esas medidas las pone el guion (--caja-lleno, hasta dónde va entero; --caja-fin, dónde se acaba). Va por
     debajo de la línea de puntos y de las flechas.
   · LAS FLECHAS DE LOS LADOS, BLANCAS sobre las publicaciones («las flechas siempre blancas»), también con el ratón encima; en
     las imágenes del sello y del lema siguen granates. El cambio de color acompaña al fundido de la imagen (1,2 s).
   · EL FUNDIDO ENTRE IMÁGENES, de 1,2 s como siempre y SIEMPRE CRUZADO: la que se va se apaga mientras la que llega se
     enciende, también entre dos fotos, aunque a mitad de camino clareen (se ve el fondo a través de las dos). Orden suya,
     05/10/2026: «NO ME IMPORTA, PREFIERO QUE SEA COMO ESTABA ANTES» (en la tanda 13 la anterior se quedaba debajo hasta que
     la nueva la había cubierto).
   · EL ARO DEL FOCO DEL TECLADO, en blanco sobre las fotos (el botón del título, las flechas, los puntos y la pausa).
   · DESDE EL 06/10/2026 CADA PUBLICACIÓN SE VE CON LA IMAGEN DE SU MATERIA (el bloque siguiente), también las de asunto relevante:
     la foto de la publicación, el granate o el gris del recuadro y las flechas en blanco de este bloque quedan para la
     publicación cuya materia no tenga imagen todavía; lo demás (el título y su botón en blanco, el recuadro y sus medidas,
     el fundido) vale para todas. Un asunto relevante sin imagen de asunto relevante iría sobre el papel, con su etiqueta y
     su texto en negro, como iban todos hasta entonces («esto que estamos haciendo no se aplicará a las publicaciones de
     ASUNTOS RELEVANTES», 04/10/2026).
   · EN TABLET Y EN MÓVIL, el texto —el del lema, el de las publicaciones y el de los asuntos relevantes— va centrado en el alto
     que queda bajo la barra, como en base y en menor (el bloque del centrado, más arriba). */
.hero__capa--pub{filter:none}
.hero__capa--pub.is-visible{opacity:1}

.hero__titular--foto{--caja-rgb:91,37,70}
.hero__titular--gris{--caja-rgb:100,101,106}
.hero__titular--foto .hero__pub{color:#FFF}
.hero__titular--foto .hero__ir{color:#FFF;border-color:#FFF;background-color:transparent}
@media (hover:hover){.hero__titular--foto .hero__ir:hover{background-color:#FFF;border-color:#FFF;
  color:rgb(var(--caja-rgb));transform:translateX(8px)}}
.hero__titular--foto .hero__ir:focus-visible{outline-color:#FFF}

/* EL APAGADO DEL CUADRO, CON UNA CURVA SUAVE (orden suya, 07/10/2026, 18:52: «se nota mucho el cambio de color en el degradado
   (se nota la franja del cambio). El degradado debe empezar antes y degradarse de manera más suave para que no se note ese cambio
   brusco en la franja de color»; de las tres versiones, 19:15: «c»; implantado la noche del 07/10/2026). El color entero llega
   hasta --caja-lleno y de ahí a --caja-fin se apaga siguiendo la curva 3u² − 2u³ (arranca despacio y acaba despacio), en once
   escalones de la décima parte; dónde empieza y dónde acaba lo mide js/inicio.js (colocarCajas) según la pantalla. Hasta
   entonces, en línea recta entre los dos puntos. */
.hero__caja{position:absolute;z-index:2;pointer-events:none;--caja-rgb:91,37,70;
  background:linear-gradient(90deg, rgba(var(--caja-rgb),.88) 0,
                             rgba(var(--caja-rgb),0.880) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0),
                             rgba(var(--caja-rgb),0.855) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.1),
                             rgba(var(--caja-rgb),0.788) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.2),
                             rgba(var(--caja-rgb),0.690) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.3),
                             rgba(var(--caja-rgb),0.570) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.4),
                             rgba(var(--caja-rgb),0.440) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.5),
                             rgba(var(--caja-rgb),0.310) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.6),
                             rgba(var(--caja-rgb),0.190) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.7),
                             rgba(var(--caja-rgb),0.092) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.8),
                             rgba(var(--caja-rgb),0.025) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 0.9),
                             rgba(var(--caja-rgb),0.000) calc(var(--caja-lleno,100%) + (var(--caja-fin,100%) - var(--caja-lleno,100%)) * 1));
  opacity:0;transition:opacity 1.2s ease}
.hero__caja--gris{--caja-rgb:100,101,106}
.hero__caja.is-visible{opacity:1}

.hero__f{transition:color 1.2s ease,transform .25s}
@media (hover:hover){.hero__f:hover{transition:color .25s,transform .25s}}
body.hero-en-foto .hero__f{color:#FFF}
@media (hover:hover){body.hero-en-foto .hero__f:hover{color:#FFF}}
body.hero-en-foto .hero__f:focus-visible,
body.hero-en-foto .hero__puntos :focus-visible{outline-color:#FFF}

/* LAS PUBLICACIONES DE LA CABECERA, CON LA IMAGEN DE SU MATERIA, EN TODAS LAS CONFIGURACIONES (órdenes suyas, 05/10/2026 y 06/10/2026,
   sobre las láminas de las quince materias en la base, el portátil, la tablet tumbada y de pie y el móvil de 360 y de 320 px;
   el 06/10 se implantó primero solo para la pantalla grande y, a las 19:03, entero: «implanta todos y cada uno de los
   cambios pendientes que llevamos acumulados»).
   La página trae cada publicación de la cabecera con la imagen de su materia (carrusel_cabecera.py: hero__capa--mat en la
   capa, con data-mat y la imagen; hero__titular--foto y hero__titular--mat en el titular, con la etiqueta de su materia).
   Dónde va la imagen en cada pantalla, el color del cuadro y su largo los pone js/inicio.js (la tabla de las materias la
   escribe guiones/imagen_materia.py). ESTAS IMÁGENES SOLO SE USAN EN LA CABECERA: las fichas y la página de cada publicación
   siguen con la imagen de la publicación.
   · LA IMAGEN, ENTERA, TAL COMO ES (a todo color, sin transparencia y sin recortar: su tamaño y su sitio, en la propia capa;
     donde no llega, el guion continúa su fondo con unas bandas, hero__banda).
   · EL TÍTULO Y EL BOTÓN REDONDO, EN BLANCO, sobre el cuadro del color de la materia (lo de hero__titular--foto, más arriba).
   · LA ETIQUETA DE LA MATERIA, SIN MARCO, CON EL FONDO DEL COLOR DEL CUADRO Y LA LETRA EN BLANCO (orden suya, 06/10/2026, 12:17: «La
     etiqueta con la materia no debe llevar el marco blanco y no debe ser un enlace a nada (en asunto relevante tampoco); y
     el color de fondo de la etiqueta debe ser el color del cuadro»; a las 13:13 las pidió blancas y a las 13:20, al verlas,
     «volvemos a la configuracion de antes»). El color va entero: como el cuadro va al 88 %, la etiqueta se ve un punto más
     oscura que él. Es un texto: no hace nada al señalarla.
   · LAS FLECHAS, GRANATES, como en las imágenes del sello y del lema (las imágenes de las materias son claras): la capa de una
     materia no lleva la marca de las fotos de publicación (hero__capa--pub), que es la que las pasa a blanco.
   · UNA PUBLICACIÓN CUYA MATERIA NO TUVIERA IMAGEN (un área nueva) se vería con su foto, como hasta el 05/10/2026, y sin
     etiqueta. */
.hero__titular--foto .hero__tag{display:none}
.hero__banda{position:absolute;pointer-events:none}
.hero__capa--mat{filter:none;background-repeat:no-repeat;overflow:hidden}
.hero__capa--mat.is-visible{opacity:1}
.hero__titular--mat .hero__tag{display:inline-flex}
.hero__titular--mat .hero__tag .carrpub__area{background:rgb(var(--caja-rgb));color:#FFF;border-color:transparent}

/* LA CABECERA DE LAS PÁGINAS DE ÁREA, EN BLANCO (orden suya, 07/10/2026, 18:52: «En las páginas de áreas, el apartado que
   contiene el título y el resumen del área, elimina la imagen y pon un fondo de color blanco»; vista la prueba, 19:07: «ok»;
   implantado la noche del 07/10/2026). EN LAS CATORCE PÁGINAS DE ÁREA Y EN TODAS LAS CONFIGURACIONES.
   · DEL 06/10/2026 A ESA NOCHE llevaba una imagen de fondo (img/area-fondo.webp, un fondo liso, sin figura, una sola para todas;
     primero el gris del 06/10/2026 y, desde el 07/10/2026 a las 14:36, un gris cálido claro), ajustada a lo que mide la cabecera.
     Ya no hay imagen: el mismo paño va en blanco, de debajo de la barra al final de la franja del título y del texto
     explicativo (--pleg-y, que mide js/comun.js) y de lado a lado de la página, por encima del grano y por debajo del texto.
     Aparece con el título y el texto, cuando la página ya está colocada (banda-lista). DONDE LA PÁGINA NO TIENE DESPLEGABLES
     (hoy, la de procesos y gestión en masa) EL PAÑO NO SE PINTA Y LA CABECERA QUEDA EN EL PAPEL de la propia página, con su
     grano (orden suya, 08/10/2026, 08:08: «la cabecera con el rótulo y la presentación debe estar sobre fondo papel, para
     distinguirla del apartado siguiente, que está sobre fondo blanco. sólo en esta página de áreas, no en las demás»): sin
     desplegables, lo que sigue a la cabecera es Publicaciones, en blanco, y blanco sobre blanco no se distinguían. Se
     reconoce por la maqueta (nada detrás de la presentación), no por el nombre de la página.
   · EL TÍTULO DEL ÁREA, EN EL GRANATE CORPORATIVO, como siempre (lo pone, más arriba, la regla de los rótulos: var(--brand)). Del
     06/10/2026 al 07/10/2026 fue en rgb(82,73,67), el gris del cuadro que entonces tenía mercantil, más intenso («la 2»); orden
     suya, 07/10/2026, 14:36: «el color del rótulo vuelve al granate corporativo». El texto explicativo no cambia (negro).
   · EL APARTADO DE LOS DESPLEGABLES, EN EL COLOR PAPEL, el que tenía la cabecera. */
body.pag-servicio.tiene-rotulo #servicio{--pleg-fondo:var(--papel-fondo)}
body.pag-servicio.tiene-rotulo #servicio::after{content:"";position:absolute;z-index:1;pointer-events:none;
  left:0;right:0;top:var(--banda);height:calc(var(--pleg-y, 100%) - var(--banda));
  background:var(--white);opacity:0;transition:opacity .28s ease}
body.pag-servicio.tiene-rotulo.banda-lista #servicio::after{opacity:1}
body.pag-servicio.tiene-rotulo:not(:has(#servicio .serv__texto > .serv__arriba + *)) #servicio::after{content:none}

/* EN EL ÍNDICE DE PUBLICACIONES, EN LOS MÓVILES MÁS ESTRECHOS (hasta 339 px), CADA MATERIA DE LA LISTA DE FILTROS EN UN RENGLÓN
   (orden suya, 06/10/2026, 23:14: «LO QUIERO EN UN RENGLON»; aprobado sobre la prueba a las 23:30): en inglés, «Insolvency and
   restructuring» se partía en dos de 320 a 323 px. Sin achicar la letra: el hueco entre el cuadrito y el nombre pasa a la
   mitad (de 20,15 px —los 28 de la base, en la proporción en que el móvil encoge la letra, de 26,4 a 19— a 10,08). A 320 px
   sobran 6 px en inglés, 12 en catalán y 14 en castellano. */
@media (max-width:339px){
  body.pag-publicaciones .pub__filtro,
  body.pag-publicaciones .pub__limpiar{gap:calc(14px * 19 / 26.4)}
}

/* EL AVISO DE NOVEDAD LEGISLATIVA EN LA CABECERA (órdenes suyas, 08/10/2026, 14:08–14:39): con la imagen de la fachada, una franja
   blanca de UNA LÍNEA pegada bajo la barra granate y SUPERPUESTA a la imagen (no la empuja ni la hace más alta), con el TÍTULO de la
   publicación en la letra de máquina (la de las fechas), en negro, entre los márgenes del logotipo y del menú de la barra (los mide
   js/inicio.js: --aviso-izq y --aviso-der). Baja desde detrás de la barra (0,5 s) y, la primera vez que sale en la visita, el título se
   escribe a máquina (js/inicio.js); lo que no cabe se esconde por el margen izquierdo y, al acabar, vuelve al principio (0,3 s) cortado
   con « …». Se apaga al irse la fachada y en cuanto el visitante mueve la rueda o desliza. Al señalarla, en granate. Con «reducir el
   movimiento», aparece de golpe y escrita. */
.hero__avisos{position:absolute;left:0;right:0;top:var(--banda);z-index:3;overflow:hidden;pointer-events:none}
.hero__aviso{display:block;pointer-events:auto;background:#FFF;color:#000;text-decoration:none;
  font-family:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;font-size:18px;line-height:48px;height:48px;
  padding:0 var(--aviso-der,95.53px) 0 var(--aviso-izq,95.53px);white-space:nowrap;outline-offset:-3px;
  transform:translateY(-100%);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.hero__aviso.is-abajo{transform:none}
.hero__aviso.is-yendose{opacity:0;transition:opacity .45s ease}        /* se va con la fachada */
.hero__aviso.is-retirado{opacity:0;transition:opacity .3s ease}        /* por la rueda del ratón o el dedo */
.hero__aviso-ver{display:block;overflow:hidden;white-space:pre}
.hero__aviso-texto{display:inline-block;white-space:pre;transform:translateX(var(--corrimiento,0px))}
.hero__aviso-texto.is-volviendo{transition:transform .3s ease-in-out}
.hero__aviso-cursor{display:inline-block;width:2px;height:1.05em;background:currentColor;vertical-align:-.15em;margin-left:1px;
  animation:hero-aviso-parpadeo 1s steps(2,start) infinite}
@keyframes hero-aviso-parpadeo{to{visibility:hidden}}
/* YA ESCRITO, EL TEXTO RESPIRA (orden suya, 08/10/2026, 14:51): se aclara del negro a un gris claro y vuelve a oscurecerse
   hasta el negro, 1,6 s cada tramo, sin parar; también cuando la franja baja ya escrita. EL GRIS, CLARO (15:09: «la bajada de
   color a gris debe ser a un gris más claro, para que se aprecie claramente que está parpadeando»): #B2B3B6, a medio camino
   entre el gris corporativo (#64656A) y el blanco; hasta entonces era el gris corporativo. Con el ratón encima, quieto y en
   granate. */
.hero__aviso-texto.is-respirando{animation:hero-aviso-respira 3.2s ease-in-out infinite}
@keyframes hero-aviso-respira{0%,100%{color:#000}50%{color:#B2B3B6}}
@media (hover:hover){.hero__aviso:hover{color:var(--brand)}.hero__aviso:hover .hero__aviso-texto{animation:none}}
@media (max-width:1900px){.hero__aviso{font-size:16px;line-height:44px;height:44px}}
/* EN LA TABLETA, LA LETRA DE LA BASE (09/10/2026): la regla de la casa es que en la tableta ningún texto mida menos que a 1.920 (para que
   al ampliar al 200 % se doble de verdad; WCAG 1.4.4, auditoría 6; la vigila repaso_tablet.py). Lo que no cabe se corta con « …» */
@media (max-width:1199px){.hero__aviso{font-size:18px;line-height:48px;height:48px}}
@media (max-width:699px){.hero__aviso{font-size:14px;line-height:40px;height:40px}}
body.hero-al-instante .hero__aviso{transition:none}
@media (prefers-reduced-motion:reduce){
  .hero__aviso,.hero__aviso-texto{transition:none}
  .hero__aviso-cursor,.hero__aviso-texto{animation:none}
}

/* EL CUADRO DE BÚSQUEDA DEL ÍNDICE DE PUBLICACIONES (orden suya, 08/10/2026, 17:36 y 17:40; 18:46: «pon el cuadro de texto nuevo en la misma
   linea que el de autores», SOLO EN EL PORTÁTIL —18:53: «la base no cambia; queda aprobada como estaba. sólo estamos cambiando la
   configuración de portatil»—): en el portátil (de 1.200 a 1.900 px), EN LA MISMA LÍNEA QUE EL CUADRO DE AUTORES, empezando donde empieza la
   segunda columna de filtros (el hueco entre los dos, --hueco-cuadros, lo mide js/publicaciones.js; 28 px); en la base, la tablet y el móvil,
   debajo de él, a 20 px; del mismo
   tamaño y forma —el ancho del filtro más largo de la primera columna, que mide js/publicaciones.js (--ancho-autor); la misma letra, el mismo
   filete y las mismas esquinas redondas—, sin la punta del desplegable; con «Buscar» escrito dentro hasta que se teclea (sin puntos suspensivos: 17:52), en el mismo negro
   que «Todos los autores». Sin la cruz de borrar del navegador: lo vacía el botón «Borrar los filtros». Al tener el teclado, el mismo aro
   granate que el resto de la web, redondo como el cuadro. Lo que busca y cómo, en js/publicaciones.js (el buscador). */
body.pag-publicaciones .pub__busca{margin-top:20px;line-height:0}
@media (min-width:1200px) and (max-width:1900px){
  body.pag-publicaciones .pub__autores{display:flex;align-items:center;column-gap:var(--hueco-cuadros,28px)}
  body.pag-publicaciones .pub__busca{margin-top:0}
}
body.pag-publicaciones .pub__buscar{appearance:none;-webkit-appearance:none;
  display:inline-block;width:var(--ancho-autor, min(var(--ancho-autor-0), 100%));
  font-family:var(--sans);font-weight:300;font-size:20px;line-height:1.25;color:#000;
  letter-spacing:normal;text-transform:none;
  border:1px solid var(--line);border-radius:100px;background-color:var(--white);background-image:none;
  padding:7.23px 15px;margin:0}
body.pag-publicaciones .pub__buscar::placeholder{color:#000;opacity:1}
body.pag-publicaciones .pub__buscar::-webkit-search-cancel-button,
body.pag-publicaciones .pub__buscar::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
body.pag-publicaciones .pub__buscar:focus-visible{border-radius:100px}

/* EL APARTADO DE LOS FILTROS LLENA LA PANTALLA (orden suya, 08/10/2026, 17:41): del rótulo (y el blanco de encima) al cuadro de buscar, el
   apartado mide lo que la pantalla, como el blanco del índice de áreas, para que no asome ninguna ficha hasta que se baja. La altura la da
   esta regla (la pantalla entera; la barra va encima, dentro de esa altura); si los filtros no caben en la pantalla, el apartado mide lo que
   necesita. El blanco que sobra lo reparte js/publicaciones.js (luces). */
body.pag-publicaciones #servicio{min-height:100vh;min-height:100svh}

/* EL APARTADO DE LOS FILTROS, SOBRE PAPEL (orden suya, 08/10/2026, 17:55: «el fondo de todo lo que ocuparán los filtros (todo lo visible de
   la pantalla) en color papel»): el mismo tono y el mismo grano que los apartados de papel del resto de la web (hasta entonces, blanco);
   las fichas siguen debajo, sobre blanco. */
body.pag-publicaciones #servicio{background-color:var(--papel-fondo);background-image:var(--grano-papel)}

/* LA PUNTA DE FLECHA QUE INVITA A BAJAR (orden suya, 08/10/2026, 18:07): cuando hay un filtro puesto (una materia, un autor o palabras
   buscadas), o la página se abre con uno, aparece parpadeando una punta de flecha —la de las diapositivas de la cabecera (62 × 124, trazo
   1,0955), tumbada, apuntando abajo—, centrada en el ancho y a 60 px de luz del final del apartado de papel, contados desde su punta
   (la punta queda 13,9 px por encima del final de su caja de 62 px de alto; a las 18:07 pidió 120 px y a las 18:16, vista la prueba, 60).
   SOLO CUANDO EL PAPEL CABE EN LA PANTALLA (la base y el portátil; 18:45: «ajustar las luces del apartado (…) para que el apartado ocupe la
   pantalla completa y la flecha (…) quede debajo del ultimo cuadro de filtro»): si el papel es más alto que la pantalla, los filtros ya
   quedan cortados y el visitante sabe que tiene que bajar (18:34 y 18:38: ni en el móvil ni en la tablet). Se ve mientras las publicaciones
   no asoman por abajo; se va al asomar y vuelve al subir (js/publicaciones.js). Parpadeo suave: de entera a casi apagada y vuelta, 1,6 s
   cada ciclo; quieta y más oscura al señalarla; sin parpadeo si el visitante tiene las animaciones reducidas. Pulsarla lleva a las
   publicaciones. */
body.pag-publicaciones .pub__bajar{position:absolute;left:50%;bottom:calc(60px - 13.9px);transform:translateX(-50%);
  width:124px;height:62px;border:0;background:none;padding:0;cursor:pointer;color:var(--brand);display:grid;place-items:center;z-index:3}
body.pag-publicaciones .pub__bajar[hidden]{display:none}
body.pag-publicaciones .pub__bajar svg{width:124px;height:62px;display:block;animation:pub-bajar-parpadea 1.6s ease-in-out infinite}
@keyframes pub-bajar-parpadea{0%,100%{opacity:1}50%{opacity:.15}}
@media (hover:hover){body.pag-publicaciones .pub__bajar:hover{color:var(--brand-dp)}
  body.pag-publicaciones .pub__bajar:hover svg{animation-play-state:paused;opacity:1}}
@media (prefers-reduced-motion:reduce){body.pag-publicaciones .pub__bajar svg{animation:none}}

/* EL PORTÁTIL (de 1.200 a 1.900 px): LAS LUCES DEL PAPEL, MÁS CORTAS, PARA QUE EL APARTADO QUEPA EN LA PANTALLA (orden suya, 08/10/2026,
   18:45): del final de la barra a la tinta del rótulo, 40 px (en la base, 58,7 antes de centrar); del rótulo a «Borrar los filtros» y de
   este al primer filtro, 50 (60 en la base; lo pone js/publicaciones.js); del último filtro a los cuadros, 35 de relleno (45 en la base).
   En 1.366 × 768 el papel mide 768 justos y la flecha queda debajo de los cuadros. */
@media (min-width:1200px) and (max-width:1900px){
  body.pag-publicaciones #servicio{padding-top:calc(var(--banda) + 60px - 90.65px - 18.7px + var(--luz-arriba-extra, 0px))}
  body.pag-publicaciones .pub__autores{margin-top:35px}
  /* y la punta de flecha a 30 px del final del papel, y 30 px de blanco sobre las fichas (18:55: «baja la flecha hasta que sólo haya 30 px
     de luz hasta el final del papel; y reduce la luz de encima de los cuadros en el apartado sobre fondo blanco a 30 px»); en la base, 60 y 60 */
  body.pag-publicaciones .pub__bajar{bottom:calc(30px - 13.9px)}
}

/* EN EL MÓVIL Y EN LA TABLET NO HAY PUNTA DE FLECHA (orden suya, 08/10/2026, 18:34: «en la configuración móvil (…) no tiene ningún sentido la
   flecha indicadora de bajar porque ya hay que bajar necesariamente para ver la página y el usuario lo sabe»; y 18:38, «ok», a quitarla también
   en la tablet por lo mismo): en las dos, la lista de filtros va en una columna y queda cortada por la pantalla. Queda en la base y en el
   portátil, donde el bloque de los filtros se ve entero en la primera pantalla. */
@media (max-width:1199px){body.pag-publicaciones .pub__bajar{display:none}}

/* LOS 60 PX DE BLANCO SOBRE LAS FICHAS (orden suya, 08/10/2026, 18:16: «Encima de los cuadros de publicaciones dejemos 60 px de luz sobre
   fondo blanco»): el apartado blanco de las publicaciones empieza donde acaba el papel y las fichas, 60 px más abajo (hasta entonces,
   pegadas al principio del apartado). Al cambiar de página, la pantalla queda con el principio del blanco bajo la barra, y las fichas a
   esos 60 px. */
body.pag-publicaciones .pub-lista{padding-top:60px}

/* EN EL PORTÁTIL (de 1.200 a 1.900 px), 30 PX DE BLANCO SOBRE LAS FICHAS (orden suya, 08/10/2026, 18:55; en la base siguen los 60 de las 18:16).
   Va después de la regla de los 60 para mandar sobre ella. */
@media (min-width:1200px) and (max-width:1900px){body.pag-publicaciones .pub-lista{padding-top:30px}}

/* EN LAS PANTALLAS BAJAS DEL PORTÁTIL (hasta 740 px de alto, como 1.280 × 720), LA PUNTA DE FLECHA A LA MITAD (31 × 62, el trazo igual), para que
   no quede pegada a los cuadros (orden suya, 08/10/2026, 19:02: «aquí pon una flecha más pequeña para que no quede tan pegada»): la punta
   sigue a 30 px del final del papel (queda 6,95 px por encima del final de su caja de 31). En 1.280 × 720, 30 px entre los cuadros y la caja. */
@media (min-width:1200px) and (max-width:1900px) and (max-height:740px){
  body.pag-publicaciones .pub__bajar{width:62px;height:31px;bottom:calc(30px - 6.95px)}
  body.pag-publicaciones .pub__bajar svg{width:62px;height:31px}
}

/* EN EL PORTÁTIL, LA IMAGEN DE LAS FICHAS SE ACORTA PARA QUE LA FILA QUEPA EN LA PANTALLA (orden suya, 08/10/2026, 19:04): la altura la pone
   js/publicaciones.js en --img-alto-portatil (en 1.280 × 720, 118,7 px en vez de 172,24; en 1.366 × 768, 166,7); sin ella, la de siempre. */
@media (min-width:1200px) and (max-width:1900px){
  body.pag-publicaciones .pub__rejilla .post{--img-alto:var(--img-alto-portatil, calc(var(--cuerpo-alto) * .375))}
}

/* EL PAPEL DEL ÍNDICE DE PUBLICACIONES, COMO EL DEL PROYECTO (orden suya, 09/10/2026, 08:15): el grano en su baldosa de 200 px, repetida,
   como en todos los apartados en papel (la regla de .serv lo estiraba a todo el apartado) */
body.pag-publicaciones #servicio{background-size:auto;background-repeat:repeat;background-position:0 0}

/* EL AVISO «NO HAY PUBLICACIONES CON ESAS PALABRAS», CON LA LETRA DEL TAMAÑO DE LA DE LOS FILTROS (orden suya, 09/10/2026, 08:15) Y CON SU
   MISMA LETRA (08:33, «la C»): 22,2 px en la base y el portátil, 26,4 en la tableta y 19 en el móvil, como los filtros de materias; su color,
   el de siempre */
body.pag-publicaciones .pub__vacio{font-family:var(--sans);font-size:26.4px}
@media (min-width:1200px){body.pag-publicaciones .pub__vacio{font-size:22.2px}}
@media (max-width:699px){body.pag-publicaciones .pub__vacio{font-size:19px}}

/* CON EL ZOOM REDUCIDO, EL APARTADO DE LOS FILTROS DEL ÍNDICE DE PUBLICACIONES NO CRECE (aviso suyo, 09/10/2026, 08:53: «se alarga y no se
   pueden ver los cuadros de publicaciones»): mide lo que la pantalla AL 100 % (--hero-zoom, que deduce js/comun.js, como la cabecera de la
   portada) y debajo se ven las fichas. Con el zoom al 100 % o ampliado vale 1: la pantalla entera, como siempre. */
body.pag-publicaciones #servicio{min-height:calc(100vh * var(--hero-zoom, 1));min-height:calc(100svh * var(--hero-zoom, 1))}
