/*
  Legal Firm Costa Blanca · tema de la web (CMS Mediaelx)
  Sale del diseño validado en Claude Design («Un expediente en orden»).
  Colores en variables (:root): cuando llegue el logo se ajustan aquí sin rehacer nada.
  Tipos: Newsreader (títulos) e Instrument Sans (texto), servidas desde assets/fonts.
*/
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-300-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/Newsreader-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/InstrumentSans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/InstrumentSans-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/InstrumentSans-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --cal:#f5f2eb;--piedra:#e7e1d5;--salvia:#a8bbb1;--salvia-claro:#d9e1db;
  --tinta:#1f3438;--tinta-hondo:#172a2d;--tinta-hover:#2c474c;--tinta-suave:#55666a;--linea:#cfc7b8;--sobre-tinta:#f5f2eb;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --margen:clamp(20px,5vw,64px);--ancho:1360px;--cab:88px;
  --ease-salida:cubic-bezier(.16,1,.3,1);--ease-suave:cubic-bezier(.65,0,.35,1);
  --dur-1:.35s;--dur-2:.7s;--dur-3:1.2s;
}
body{margin:0;background:var(--piedra);color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
a:hover{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:1.5px solid currentColor;outline-offset:4px}
img{display:block;max-width:100%}

.lf{position:relative;background:var(--cal);overflow-x:clip}
.in{max-width:var(--ancho);margin:0 auto;padding-inline:var(--margen);box-sizing:border-box}
.etq{margin:0;font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave)}
.t-l{font-family:var(--serif);font-weight:300;margin:0;text-wrap:balance;font-variant-numeric:lining-nums;font-size:clamp(34px,5vw,76px);line-height:1.03;letter-spacing:-.022em}
.t-m{font-family:var(--serif);font-weight:300;margin:0;text-wrap:balance;font-size:clamp(30px,3.2vw,48px);line-height:1.08;letter-spacing:-.018em}
.t-l em,.t-m em{font-style:italic}
.lema{margin:0;font:300 italic clamp(22px,2vw,30px)/1.25 var(--serif);color:var(--tinta)}
.entrada{margin:0;font:300 clamp(24px,2.4vw,36px)/1.3 var(--serif);letter-spacing:-.01em;color:var(--tinta);text-wrap:pretty}
.prosa p{margin:0 0 18px;color:var(--tinta-suave)}
.prosa p:last-child{margin:0}
.prosa strong,.lista strong{font-weight:600;color:var(--tinta)}
.pend{font-style:italic;color:var(--tinta-suave)}
.sec{padding-block:clamp(96px,11vw,168px)}
.sec--corta{padding-block:clamp(72px,8vw,120px)}
.rejilla{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.filete{height:1px;background:currentColor;transform-origin:left}
.cabeza{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:16px}
.fondo-piedra{background:var(--piedra)}
.fondo-tinta{background:var(--tinta);color:var(--sobre-tinta)}
.fondo-tinta .etq{color:var(--sobre-tinta);opacity:.8}
.fondo-tinta .prosa p{color:rgba(245,242,235,.74)}
.fondo-tinta .prosa strong,.fondo-tinta .lista strong{color:var(--sobre-tinta)}
.fondo-tinta .lema,.fondo-tinta .entrada{color:var(--sobre-tinta)}

/* Botones y enlaces */
.btn{position:relative;display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:0 28px;font:500 15px/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;border-radius:2px;overflow:hidden;isolation:isolate;transition:color var(--dur-1) ease;box-sizing:border-box;border:0;cursor:pointer}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;transform:scaleX(0);transform-origin:right;transition:transform var(--dur-2) var(--ease-salida)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn svg{flex:none;transition:transform var(--dur-1) var(--ease-salida)}
.btn:hover svg{transform:translateX(5px)}
.btn--tinta{background:var(--tinta);color:var(--sobre-tinta)}
.btn--tinta:hover{color:var(--sobre-tinta)}
.btn--tinta::before{background:var(--tinta-hover)}
.btn--cal{background:var(--cal);color:var(--tinta)}
.btn--cal:hover{color:var(--sobre-tinta)}
.btn--cal::before{background:var(--tinta-hover)}
.btn--borde{background:transparent;color:var(--sobre-tinta);box-shadow:inset 0 0 0 1px rgba(245,242,235,.5)}
.btn--borde:hover{color:var(--tinta)}
.btn--borde::before{background:var(--cal)}
.enl{display:inline-flex;align-items:center;gap:12px;padding:0 0 6px;font:500 15px/1.2 var(--sans);text-decoration:none;color:inherit;background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;transition:background-size var(--dur-2) var(--ease-salida)}
.enl:hover{color:inherit;background-size:0 1px;background-position:right bottom}
.enl svg{transition:transform var(--dur-1) var(--ease-salida)}
.enl:hover svg{transform:translateX(5px)}

/* Cabecera: logo, menú e idiomas. Transparente sobre la foto, cal al bajar */
.cab{position:absolute;top:0;left:0;right:0;z-index:30;color:var(--sobre-tinta)}
.cab__in{height:var(--cab);display:flex;align-items:center;gap:36px}
.logo{display:inline-flex;align-items:baseline;gap:.28em;font:400 24px/1 var(--serif);letter-spacing:-.01em;text-decoration:none;color:inherit;white-space:nowrap}
.logo:hover{color:inherit}
.logo em{font-weight:300;font-style:italic}
.nav{margin-left:auto}
.nav ul{display:flex;gap:28px;margin:0;padding:0;list-style:none}
.nav a,.idi a{position:relative;text-decoration:none;color:inherit;opacity:.8;transition:opacity var(--dur-1) ease;white-space:nowrap}
.nav a{font-size:15px;padding-bottom:5px}
.nav a::after,.idi a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur-2) var(--ease-salida)}
.nav a:hover,.idi a:hover,.nav a.act,.idi a.act{opacity:1;color:inherit}
.nav a:hover::after,.idi a:hover::after,.nav a.act::after,.idi a.act::after{transform:scaleX(1);transform-origin:left}
.idi{display:flex;gap:14px;margin:0;padding:0 0 0 28px;border-left:1px solid rgba(245,242,235,.35)}
.idi a{display:inline-block;padding:12px 0 4px;margin:0;font:500 12px/1 var(--sans);letter-spacing:.16em;min-width:24px;text-align:center}
.sel{display:none;position:relative}
.sel__btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;background:transparent;border:1px solid rgba(245,242,235,.45);border-radius:2px;font:500 12px/1 var(--sans);letter-spacing:.14em;color:inherit;cursor:pointer}
.cab.con-panel .sel__btn{border-color:var(--linea)}
.sel__btn svg{transition:transform var(--dur-1) ease}
.sel[open] .sel__btn svg{transform:rotate(180deg)}
.sel summary{list-style:none}
.sel summary::-webkit-details-marker{display:none}
.sel__lista{position:absolute;right:0;top:calc(100% + 8px);min-width:168px;margin:0;padding:6px 0;list-style:none;background:var(--cal);color:var(--tinta);border:1px solid var(--linea);z-index:5;animation:abrir .4s var(--ease-salida) both}
.sel__lista a{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:none;border:0;text-align:left;font:400 16px/1.2 var(--sans);color:var(--tinta);text-decoration:none;box-sizing:border-box}
.sel__lista a b{font:500 11px/1 var(--sans);letter-spacing:.14em;color:var(--tinta-suave)}
.sel__lista a.act{font-family:var(--serif);font-style:italic;font-size:18px}
.sel__lista a:hover{background:var(--salvia-claro)}
.menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;padding:0;background:none;border:0;color:inherit;cursor:pointer}
.menu span{position:relative;display:block;width:24px;height:1.5px;background:currentColor;transition:transform var(--dur-2) var(--ease-salida)}
.menu span::after{content:"";position:absolute;left:0;top:7px;width:16px;height:1.5px;background:currentColor;transition:transform var(--dur-2) var(--ease-salida),width var(--dur-2) var(--ease-salida)}
.menu.abierto span{transform:translateY(3.5px) rotate(45deg)}
.menu.abierto span::after{top:0;width:24px;transform:rotate(-90deg)}
.panel{display:none;position:absolute;left:0;right:0;top:0;min-height:100svh;padding:calc(var(--cab) + 24px) var(--margen) 48px;background:var(--cal);color:var(--tinta);box-sizing:border-box;z-index:-1;animation:abrir .6s var(--ease-salida) both}
.panel ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--tinta)}
.panel li{border-bottom:1px solid var(--linea)}
.panel a{display:flex;align-items:baseline;gap:20px;padding:18px 0;font:300 34px/1.1 var(--serif);letter-spacing:-.015em;text-decoration:none;color:var(--tinta)}
.panel a span{font:500 12px/1 var(--sans);letter-spacing:.16em;color:var(--tinta-suave)}
.panel a.act{font-style:italic}
.panel__pie{margin-top:32px;display:grid;gap:6px;font-size:15px;color:var(--tinta-suave)}
.cab.con-panel{color:var(--tinta)}
.cab.con-panel .panel{display:block}
.cab.con-panel .idi{border-left-color:var(--linea)}

/* Hero a pantalla completa (Inicio) */
.hero{position:relative;height:min(100svh,900px);min-height:600px;color:var(--sobre-tinta);overflow:hidden;background:var(--tinta)}
.hero__media{position:absolute;inset:0}
.hero__img{width:100%;height:100%;object-fit:cover;object-position:50% 85%;transform-origin:50% 75%;animation:acercar 3.2s var(--ease-salida) backwards}
.hero__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,38,52,.42) 0%,rgba(20,38,52,.14) 36%,rgba(20,38,52,0) 54%)}
.hero__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:28px;padding-top:calc(var(--cab) + clamp(36px,8vh,104px));padding-bottom:40px}
.hero__cab{display:grid;gap:24px}
.hero .etq{color:var(--sobre-tinta);opacity:.88;animation:subirSuave var(--dur-3) var(--ease-salida) .2s backwards}
.hero__t{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,72px);line-height:1.02;letter-spacing:-.03em;margin:0;max-width:22ch;font-variant-numeric:lining-nums;text-wrap:balance}
.hero--int{height:min(88svh,820px);min-height:560px}
.hero--int .hero__img{object-position:50% 55%;transform-origin:50% 50%}
.hero--int .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.7) 0%,rgba(20,38,52,.38) 36%,rgba(20,38,52,0) 64%),linear-gradient(0deg,rgba(20,38,52,.18) 0%,rgba(20,38,52,0) 30%)}
.hero__t em{font-style:italic}
.ln{display:block;overflow:hidden;padding:0 .12em .1em 0;margin-bottom:-.1em}
.ln > span{display:block;animation:subir 1.25s var(--ease-salida) backwards}
.ln:nth-child(1) > span{animation-delay:.25s}
.ln:nth-child(2) > span{animation-delay:.4s}
.hero__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:20px 40px;padding-top:24px;position:relative;max-width:880px}
.hero__pie::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:rgba(245,242,235,.42);transform-origin:left;animation:trazar 1.4s var(--ease-salida) .8s backwards}
.hero__sub{margin:0;max-width:36ch;font-size:clamp(18px,1.5vw,21px);line-height:1.5;animation:subirSuave var(--dur-3) var(--ease-salida) 1s backwards}
.hero__pie .btn{animation:subirSuave var(--dur-3) var(--ease-salida) 1.15s backwards}

/* Cinta de zonas */
.cinta{border-bottom:1px solid var(--linea);overflow:hidden;padding:30px 0;background:var(--cal)}
.cinta__pista{display:flex;width:max-content;animation:desplazar 70s linear infinite}
.cinta__grupo{display:flex;align-items:center;gap:40px;padding-right:40px;font:300 clamp(28px,3vw,42px)/1.1 var(--serif);letter-spacing:-.015em;color:var(--tinta);white-space:nowrap}
.cinta__grupo i{font-style:italic;color:var(--tinta-suave)}
.cinta__grupo b{display:block;width:7px;height:7px;border-radius:50%;background:var(--salvia)}

/* Fotos */
.foto{position:relative;margin:0;overflow:hidden;background:var(--piedra)}
.foto img{width:100%;height:100%;object-fit:cover}
.r-34{aspect-ratio:3 / 4}.r-45{aspect-ratio:4 / 5}.r-32{aspect-ratio:3 / 2}.r-219{aspect-ratio:21 / 9}.r-169{aspect-ratio:16 / 9}
.banda{position:relative;height:clamp(380px,62vh,680px);overflow:hidden;background:var(--piedra)}
.banda img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;object-position:50% 60%}

/* Inicio: bloques */
.s1 .texto{grid-column:1 / span 6;display:grid;gap:40px;align-content:center;padding-right:clamp(0px,3vw,48px)}
.s1 .prosa{max-width:58ch}
.s1 .coll{grid-column:7 / span 6;position:relative;padding-bottom:16%}
.coll__gr{width:78%;margin-left:auto}
.coll__pq{position:absolute;left:0;bottom:0;width:46%;outline:12px solid var(--cal);z-index:2}
.s2 .cab2{grid-column:1 / span 9;display:grid;gap:32px}
.s2 .t-l{font-size:clamp(36px,5.6vw,88px)}
.s2 .pano{grid-column:1 / -1;margin-top:clamp(56px,6vw,88px)}
.s2 .cuerpo{grid-column:5 / span 8;display:grid;gap:40px;padding-top:64px;align-content:start}
.s2 .prosa{columns:2;column-gap:40px}
.s2 .prosa p{break-inside:avoid}

/* Partido: texto y foto */
.partido{align-items:center}
.partido__texto{grid-column:1 / span 6;display:grid;gap:32px;align-content:start}
.partido__foto{grid-column:8 / span 5}
.partido--inv .partido__texto{grid-column:7 / span 6;grid-row:1}
.partido--inv .partido__foto{grid-column:1 / span 5;grid-row:1}

/* Quiénes somos */
.intro__entrada{grid-column:1 / span 7;display:grid;gap:32px;align-content:start}
.intro__lado{grid-column:9 / span 4;display:grid;gap:24px;align-content:start}
.cerca .cab2{grid-column:1 / span 8;display:grid;gap:28px}
.cerca .pano{grid-column:1 / -1;margin-top:clamp(48px,5vw,80px)}
.cerca .entrada{grid-column:1 / span 5;padding-top:56px}
.cerca .cuerpo{grid-column:7 / span 6;padding-top:56px;display:grid;gap:32px;align-content:start}

/* Servicios */
.indice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--tinta);margin:0;padding:0;list-style:none}
.indice li{border-bottom:1px solid var(--linea);border-right:1px solid var(--linea)}
.indice li:nth-child(4n){border-right:0}
.indice a{position:relative;display:grid;gap:10px;align-content:start;min-height:132px;padding:20px 20px 22px 0;padding-left:20px;text-decoration:none;color:var(--tinta);isolation:isolate;box-sizing:border-box;height:100%}
.indice a::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--salvia-claro);transform:scaleY(0);transform-origin:bottom;transition:transform var(--dur-2) var(--ease-salida)}
.indice a:hover::before{transform:scaleY(1);transform-origin:top}
.indice b{font:300 34px/.9 var(--serif);letter-spacing:-.03em;color:var(--tinta-suave)}
.indice span{font:400 18px/1.25 var(--serif)}
.indice a:hover b{color:var(--tinta)}
.servicio{scroll-margin-top:var(--cab)}
.servicio__cab{grid-column:1 / span 5;display:grid;gap:20px;align-content:start}
.servicio__num{margin:0;font:300 clamp(96px,12vw,184px)/.8 var(--serif);letter-spacing:-.05em;color:var(--salvia);font-variant-numeric:lining-nums}
.fondo-tinta .servicio__num{color:#4b665e}
.servicio__cuerpo{grid-column:7 / span 6;display:grid;gap:32px;align-content:start;padding-top:12px}
.servicio__foto{margin-top:16px}
.grupo__t{margin:8px 0 0;font:400 clamp(21px,1.8vw,26px)/1.2 var(--serif);letter-spacing:-.01em}
.grupo .prosa{margin-bottom:4px}
.intro-serv{display:grid;gap:56px}
.intro-serv .entrada{max-width:34ch}
.intro-serv__e{grid-column:1 / span 7}
.intro-serv__p{grid-column:8 / span 5;align-self:end}
@media (max-width:1000px){.intro-serv__e,.intro-serv__p{grid-column:1 / -1}}
.entrada strong{font-weight:400}
.cierre{display:grid;gap:32px;max-width:820px}
/* Servicios: composiciones que alternan */
.srv{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:40px;align-items:start}
.srv__cab{display:grid;gap:18px;align-content:start}
.srv__cuerpo{display:grid;gap:32px;align-content:start}
.srv__grupos{display:grid;gap:40px}
.srv__foto{margin:0}
.srv__foto--no{display:none !important}
.srv--ancho .srv__cab{grid-column:1 / span 5;grid-row:1}
.srv--ancho .srv__foto{grid-column:7 / span 6;grid-row:1;align-self:end}
.srv--ancho .srv__cuerpo{grid-column:1 / -1;grid-row:2;margin-top:24px}
.srv--ancho .srv__ps{max-width:62ch}
.srv--ancho .srv__grupos{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.srv--der .srv__cab{grid-column:1 / span 6;grid-row:1}
.srv--der .srv__cuerpo{grid-column:1 / span 6;grid-row:2}
.srv--der .srv__foto{grid-column:8 / span 5;grid-row:1 / span 2;align-self:center}
.srv--izq .srv__foto{grid-column:1 / span 6;grid-row:1 / span 2;align-self:center}
.srv--izq .srv__cab{grid-column:8 / span 5;grid-row:1}
.srv--izq .srv__cuerpo{grid-column:8 / span 5;grid-row:2}
.srv--texto .srv__cab{grid-column:1 / span 4;grid-row:1}
.srv--texto .srv__cuerpo{grid-column:6 / span 7;grid-row:1}
.srv--texto .lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
@media (min-width:1001px){
  .srv--texto .srv__cab{position:sticky;top:calc(var(--cab) + 40px)}
  .srv--der .srv__foto,.srv--izq .srv__foto{position:sticky;top:calc(var(--cab) + 40px)}
}
@media (max-width:1000px){
  .srv{display:flex;flex-direction:column;align-items:stretch;gap:32px}
  .srv__cab{order:1}.srv__foto{order:2}.srv__cuerpo{order:3}
  .srv--ancho .srv__grupos{grid-template-columns:minmax(0,1fr)}
  .srv--texto .lista{grid-template-columns:minmax(0,1fr)}
}
.subtit{margin:0 0 4px;font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave)}
.fondo-tinta .subtit{color:rgba(245,242,235,.7)}
.grupo{display:grid;gap:14px}
.lista{margin:0;padding:0;list-style:none;border-top:1px solid var(--tinta)}
.fondo-tinta .lista{border-top-color:rgba(245,242,235,.5)}
.lista li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--linea);font-size:16px;line-height:1.5}
.fondo-tinta .lista li{border-bottom-color:rgba(245,242,235,.16);color:rgba(245,242,235,.82)}
.lista li::before{content:"";position:absolute;left:0;top:23px;width:12px;height:1px;background:currentColor;opacity:.6}
.dos-listas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.post a{display:grid;gap:16px;text-decoration:none;color:var(--tinta)}
.post .foto img{transition:transform .8s var(--ease-salida)}
.post a:hover .foto img{transform:scale(1.04)}
.post__meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.prueba{display:inline-block;padding:4px 8px;font:500 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--salvia-claro);color:var(--tinta)}
.post__t{margin:0;font:300 clamp(24px,2vw,30px)/1.15 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.post a:hover .post__t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.post__ex{margin:0;color:var(--tinta-suave);font-size:16px}
.post__leer{margin-top:4px}
.posts--lista{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--tinta)}
.posts--lista .post{border-bottom:1px solid var(--linea)}
.posts--lista .post a{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:16px;align-items:center;padding:48px 0}
.posts--lista .foto{grid-column:1 / span 5;grid-row:1 / span 5}
.posts--lista .post__meta,.posts--lista .post__t,.posts--lista .post__ex,.posts--lista .post__leer{grid-column:7 / span 6}
.posts--lista .post__meta{align-self:end}
.posts--lista .post__leer{justify-self:start;align-self:start}
.posts--lista .post__t{font-size:clamp(28px,2.8vw,42px)}
@media (max-width:760px){
  .posts--lista .post a{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:36px 0}
  .posts--lista .post__leer{align-self:flex-start}
}

/* Contacto */
.contacto__texto{grid-column:1 / span 6;display:grid;gap:32px;align-content:start}
.contacto__form{grid-column:8 / span 5}
.form{display:grid;gap:36px}
.campo{display:grid;gap:6px}
.campo label{font:500 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.campo input,.campo textarea{width:100%;padding:6px 0 12px;font:400 22px/1.3 var(--serif);color:var(--tinta);background:transparent;border:0;border-bottom:1px solid #7d8885;border-radius:0;resize:vertical;box-sizing:border-box}
.campo input:focus,.campo textarea:focus{outline:none;border-bottom:1.5px solid var(--tinta)}
.form__rejilla{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
.campo--full{grid-column:1 / -1}
.form__envio{display:grid;gap:20px;justify-items:start}
.consent{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.4;color:var(--tinta-suave);cursor:pointer}
.consent input{appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1px solid #7d8885;border-radius:2px;background:transparent;cursor:pointer}
.consent input:checked{background:var(--tinta);border-color:var(--tinta);box-shadow:inset 0 0 0 3px var(--cal)}
.consent a,.capa a{color:var(--tinta);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.capa{display:block;max-height:46px;overflow-y:auto;margin-top:-12px;padding:8px 12px 8px 0;border-top:1px solid var(--linea);font-size:11.5px;line-height:1.5;color:var(--tinta-suave);scrollbar-width:thin;scrollbar-color:var(--linea) transparent}
.capa p{margin:0}
.capa b{color:var(--tinta);font-weight:600}
.capa .capa__t{font-weight:600;color:var(--tinta)}
@media (max-width:640px){.form__rejilla{grid-template-columns:minmax(0,1fr)}}
.gratis{background:var(--salvia);padding:clamp(32px,4vw,56px);display:grid;gap:16px}
.gratis p{margin:0;font:300 clamp(30px,3.4vw,52px)/1.04 var(--serif);letter-spacing:-.025em;color:var(--tinta)}
.gratis em{font-style:italic}
.datos-c{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0}
.datos-c div{display:grid;gap:8px;align-content:start;padding-top:20px;border-top:1px solid var(--tinta)}
.datos-c dt{font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave)}
.datos-c dd{margin:0;font:300 22px/1.3 var(--serif)}

/* Destacado: contacto */
.dest{background:var(--salvia);color:var(--tinta)}
.dest .etq{color:var(--tinta)}
.dest__in{display:grid;gap:48px}
.dest__frase{font:300 clamp(42px,7.6vw,124px)/.98 var(--serif);letter-spacing:-.035em;margin:0;max-width:14ch;text-wrap:balance}
.dest__frase em{font-style:italic}
.dest__pie{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding-top:32px;position:relative}
.dest__pie::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--tinta);transform-origin:left}
.dest__pie .prosa{max-width:52ch}
.dest__pie .prosa p{color:var(--tinta);font-size:18px}

/* Pie */
.pie{background:var(--piedra);color:var(--tinta)}
.pie__in{padding-top:96px;padding-bottom:32px;display:grid;grid-template-columns:minmax(0,6fr) repeat(3,minmax(0,2fr));gap:48px 24px}
.marca{display:grid;gap:12px;align-content:start}
.marca__n{font:400 clamp(44px,4.4vw,64px)/.98 var(--serif);letter-spacing:-.025em;margin:0}
.marca__n em{display:block;font-weight:300;font-style:italic}
.pie__col{display:grid;gap:4px;align-content:start;font-size:15px;line-height:1.6}
.pie__col .etq{margin-bottom:10px}
.pie__col p{margin:0}
.pie__col ul{margin:0;padding:0;list-style:none}
.pie__col a{text-decoration:none}
.pie__col a:hover{text-decoration:underline;text-underline-offset:4px}
.legal{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--linea);font-size:13px;color:var(--tinta-suave)}
.legal p{margin:0}
.legal ul{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0;padding:0;list-style:none}
.legal a{color:var(--tinta-suave)}

/* Movimiento: el estado de reposo es siempre el visible */
@keyframes acercar{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes subir{from{transform:translateY(108%)}to{transform:translateY(0)}}
@keyframes subirSuave{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes trazar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes desplazar{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes abrir{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes cabSolida{from{background-color:rgba(23,42,45,.16);color:#f5f2eb;box-shadow:inset 0 -1px 0 rgba(245,242,235,.2)}to{background-color:rgba(245,242,235,.62);color:#1f3438;box-shadow:inset 0 -1px 0 rgba(31,52,56,.12)}}
@keyframes idiSolida{from{border-left-color:rgba(245,242,235,.35)}to{border-left-color:#cfc7b8}}
@keyframes paralaje{from{transform:translateY(0)}to{transform:translateY(14%)}}
@keyframes revelar{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes destapar{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes alejar{from{transform:scale(1.22)}to{transform:scale(1)}}
@keyframes flotar{from{transform:translateY(60px)}to{transform:translateY(0)}}
@keyframes banda{from{transform:translateY(-7%)}to{transform:translateY(7%)}}

@supports (animation-timeline: scroll()) {
  .cab:not(.con-panel){position:sticky;top:0;margin-bottom:calc(-1 * var(--cab));backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);animation:cabSolida linear both;animation-timeline:scroll(root);animation-range:30vh 65vh}
  .cab:not(.con-panel) .idi{animation:idiSolida linear both;animation-timeline:scroll(root);animation-range:30vh 65vh}
  .hero__media{animation:paralaje linear both;animation-timeline:scroll(root);animation-range:0 100vh}
}
@supports (animation-timeline: view()) {
  .rv{animation:revelar linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
  .dest__pie::before{animation:trazar linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .foto{animation:destapar linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .foto img{animation:alejar linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  .coll__pq{animation:destapar linear both,flotar linear both;animation-timeline:view(),view();animation-range:entry 0% entry 100%,entry 0% entry 100%}
  .banda img{animation:banda linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  .servicio__num{animation:revelar linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
}

/* Tableta */
@media (max-width:1100px){
  .nav{display:none}
  .menu{display:inline-flex}
  .idi{margin-left:auto;padding-left:0;border-left:0}
  .indice{grid-template-columns:repeat(2,minmax(0,1fr))}
  .indice li:nth-child(4n){border-right:1px solid var(--linea)}
  .indice li:nth-child(2n){border-right:0}
}
@media (max-width:1000px){
  :root{--cab:72px}
  .s1 .texto,.s1 .coll,.s2 .cab2,.s2 .cuerpo,.partido__texto,.partido__foto,.partido--inv .partido__texto,.partido--inv .partido__foto,.intro__entrada,.intro__lado,.cerca .cab2,.cerca .entrada,.cerca .cuerpo,.servicio__cab,.servicio__cuerpo,.servicio__foto,.contacto__texto,.contacto__form{grid-column:1 / -1;grid-row:auto}
  .s1 .texto{padding-right:0}
  .s1 .coll{margin-top:64px}
  .s2 .cuerpo{padding-top:48px}
  .s2 .prosa{columns:1}
  .partido__foto{margin-top:48px}
  .intro__lado{margin-top:48px}
  .cerca .entrada{padding-top:40px}
  .cerca .cuerpo{padding-top:24px}
  .servicio__cuerpo{padding-top:32px}
  .servicio__foto{margin-top:32px}
  .contacto__form{margin-top:56px}
  .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .datos-c{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pie__in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .marca{grid-column:1 / -1}
}
/* Móvil */
@media (max-width:640px){
  .cab__in{gap:14px}
  .logo{display:grid;gap:2px;font-size:17px;line-height:1.05}
  .idi{display:none}
  .sel{display:block;margin-left:auto}
  .hero__in{gap:24px;justify-content:space-between}
  .hero__cab{gap:18px}
  .hero .etq{font-size:11px;letter-spacing:.12em}
  .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.45) 0%,rgba(20,38,52,0) 40%),linear-gradient(0deg,rgba(23,40,43,.88) 0%,rgba(23,40,43,.5) 26%,rgba(23,40,43,0) 46%)}
  .hero__pie{flex-direction:column;align-items:stretch}
  .hero__t{font-size:32px}
  html[lang="hu"] .hero__t{font-size:29px}
  .hero{height:min(100svh,780px);min-height:560px}
  .hero--int{height:min(80svh,640px);min-height:480px}
  .hero--int .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.72) 0%,rgba(20,38,52,.4) 42%,rgba(20,38,52,0) 70%)}
  .btn{width:100%;justify-content:space-between;padding-block:14px}
  .coll__gr{width:86%}
  .coll__pq{width:52%;outline-width:8px}
  .s2 .pano,.cerca .pano{aspect-ratio:4 / 3}
  .banda{height:420px}
  .indice{grid-template-columns:minmax(0,1fr)}
  .indice li{border-right:0 !important}
  .indice a{min-height:0;grid-template-columns:44px minmax(0,1fr);align-items:baseline;padding:16px 0 16px 4px}
  .indice b{font-size:26px}
  .dos-listas{grid-template-columns:minmax(0,1fr)}
  .posts{grid-template-columns:minmax(0,1fr)}
  .datos-c{grid-template-columns:minmax(0,1fr)}
  .dest__pie{flex-direction:column;align-items:stretch}
  .pie__in{grid-template-columns:minmax(0,1fr);padding-top:72px}
}
/* Supertítulos: solo la etiqueta, sin adornos */
.cabeza{display:block}

/* Forma de trabajar: cada columna traza su línea y sube su palabra, una detrás de otra */
.valores__lista li{position:relative;border-top:0}
.valores__lista li::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--tinta);transform-origin:left}
.valores__lista li.v2 b,.valores__lista li.v4 b{font-style:italic}
@keyframes punto{from{transform:scale(0)}to{transform:scale(1)}}
@supports (animation-timeline: view()) {
  .valores__lista li::before{animation:trazar linear both;animation-timeline:view()}
  .valores__lista span,.valores__lista b{animation:revelar linear both;animation-timeline:view()}
  .valores__lista .v1::before{animation-range:entry 0% entry 55%}
  .valores__lista .v2::before{animation-range:entry 10% entry 65%}
  .valores__lista .v3::before{animation-range:entry 20% entry 75%}
  .valores__lista .v4::before{animation-range:entry 30% entry 85%}
  .valores__lista .v1 span,.valores__lista .v1 b{animation-range:entry 10% entry 70%}
  .valores__lista .v2 span,.valores__lista .v2 b{animation-range:entry 20% entry 80%}
  .valores__lista .v3 span,.valores__lista .v3 b{animation-range:entry 30% entry 90%}
  .valores__lista .v4 span,.valores__lista .v4 b{animation-range:entry 40% entry 100%}
  .valores__lista b{animation-delay:0s}
}
@media (max-width:640px){
  .valores__lista li::before{display:none}
  .valores__lista li:first-child::before{display:block}
}
/* Forma de trabajar: hover (solo con ratón): las letras pasan a tinta, sin fondo */
@media (hover: hover){
  .valores__lista li{cursor:default}
  .valores__lista span,.valores__lista b{transition:color var(--dur-2) var(--ease-salida)}
  .valores__lista b{color:var(--tinta-suave)}
  .valores__lista li:hover span,.valores__lista li:hover b{color:var(--tinta)}
}
/* Inicio: el titular del bloque oscuro, enorme, con las palabras encendiéndose al hacer scroll */
.s2 .cab2{grid-column:1 / -1}
.t-xl{font-size:clamp(44px,7.6vw,132px) !important;line-height:.98;letter-spacing:-.035em;max-width:15ch}
.revela{view-timeline-name:--titular;view-timeline-axis:block}
@keyframes palabra{from{opacity:.14}to{opacity:1}}
@supports (animation-timeline: view()) {
  .revela .w{animation:palabra linear both;animation-timeline:--titular;animation-range:entry calc(var(--i) * 6%) entry calc(30% + var(--i) * 6%)}
}

/* Bloque de contacto: subrayado que se pinta bajo «es gratuita» */
.dest__frase em{background:linear-gradient(var(--cal),var(--cal)) left 86%/100% .26em no-repeat;padding:0 .04em}
@keyframes subrayar{from{background-size:0% .26em}to{background-size:100% .26em}}
@supports (animation-timeline: view()) {
  .dest__frase em{animation:subrayar linear both;animation-timeline:view();animation-range:entry 40% entry 100%}
}
/* Inicio: bajo el banner, texto de apoyo + botón y las tres claves con números grandes */
.entrada-home{padding-block:clamp(80px,9vw,140px) 0;background:var(--cal)}
.entrada-home__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px 48px;margin-bottom:clamp(56px,6vw,96px)}
.entrada-home__lead{margin:0;max-width:24ch;font:300 clamp(30px,3vw,46px)/1.15 var(--serif);letter-spacing:-.02em;color:var(--tinta);text-wrap:balance}
.entrada-home__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.entrada-home__lista li{position:relative;display:grid;gap:18px;align-content:start;padding-top:24px}
.entrada-home__lista li::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--tinta);transform-origin:left}
.entrada-home__lista span{font:300 clamp(80px,9vw,150px)/.8 var(--serif);letter-spacing:-.05em;color:var(--tinta)}
.entrada-home__lista b{font:300 clamp(24px,2.2vw,34px)/1.12 var(--serif);color:var(--tinta);text-wrap:balance}
.entrada-home__lista .v2 b{font-style:italic}
@supports (animation-timeline: view()) {
  .entrada-home__lista li::before{animation:trazar linear both;animation-timeline:view()}
  .entrada-home__lista span,.entrada-home__lista b{animation:revelar linear both;animation-timeline:view()}
  .entrada-home__lista .v1::before{animation-range:entry 0% entry 55%}
  .entrada-home__lista .v2::before{animation-range:entry 10% entry 65%}
  .entrada-home__lista .v3::before{animation-range:entry 20% entry 75%}
  .entrada-home__lista .v1 span,.entrada-home__lista .v1 b{animation-range:entry 10% entry 70%}
  .entrada-home__lista .v2 span,.entrada-home__lista .v2 b{animation-range:entry 20% entry 85%}
  .entrada-home__lista .v3 span,.entrada-home__lista .v3 b{animation-range:entry 30% entry 100%}
}
@media (max-width:760px){
  .entrada-home__lista{grid-template-columns:minmax(0,1fr);gap:40px}
  .entrada-home__lista span{font-size:72px}
}

/* El hero de Inicio con el mismo velo tinta que el resto de páginas */
.hero .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.7) 0%,rgba(20,38,52,.38) 36%,rgba(20,38,52,0) 64%),linear-gradient(0deg,rgba(20,38,52,.18) 0%,rgba(20,38,52,0) 30%)}
@media (max-width:640px){.hero .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.72) 0%,rgba(20,38,52,.4) 42%,rgba(20,38,52,0) 70%)}.hero:not(.hero--int) .hero__velo{background:linear-gradient(180deg,rgba(20,38,52,.72) 0%,rgba(20,38,52,0) 45%),linear-gradient(0deg,rgba(23,40,43,.88) 0%,rgba(23,40,43,.5) 26%,rgba(23,40,43,0) 46%)}}
/* Inicio: frase grande con la última palabra que cambia */
.rota{padding-block:clamp(96px,11vw,176px) clamp(24px,4vw,56px);background:var(--cal)}
.rota__frase{margin:0;font:300 clamp(44px,6.6vw,116px)/1.02 var(--serif);letter-spacing:-.035em;color:var(--tinta)}
.rota__w{display:grid;overflow:hidden;padding:0 .1em .14em 0;margin-bottom:-.14em}
.rota__w em{grid-area:1 / 1;font-weight:400;font-style:italic;opacity:0;transform:translateY(.5em)}
.rota__w em:first-child{opacity:1;transform:none}

/* Hero de Inicio: mismo velo tinta que el resto y el cielo algo apagado para que no mande el azul */
.hero:not(.hero--int) .hero__img{filter:saturate(.62)}
.hero:not(.hero--int) .hero__velo{background:linear-gradient(180deg,rgba(31,52,56,.82) 0%,rgba(31,52,56,.5) 34%,rgba(31,52,56,0) 66%),linear-gradient(0deg,rgba(31,52,56,.2) 0%,rgba(31,52,56,0) 30%)}

.rota__w.js em{transition:opacity .6s ease,transform .8s var(--ease-salida)}
.rota__w.js em:first-child{opacity:0;transform:translateY(.5em)}
.rota__w.js em.on{opacity:1;transform:none}
.rota__w.js em.fuera{opacity:0;transform:translateY(-.5em)}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .cab{position:absolute;margin-bottom:0;background:none}
}

/* ------------------------------------------------------------------ */
/* Piezas propias de la web (lo que en el diseño era estático)         */
/* ------------------------------------------------------------------ */

/* Menú abierto: la cabecera y el panel ocupan la pantalla aunque se haya bajado */
.cab.con-panel{position:fixed;inset:0 0 auto 0}
.cab.con-panel .panel{position:fixed;inset:0;overflow-y:auto}
body.menu-abierto{overflow:hidden}

/* Cabecera sin foto debajo (post sin foto, textos legales): banda tinta */
.hero--plano{height:auto;min-height:0;background:var(--tinta)}
.hero--plano .hero__in{padding-top:calc(var(--cab) + clamp(56px,8vw,120px));padding-bottom:clamp(48px,6vw,88px)}
.hero--post .hero__t{font-size:clamp(32px,3.8vw,60px);max-width:24ch}
.hero--post .etq time{color:inherit}

/* Texto de un post y de los textos legales */
.cuerpo-post{max-width:720px;margin:0 auto;font-size:18px;line-height:1.7;color:var(--tinta)}
.cuerpo-post > :first-child{margin-top:0}
.cuerpo-post p{margin:0 0 22px}
.cuerpo-post h2{margin:56px 0 16px;font:300 clamp(28px,2.6vw,38px)/1.15 var(--serif);letter-spacing:-.015em}
.cuerpo-post h3{margin:40px 0 12px;font:400 clamp(22px,1.8vw,26px)/1.25 var(--serif)}
.cuerpo-post ul{margin:0 0 22px;padding:0;list-style:none;border-top:1px solid var(--tinta)}
.cuerpo-post ul li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--linea);font-size:17px}
.cuerpo-post ul li::before{content:"";position:absolute;left:0;top:25px;width:12px;height:1px;background:currentColor;opacity:.6}
.cuerpo-post strong{font-weight:600}
.cuerpo-post a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cuerpo-post blockquote{margin:40px 0;padding:0 0 0 28px;border-left:1px solid var(--tinta);font:300 italic clamp(24px,2.2vw,32px)/1.3 var(--serif)}
.cuerpo-post blockquote p{margin:0}
.cuerpo-post figure{margin:40px 0}
.cuerpo-post figure img{width:100%;height:auto}
.cuerpo-post figcaption{margin-top:10px;font-size:14px;color:var(--tinta-suave)}
.cuerpo-post .video{position:relative;aspect-ratio:16 / 9;margin:40px 0;background:var(--tinta)}
.cuerpo-post .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cuerpo-legal{font-size:16.5px}
.cuerpo-legal h2{font-size:clamp(24px,2vw,30px);margin-top:44px}
.legal-table{overflow-x:auto;margin:6px 0 22px}
.legal-table table{border-collapse:collapse;width:100%;min-width:620px;font-size:14.5px;line-height:1.45}
.legal-table th,.legal-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
.legal-table th{font-weight:600;background:var(--piedra)}
.actualizado{margin-top:40px !important;font-size:14px;color:var(--tinta-suave)}
.volver{max-width:720px;margin:56px auto 0}

/* Blog */
.blog__entrada{max-width:34ch;margin-bottom:56px}
.post__meta time{color:var(--tinta-suave)}
.posts--lista .foto:empty{background:var(--piedra)}
.paginas{display:flex;justify-content:space-between;gap:16px;padding-top:40px}

/* Contacto: datos */
.datos-c dd a{text-decoration:none}
.datos-c dd a:hover{text-decoration:underline;text-underline-offset:4px}
.datos-c__peq{font-size:16px !important}
.gratis p.etq{font:500 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta)}

/* Quiénes somos: nuestra forma de trabajar (sustituye a la cinta) */
.valores{background:var(--cal)}
.valores__lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:48px 0 0;padding:0;list-style:none}
.valores__lista li{display:grid;gap:28px;align-content:start;padding-top:24px;border-top:1px solid var(--tinta)}
.valores__lista span{font:300 clamp(40px,4vw,64px)/.85 var(--serif);letter-spacing:-.04em;color:var(--salvia)}
.valores__lista b{font:300 clamp(24px,2.1vw,34px)/1.1 var(--serif);letter-spacing:-.02em;color:var(--tinta);text-wrap:balance}
@media (max-width:1000px){.valores__lista{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}}
@media (max-width:640px){
  .valores__lista{grid-template-columns:minmax(0,1fr);gap:0;margin-top:32px}
  .valores__lista li{grid-template-columns:56px minmax(0,1fr);align-items:baseline;gap:12px;padding:20px 0;border-top:0;border-bottom:1px solid var(--linea)}
  .valores__lista span{font-size:30px}
}

.post__foto{max-width:720px;margin:0 auto 56px}
/* Post: entradilla y más artículos */
.cuerpo-post > p:first-child{margin-bottom:40px;font:300 clamp(24px,2.2vw,32px)/1.35 var(--serif);letter-spacing:-.01em;color:var(--tinta)}
.mas .cabeza{margin-bottom:40px}
.mas__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 24px}
.mas__lista .post__t{font-size:clamp(24px,2.2vw,32px)}
@media (max-width:760px){.mas__lista{grid-template-columns:minmax(0,1fr)}}

/* Pie: enlaces legales del CMS (© año, aviso legal, privacidad, cookies) */
.legal .foot-legal{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;width:100%}
.legal .foot-legal > :first-child{margin-right:auto}
.legal .foot-legal a,.legal .foot-legal button{color:var(--tinta-suave);font-size:13px}
.legal .foot-legal button{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Formulario de contacto del CMS con el aspecto del diseño.
   Orden: campos · casilla de privacidad · botón · información básica (pequeña y con scroll). */
.lf .cform form{display:flex;flex-direction:column;align-items:flex-start}
.lf .cform-err{order:0;width:100%;box-sizing:border-box;border-radius:0;background:#f6e7e3}
.lf .cform-grid{order:1;width:100%;gap:32px 24px;margin-bottom:36px}
.lf .cform-field:has(#cf-name){grid-column:1 / -1}
.lf .cform-field{gap:6px}
.lf .cform-field label{font:500 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.lf .cform-field .opt{font:400 12px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--tinta-suave)}
.lf .cform input:not([type=checkbox]),.lf .cform select,.lf .cform textarea{width:100%;padding:6px 0 12px;font:400 22px/1.3 var(--serif);color:var(--tinta);background:transparent;border:0;border-bottom:1px solid #7d8885;border-radius:0;box-sizing:border-box}
.lf .cform textarea{height:7.2em;resize:vertical}
.lf .cform input:focus,.lf .cform select:focus,.lf .cform textarea:focus{outline:none;border-color:var(--tinta);box-shadow:inset 0 -1px 0 var(--tinta)}
.lf .cform [aria-invalid=true]{border-color:#9b3a2a}
.lf .cform-e{color:#9b3a2a;font-size:13px}
.lf .cform-consent{order:2;display:flex;gap:10px;align-items:center;margin:0 0 20px;font:400 13px/1.4 var(--sans) !important;letter-spacing:0;text-transform:none;color:var(--tinta-suave);cursor:pointer}
.lf .cform-consent + .cform-e{order:2;margin:-12px 0 16px}
.lf .cform-consent input{appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border:1px solid #7d8885;border-radius:2px;background:transparent;cursor:pointer}
.lf .cform-consent input:checked{background:var(--tinta);border-color:var(--tinta);box-shadow:inset 0 0 0 3px var(--cal)}
.lf .cform-consent a,.lf .cform-layer a{color:var(--tinta);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lf .cform-captcha{order:3}
.lf .cform-btn{order:4;position:relative;display:inline-flex;align-items:center;gap:16px;min-height:56px;padding:0 28px;font:500 15px/1.2 var(--sans);letter-spacing:.01em;color:var(--sobre-tinta);background:var(--tinta);border:0;border-radius:2px;overflow:hidden;isolation:isolate;cursor:pointer}
.lf .cform-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tinta-hover);transform:scaleX(0);transform-origin:right;transition:transform var(--dur-2) var(--ease-salida)}
.lf .cform-btn::after{content:"";flex:none;width:18px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12' fill='none' stroke='%23f5f2eb' stroke-width='1.3'%3E%3Cpath d='M0 6h16.5M11.5 1l5 5-5 5'/%3E%3C/svg%3E") no-repeat center;transition:transform var(--dur-1) var(--ease-salida)}
.lf .cform-btn:hover{background:var(--tinta)}
.lf .cform-btn:hover::before{transform:scaleX(1);transform-origin:left}
.lf .cform-btn:hover::after{transform:translateX(5px)}
.lf .cform-btn:disabled{cursor:not-allowed}
.lf .cform-layer{order:5;display:block;width:100%;max-height:46px;overflow-y:auto;margin:24px 0 0;padding:8px 12px 8px 0;background:none;border-radius:0;border-top:1px solid var(--linea);font-size:11.5px;line-height:1.5;color:var(--tinta-suave);box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--linea) transparent}
.lf .cform-layer > *{display:block}
.lf .cform-layer b{color:var(--tinta);font-weight:600}
.lf .cform-ok{background:var(--salvia-claro);color:var(--tinta);border-radius:0;padding:24px 28px;font:300 24px/1.35 var(--serif)}
@media (max-width:640px){
  .lf .cform-grid{grid-template-columns:minmax(0,1fr)}
  .lf .cform-btn{width:100%;justify-content:space-between;padding-block:14px}
}

/* Aviso de prototipo (solo existe en la vista previa de Cloudflare): abajo a la izquierda y con cierre */
html body .cms-vp{top:auto;bottom:16px;left:16px;right:auto;transform:none;z-index:40;display:inline-flex;align-items:center;gap:10px;padding:7px 8px 7px 14px;background:#1f3438;color:#f5f2eb;font:600 12px/1 "Instrument Sans",system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;box-shadow:0 6px 20px rgba(31,52,56,.25);pointer-events:auto;max-width:none}
html body .cms-vp button{all:unset;cursor:pointer;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:15px;line-height:1;color:#f5f2eb;background:rgba(245,242,235,.14)}
html body .cms-vp button:hover{background:rgba(245,242,235,.28)}
html body .cms-vp.cerrado{display:none}
