/*
 * Pantallas de Proyectos, ficha de proyecto, Prensa, Nosotros y Contacto de la web nueva (filas 45, 46, 63, 64 y 65).
 * Va después de sistema.css y solo usa sus tokens. Medidas tomadas de 02_PROJECTS, 02.1A a 02.1D, 08_PRESS, 08_1 a 08_5,
 * 09_ABOUT, 09_1 y 10_CONTACT del Master. Piezas: templates/web/_paginas.html.twig.
 */

/* ---------- Piezas comunes ---------- */
.palabras{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--e-2);font:500 var(--t-xs)/1.5 var(--fuente-texto);letter-spacing:.22em;text-transform:uppercase;color:var(--texto)}
.palabras::after{content:"";width:2.6rem;height:2px;margin-top:var(--e-3);background:var(--oro)}
.palabras--separadas{gap:0;padding-left:clamp(1rem,2vw,2rem);border-left:1px solid var(--linea)}
.palabras--separadas::after{display:none}
.palabras--separadas li{padding-block:clamp(.9rem,1.8vw,1.9rem)}
.palabras--separadas li+li{position:relative}
.palabras--separadas li+li::before{content:"";position:absolute;top:0;left:0;width:1.8rem;height:1px;background:var(--linea)}
.palabras--pequenas{font-size:var(--t-xs);gap:.2rem;letter-spacing:.24em}
.palabras--pequenas::after{width:2rem;margin-top:var(--e-3)}

.franja{list-style:none;margin:0;padding-block:clamp(1.25rem,2.4vw,2.2rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--e-5) 0}
.franja__item{display:flex;flex-direction:column;align-items:center;gap:var(--e-3);padding-inline:var(--e-4);text-align:center}
.franja__item+.franja__item{border-left:1px solid var(--oro)}
.franja__item>svg{flex:none;width:clamp(2.2rem,1.7rem + 1.2vw,3rem);height:clamp(2.2rem,1.7rem + 1.2vw,3rem);color:var(--oro)}
.franja__titulo{margin:0 0 var(--e-1);font:500 var(--t-s)/1.4 var(--fuente-texto);letter-spacing:.2em;text-transform:uppercase;color:var(--blanco)}
.franja__texto{margin:0;font:400 var(--t-m)/1.4 var(--fuente-titulares);color:var(--texto)}
/* Variante con el icono a la izquierda (Nosotros, 09_ABOUT) */
.franja--areas .franja__item{flex-direction:row;align-items:flex-start;text-align:left;gap:var(--e-5);padding-inline:clamp(1rem,2vw,2.4rem)}
.franja--areas .franja__item+.franja__item{border-left-color:var(--linea)}
.franja--areas .franja__titulo{font-size:var(--t-s)}
.franja--areas .franja__texto{font:400 var(--t-s)/1.5 var(--fuente-texto);color:var(--texto)}
@media (max-width:899.98px){
  .franja{grid-template-columns:repeat(2,minmax(0,1fr))}
  .franja__item+.franja__item{border-left:0}
  .franja__item:nth-child(even){border-left:1px solid var(--oro)}
  .franja--areas{grid-template-columns:1fr}
  .franja--areas .franja__item:nth-child(even){border-left:0}
}

.play{display:inline-flex;align-items:center;gap:var(--e-5);padding:0;background:none;border:0;color:var(--blanco);font:400 clamp(1rem,.85rem + .5vw,1.35rem)/1.2 var(--fuente-texto);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.play__circulo{display:grid;place-items:center;width:clamp(3.4rem,2.6rem + 2vw,4.6rem);height:clamp(3.4rem,2.6rem + 2vw,4.6rem);border:3px solid var(--oro);border-radius:50%;background:rgba(0,0,0,.25);transition:background var(--transicion)}
.play__circulo svg{width:42%;height:42%;margin-left:8%}
.play:hover .play__circulo{background:rgba(242,180,82,.2)}

.cierre{background:var(--negro);border-top:1px solid var(--linea-suave)}
.cierre__fila{display:flex;align-items:center;gap:var(--e-6);min-height:4.4rem;padding-block:var(--e-4);font:400 var(--t-xs)/1.4 var(--fuente-texto);letter-spacing:.2em;text-transform:uppercase}
.cierre__raya{flex:1;height:1px;background:var(--linea)}
.cierre__der{display:inline-flex;align-items:center;gap:var(--e-4);color:var(--oro);text-decoration:none;font-size:var(--t-s);letter-spacing:.24em}
.cierre__flecha svg{width:2.4rem;height:1.2rem;transform:scaleX(-1)}
a.cierre__der:hover{text-decoration:underline}
@media (max-width:640px){.cierre__fila{flex-wrap:wrap;gap:var(--e-3)}.cierre__raya{flex-basis:100%;order:1}.cierre__der{order:2}}

.volver{display:inline-flex;align-items:center;gap:var(--e-3);color:var(--oro);font:400 var(--t-m)/1 var(--fuente-texto);letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.volver svg{width:1.6rem;height:1.6rem;transform:scaleX(-1)}
.volver:hover{text-decoration:underline}
.boton--oscuro{background:var(--negro);color:var(--blanco);border-color:var(--negro)}
.boton--oscuro:hover{background:#1c1a17}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--e-3);font:500 var(--t-2xs)/1.4 var(--fuente-texto);letter-spacing:.2em;text-transform:uppercase}
.migas li+li::before{content:">";margin-right:var(--e-3);color:var(--oro)}
.migas a{text-decoration:none}
.migas a:hover{color:var(--oro)}

/* Héroes de página interior: foto a la derecha, fundida a negro hacia el texto (el héroe del sistema) */
.heroe--medio .heroe__texto{max-width:min(40rem,44vw)}
.heroe--nosotros .heroe__pie,.heroe--prensa .heroe__pie{position:static}
.heroe-palabras{position:absolute;right:max(var(--margen),calc(40vw - 280px));top:14%;color:var(--texto)}   /* W1 D-PRIN-090: a la izquierda del cartel de la S (con right:var(--margen) y top:18% lo tapaban de 1100 a 1536); abajo se iban fuera de la pantalla a 1280×720 */
.heroe-palabras::before{content:"";position:absolute;inset:-14px -18px;background:rgba(0,0,0,.72);filter:blur(10px);z-index:-1;pointer-events:none}   /* W8 D-PRIN-036: velo oscuro tras las palabras (medido en pod: peor contraste junto a los glifos 1,64 → 5,07, AA ≥4,5) ; W1 D-PRIN-090: .72 sobre la pared blanca, a la izquierda del cartel, con .55 el p99 junto a las letras daba 3,8) */
@media (max-width:1099.98px){.heroe--medio .heroe__texto{max-width:42rem}.heroe-palabras{display:none}}
/* Diapositiva 28 (fidelidad de W13, filas 1, 3 y 8; W5 21-oct): «THE SEDUCTION.» en UNA línea; el lema ESPACIOS… en columna pegada al borde
   derecho con su raya de oro (la foto es ya la de la diapositiva, sin el cartel que lo apartaba a la izquierda), y a <1100 también se ve,
   debajo del texto */
@media (min-width:1100px){.heroe--nosotros .titular--1{white-space:nowrap;font-size:clamp(2.3rem,calc(3.7*var(--vw)),4.6rem)}
  .heroe--nosotros .heroe-palabras{right:var(--margen);top:14%;text-align:left}}
.heroe--nosotros .heroe-palabras::after{content:"";display:block}
@media (max-width:1099.98px){.heroe--nosotros .heroe-palabras{display:flex;position:static;margin:var(--e-5) var(--margen) 0}
  .heroe--nosotros .heroe-palabras::before{display:none}}
/* Diapositiva 28 (W13, filas 4 y 6): el estudio con su encuadre ancho (estanterías, sillas y mesa a la derecha), la foto desde el 22 % y
   no desde el 36 %; y los cuatro servicios como en la diapositiva: texto de ≈17 px a 1440 e iconos más grandes */
/* (más específica que la regla de Nosotros y Contacto del 36 %, que va más abajo en este fichero) */
@media (min-width:1100px){.heroe.heroe--nosotros .heroe__fondo{inset:0 0 0 22%}}
/* El lema a la derecha va sobre las baldas, a la derecha del cartel de la S de la pared (recorrido-nosotros-palabras-cartel); por debajo de
   1350 px el cartel se acerca al borde y el lema baja bajo él (top 44 %), sin dejar el borde derecho */
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .heroe-palabras{top:44%}}
.franja--areas .franja__texto{font-size:clamp(.95rem,.6rem + .75vw,1.1rem)}
.franja--areas .franja__item>svg{width:clamp(2.4rem,1.8rem + 1.4vw,3.4rem);height:clamp(2.4rem,1.8rem + 1.4vw,3.4rem)}
/* CRUCE 1619/1620 (diap. 28 a 1024): «ARQUITECTUR/A», «CONSTRUCCIÓ/N», «INTERIOR / DESIGN»: con el icono al lado no cabían. De 900 a 1279 el
   icono va encima del título, y hasta 1439 el título se espacia algo menos; nunca se parte una palabra (recorrido-nosotros-franja-28) */
.franja--areas .franja__titulo{overflow-wrap:normal;hyphens:manual}
@media (min-width:900px) and (max-width:1279.98px){.franja.franja--areas{grid-template-columns:repeat(4,minmax(0,1fr))}.franja--areas .franja__item{flex-direction:column;gap:var(--e-3)}.franja--areas .franja__titulo{letter-spacing:.12em}}
@media (min-width:1280px) and (max-width:1439.98px){.franja--areas .franja__titulo{letter-spacing:.12em}}

/* ---------- 45 Proyectos (02_PROJECTS) ---------- */
/* overflow:clip (V7, 21-oct 22:5x): con «hidden» el héroe se podía desplazar de lado (scrollIntoView o el foco de un pin con el teclado) y el titular quedaba pegado al borde
   y la Tierra corrida 54 px a 1440 (lámina 4ca4a8723); «clip» recorta igual pero no admite desplazamiento. */
.proyectos-heroe{position:relative;overflow:hidden;overflow:clip;padding-top:var(--alto-cabecera);background:radial-gradient(ellipse 60% 70% at 55% 45%,#1d160c 0%,#0a0806 55%,var(--negro) 100%)}
.proyectos-heroe__fila{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,52fr) minmax(0,12fr);align-items:center;gap:var(--e-5);min-height:clamp(26rem,31vw,34rem);padding-block:var(--e-5)}
.proyectos-heroe__texto>*+*{margin-top:clamp(.9rem,.3rem + 1vw,1.6rem)}
.proyectos-heroe .titular--1{font-size:calc(.96 * clamp(2.4rem,.8rem + calc(3.4*var(--vw)),5.2rem));font-weight:700;line-height:.95}
/* Diapositiva 2 (revisión de W5, 22-oct 01:1x): el antetítulo en sans espaciada (no en serif), el titular más grueso, y en la caja el rótulo en sans
   semigruesa y poco espaciada con la chincheta mayor. */
.proyectos-heroe .antetitulo{font:500 clamp(.8rem,.6rem + .3vw,1rem)/1.2 var(--fuente-texto);letter-spacing:.2em}
.proyectos-heroe .texto-grande{font-size:clamp(.9rem,.75rem + .25vw,1.1rem);line-height:1.3;max-width:34em}
/* Caja «Selecciona un país» de la diapositiva 2: marco dorado, marcador y rótulo en mayúsculas */
.proyectos-caja{display:flex;align-items:center;gap:clamp(.8rem,.5rem + .8vw,1.3rem);max-width:30rem;padding:clamp(.8rem,.6rem + .5vw,1.1rem) clamp(1rem,.7rem + .8vw,1.5rem);border:1px solid var(--oro)}
.proyectos-caja>svg{flex:none;width:clamp(2rem,1.5rem + 1.2vw,3rem);height:clamp(2rem,1.5rem + 1.2vw,3rem);color:var(--oro)}
.proyectos-caja>svg path{fill:currentColor}.proyectos-caja>svg circle{fill:#0a0806}   /* chincheta rellena como la diapositiva 2 y los pines del globo (Codex 21-oct: aquí iba hueca) */
.proyectos-caja p{margin:0}
.proyectos-caja__titulo{display:block;color:var(--oro);font-size:clamp(1rem,.85rem + calc(.4*var(--vw)),1.3rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.proyectos-caja__texto{display:block;margin-top:.25em;font-size:clamp(.78rem,.72rem + .15vw,.9rem);opacity:.85}
/* El globo, más grande que su caja y cortado abajo, como en el Master */
.proyectos-heroe__globo.ts-globo{height:clamp(24rem,38vw,44rem);background:none;margin-block:calc(-1 * var(--e-6)) calc(-1 * clamp(5rem,9vw,10rem));align-self:start;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.proyectos-heroe__globo canvas{filter:brightness(1.7) saturate(1.15)}
.proyectos-mapa__lienzo img{filter:brightness(.6)}   /* d2 (W13, DECIDIDO 4577; medida pod 22-oct): el globo es una <img> (la regla de canvas de arriba no se aplicaba) y daba luminancia 48 frente a 27 de la diapositiva: brightness .6 → ≈30; pines y rótulos son hermanos de la img y no se oscurecen; la orientación de Europa/África es el asset y se deja */
.proyectos-heroe__palabras{align-self:center}
/* Diapositiva 2: la Tierra de noche con un pin dorado por país. El pin se dibuja pequeño, con su punta en el sitio del país, pero su
   zona táctil es de 44 × 44 px; el nombre va a su derecha y no recoge clics. */
.proyectos-mapa{position:relative;align-self:center;overflow:hidden;overflow:clip}
.proyectos-mapa__lienzo{position:relative}
.proyectos-mapa__lienzo>img{display:block;width:100%;height:auto}
/* W11 (puente 21-oct): la caja del botón ES el icono (26×26 px, ≥ 24 de WCAG) y se ancla a la punta; el rótulo va a su derecha (el de Reino Unido, a su izquierda), 4 px sobre la punta. Antes era una caja de 44 px desplazada con --tx/--ty que se solapaba con las de los pines vecinos: cualquier herramienta que pulsara el centro del botón (Playwright click) no daba en el icono. Las posiciones del icono y del rótulo son las mismas (0 px de diferencia). */
.proyectos-mapa__pin{position:absolute;display:block;width:26px;height:26px;padding:0;border:0;background:none;color:var(--oro);cursor:pointer;transform:translate(-13px,-26px)}
.proyectos-mapa__pin>svg{position:absolute;left:0;top:0;width:26px;height:26px;filter:drop-shadow(0 0 6px rgba(239,196,111,.8))}
.proyectos-mapa__pin>svg path{fill:currentColor}
.proyectos-mapa__pin>svg circle{fill:#0a0806}   /* chincheta dorada rellena con el agujero oscuro, como la maqueta (V6, 21-oct; antes un aro) */
.proyectos-mapa__pin>span{position:absolute;left:calc(100% + 1px);bottom:4px;white-space:nowrap;color:var(--blanco);font:600 clamp(.6875rem,.58rem + .25vw,.72rem)/1.2 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase;text-align:left;white-space:normal;width:max-content;text-shadow:0 1px 6px rgba(0,0,0,.9);pointer-events:auto;cursor:pointer}
.proyectos-mapa__pin[data-pais="ae"]>span{max-width:10em}   /* la maqueta parte «EMIRATOS / ÁRABES UNIDOS» en 2 líneas (W12, 21-oct) */
.proyectos-mapa__pin:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
/* W11 (VS 21-oct, captura de Víctor): la ficha abierta va SIEMPRE por encima de rótulos e iconos de todos los pines, a cualquier ancho (antes el pin que
   tapaba se subía a z 3 y «ESTADOS UNIDOS» con su icono se pintaba sobre «Santa Anna»); un pin tapado vuelve a ser pulsable al cerrar la ficha. */
.proyectos-mapa__pin--encima{z-index:auto}
.proyectos-mapa__pin[aria-expanded="true"]>svg{color:var(--blanco)}
/* Diapositiva 2 (VS 22-oct, «los pines pequeños»): desde 1100 px el pin mide 32 px. Medido sobre el dibujo de Reino Unido a 1440: maqueta 19×28 px, con 26 px 16×22 (84 %), con 38 px 24×33 (126 %, se pasaba), con 32 px ≈20×27. La punta no se mueve (translate −16/−32); ≤1099 y el móvil siguen con 26 px. */
@media (min-width:1100px){
  .proyectos-mapa__pin{width:32px;height:32px;transform:translate(-16px,-32px)}
  .proyectos-mapa__pin>svg{width:32px;height:32px}
  .proyectos-mapa__pin>span{bottom:6px}
}
/* d2, medida OBJETIVA en pod (W13, 22-oct, DECIDIDO 4504; punta DOM del servido frente a la punta de la chincheta detectada en la diapositiva, ambas relativas a la esquina del globo):
   a 1440 RU −3/+4 (dentro de ±4), EE. UU. −5/−2, ES +34/−12, EAU +10/+1, VN +9/+10 (a 1100, con el globo a escala, las mismas proporciones en vw). Se corrigen ES, EAU, VN y EE. UU.; RU no se toca.
   Desplazamientos en vw (la misma cifra sirve a 1440 y a 1100); el rótulo va con el pin. */
@media (min-width:1100px){
  .proyectos-mapa__pin[data-pais="es"]{transform:translate(calc(-16px - 2.38vw),calc(-32px + .83vw))}
  .proyectos-mapa__pin[data-pais="us"]{transform:translate(calc(-16px + .33vw),-32px)}
  .proyectos-mapa__pin[data-pais="ae"]{transform:translate(calc(-16px - .72vw),-32px)}
  .proyectos-mapa__pin[data-pais="vn"]{transform:translate(calc(-16px - .6vw),calc(-32px - .68vw))}
}
.proyectos-mapa__ficha{position:absolute;z-index:2;min-width:12rem;max-width:min(18rem,calc(100% - 16px));padding:.8rem 1rem .7rem;background:rgba(8,6,4,.94);border:1px solid rgba(239,196,111,.55);box-shadow:0 10px 40px rgba(0,0,0,.6);color:var(--blanco);font-size:.85rem;line-height:1.35}
.proyectos-mapa__ficha[hidden]{display:none}
.proyectos-mapa__ficha strong{display:block;margin-bottom:.5rem;color:var(--oro);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.proyectos-mapa__ciudad{display:block;margin:.55rem 0 .2rem;color:var(--oro);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.proyectos-mapa__ficha strong+.proyectos-mapa__ciudad{margin-top:0}
.proyectos-mapa__ficha a{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;color:var(--blanco);text-decoration:none;border-top:1px solid rgba(255,255,255,.08)}
.proyectos-mapa__ficha a:hover,.proyectos-mapa__ficha a:focus-visible{color:var(--oro)}
.proyectos-mapa__ficha img{flex:none;width:52px;height:39px;object-fit:cover}
.proyectos-mapa__ficha p{margin:0;opacity:.8}
/* ficha compacta: la pone proyectos-mapa.js cuando la normal no cabe sin tapar el icono de otro país (EN, 1024 y 390: la de España tapaba el pin de Emiratos) */
.proyectos-mapa__ficha--compacta{min-width:10rem;max-width:12.5rem;padding:.55rem .7rem .5rem;font-size:.78rem;line-height:1.25}
.proyectos-mapa__ficha--compacta strong{margin-bottom:.3rem}
.proyectos-mapa__ficha--compacta a{gap:.45rem;padding:.18rem 0}
.proyectos-mapa__ficha--compacta img{width:38px;height:28px}
.proyectos-mapa__ficha--sin-fotos img{display:none}   /* 3.ª etapa de la ficha: solo texto (sin miniaturas), más estrecha y baja */
.proyectos-mapa__ficha--sin-fotos{min-width:8.5rem;max-width:11rem}
.proyectos-mapa__ficha--sin-fotos a{min-height:1.5rem;box-sizing:border-box}   /* WCAG 2.5.8 / orden d2 (R2): sin miniatura el enlace medía 23 px (texto .78rem × 1,25 + relleno .18rem × 2 + raya): 24 px como mínimo */
.proyectos-mapa__paises{display:none}
.proyectos-mapa__otros{margin-top:var(--e-3);font-size:.85rem}
.proyectos-mapa__otros p{margin:0 0 .3rem;color:var(--oro);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.proyectos-mapa__otros ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.proyectos-mapa__otros a{display:inline-flex;align-items:center;min-height:44px;color:var(--blanco)}
/* Diapositiva 2, a sangre (fila p21x1, 21-oct): desde 1100 el globo es grande y sin caja: la foto pasa por detrás del texto y de las
   palabras, y sus bordes se funden con el negro del héroe (la máscara va solo en la foto: los pines, sus nombres y la ficha no se apagan). */
/* El subtítulo del héroe en UNA línea, como la diapositiva 2 (V6, 21-oct): letra y filete a escala con el ancho desde 1280. */
@media (min-width:1280px){.proyectos-heroe .lema-linea{white-space:nowrap;gap:.8rem;font-size:.76vw;letter-spacing:.1em}.proyectos-heroe .lema-linea::before{flex-basis:2.4rem}}
@media (min-width:1024px){
  .proyectos-mapa{overflow:visible;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin-block:calc(-1 * var(--e-5))}
  /* Globo como la diapositiva 2 (V6: ≈60 % de la maqueta): a 1440 la Tierra mide ~763 px (la imagen, 1293 = 190 % de su columna) y el héroe es lo bastante alto para no cortarla. */
  /* VS rev3 (diap. 2, 21-oct): la maqueta (1672×941) tiene el héroe de 45 % del ancho y la Tierra de ~55 % del ancho, mayor que su franja y cortada arriba y abajo; el texto arranca más arriba. */
  .proyectos-mapa__lienzo{flex:none;width:195%;margin:0 -43% -1vw -52%}
  /* Diapositiva 2 a 1440×810 (Codex y medida V7 21-oct 23:4x): la cabecera va encima del héroe y la banda de abajo empieza a 740/1440 = 51,4vw, cortando la
     Tierra; el texto arranca a ~160 px (antetítulo) y la caja mide 374×87. El mapa no da altura a la fila (contain:size): la Tierra sobresale y la recorta el héroe. */
  .proyectos-heroe__fila{min-height:calc(51.4vw - var(--alto-cabecera))}
  .proyectos-mapa{contain:size}
  .proyectos-heroe__texto{align-self:start;margin-top:3.5vw}
  /* Diapositiva 2 a 1440 (V12 1032009, DECIDIDO 4302): la caja «Selecciona un país» y su párrafo van en y 523 (servido 507): 16 px más abajo, solo en el ancho grande y SOLO ellos (el rótulo y el titular ya están a −6/−2 px de la diapositiva: no se mueven; revisor W13). */
  @media (min-width:1440px) and (max-width:1599px){.proyectos-heroe__texto>.texto-grande,.proyectos-heroe__texto>.proyectos-caja{position:relative;top:16px}}
  .proyectos-heroe .texto-grande{max-width:23.5em;line-height:1.2}
  .proyectos-caja{max-width:none;width:min(23.4rem,100%);padding-right:.9rem}
  .proyectos-caja__texto{font-size:.8rem}
  @media (min-width:1280px){.proyectos-caja__texto{white-space:nowrap}}
  .proyectos-mapa__otros{position:absolute;left:0;bottom:var(--e-5)}
  /* 1024-1279: la columna de palabras queda cerca de Vietnam (a 1093 su rótulo acababa en x=972 y la raya iba a 959): el rótulo, a la izquierda de su pin. */
  @media (max-width:1279.98px){.proyectos-mapa__pin[data-pais="vn"]>span{left:auto;right:25px;text-align:right}}
  /* 1100-1279 (pin de 32 px): el rótulo de VIETNAM 14 px a la izquierda de su caja de pin sea cual sea su tamaño (la separación que pedía Codex d2-rotulos-vivo-pt369 y V10 78934e3a: right 52 px con el pin de 38 = 100 % + 14 px); con right:25px (pensado para el pin de 26 px) pisaba 7 px el de 32. Va después de la regla anterior y la anula. */
  @media (min-width:1100px) and (max-width:1279.98px){.proyectos-mapa__pin[data-pais="vn"]>span{right:calc(100% + 14px)}}
  /* 1024-1279 (reparo 2 de V9 a f1c863270): a 1093 el punto de «FRONTERAS.» y «…y el mundo.» tocaban el borde de la Tierra; la imagen se corre un 6 % de la columna (~30 px) a la derecha. */
  @media (max-width:1279.98px){.proyectos-mapa__lienzo{margin-left:-46%}}
  /* d2 1100-1279 (W13 22-oct, DECIDIDO 5515): desde 1100 la Tierra va donde la diapositiva (los 5 pines a ≤2,2 px; con -46 % iban +29…+37 px a la derecha). Va después de la regla de arriba y la anula; ≥1280 sigue en -52 % (regla de 1024). */
  @media (min-width:1100px) and (max-width:1279.98px){.proyectos-mapa__lienzo{margin-left:-52%}}
  /* …y con la Tierra ahí el subtítulo «ARQUITECTURA DE LUJO · INTERIORISMO · …» (2 líneas) pisaba el limbo (huecos −2,5…−9,8 px a 1190-1229, es y en): en UNA línea y a escala como desde 1280, con el espaciado de letra un poco menor (.08em) para que el hueco con el limbo sea ≥ 11 px en 1100-1279 (es 20-30, en 12-20). */
  @media (min-width:1100px) and (max-width:1279.98px){.proyectos-heroe .lema-linea{white-space:nowrap;gap:.8rem;font-size:.76vw;letter-spacing:.08em}.proyectos-heroe .lema-linea::before{flex-basis:2.4rem}}
  /* Columna de palabras como la diapositiva 2 (OK ajeno W8 y captura en vivo pt203): a 1440 la raya va a ~1287 y el texto acaba a ~1418, con letra
     menos espaciada y renglones más separados; en lo servido iba 60 px más a la izquierda y «VIETNAM» pisaba la raya y «ESPACIOS». */
  .proyectos-heroe__palabras{justify-self:end;width:calc(9.7em + clamp(1rem,2vw,2rem));margin-right:calc(-1 * var(--margen) + 1.5vw);font-size:clamp(.62rem,.75vw,1rem);letter-spacing:.12em;top:-3.5vw}
  .proyectos-heroe__palabras.palabras--separadas li{padding-block:2.65vw}
  /* Pantallas anchas (Chrome de Víctor, 1990×1035 a 1,25; VS 21-oct): la maqueta es a sangre y el héroe de Proyectos escala entero con el ancho; la fila se quedaba en 1680 px (contenedor) y la Tierra, entre el titular y la columna de la derecha, en ≈47 %. Desde 1680 la fila de ESTE héroe va a todo el ancho (solo esta página, no .heroe--proyecto de las fichas): titular, globo (190 % de su columna) y columna escalan juntos, como a 1440 (≈53 %). */
  @media (min-width:1680px){.proyectos-heroe__fila{max-width:none;min-height:calc(51.4vw - var(--alto-cabecera))}.proyectos-mapa__lienzo{width:190%;margin:0 -39% -1vw -51%}}   /* ≥1680 la columna es más ancha: misma anchura que main (190 %): los pines no se pisan (matriz del mapa) y la imagen queda ≤93 % */
  /* El titular y las palabras quedan por encima de los pines de EE. UU. y Vietnam a 1990/2048 y se llevaban el clic: el texto del héroe no recoge clics (no tiene enlaces; la caja «Selecciona un país» tampoco). */
  .proyectos-heroe__texto,.proyectos-heroe__palabras{pointer-events:none}
  .proyectos-mapa__lienzo>img{-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%)}
  .proyectos-heroe__texto,.proyectos-heroe__palabras{position:relative;z-index:2}
}
.proyectos-lista{position:relative;border-top:1px solid var(--linea);padding-block:var(--e-5) var(--e-6);background:var(--fondo)}
.proyectos-filtros{display:flex;align-items:center;flex-wrap:wrap;gap:var(--e-4) var(--e-6);margin-bottom:var(--e-5)}
.proyectos-filtros__categorias{display:flex;flex-wrap:wrap;gap:var(--e-2) clamp(1rem,3vw,3.6rem)}
.filtro{position:relative;padding:.6rem 0;background:none;border:0;color:var(--blanco);font:500 var(--t-xs)/1 var(--fuente-texto);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.filtro[aria-pressed="true"]{color:var(--oro)}
.filtro[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--oro)}
.filtro:hover{color:var(--oro)}
.proyectos-filtros__raya{flex:1 1 4rem;max-width:12rem;height:1px;background:var(--linea)}
.proyectos-filtros__ubicacion{margin-left:auto}
.proyectos-filtros__ubicacion select{min-height:2.4rem;padding:0 2.2rem 0 .8rem;background:var(--negro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .6rem center/.8rem;border:1px solid var(--linea);color:var(--blanco);font:500 var(--t-2xs)/1 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase;appearance:none;cursor:pointer}
.proyectos-filtros__todos{gap:var(--e-4);font-size:var(--t-xs);background:none;border:0;cursor:pointer}
.proyectos-filtros__todos svg{width:1.5rem;height:1.5rem}
.proyectos-filtros__todos[aria-expanded="true"] svg{transform:rotate(90deg)}
.proyectos-tarjetas{list-style:none;margin:0;padding:0 var(--margen) var(--e-3);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(14rem,calc((100% - 5 * .75rem) / 6));gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--margen);scrollbar-width:thin;scrollbar-color:var(--oro) transparent}
@media (min-width:1700px){.proyectos-tarjetas{padding-inline:calc((100% - var(--ancho-maximo)) / 2 + var(--margen));scroll-padding-inline:calc((100% - var(--ancho-maximo)) / 2 + var(--margen))}}   /* con la escala >1440 (sistema.css) el contenedor mide 100vw: el relleno vuelve a ser el margen */
.proyectos-tarjetas--todas{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));overflow:visible}
.proyecto-tarjeta{scroll-snap-align:start}
.proyecto-tarjeta[hidden]{display:none}
.proyecto-tarjeta a{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--linea);color:var(--blanco);text-decoration:none;background:var(--superficie)}
.proyecto-tarjeta a:hover{border-color:var(--oro)}
.proyecto-tarjeta__foto{display:block;width:100%;aspect-ratio:261/150;height:auto;object-fit:cover}
.proyecto-tarjeta__foto--vacia{display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2a2117,#0b0907);font:400 3.4rem/1 var(--fuente-titulares);color:var(--oro)}
.proyecto-tarjeta__pie{position:relative;display:flex;flex-direction:column;gap:.1rem;padding:.7rem 3rem .8rem .9rem;background:rgba(0,0,0,.82)}
.proyecto-tarjeta__titulo{font:500 var(--t-s)/1.2 var(--fuente-titulares);letter-spacing:.04em;text-transform:uppercase}
.proyecto-tarjeta__ciudad{font-size:var(--t-xs);color:var(--texto-suave)}
.proyecto-tarjeta__pie svg{position:absolute;right:.9rem;top:50%;width:1.4rem;height:1.4rem;transform:translateY(-50%);color:var(--oro)}
.proyectos-vacio{padding-block:var(--e-5);color:var(--texto-suave)}
@media (max-width:1023.98px){
  .proyectos-heroe__fila{grid-template-columns:1fr;min-height:0;padding-block:var(--e-6) var(--e-5)}
  .proyectos-heroe__globo.ts-globo{order:-1;height:min(88vw,30rem);margin:calc(-1 * var(--e-4)) 0 0}
  /* En el móvil la foto se amplía (y se recorta por la izquierda) para que los pines de Emiratos y Vietnam no compartan zona táctil. */
  .proyectos-mapa{order:-1;margin-inline:calc(-1 * var(--margen))}
  .proyectos-mapa__lienzo{width:135%;margin-left:-22%}
  .proyectos-heroe__palabras.palabras--separadas{flex-direction:row;flex-wrap:wrap;border-left:0;padding-left:0;gap:var(--e-2) var(--e-5)}
  .proyectos-heroe__palabras li{padding-block:0}
  .proyectos-heroe__palabras li+li::before{display:none}
  .proyectos-filtros__ubicacion{margin-left:0}
  .proyectos-filtros__raya{display:none}
}
@media (max-width:767.98px){
  /* En el móvil los nombres no caben sin pisarse: se ocultan a la vista y siguen siendo el nombre del pin (y el título de su ficha). */
  .proyectos-mapa__pin>span{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  /* El mapa visible es estrecho y un panel de varias fichas no cabe sin tapar otro pin (VS, 390: 16 de 20 pares): sin rótulos a la vista, el icono va POR ENCIMA del panel y siempre se puede pulsar para pasar a otro país (regla del VS, e2e recorrido-proyectos-mapa-matriz; manda sobre Codex p34-9). */
  .proyectos-mapa__pin{z-index:3}
  .proyectos-mapa__paises{display:flex;flex-wrap:wrap;gap:.5rem;padding:var(--e-2) var(--margen) 0}
  .proyectos-mapa__otros{padding-inline:var(--margen);text-wrap:balance}
  .proyectos-mapa__paises button{min-height:44px;padding:.4rem .8rem;border:1px solid rgba(239,196,111,.55);background:none;color:var(--blanco);font:600 .7rem/1.2 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
  .proyectos-mapa__paises button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
}

/* ---------- 46 Ficha de proyecto (02.1A a 02.1D) ---------- */
@media (min-width:1100px){.heroe--proyecto .heroe__contenido{justify-content:flex-start}
  /* Su maqueta (02.1A de todos los proyectos): la foto a sangre detrás del texto, con un fundido para leerlo; no el 36 % sobre negro. */
  .heroe--proyecto .heroe__fondo{inset:0}
  .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.67) 28%,rgba(0,0,0,.3) 46%,rgba(0,0,0,0) 62%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
.heroe--proyecto .heroe__texto>.volver{margin-bottom:clamp(1rem,2vw,2.4rem)}
.heroe--proyecto .heroe__texto>*+*{margin-top:clamp(.9rem,.4rem + 1vw,1.6rem)}
.proyecto-titular{font-size:clamp(2.5rem,1rem + calc(4.2*var(--vw)),6rem)!important;font-weight:600;line-height:.98}
.proyecto-titular .antetitulo{margin-bottom:var(--e-2);font:500 clamp(.95rem,.8rem + .5vw,1.4rem)/1.2 var(--fuente-texto);letter-spacing:.12em}
.proyecto-titular::after{content:"";display:block;width:4.4rem;height:3px;margin-top:clamp(1rem,1.6vw,1.6rem);background:var(--blanco)}
.proyecto-subtitulo{margin:0;font:400 clamp(.9rem,.75rem + .5vw,1.35rem)/1.45 var(--fuente-texto);letter-spacing:.28em;text-transform:uppercase}
.proyecto-subtitulo::after{content:"";display:block;width:4.2rem;height:2px;margin-top:clamp(.8rem,1.4vw,1.4rem);background:var(--oro)}
.heroe--proyecto .texto-grande{font-size:clamp(.95rem,.75rem + .45vw,1.2rem);line-height:1.4;max-width:30em}
/* Como su diapositiva 1 (Ramón Berenguer, medida a 1440 sobre la maqueta: titular a 0,88 de interlineado, párrafo de ~16 px): a 1440×900 la
   cabecera entera, con los botones y la fila de datos, cabe en la primera pantalla (salían en 952-1000 y 1032-1150). */
@media (min-width:1100px){.proyecto-titular{line-height:.93}.proyecto-titular--largo::after{margin-top:.5rem}.heroe--proyecto .texto-grande{font-size:clamp(.85rem,.55rem + .35vw,1rem);line-height:1.4;max-width:36em}.heroe--proyecto .heroe__texto>*+*{margin-top:clamp(.7rem,.3rem + .75vw,1.1rem)}.heroe--proyecto .proyecto-datos{padding-block:var(--e-3) var(--e-4)}}
/* Segunda revisión de W12 (J-w8): con la banda de abajo, la cabecera entera medía 910 a 1440×900 (10 px fuera); el hueco bajo «Todos los proyectos» baja a 1vw (14 px) y mide 896. */
@media (min-width:1100px){.heroe--proyecto .heroe__texto>.volver{margin-bottom:clamp(.8rem,1vw,1.6rem)}}
/* Ninguna palabra partida en el titular (nada de cortes ni guiones): la letra no pasa del ancho de su columna, min(46rem, 46vw), entre las letras
   de su palabra más larga (--palabra) a 0,72 em cada una; y los nombres largos, más pequeños, como la diapositiva 1 de la Escuela. */
.proyecto-titular{overflow-wrap:normal;word-break:normal;hyphens:none}
@media (min-width:1100px){
  .proyecto-titular{font-size:min(clamp(2.5rem,1rem + calc(4.2*var(--vw)),6rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72)))!important}
  .proyecto-titular--largo{font-size:min(clamp(2rem,.8rem + calc(3*var(--vw)),4.4rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72)))!important}
}
.heroe--sin-foto{min-height:auto}
.heroe--sin-foto .heroe__contenido{padding-bottom:var(--e-7)}
.heroe--sin-foto .heroe__texto{max-width:52rem}
.proyecto-datos-fila{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--e-6);border-top:1px solid var(--linea-suave)}
.proyecto-datos{display:flex;flex-wrap:wrap;margin:0;padding-block:var(--e-4) var(--e-5)}
.proyecto-datos>div{padding:0 clamp(1rem,2vw,2.2rem);border-left:1px solid var(--linea)}
.proyecto-datos>div:first-child{padding-left:0;border-left:0}
.proyecto-datos dt{font:500 var(--t-2xs)/1.4 var(--fuente-texto);letter-spacing:.14em;text-transform:uppercase;color:var(--texto)}
.proyecto-datos dd{margin:.25rem 0 0;font-size:var(--t-s);line-height:1.3}
.proyecto-bajar{display:flex;flex-direction:column;align-items:center;gap:var(--e-2);padding-bottom:var(--e-5);color:var(--blanco);text-decoration:none;font:500 var(--t-xs)/1.3 var(--fuente-texto);letter-spacing:.1em;text-transform:uppercase;text-align:center;max-width:7rem}
.proyecto-bajar__rotulo{font-weight:400;letter-spacing:.16em;opacity:.85}   /* Villa Emmar, lámina 1: «Visualización del proyecto» encima */
.proyecto-bajar::after{content:"";width:1px;height:3.4rem;background:linear-gradient(var(--blanco),var(--blanco)) center/1px 100% no-repeat}
@media (max-width:899.98px){.proyecto-bajar{display:none}.proyecto-datos{gap:var(--e-4) 0}.proyecto-datos>div{flex:1 1 45%;border-left:0;padding-left:0}}
/* Alto del héroe de ficha como la diapositiva (VS 5024; V9: 1461 vs 1326 a 2356, +10 %): desde 1441 el héroe mide ≤ 56,25vw. La flecha «Desplaza» (118 px) estiraba la franja de datos 52 px por encima de la lista (67 px): su caja de margen se queda en 4,2rem (alto de la lista; sin cambiar dónde se pinta, alineada abajo) y el texto arranca 1,2vw (no 2,4vw) bajo la cabecera, como la diapositiva (volver 17 px más arriba a 1440). */
@media (min-width:1441px){
  .heroe--proyecto .proyecto-bajar{margin-top:-3.2rem}
  .heroe--proyecto .heroe__contenido{padding-top:calc(var(--alto-cabecera) + 1.2vw)}
}

.proyecto-seccion{scroll-margin-top:var(--e-4)}
.proyecto-ref{margin:0 0 var(--e-5);font:400 clamp(1rem,.8rem + .5vw,1.4rem)/1.35 var(--fuente-titulares);letter-spacing:.32em;text-transform:uppercase}
.proyecto-ref span{display:block}
.proyecto-ref span+span{font-size:.75em;letter-spacing:.16em}
.proyecto-ref::after{content:"";display:block;width:4.2rem;height:2px;margin-top:var(--e-5);background:var(--oro-sobre-claro)}
.proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota{position:relative;margin:var(--e-5) 0 0;padding-top:var(--e-3);font:400 var(--t-xs)/1.4 var(--fuente-titulares);letter-spacing:0;text-transform:none}
.proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota::before{content:"";position:absolute;top:0;left:0;width:2.4rem;height:1px;background:var(--teja,var(--oro-sobre-claro))}
.proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota::after{content:none}
.proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota span{display:inline;margin:0}
/* Solo la 1.ª línea de una nota de varias («RECONSTRUCCIONES DEL VÍDEO / Visualizaciones con IA», Albufera d4) va en versalitas; las de una línea (superficies de MG d3,
   «Visualizaciones conceptuales…» de Emmar d6) van en caja mixta, como sus diapositivas (puente 22-oct 01:0x, medido por V7 en MG). */
.proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota--lineas span{font:500 var(--t-2xs)/1.4 var(--fuente-titulares);letter-spacing:.04em;text-transform:uppercase}
/* Cifras con palabras de «Los espacios» en mayúsculas como las diapositivas (MG d3 «3 DORMITORIOS · 2 BALCONES», RB d3 «BARCELONA · RESIDENCIAL»); las de número
   y unidad («168,53 m²», «100 m²») no se tocan: la diapositiva deja «m²» en minúscula. */
.proyecto-diapositiva--espacios .proyecto-cifras__palabra dd{text-transform:uppercase}
/* En mayúsculas «3 DORMITORIOS» no cabía a 390 y se partía en «3 / DORMITORIOS»: el número va unido a su palabra (.proyecto-cifras__junto, nowrap) y la celda
   no baja de su min-content, así que la cifra entera pasa a la fila siguiente (la fila ya hace wrap bajo 1600); las frases largas siguen partiendo. */
.proyecto-diapositiva--espacios .proyecto-cifras>div.proyecto-cifras__palabra{min-width:min-content}
.proyecto-cifras__junto{white-space:nowrap}
.proyecto-b__titular{font-size:calc(var(--art,1) * clamp(2.4rem,.9rem + calc(2.9*var(--vw)),5rem));font-weight:500;line-height:.92;margin-bottom:var(--e-5);overflow-wrap:normal;hyphens:manual}
.seccion--clara .proyecto-subtitulo{font-family:var(--fuente-titulares);letter-spacing:.3em}
.seccion--clara .proyecto-subtitulo::after{display:none}
.proyecto-texto{margin-top:var(--e-4);font:400 clamp(1rem,.9rem + .35vw,1.3rem)/1.3 var(--fuente-titulares)}
.proyecto-texto p{margin-bottom:var(--e-4)}
.proyecto-cifras{display:flex;margin:var(--e-6) 0 0;padding-top:var(--e-5);border-top:0;position:relative}
.proyecto-cifras::before{content:"";position:absolute;top:0;left:0;width:4.2rem;height:2px;background:var(--oro-sobre-claro)}
.proyecto-cifras>div{display:flex;flex-direction:column;align-items:center;min-width:0;padding-inline:clamp(.5rem,.9vw,1.4rem)}
.proyecto-cifras>div:first-child{padding-left:0;align-items:flex-start}
.proyecto-cifras>div+div{border-left:2px solid var(--tinta)}
.proyecto-cifras dd{order:-1;margin:0;white-space:nowrap;font:400 clamp(1.1rem,.4rem + .9vw,1.9rem)/1.1 var(--fuente-titulares)}
.proyecto-cifras dt{font:400 var(--t-2xs)/1.6 var(--fuente-titulares);letter-spacing:.12em;text-transform:uppercase}
/* Las cifras no cabían en la columna de texto de 02.1B y 02.1C en castellano (388 px en 303 a 1440: «BAÑOS» se salía y quedaba debajo de las fotos):
   más compactas y, por debajo de 1600, en filas sin separador. */
@media (max-width:1599.98px){.proyecto-cifras{flex-wrap:wrap;row-gap:var(--e-4)}.proyecto-cifras>div+div{border-left:0}.proyecto-cifras>div{padding-left:0;padding-right:var(--e-5);align-items:flex-start}}
.proyecto-b{display:grid;grid-template-columns:var(--proyecto-b-columnas,minmax(min(22rem,100%),27fr) minmax(0,38fr) minmax(0,35fr));align-items:stretch}
/* «El proyecto» (puente 21-oct, hojas de columnas): la columna de texto con un mínimo de 22rem; el titular nunca se corta (la letra baja
   con el ancho de su columna según su palabra más larga, --palabra) y las cifras van en UNA fila, como sus maquetas. */
.proyecto-b__texto{container-type:inline-size}
.proyecto-b__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .78))))}
[data-ficha="barcelona"] .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .78))))}   /* Santa Anna (diap. 2, revisión a 1440): ANTEPROYECTO, TERMINADO, INTERIORES… bajan de letra con su palabra más larga y no se salen de su columna; acotado a la ficha (RB/MG/Emmar sin cambio) */
@media (min-width:1100px){
  .proyecto-b__texto .proyecto-cifras{flex-wrap:nowrap}
  .proyecto-b__texto .proyecto-cifras>div{flex:0 1 auto;min-width:0;padding-inline:clamp(.35rem,.6vw,1rem)}
  .proyecto-b__texto .proyecto-cifras>div:first-child{padding-left:0}
  .proyecto-b__texto .proyecto-cifras>div+div{border-left:2px solid var(--tinta)}
  .proyecto-b__texto .proyecto-cifras dd{font-size:clamp(.95rem,.25rem + .75vw,1.6rem)}
  .proyecto-b__texto .proyecto-cifras dt{letter-spacing:.05em}
}
.proyecto-b--sin-fotos{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
.proyecto-b__texto,.proyecto-c__texto{padding:clamp(2rem,3vw,3rem) clamp(1rem,2vw,2rem) var(--e-6) var(--margen)}
/* W8 (puente 4885, orden de Víctor): margen izquierdo de la columna de texto de «El proyecto» (diap. 2) como la diap. a 1440: el texto en x 52-53 (Palau, RB, MG, Albufera, Vietnam, Santa Anna 52; medido por píxel, tabla cruce/W8-bloques-margen-izquierdo-1440-1830.tsv), servía 57 (el margen de página de 3,95 vw): 3,65 vw, sin tope (a 2356 la diap. pide 86 px y con el tope de 3,9 rem salían 62, peor que los 68 servidos). Solo la columna del bloque, desde 1100. */
@media (min-width:1100px){.proyecto-b__texto{padding-left:max(1rem,3.65vw)}}
/* W8 (puente, regla 4900): Albufera, «La distribución»/«Los espacios» (diap. 3) con el texto en x 52,1 a 1440 como su diap. (servía 57; la base lleva el margen de página con tope) y 86 a 2356: 3,62 vw sin tope. */
@media (min-width:1100px){[data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto{padding-left:3.62vw}}
.proyecto-b__plano{display:flex;flex-direction:column;justify-content:center;margin:0;padding:clamp(1rem,2vw,2rem) 0;background:var(--crema)}   /* W11: en columna; con plano_titulo y plano_pie (Albufera) en fila desbordaba a 390 (scrollWidth 635) */
.proyecto-b__plano>*{min-width:0;max-width:100%}
/* «La distribución» encima y el pie debajo, centrados como su maqueta, y la columna de fotos en tantas filas como fotos (Grovenor y Marina Gate: 3; revisión p27e, W8). */
.proyecto-b__plano{gap:var(--e-2)}.proyecto-b__plano>.proyecto-subtitulo{margin:0;text-align:center}.proyecto-b__plano figcaption{text-align:center}
.proyecto-b__fotos:has(>figure:nth-child(3)){grid-template-rows:repeat(3,minmax(0,1fr))}
.proyecto-b__plano img{width:100%;max-width:var(--plano-ancho,100%);height:auto;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.proyecto-b__fotos{display:grid;grid-template-rows:56fr 44fr;gap:4px}
.proyecto-b__fotos figure,.proyecto-c__galeria figure{margin:0;position:relative;overflow:hidden}
.proyecto-b__fotos figure,.proyecto-c__galeria figure{height:100%}
.proyecto-b__fotos img,.proyecto-c__galeria img{width:100%;height:100%;object-fit:cover}
.proyecto-c{display:grid;grid-template-columns:minmax(0,27fr) minmax(0,73fr)}
.proyecto-diapositiva[hidden]{display:none}   /* «visor: true»: la galería no se ve; sus fotos siguen en el DOM para el visor (W8, puente 21-oct) */
/* Titular de la columna de texto de las diapositivas sin plano (Escuela «LA DISTRIBUCIÓN» +114 px, Londres «LA EXPERIENCIA» +89 px a 1440): escalado por palabra como en .proyecto-b__texto. */
.proyecto-c__texto{container-type:inline-size}
.proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(3.4*var(--vw)),5.6rem),calc(100cqi / (var(--palabra,8) * var(--k,.72)))))}   /* .78 dejaba «ESPACIOS» al 78 % de su columna y su diapositiva lo llena (≈90 %); .62 desbordaba «ANTEPROYECTO» (113 %): .72 los deja entre 84 y 98 % */   /* --k (plantilla): .62 hasta 9 letras («ESPACIOS» sale al 66 % de su columna con .72 y su diapositiva lo llena al 80 %), .72 para las largas */
.proyecto-c__galeria{list-style:none;margin:0;padding:0;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.proyecto-pasos{display:grid;gap:var(--e-3)}.proyecto-pasos__lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-2);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.proyecto-paso{border:1px solid var(--oro);padding:var(--e-2);display:grid;gap:.5rem;align-content:start}.proyecto-paso__numero{color:var(--oro);font-size:1.5rem}.proyecto-paso__titulo{margin:0;font-size:1.1rem}.proyecto-paso__foto img{width:100%;height:auto}.proyecto-botones{display:flex;flex-wrap:wrap;gap:.75rem}
.proyecto-diapositiva .proyecto-c__galeria--2,.proyecto-diapositiva .proyecto-c__galeria--4{grid-template-columns:1fr 1fr}.proyecto-diapositiva .proyecto-c__galeria--3{grid-template-columns:repeat(3,minmax(0,1fr))}.proyecto-diapositiva .proyecto-c__galeria--5{grid-template-columns:repeat(6,minmax(0,1fr))}.proyecto-diapositiva .proyecto-c__galeria--5 li:nth-child(-n+3){grid-column:span 2}.proyecto-diapositiva .proyecto-c__galeria--5 li:nth-child(n+4){grid-column:span 3}.proyecto-diapositiva .proyecto-c__galeria li{min-height:clamp(14rem,19vw,22rem)}
/* Diapositivas de espacios/zona privada (galerías de 4 y 5 fotos): UNA pantalla a 1100+ (puente 21-oct: SM «Los espacios» 999 px; Palau «zona privada», las 2 de abajo más altas),
   con separación y margen entre fotos como la diapositiva y el texto compacto (como el de «El proyecto»). */
/* Rótulos por diapositiva (puente 21-oct, 2321: cada una tal cual): «caja» blanca (Santa Anna «por estancias») o «banda» gris translúcida (Londres). */
.proyecto-c__galeria.proyecto-c__galeria--rotulos-caja figcaption{left:.6rem;bottom:.6rem;padding:.35em .8em;background:var(--blanco);color:var(--tinta);text-shadow:none;font-size:var(--t-xs)}
.proyecto-c__galeria.proyecto-c__galeria--rotulos-banda figcaption{left:0;right:0;bottom:0;padding:.7em 1rem;background:rgba(70,70,70,.6);color:var(--blanco);text-shadow:none;font-size:var(--t-xs);letter-spacing:.08em}
.proyecto-c__galeria.proyecto-c__galeria--rotulos-caja figure:has(>figcaption)::after,.proyecto-c__galeria.proyecto-c__galeria--rotulos-banda figure:has(>figcaption)::after{content:none}
@media (min-width:1100px){
  .proyecto-diapositiva{--sep:clamp(.4rem,.8vw,.75rem);--alto-c:min(calc(100svh - 5.5rem),48.2vw)}   /* alto de la galería de «Los espacios»: el de las maquetas, medido a 1440 (≈694 px = 0,482 del ancho; antes 50vw - 4.2rem = 653) y nunca más que la pantalla (100svh - 5.5rem) */
  .proyecto-diapositiva .proyecto-c__galeria--4,.proyecto-diapositiva .proyecto-c__galeria--5{gap:var(--sep);padding:var(--sep);grid-auto-rows:calc((var(--alto-c) - 3 * var(--sep)) / 2);align-content:start}
  /* «La zona privada» (5): su diapositiva pone la fila de arriba (3) algo más baja que la de abajo (2): 47/53 % */
  .proyecto-diapositiva .proyecto-c__galeria--5{grid-template-rows:calc((var(--alto-c) - 3 * var(--sep)) * .47) calc((var(--alto-c) - 3 * var(--sep)) * .53);grid-auto-rows:auto}
  .proyecto-diapositiva .proyecto-c__galeria--4 li,.proyecto-diapositiva .proyecto-c__galeria--5 li{min-height:0;height:100%}
  /* 3 fotos de una diapositiva de espacios (Escuela «Los espacios»): 1 ancha arriba y 2 debajo, 52/48 % del alto, como su diapositiva */
  .proyecto-diapositiva--espacios .proyecto-c__galeria--3{grid-template-columns:1fr 1fr;gap:var(--sep);padding:var(--sep);grid-template-rows:calc((var(--alto-c) - 3 * var(--sep)) * .52) calc((var(--alto-c) - 3 * var(--sep)) * .48);align-content:start}
  .proyecto-diapositiva--espacios .proyecto-c__galeria--3 li{min-height:0;height:100%}.proyecto-diapositiva--espacios .proyecto-c__galeria--3 li:first-child{grid-column:1/-1}
  /* mosaico por diapositiva (YAML mosaico: filas + areas): 12 columnas y filas en fr dentro de una pantalla (MG 2+2 de anchos distintos, Grovenor 1 grande + 2 + 2) */
  .proyecto-diapositiva .proyecto-c__galeria--mosaico{grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:var(--m-filas);gap:var(--sep);padding:var(--sep);height:var(--alto-c);box-sizing:border-box}
  /* Fase 5 (V10 21-oct 20:4x, medido en RB d3 y MG d3 a 1440): en sus diapositivas las fotos de «Los espacios» van pegadas arriba, abajo y al borde derecho, con huecos de ≈6 px; solo a la izquierda, junto al texto, queda el hueco */
  .proyecto-diapositiva--espacios{--sep:clamp(.25rem,.42vw,.45rem)}
  .proyecto-diapositiva--espacios .proyecto-c__galeria--3,.proyecto-diapositiva--espacios .proyecto-c__galeria--4,.proyecto-diapositiva--espacios .proyecto-c__galeria--5,.proyecto-diapositiva--espacios .proyecto-c__galeria--mosaico{padding:0 0 0 var(--sep)}
  .proyecto-diapositiva .proyecto-c__galeria--mosaico li{grid-area:var(--m-area);min-height:0;height:100%}
  /* Columna de texto de «Los espacios» tal cual su diapositiva (filas l.681-683, 692, 694): fondo blanco puro, acento naranja teja (#b4603c, medido en la maqueta),
     antetítulo y «ciudad · país» en teja, nombre en serif sin espaciado, titular LOS / ESPACIOS en 2 líneas, subtítulo en 1 línea sin espaciado abierto y cuerpo menor. */
  .proyecto-diapositiva--espacios .proyecto-c__texto{background:#fff;color:#111;--teja:var(--oro-sobre-claro)}
  .proyecto-diapositiva--espacios .proyecto-antetitulo{margin:0 0 var(--e-2);font:400 clamp(.78rem,.5rem + .4vw,1rem)/1.3 var(--fuente-titulares);letter-spacing:.14em;text-transform:uppercase;color:var(--teja)}
  .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota){margin:0 0 var(--e-3);font:400 clamp(.85rem,.6rem + .3vw,1.05rem)/1.25 var(--fuente-titulares);letter-spacing:0;text-transform:uppercase;color:#111}
  /* Fase 5: el nombre del proyecto en negro, mayor y espaciado como sus diapositivas (RB «CASA RAMON / BERENGUER», MG «MARINA GATE»: ≈1,9 veces el ancho por letra de lo servido a 1440, V10 20:4x) */
  .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota) span:first-child{font-size:clamp(1rem,.45rem + .95vw,1.6rem);letter-spacing:.1em;line-height:1.15;color:#111}
  .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota) span+span{margin-top:.15em;font-size:.85em;letter-spacing:.03em;color:#444}
  .proyecto-diapositiva--espacios .proyecto-ref--pais:not(.proyecto-nota) span+span{color:var(--teja)}   /* «LONDRES · REINO UNIDO» en teja solo en la maqueta de Londres; en las demás la ciudad va en gris oscuro */
  .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota)::after{background:var(--teja);width:2.4rem;height:1px;margin-top:var(--e-3)}
  .proyecto-diapositiva--espacios .proyecto-b__titular{color:#111}
  .proyecto-diapositiva--espacios .proyecto-b__titular .acento{color:var(--teja)}
  .proyecto-diapositiva--espacios .proyecto-subtitulo{font:400 clamp(.9rem,.6rem + .7vw,1.4rem)/1.3 var(--fuente-titulares);letter-spacing:.05em;text-transform:uppercase;color:#111}
  .proyecto-diapositiva--espacios{background:#fff}
  /* Nota de la diapositiva: filete + pie pequeño al final de la columna (caja mixta salvo su 1.ª línea en versalitas, sin el espaciado abierto de .proyecto-ref) */
  .proyecto-diapositiva--espacios .proyecto-c__texto{display:flex;flex-direction:column}
  .proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota{margin-top:auto}
  /* Pantallas bajas (1100-1279 de ancho, ~800 de alto): márgenes de la columna más cortos para que «Los espacios» de Marina Gate (823 ≤ 800) quepa en una pantalla */
  /* Pantallas de ≤940 px de alto (1440×900): la columna de texto de «Los espacios» solo pierde relleno vertical para que la sección quepa en una pantalla (Marina Gate: 838 px de texto + 68 de franja = 906 > 900 en pt181f); la letra no cambia */
  @media (min-width:1100px) and (max-height:940px){.proyecto-diapositiva--espacios .proyecto-c__texto{padding-block:1.6rem 1.4rem}}
  /* Pantallas bajas (≤860 px de alto, ≥1100 de ancho: 1366×768, 1592×828): la columna de texto de «Los espacios» se escala con el ALTO de la ventana para que la sección quepa en una pantalla (Marina Gate: 810-854 px de texto) */
  @media (min-width:1100px) and (max-height:860px){
    .proyecto-diapositiva--espacios .proyecto-c__texto{padding-block:.8rem .6rem}
    .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-size:1.28vh;line-height:1.2}
    .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto p{margin-bottom:.45em}
    .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(7.4vh,calc(100cqi / (var(--palabra,8) * var(--k,.72)))));margin-bottom:var(--e-2)}
    .proyecto-diapositiva--espacios .proyecto-subtitulo{font-size:1.9vh}
    .proyecto-diapositiva--espacios .proyecto-cifras{margin-top:var(--e-2);padding-top:var(--e-2)}
    .proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota{font-size:1.15vh;padding-top:var(--e-2)}
  }
  @media (max-width:1279.98px){.proyecto-diapositiva--espacios .proyecto-c__texto{padding-block:1rem .8rem}.proyecto-diapositiva--espacios .proyecto-cifras{margin-top:var(--e-3);padding-top:var(--e-3)}}
  /* Rótulos de las fotos de «Los espacios»: legibles como los de su diapositiva (V10/V6: ≈16 px reales a 1440; salían de ≈10 px) */
  .proyecto-diapositiva--espacios .proyecto-c__galeria:not(.proyecto-c__galeria--rotulos-banda):not(.proyecto-c__galeria--rotulos-caja) figcaption{font-size:clamp(.72rem,.4rem + .5vw,1rem);left:.8rem;bottom:.6rem}
  .proyecto-diapositiva--espacios .proyecto-c__galeria--rotulos-banda figcaption,.proyecto-diapositiva--espacios .proyecto-c__galeria--rotulos-caja figcaption{font-size:clamp(.72rem,.4rem + .5vw,1rem)}
  /* Santa Anna (935 px a 1440x900) y Marina Gate (824 a 1100x800): el texto de la columna es más largo que la pantalla; su diapositiva lo pone en cuerpo más pequeño: cuerpo menor y párrafos más juntos solo en «Los espacios» */
  .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-size:clamp(.7rem,.2rem + .58vw,.92rem);line-height:1.22;margin-top:var(--e-3)}
  .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto p{margin-bottom:var(--e-2)}
  .proyecto-diapositiva .proyecto-c__texto .proyecto-texto{font-size:clamp(.78rem,.3rem + .65vw,1rem);line-height:1.26}
  .proyecto-diapositiva .proyecto-c__texto .proyecto-texto p{margin-bottom:var(--e-3)}
}
.proyecto-c__galeria--6{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto}
.proyecto-c__galeria--6 li:nth-child(-n+3){grid-column:span 4;aspect-ratio:auto;min-height:clamp(16rem,24vw,25rem)}
.proyecto-c__galeria--6 li:nth-child(4){grid-column:span 6;aspect-ratio:603/395}
.proyecto-c__galeria--6 li:nth-child(5){grid-column:span 3}
.proyecto-c__galeria--6 li:nth-child(6){grid-column:span 3}
/* Altura mínima, no fija: con el texto de al lado más largo (castellano), las filas se estiraban y quedaba un hueco entre las dos filas de fotos. */
.proyecto-c__galeria--6 li:nth-child(n+4){min-height:clamp(14rem,20.6vw,21.6rem)}
.proyecto-c__galeria--6 li:nth-child(n+7){grid-column:span 3}   /* de la 7.ª en adelante, de 4 en 4 (Santa María, 75 fotos: salían en tiras de 1/12; p27b) */
/* Última fila sin hueco (W8, PRIO 0 del puente 21-oct; Casa Palau «Renders»: 12 fotos acababan con 2 de 4): las fotos de la fila incompleta (de 4 en 4 desde la 7.ª)
   se reparten el ancho: 1 → toda la fila, 2 → mitades, 3 → tercios. En móvil (2 columnas), la huérfana impar ocupa las dos. */
@media (min-width:641px){
  .proyecto-c__galeria--6 li:nth-child(n+7){height:clamp(14rem,20.6vw,21.6rem)}   /* de la 7.ª en adelante todas las filas a la misma altura (la última, con menos fotos y más anchas, salía más alta) */
  .proyecto-c__galeria--6 li:nth-child(n+7):last-child:nth-child(4n+3){grid-column:span 12;height:clamp(16rem,32vw,30rem)}   /* la sola foto de la fila, a todo el ancho pero panorámica (no un cartel de 800 px) */
  .proyecto-c__galeria--6 li:nth-child(n+7):last-child:nth-child(4n),.proyecto-c__galeria--6 li:nth-child(n+7):nth-last-child(2):nth-child(4n+3){grid-column:span 6}
  .proyecto-c__galeria--6 li:nth-child(n+7):last-child:nth-child(4n+1),.proyecto-c__galeria--6 li:nth-child(n+7):nth-last-child(2):nth-child(4n),.proyecto-c__galeria--6 li:nth-child(n+7):nth-last-child(3):nth-child(4n+3){grid-column:span 4}
}
@media (max-width:640px){.proyecto-c__galeria--6 li:nth-child(n):last-child:nth-child(odd),.proyecto-diapositiva .proyecto-c__galeria--3 li:nth-child(n):last-child:nth-child(odd),.proyecto-diapositiva .proyecto-c__galeria--5 li:nth-child(n):last-child:nth-child(odd){grid-column:1/-1}}
/* Una sola foto en la diapositiva (Casa Palau, Premios Interiores; 246): a todo el ancho y entera, sin recortar. */
.proyecto-diapositiva .proyecto-c__galeria--1{grid-template-columns:1fr}
.proyecto-diapositiva .proyecto-c__galeria--1 figure{height:auto}
.proyecto-diapositiva .proyecto-c__galeria--1 img{height:auto;object-fit:contain}
/* Las cifras de la diapositiva, en dos líneas si no caben, para que no tapen la rejilla de fotos (Casa Palau a 1440 y 1100; 245). */
@media (min-width:1100px){.proyecto-diapositiva .proyecto-cifras dd{white-space:normal}}
.proyecto-c__galeria li{min-height:12rem}
/* Fila p24b (Casa Palau): una cifra que es una frase («Renders generados con SS AI Designer») parte línea dentro de su columna en vez de
   meterse bajo las fotos; y la galería de UNA foto (el panel de Premios Interiores) la enseña entera, a todo el ancho, sin recorte. */
.proyecto-cifras>div.proyecto-cifras__texto{flex:1 1 10rem}.proyecto-cifras__texto dd{white-space:normal;font-size:clamp(1rem,.5rem + .6vw,1.35rem);line-height:1.25}
/* El aviso suelto de una diapositiva de galería («Renders generados con SS AI Designer», Casa Palau): en la maqueta, versalitas pequeñas de texto, no la cifra en titulares. */
.proyecto-c__texto .proyecto-cifras>div.proyecto-cifras__texto:only-child dd{font:500 var(--t-2xs)/1.6 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase}
.proyecto-diapositiva .proyecto-c__galeria--1{grid-template-columns:1fr}.proyecto-c__galeria--1 li{min-height:0}.proyecto-c__galeria--1 figure{height:auto}.proyecto-c__galeria--1 img{height:auto;object-fit:contain}
/* Imágenes con texto dentro (revistas, láminas; Casa Palau 03.1B, orden de Víctor 21-oct): se ven ENTERAS, caja con la proporción del fichero, sin cover ni alto fijo. */
.proyecto-diapositiva--prensa .proyecto-c__galeria li{min-height:0;aspect-ratio:auto}.proyecto-diapositiva--prensa .proyecto-c__galeria figure{height:auto}.proyecto-diapositiva--prensa .proyecto-c__galeria img{width:100%;height:auto;object-fit:contain}
/* El pie «Premios Interiores» de la revista va ENCIMA de la imagen, no sobre ella (con el degradado tapaba las últimas líneas del artículo). */
.proyecto-diapositiva--prensa .proyecto-c__galeria figure{display:flex;flex-direction:column}.proyecto-diapositiva--prensa .proyecto-c__galeria figure::after{content:none}.proyecto-diapositiva--prensa .proyecto-c__galeria figcaption{position:static;order:-1;margin:0 0 .6rem;color:var(--texto,#222);text-shadow:none;font-size:var(--t-xs,.8rem);letter-spacing:.2em}
/* Villa Emmar, láminas 2-5 y 6: el rótulo bajo las fotos («Ambientes de referencia del proyecto») y el lema en cursiva y oro. */
.proyecto-b__fotos-titulo{grid-column:1/-1;margin:.4rem var(--margen) .4rem 0;text-align:right;color:var(--tinta);font:400 var(--t-2xs)/1.4 var(--fuente-titulares);letter-spacing:.16em;text-transform:uppercase}
.proyecto-lema{margin:var(--e-4) 0;color:var(--oro-sobre-claro);font:italic 400 clamp(1.05rem,.9rem + .4vw,1.4rem)/1.35 var(--fuente-titulares)}
.proyecto-ref--una-linea span{display:inline}.proyecto-ref--una-linea .proyecto-numero{margin-right:.9em}   /* la cabecera de la diapositiva en UNA línea: «01 / 04  VILLA EMAAR · DUBÁI» (W9) */
.proyecto-ref.proyecto-nota{margin:var(--e-3) 0 0;font:400 var(--t-2xs)/1.4 var(--fuente-texto);letter-spacing:.02em;text-transform:none;color:var(--tinta);opacity:.75}.proyecto-ref.proyecto-nota::after{content:none}   /* la nota de la lámina 6, pequeña bajo el lema (no un titular) */
.proyecto-b__fotos figcaption,.proyecto-c__galeria figcaption{position:absolute;left:.7rem;bottom:.5rem;color:var(--blanco);font:400 var(--t-2xs)/1 var(--fuente-titulares);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.7)}
/* Pies legibles sobre fotos claras (Santa María, baños y suites blancos; W10 15:44): un degradado oscuro debajo del pie. */
.proyecto-b__fotos figure:has(>figcaption)::after,.proyecto-c__galeria figure:has(>figcaption)::after{content:"";position:absolute;inset:auto 0 0;height:min(5rem,45%);background:linear-gradient(0deg,rgba(0,0,0,.6),rgba(0,0,0,0));pointer-events:none}
.proyecto-b__fotos figcaption,.proyecto-c__galeria figcaption{z-index:1}
/* «Los espacios»: sus cifras en UNA fila, como su maqueta (Santa María: 929 m² · Miami · Residencial), a cualquier ancho. */
.proyecto-diapositiva--espacios .proyecto-cifras{flex-wrap:nowrap}
.proyecto-diapositiva--espacios .proyecto-cifras>div{flex:0 1 auto;min-width:0;padding-inline:clamp(.4rem,.7vw,1rem)}
.proyecto-diapositiva--espacios .proyecto-cifras>div:first-child{padding-left:0}
.proyecto-diapositiva--espacios .proyecto-cifras>div+div{border-left:2px solid var(--tinta)}
.proyecto-diapositiva--espacios .proyecto-cifras dd{font-size:clamp(.95rem,.25rem + .75vw,1.6rem)}
/* Las cifras en UNA fila no pueden pisarse ni con los filetes (MG es a 1440: «168,53 m²» sobre «3 DORMITORIOS»): la letra baja con el ancho de la columna
   y las letras de todas las cifras (--cifras-letras, de la plantilla; ≈.64 em por letra + ≈60 px de aire y filetes); nunca por encima de la de siempre. */
.proyecto-diapositiva--espacios .proyecto-cifras dd{font-size:min(clamp(.95rem,.25rem + .75vw,1.6rem),max(.7rem,calc((100cqi - 60px) / (var(--cifras-letras,0) * .64))))}
.proyecto-diapositiva--espacios .proyecto-cifras dt{letter-spacing:.06em}
/* «disposicion: plano-grande» (Santa María, diapositivas 2 y 3): cabecera, plano grande y texto en 2 columnas a la izquierda; a la derecha
   1 foto grande arriba y 2 pequeñas debajo, con su pie. Por debajo de 1100, una columna como las demás. */
.proyecto-b--plano-grande{grid-template-columns:1fr;background:#fff}   /* fondo blanco como las diapositivas 2-3 de Santa María y 2-5 de Emmar (≈254); antes asomaba el crema de la sección (W9 22-oct) */
.proyecto-seccion:has(> .proyecto-b--plano-grande),.proyecto-seccion:has(.proyecto-b--plano-grande){background:#fff}   /* y la sección que lo envuelve, para que no queden franjas crema arriba y abajo del bloque (≈34 px; w10-pf1) */
.proyecto-b__izquierda{display:flex;flex-direction:column;gap:var(--e-4);padding:clamp(2rem,3vw,3rem) clamp(1rem,2vw,2rem) var(--e-6) var(--margen)}
.proyecto-b--plano-grande .proyecto-b__texto,.proyecto-b--plano-grande .proyecto-b__plano{padding:0;background:none}
.proyecto-b--plano-grande .proyecto-b__cabeza .proyecto-b__titular{margin-bottom:var(--e-3)}
.proyecto-b--plano-grande .proyecto-b__plano img{box-shadow:none}
.proyecto-b--plano-grande .proyecto-b__plano figcaption{text-align:left}
@media (min-width:1100px){
  .proyecto-b--plano-grande{grid-template-columns:minmax(0,52fr) minmax(0,48fr)}
  .proyecto-b--plano-grande .proyecto-texto{columns:2;column-gap:var(--e-5)}
  .proyecto-b--plano-grande .proyecto-texto>p{break-inside:avoid-column}
  .proyecto-b--plano-grande .proyecto-b__fotos,.proyecto-b--plano-grande .proyecto-b__fotos:has(>figure:nth-child(3)){grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,62fr) minmax(0,38fr)}
  .proyecto-b--plano-grande .proyecto-b__fotos>figure:first-child:not(:only-child){grid-column:1/-1}
}
.proyecto-franja{background:var(--negro);color:var(--blanco)}
.proyecto-franja__fila{display:flex;align-items:stretch;justify-content:space-between;flex-wrap:wrap}
.proyecto-franja__datos{margin:0;display:flex;align-items:center;padding:var(--e-5) var(--margen);font:500 var(--t-s)/1.5 var(--fuente-titulares);letter-spacing:.24em;text-transform:uppercase}
.proyecto-franja__boton{display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:var(--e-4) clamp(1.5rem,3vw,3rem);min-width:min(100%,26rem);background:linear-gradient(90deg,#8b6a33,#a27c40);color:#f8ecd6;text-decoration:none;font:500 clamp(.9rem,.8rem + .3vw,1.15rem)/1.3 var(--fuente-titulares);letter-spacing:.24em;text-transform:uppercase}
.proyecto-franja__boton small{font-size:.75em;letter-spacing:.2em}
/* banda_fin (Escuela, diapositiva 2): el trozo de la derecha de la banda, pegado al borde derecho como en su maqueta. */
.proyecto-franja__datos--fin{margin-left:auto;justify-content:flex-end;text-align:right}
/* V3 (puente 17:30, GAL-palau-proyecto-plano): a ≥1100 el botón «Descubre el proyecto completo» va DENTRO de la franja, a la derecha, como la diapositiva (la banda larga de Palau lo empujaba debajo): los datos ceden con menos tracking y el botón no encoge. */
@media (min-width:1100px){.proyecto-franja__fila{flex-wrap:nowrap}.proyecto-franja__datos{min-width:0;flex:1 1 auto;letter-spacing:clamp(.1em,.9vw - .1rem,.2em);font-size:clamp(.72rem,.5rem + .35vw,.95rem)}.proyecto-franja__boton{flex:0 0 auto;min-width:0;white-space:nowrap}}
.proyecto-franja__boton svg{display:inline-block;width:1.6rem;height:1.2rem;margin-left:var(--e-4);vertical-align:middle}
.proyecto-franja__boton:hover{filter:brightness(1.1)}
/* En fila con salto: la flecha va junto al texto (en columna bajaba sola a otra línea) y el «small» de encima ocupa su propia línea. */
.proyecto-franja__boton{flex-direction:row;flex-wrap:wrap;align-items:center;align-content:center}
.proyecto-franja__boton small{flex-basis:100%}
/* Santa Anna 2.1D/2.1E (diap. 2) a 1440: la franja negra y el botón dorado van en UNA fila como en la maqueta (el texto con 0,24em de tracking y el botón de 26 rem sumaban más que la ventana y el botón bajaba debajo). */
@media (min-width:1360px){[data-ficha="barcelona"] .proyecto-franja__fila{flex-wrap:nowrap}[data-ficha="barcelona"] .proyecto-franja__datos{flex:1 1 auto;min-width:0;letter-spacing:.16em;padding-right:1rem}[data-ficha="barcelona"] .proyecto-franja__boton{flex:0 0 auto;min-width:0}}
.proyecto-d{background:linear-gradient(90deg,#f6f2ec 0%,#efe6da 100%)}
.proyecto-d__fila{display:grid;grid-template-columns:minmax(0,34fr) minmax(0,66fr);align-items:center}
.proyecto-d__texto{padding:clamp(2rem,3vw,3rem) var(--e-5) var(--e-6) var(--margen)}
.proyecto-d__ante{margin:0 0 var(--e-2);font:400 var(--t-m)/1 var(--fuente-titulares);letter-spacing:.4em;text-transform:uppercase}
.proyecto-d .botones{margin-top:var(--e-6)}
.proyecto-d .boton--oro{background:#a27c40;color:#fff;box-shadow:none}
.proyecto-d__notas{list-style:none;margin:var(--e-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--e-4) var(--e-7);font:500 var(--t-2xs)/1.5 var(--fuente-texto);letter-spacing:.2em;text-transform:uppercase}
.proyecto-d__notas li{display:flex;align-items:center;gap:var(--e-4)}
.proyecto-d__notas svg{width:2.4rem;height:2.4rem}
.proyecto-d__notas li:last-child svg{padding:.5rem;border:2px solid currentColor;border-radius:50%}
.proyecto-d__foto{position:relative;margin:0;align-self:stretch}
.proyecto-d__foto img{width:100%;height:100%;object-fit:cover;object-position:8% 50%}  /* la portada de la revista entera, como en 02.1D (centrada se cortaba en «ERIORES») */
.proyecto-d__cita{position:absolute;top:6%;right:12%;max-width:15em;color:var(--tinta)}
.proyecto-d__cita footer{justify-content:flex-start;color:#6d6457}
.proyecto-d__cita footer::before{background:var(--oro-sobre-claro)}
@media (max-width:1099.98px){
  .proyecto-b,.proyecto-b--sin-fotos,.proyecto-c,.proyecto-d__fila{grid-template-columns:1fr}
  .proyecto-b__plano{padding-inline:var(--margen);text-wrap:balance}.proyecto-b__plano img{max-width:100%}
  .proyecto-b__fotos{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .proyecto-c__galeria{padding-inline:0}
  .proyecto-d__foto img{height:auto}
  .proyecto-d__cita{position:static;margin:var(--e-5) var(--margen)}
}
/* W11 (d2 fichas, criterio 3558 del puente: a 768/1024 la composición de la diapositiva; filas SEG-VS-d2-768-* y SEG-VS-d2-1024-*): de 700 a 1099 px las fichas de proyecto con la
   composición de sus diapositivas, no apiladas: (1) la portada (02.1A) con la foto a sangre, el texto arriba a la izquierda sobre un fundido y los datos abajo; (2) «El proyecto» (02.1B)
   en 3 columnas, texto | plano | fotos apiladas; (3) «Los espacios» (02.1C) en 2 columnas, texto | rejilla de fotos. Solo este tramo: 390 y ≥1100 no cambian. */
@media (min-width:700px) and (max-width:1099.98px){
  .heroe--proyecto .heroe__fondo{inset:0;height:auto}   /* sistema.css deja la foto en el 62 % de la pantalla y el texto empezando al 46 %: aquí la foto a sangre y el texto desde arriba, como la diapositiva */
  .heroe--proyecto .heroe__contenido{justify-content:flex-start;padding-top:calc(var(--alto-cabecera) + clamp(.8rem,2vw,2rem))}
  .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.58) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,0) 82%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.55) 8%,rgba(0,0,0,0) 24%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 20%)}
  .heroe--proyecto .heroe__texto{text-shadow:0 1px 10px rgba(0,0,0,.7)}
  .heroe--proyecto .heroe__texto{max-width:62%}
  .heroe--proyecto .texto-grande{max-width:none}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){grid-template-columns:minmax(0,28fr) minmax(0,40fr) minmax(0,32fr)!important}   /* !important: la ficha trae sus columnas en línea (--proyecto-b-columnas, con un mínimo de 20 rem que a 768 ocupa el 42 %) */
  .proyecto-b--sin-fotos{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
  .proyecto-b--plano-grande{grid-template-columns:minmax(0,52fr) minmax(0,48fr)}
  .proyecto-b__plano{padding-inline:clamp(.3rem,.8vw,.7rem)}
  .proyecto-b__plano img{max-width:100%!important}   /* el plano a todo el ancho de su columna (la ficha lo limita en línea al 84 %): su diapositiva lo pone casi a la mitad del ancho y a todo el alto */
  .proyecto-b__fotos{grid-template-columns:1fr;grid-template-rows:56fr 44fr}
  .proyecto-c{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
  .proyecto-d__fila{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
  .proyecto-b__texto,.proyecto-c__texto{padding-inline:var(--e-4)}
  .proyecto-b__texto .proyecto-texto,.proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-size:.76rem;line-height:1.27}   /* texto de la columna a la medida de la diapositiva a 768 (la ficha trae 1-1,3 rem a 1440): columnas más cortas y fotos menos altas */
  /* mosaico por diapositiva (YAML mosaico: filas + areas; Santa Anna «El anteproyecto»: SALÓN a todo el ancho arriba y COCINA, COMEDOR, RECIBIDOR debajo): a 1100+ ya; aquí también, con el alto mínimo de la diapositiva */
  .proyecto-diapositiva{--sep:.4rem;--alto-c:clamp(26rem,64vw,44rem)}
  .proyecto-diapositiva .proyecto-c__galeria--mosaico{grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:var(--m-filas);gap:var(--sep);padding:var(--sep);min-height:var(--alto-c);box-sizing:border-box}
  .proyecto-diapositiva .proyecto-c__galeria--mosaico li{grid-area:var(--m-area);min-height:0;height:100%}
  .proyecto-diapositiva--espacios .proyecto-cifras>div{padding-inline:.4rem}.proyecto-diapositiva--espacios .proyecto-cifras dd{font-size:clamp(.8rem,2vw,1.05rem)}.proyecto-diapositiva--espacios .proyecto-cifras dt{letter-spacing:.03em;font-size:.55rem}
}
/* W11 (SEG-VS-d2-768-374ba060, hallazgo en vivo sobre pt263): de 700 a 899 px las cifras de «Los espacios» (100 m² · Barcelona · Residencial) en una columna de ≈260 px iban en una fila sin
   saltar (nowrap + min-width:0) y se montaban unas sobre otras; pasan a una 2.ª fila si no caben (solo en Ramon Berenguer: las de Santa Anna caben en una fila y no cambian). De 900 a 1099 caben en una fila (medido a 1024) y no cambian. */
@media (min-width:700px) and (max-width:899.98px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-cifras{flex-wrap:wrap;row-gap:var(--e-3)}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-cifras>div{flex:0 0 auto}
}
/* V16 22-oct (filas SEG-V16-d2-rb-cifras-900-980 y -1100-1280): lo mismo de 900 a 1365. A 900-989 y a 1100-1280 la fila de cifras no cabe y el texto
   se montaba («SUPERFICIE» sobre «UBICACIÓN» y la raya); ahora pasa a una 2.ª fila solo donde no cabe (medido con el CSS inyectado en vivo: 0 desbordes de
   900 a 1440 es/en; en una fila a 950, 990, 1366 y 1440). Recortar espaciado y relleno para mantener una fila no basta (sigue montado a 900, 1100 y 1180). */
@media (min-width:900px) and (max-width:1365.98px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-cifras{flex-wrap:wrap;row-gap:var(--e-3)}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-cifras>div{flex:0 0 auto}
}
@media (max-width:640px){
  .proyecto-c__galeria--6{grid-template-columns:1fr 1fr}
  .proyecto-diapositiva .proyecto-c__galeria--3,.proyecto-diapositiva .proyecto-c__galeria--5{grid-template-columns:1fr 1fr}
  .proyecto-diapositiva .proyecto-c__galeria--5 li:nth-child(n){grid-column:auto}
  .proyecto-diapositiva .proyecto-c__galeria li{min-height:12rem}
  .proyecto-c__galeria--6 li:nth-child(n){grid-column:auto;height:12rem}
  .proyecto-b__fotos{grid-template-columns:1fr}
}

/* ---------- 63 Prensa (08_PRESS y 08_1 a 08_5) ---------- */
.prensa-heroe{position:relative;isolation:isolate;overflow:hidden;background:var(--negro);border-bottom:1px solid var(--linea)}
.prensa-heroe__fondo{position:absolute;z-index:-1;inset:0 12% 0 auto;width:min(38%,44rem);margin:0}
.prensa-heroe__fondo img{width:100%;height:100%;object-fit:cover;object-position:30% 50%}
.prensa-heroe__fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.3) 16%,rgba(0,0,0,0) 34%,rgba(0,0,0,0) 62%,rgba(0,0,0,.6) 82%,var(--negro) 100%)}
@media (min-width:1100px){.prensa-heroe__fondo{inset:0 4% 0 auto;width:min(60%,62rem)}.prensa-heroe__fondo img{object-position:62% 60%}}  /* diap. 26 (SEG-cx-p24-4/cx-p33-1): la pila de libros, del tamaño de la diapositiva (≈ 26 % del ancho a 1440; con 38 % de figura salía al 16 %) */
.prensa-heroe__fila{display:flex;align-items:center;justify-content:space-between;gap:var(--e-6);min-height:clamp(18rem,22vw,22rem);padding-block:var(--e-6)}
.prensa-heroe__texto>*+*{margin-top:var(--e-4)}
.prensa-heroe .titular--1{font-size:clamp(2.1rem,.8rem + calc(3*var(--vw)),4.4rem);font-weight:600}
/* Fuera del inglés el titular es más largo («PRENSA Y PUBLICACIONES.») y su final se montaba sobre los lomos de la foto: algo menor. */
html:not(:lang(en)) .prensa-heroe .titular--1{font-size:clamp(2.1rem,.4rem + calc(2.6*var(--vw)),4.4rem)}
@media (min-width:1100px){html:is(:lang(fr),:lang(ru)) :is(.prensa-heroe .titular--1,.prensa-heroe__servicios){max-width:calc(88vw - min(38vw,44rem) - var(--margen) + 2rem)}}  /* y si aun así no cabe (francés, ruso), baja a dos líneas antes de llegar a la foto */
.prensa-heroe__servicios{margin:0;font:400 clamp(.75rem,.6rem + .4vw,1.05rem)/1.4 var(--fuente-texto);letter-spacing:.24em;text-transform:uppercase}
.prensa-heroe__servicios::after{content:"";display:block;width:4rem;height:3px;margin-top:var(--e-5);background:var(--oro)}
.prensa-heroe .texto-grande{max-width:32em;font:400 clamp(1rem,.85rem + .4vw,1.3rem)/1.35 var(--fuente-titulares)}
@media (min-width:1100px){.prensa-heroe__texto>.texto-grande{max-width:min(32em,38vw)}}  /* diap. 26 (2.ª revisión d91330f5): a 1440 la entrada (32em ≈ 620 px más el margen, 790 px) pasaba por encima de la pila de libros; en la diapositiva son 3 líneas (≈ 535 px) a la izquierda de los libros */
.prensa-heroe__palabras{color:var(--oro);align-self:flex-start;margin-top:var(--e-6)}
.prensa-lista{padding-block:0 var(--e-7)}
.prensa-tarjetas{list-style:none;margin:0 auto;padding-block:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.prensa-tarjeta{display:flex;flex-direction:column;gap:var(--e-2);padding:var(--e-3) var(--e-4) var(--e-4);border:1px solid #2a2724;border-top:0}
.prensa-tarjeta+.prensa-tarjeta{border-left:0}
.prensa-tarjeta__portada{margin:0 0 var(--e-3)}
.prensa-tarjeta__portada-enlace{display:block;line-height:0}
/* Diap. 26: cada portada ENTERA (las del Drive miden 0,72-0,74 de ancho por alto; la caja de 0,85 cortaba el pie: FERRARI SC40, «Les imatges fan curt») */
.prensa-tarjeta__portada img{width:100%;aspect-ratio:1086/1474;object-fit:cover;object-position:top;background:#0b0b0b}
.prensa-tarjeta__medio{margin:0;font:500 var(--t-s)/1.2 var(--fuente-texto);letter-spacing:.06em;text-transform:uppercase;color:var(--oro)}
.prensa-tarjeta__titulo{font:400 clamp(1rem,.8rem + .4vw,1.3rem)/1.15 var(--fuente-titulares)}
.prensa-tarjeta__sub{margin:0;font:400 var(--t-s)/1.3 var(--fuente-titulares)}
.prensa-tarjeta__texto{margin:var(--e-2) 0 var(--e-4);font-size:var(--t-s);line-height:1.4;color:var(--texto)}
.prensa-tarjeta__boton{margin-top:auto;justify-content:space-between;min-height:2.6rem;padding-inline:var(--e-4);font-size:var(--t-xs);white-space:nowrap}
.prensa-proximas{padding-block:0 var(--e-7)}
.prensa-proximas__titulo{margin-block:0 var(--e-2);font:400 clamp(1.4rem,1rem + 1vw,2rem)/1.15 var(--fuente-titulares)}
.prensa-proximas__intro{margin-block:var(--e-5) var(--e-5);font:400 clamp(1rem,.85rem + .4vw,1.3rem)/1.35 var(--fuente-titulares);color:var(--texto)}
.prensa-proxima__portada{margin:0 0 var(--e-3);aspect-ratio:252/296;border:1px solid var(--oro);background:linear-gradient(#1a1814,#050505);display:flex;align-items:center;justify-content:center;text-align:center}
.prensa-proxima__portada{border:0;box-shadow:inset 0 0 0 clamp(1.5px,.13vw,3px) rgba(247,205,96,.95)}   /* d27 (V16): el marco dorado de la portada «Próximamente» medido en la diap. 27: 2 px a 1536 de ancho (#f7cd60) → .13vw (1,9 px a 1440, 3 a 2356); antes 1px var(--oro), más fino y tenue; como el borde de V3 en las tarjetas de Prensa SS AI */
.prensa-proxima__portada figcaption{display:flex;flex-direction:column;align-items:center;gap:var(--e-2);padding:var(--e-3)}
/* Diap. 27: «PORTADA / PRÓXIMAMENTE» en dos líneas con una raya dorada corta debajo; el medio en serif negrita (Quaderns como su logo, «Club» en cursiva) */
.prensa-proxima__rotulo{font:500 var(--t-xs)/1.6 var(--fuente-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--texto-suave)}
.prensa-proxima__rotulo::after{content:"";display:block;width:1.6rem;height:1px;margin:var(--e-3) auto var(--e-2);background:var(--oro)}
.prensa-proxima__medio-grande{font:700 clamp(1.3rem,1rem + .8vw,1.9rem)/1.05 var(--fuente-titulares);font-optical-sizing:none;text-transform:uppercase}
.prensa-proxima__medio-grande--quaderns{font-weight:400;text-transform:none}
.prensa-proxima__medio-grande--ferrari{text-transform:none}
.prensa-proxima__medio-grande em{display:block;margin-top:-.15em;font-weight:400;font-style:italic}
.prensa-proxima__mes{font:500 var(--t-xs)/1.4 var(--fuente-texto);letter-spacing:.16em;text-transform:uppercase}
.prensa-proxima__medio{margin:0;font:500 clamp(.62rem,.5rem + .25vw,.8rem)/1.2 var(--fuente-texto);letter-spacing:.04em;text-transform:uppercase;color:var(--oro)}
@media (min-width:1200px){.prensa-proxima__medio{white-space:nowrap}}
/* Suelo de 10 px (barrido W5: 9,92 a 390) para lo que no alcanza el ×1,22 de ≥1200 */
.prensa-proxima__medio{font-size:max(10px,clamp(.62rem,.5rem + .25vw,.8rem))}
/* Diap. 27: la etiqueta de la tarjeta («INTERIORES · NOVIEMBRE») medía 10,5 % del ancho frente a 12,8 % de la diapositiva: ×1,22 desde 1200, solo en las próximas (V9 rev2) */
@media (min-width:1200px){.prensa-proxima__medio{font-size:clamp(.756rem,.61rem + .305vw,.976rem)}}
/* ...y la más larga («ARQUITECTURA Y DISEÑO · DICIEMBRE») no cabe en una línea a ese tamaño: se queda en una, más estrecha, como la diapositiva (222 px de 232 a 1440) */
@media (min-width:1200px){.prensa-proxima:nth-child(4) .prensa-proxima__medio{font-size:.85vw;letter-spacing:0}}
.prensa-proxima__titulo{margin:0;font:400 clamp(1.15rem,.75rem + .8vw,1.6rem)/1.15 var(--fuente-titulares)}
.prensa-proxima .prensa-tarjeta__texto{font:400 clamp(.95rem,.7rem + .45vw,1.15rem)/1.4 var(--fuente-titulares)}
/* Diap. 27 a 1440: el rótulo de la portada («ARQUITECTURA Y DISEÑO») cabe en el marco dorado y los títulos bajan a dos líneas, como la maqueta (medido en vivo: marco 232 px, rótulo 236 px a 27,5 px de letra) */
@media (min-width:1200px){.prensa-proxima__medio-grande{font-size:calc(.4rem + 1.15vw)}.prensa-proxima__titulo{font-size:calc(.55rem + calc(.78*var(--vw)))}}
.prensa-proxima__pronto{margin:auto 0 var(--e-2);text-align:center;font:400 clamp(.9rem,.75rem + .3vw,1.05rem)/1.3 var(--fuente-titulares);color:var(--texto-suave)}
.prensa-proxima__boton{display:flex;justify-content:space-between;min-height:2.6rem;padding-inline:var(--e-4);font-size:var(--t-xs);white-space:nowrap;margin-top:0;cursor:default}
/* Con menos de 5 por fila, la última fila va centrada (a 1024 quedaba un hueco a la derecha de la segunda) */
@media (max-width:1199.98px){.prensa-tarjetas{display:flex;flex-wrap:wrap;justify-content:center}.prensa-tarjeta{flex:0 0 calc(100% / 3);border-left:1px solid #2a2724!important}}
/* d27 Prensa próximas a 900-1199 (DECIDIDO 4440/3558: sin maqueta a ese ancho manda la composición de la diap. 27 de 1440): las 5 portadas en una fila, no 3+2 (SEG-p21x2-diap27-1024-2; W1). Solo las próximas: las publicadas (d26) siguen igual. */
@media (min-width:900px) and (max-width:1199.98px){.prensa-proximas .prensa-tarjetas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.prensa-proximas .prensa-proxima__medio-grande{font-size:1.6vw}}   /* el nombre de la revista de la portada, a la medida de la tarjeta de 1/5 (con el común, «ARQUITECTURA Y DISEÑO» se salía del marco; V9) */
@media (max-width:767.98px){.prensa-tarjeta{flex-basis:50%}.prensa-heroe__fondo{inset:0;opacity:.35}}
@media (max-width:480px){.prensa-tarjeta{flex-basis:100%}}

@media (min-width:1100px){.heroe--prensa .heroe__fondo{inset:0 0 0 36%}}
/* W1 390: en UFP y Suboficiales la portada llena la foto; con el texto solapado 16svh, las migas pisaban el texto de la portada y el borde cruzaba la «D» de FEDERAL. Bajo los 1100 el texto empieza bajo la foto. */
@media (max-width:1099.98px){.heroe--prensa-ufp .heroe__contenido,.heroe--prensa-suboficiales .heroe__contenido{padding-top:62svh}}
.heroe--prensa-suboficiales .heroe__fondo img{object-position:87% 50%}  /* móvil: la ventana es más estrecha que la portada; se centra en ella */
@media (min-width:1100px){.heroe--prensa-suboficiales .heroe__fondo img{object-position:100% 50%}}  /* V9 d26: la portada de la tela entera, sin cortar por el borde derecho */
@media (min-width:1100px){.heroe--prensa .heroe__contenido{justify-content:flex-start;padding-top:var(--e-5)}}
.heroe--prensa .heroe__texto>*+*{margin-top:clamp(.8rem,.4rem + .8vw,1.4rem)}
/* El párrafo, solo hasta donde empieza la foto (36 %): con el ancho del titular se metía sobre la revista («Colegio de», «diseñados y»). */
/* Maqueta 08: el párrafo del héroe va en sans, no en la letra de titulares (puente 21-oct, norma 2321). */
.heroe--prensa .prensa-texto{font-family:var(--fuente-texto)}
.prensa-rotulo{display:none;margin:0}
@media (min-width:1100px){.prensa-rotulo{display:block;position:absolute;right:var(--margen);bottom:var(--e-6);text-align:right;font:500 var(--t-xs)/1.6 var(--fuente-texto);letter-spacing:.22em;text-transform:uppercase;color:var(--blanco);text-shadow:0 1px 10px rgba(0,0,0,.75)}}
@media (min-width:1100px){.heroe--prensa .prensa-texto{max-width:calc(36vw - var(--margen) - 1.5rem)}}
.prensa-titular{font-size:clamp(2.4rem,1rem + calc(3.8*var(--vw)),5rem)!important;font-weight:600;line-height:.95}
.prensa-titular .antetitulo{margin-bottom:var(--e-3);font-size:clamp(.8rem,.7rem + calc(.4*var(--vw)),1.15rem);letter-spacing:.3em}
.prensa-subtitulo{margin:0;font:400 clamp(.85rem,.7rem + .45vw,1.25rem)/1.35 var(--fuente-texto);letter-spacing:.32em;text-transform:uppercase}
.prensa-subtitulo::after,.prensa-lema::before{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
.prensa-lema::before{margin:0 0 var(--e-4)}
.prensa-texto{max-width:32em;font:400 clamp(.95rem,.85rem + .3vw,1.15rem)/1.4 var(--fuente-titulares)}
.prensa-texto p{margin-bottom:var(--e-4)}
.prensa-lema{margin:0;font:500 var(--t-xs)/1.6 var(--fuente-texto);letter-spacing:.22em;text-transform:uppercase}
.prensa-lateral{position:absolute;right:var(--margen);bottom:var(--e-6);max-width:12em;font-size:clamp(1.2rem,.9rem + .8vw,1.8rem);color:var(--blanco);text-shadow:0 1px 10px rgba(0,0,0,.75)}
.prensa-lateral footer{justify-content:flex-start;margin-top:var(--e-4);letter-spacing:.3em}
.prensa-lateral footer::before{display:none}
.prensa-heroe-play{position:absolute;z-index:1;left:63%;top:42%;transform:translate(-50%,-50%);text-shadow:0 0 3px #000,0 1px 10px rgba(0,0,0,.95),0 0 22px rgba(0,0,0,.7)}  /* Codex 23:0x: el rótulo caía ilegible sobre la ventana clara de Interiores */
.prensa-heroe-play .play{flex-direction:column;gap:var(--e-3);font-size:var(--t-s);letter-spacing:.14em}
.prensa-heroe-play .play__circulo{border-color:var(--blanco);width:5.4rem;height:5.4rem;background:rgba(0,0,0,.45)}
.prensa-heroe-play .play__texto{padding:.3em .8em;background:rgba(0,0,0,.55);text-shadow:0 1px 4px #000}  /* Codex 23:0x: sobre la ventana clara el rótulo se perdía; cinta oscura detrás */
@media (max-width:1099.98px){.prensa-lateral{position:static;margin:var(--e-5) var(--margen) 0}.prensa-heroe-play{display:none}}
.prensa-publicacion{border-top:1px solid var(--linea-suave);padding-block:var(--e-6)}
.prensa-publicacion__fila{display:grid;grid-template-columns:minmax(0,24fr) minmax(0,64fr) minmax(0,12fr);align-items:center;gap:var(--e-5)}
.prensa-publicacion__texto>*+*{margin-top:var(--e-5)}
/* Las fotos de la revista traen en el borde izquierdo restos de letras del montaje (Suboficiales: «t», «n»); ese borde es fondo negro y se recorta. */
.prensa-publicacion img{clip-path:inset(0 0 0 2.5%)}
.prensa-publicacion__texto .titular{font-weight:600}
.prensa-publicacion__texto .titular::after{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
.prensa-publicacion__revista{margin:0}
.prensa-publicacion__revista img{width:auto;max-width:100%;height:auto} /* como mucho a su tamaño natural: la doble página de Policía es un recorte de la maqueta de 630 px (puente 21-oct) */
.prensa-publicacion__lateral{font-size:var(--t-xs)}
.prensa-publicacion__lateral li{white-space:pre-line}
.prensa-publicacion__lateral li+li{margin-top:var(--e-4);font-size:var(--t-2xs);letter-spacing:.3em;text-transform:uppercase}  /* maqueta: «THE SEDUCTION» bajo el rótulo lateral */
.prensa-publicacion--proyecto .prensa-publicacion__fila{grid-template-columns:minmax(0,30fr) minmax(0,70fr);align-items:start}
.prensa-publicacion__portada{display:flex;flex-direction:column;gap:var(--e-4)}
.prensa-publicacion__portada img{width:100%;height:auto}
.prensa-publicacion__proyecto .titular{margin:var(--e-5) 0 var(--e-3);font-weight:400}
.prensa-publicacion__proyecto .prensa-texto{max-width:none;font-family:var(--fuente-texto);font-size:var(--t-m)}
.prensa-videos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--e-4)}
.prensa-video{position:relative;display:block;width:100%;padding:0;border:1px solid var(--linea-suave);background:var(--superficie);color:var(--blanco);text-align:left;cursor:pointer}
.prensa-video img{width:100%;aspect-ratio:319/210;object-fit:cover}
.prensa-video__play{position:absolute;left:50%;top:38%;display:grid;place-items:center;width:3.4rem;height:3.4rem;border-radius:50%;background:rgba(0,0,0,.75);transform:translate(-50%,-50%)}
.prensa-video__play svg{width:1.4rem;height:1.4rem;margin-left:.2rem}
.prensa-video__texto{display:flex;flex-direction:column;gap:.3rem;padding:var(--e-3) var(--e-4) var(--e-4);font:500 var(--t-s)/1.3 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase}
.prensa-video__texto small{font-size:var(--t-2xs);letter-spacing:.16em;color:var(--texto-suave)}
.prensa-video__duracion{position:absolute;right:var(--e-4);bottom:var(--e-4);font:500 var(--t-xs)/1 var(--fuente-texto);letter-spacing:.08em;color:var(--blanco)}
.prensa-video:hover{border-color:var(--oro)}
@media (max-width:899.98px){
  .prensa-publicacion__fila,.prensa-publicacion--proyecto .prensa-publicacion__fila{grid-template-columns:1fr}
  .prensa-publicacion__lateral{display:none}
  .prensa-publicacion__portada{max-width:22rem}
}
@media (max-width:520px){.prensa-videos{grid-template-columns:1fr}}
.franja--prensa{border-block:1px solid var(--linea-suave)}
.prensa-cita{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(16rem,27vw,27rem);display:flex;align-items:center;background:var(--negro)}
.prensa-cita__foto{position:absolute;z-index:-1;inset:0 0 0 20%;margin:0}
.prensa-cita__foto img{width:100%;height:100%;object-fit:cover}
.prensa-cita__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.55) 14%,rgba(0,0,0,0) 40%)}
.prensa-cita__fila{display:flex;align-items:center;justify-content:space-between;gap:var(--e-6);padding-block:var(--e-6)}
.prensa-cita__texto{max-width:13em;font-size:clamp(1.3rem,.9rem + .75vw,1.8rem);color:var(--blanco);text-shadow:0 2px 12px rgba(0,0,0,.6)}
.prensa-cita__texto footer{justify-content:flex-start;margin-top:var(--e-5);flex-direction:column;align-items:flex-start;letter-spacing:.3em}
.prensa-cita__texto footer::before{width:2.6rem;height:2px}
.prensa-cita__boton{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;gap:.3rem var(--e-4);padding:var(--e-5) var(--e-6);border:1px solid var(--oro);background:rgba(0,0,0,.7);color:var(--oro);text-decoration:none;font:500 var(--t-xs)/1.4 var(--fuente-texto);letter-spacing:.14em;text-transform:uppercase}
.prensa-cita__fila{align-self:stretch}
.prensa-cita--ufp .prensa-cita__foto{inset:0}  /* 23-oct (Víctor, DECIDIDO 5529): la franja de UFP es la diap. 26 «Diseñamos hoy»: RENDER 8 ampliado a los lados (LaMa, 3072×1004, 3,06:1, centro intacto) a sangre, a todo el ancho (antes el 80 % derecho) */
.prensa-cita--ufp .prensa-cita__foto img{object-position:50% 50%}
.prensa-cita__fila .prensa-cita__boton{align-self:flex-end}  /* maqueta 08_5: el botón va abajo a la derecha de la foto */
.franja--prensa-dentro{margin-top:var(--e-6)}
.prensa-cita__boton small{grid-column:1/-1;font-size:inherit;color:var(--blanco)}
.prensa-cita__boton svg{grid-column:2;grid-row:2;width:1.6rem;height:1rem}
/* En el móvil la foto empieza a un tercio y se funde en negro: a todo el ancho, la cita quedaba encima del rótulo de la fachada (Suboficiales) o de la foto clara del comedor (Arquitectos). */
/* Maqueta 08: la foto de la cita llena la banda a todo el ancho y la banda es más alta (≈3:1); con la foto desde el 20 % y 27vw los coches, la fachada y el showroom salían más pequeños y recortados (filas 10-17 de Codex). */
@media (min-width:768px){.prensa-cita{min-height:clamp(16rem,34vw,34rem)}.prensa-cita__foto{inset:0}}
/* Ferrari: en la maqueta las dos bandas son más bajas (≈5,2:1 la del volante y ≈4,2:1 la del coche; las demás fichas ≈3:1). */
@media (min-width:768px){.prensa-cita--ferrari-1{min-height:19.5vw}.prensa-cita--ferrari-2{min-height:24vw}}
@media (max-width:767.98px){.prensa-cita__foto{inset:0 0 0 35%}.prensa-cita__foto::after{background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.6) 25%,rgba(0,0,0,.15) 60%)}.prensa-cita__fila{flex-direction:column;align-items:flex-start}}

/* ---------- 64 Nosotros (09_ABOUT) y los fundadores (09_1) ---------- */
@media (min-width:1100px){.heroe--nosotros .heroe__fondo,.heroe--contacto .heroe__fondo{inset:0 0 0 36%}}
@media (min-width:1100px){.heroe--nosotros .heroe__contenido,.heroe--contacto .heroe__contenido{justify-content:flex-start;padding-top:var(--e-6)}}
.heroe--nosotros .titular--1,.heroe--contacto .titular--1{font-size:clamp(2.3rem,1rem + calc(3.4*var(--vw)),4.6rem);font-weight:600}
.heroe--nosotros .heroe__texto>*+*,.heroe--contacto .heroe__texto>*+*{margin-top:clamp(.8rem,.4rem + .8vw,1.3rem)}
.nosotros-servicios{margin:0;font:400 clamp(.8rem,.65rem + .45vw,1.15rem)/1.4 var(--fuente-texto);letter-spacing:.24em;text-transform:uppercase}
.nosotros-servicios::after{content:"";display:block;width:4.4rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
.nosotros-frase{margin:0;font:400 clamp(1.4rem,1rem + 1.1vw,2.2rem)/1.15 var(--fuente-titulares);color:var(--blanco)}
.nosotros-texto{font:400 clamp(.95rem,.85rem + .3vw,1.15rem)/1.35 var(--fuente-titulares)}
.nosotros-texto p{margin-bottom:var(--e-3)}
.nosotros-play{position:absolute;left:66%;top:48%;transform:translate(-50%,-50%)}
.nosotros-play .play{flex-direction:column;gap:var(--e-3);font-size:var(--t-m);letter-spacing:.3em}
.nosotros-play .play__circulo{border-color:var(--blanco);width:5rem;height:5rem;background:rgba(0,0,0,.45)}
/* D-PRIN-016: con la foto del estudio, «Ver vídeo» cae sobre la ventana y la mesa claras; el mismo velo que las palabras (D-PRIN-036). */
.nosotros-play::before{content:"";position:absolute;inset:-14px -18px;background:rgba(0,0,0,.55);filter:blur(10px);z-index:-1;pointer-events:none}
@media (max-width:1099.98px){.nosotros-play{display:none}}
.franja--areas{border-block:1px solid var(--linea-suave)}
.panorama{position:relative;margin:0;background:var(--negro)}
.panorama img{width:100%;height:clamp(9rem,12.2vw,12rem);object-fit:cover}
.panorama__frase{position:absolute;left:0;right:0;top:12%;margin:0;text-align:center;font:400 clamp(1.1rem,.8rem + 1vw,2rem)/1.2 var(--fuente-titulares);color:var(--tinta)}
.panorama__frase::after{content:"";display:block;width:4.4rem;height:3px;margin:var(--e-4) auto 0;background:var(--oro-oscuro)}

.fundador{position:relative;isolation:isolate;overflow:hidden;background:var(--negro)}
.fundador--olga{background:linear-gradient(90deg,#f1efec,#e9e6e1);color:var(--tinta)}
.fundador__fila{display:grid;grid-template-columns:minmax(0,50fr) minmax(0,50fr);align-items:stretch;gap:var(--e-5);min-height:clamp(36rem,52vw,46rem)}
.fundador__texto{padding-block:var(--e-7) var(--e-6)}
.fundador__texto>*+*{margin-top:var(--e-4)}
.fundador__rol{display:inline-block;margin:0;padding-bottom:var(--e-2);border-bottom:2px solid var(--oro);font:500 var(--t-s)/1 var(--fuente-texto);letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}
.fundador--olga .fundador__rol{color:var(--tinta)}
.fundador .titular--2{font-size:clamp(2.2rem,1.2rem + calc(2.6*var(--vw)),3.6rem);font-weight:600}
.fundador--olga .titular{color:var(--tinta)}
.fundador__cargo{margin:0;font:400 var(--t-s)/1.4 var(--fuente-texto);letter-spacing:.18em;text-transform:uppercase}
.fundador__lema{font:400 clamp(1.25rem,1rem + .7vw,1.75rem)/1.2 var(--fuente-titulares)}
.fundador__lema::after{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
.fundador__parrafos{font-size:clamp(.9rem,.82rem + .22vw,1.05rem);line-height:1.45;max-width:38em}
.fundador__parrafos p{margin-bottom:var(--e-3)}
.fundador__firma{display:flex;flex-direction:column;gap:.15rem;font:500 var(--t-xs)/1.3 var(--fuente-texto);letter-spacing:.14em;text-transform:uppercase}
.fundador__firma img{width:9rem;height:auto;margin-bottom:var(--e-2);mix-blend-mode:screen}
.fundador--olga .fundador__firma img{mix-blend-mode:multiply}
.fundador__firma span{font-weight:400;color:var(--texto-suave)}
/* D-PRIN-142: firma de Angel como en la diapositiva 29, su nombre en cursiva de titulares sobre raya de oro; y su foto de cuerpo entero,
   sin recortar ni fundir, en una banda tan alta como la foto (≈1,5 veces su ancho) */
.fundador__firma-texto{display:block;width:max-content;margin-bottom:var(--e-3);padding-bottom:.35rem;border-bottom:2px solid var(--oro);font:italic 400 clamp(1.8rem,1.3rem + 1.2vw,2.6rem)/1.1 var(--fuente-titulares);letter-spacing:0;text-transform:none;color:var(--blanco)}
.fundador--angel{--foto-ancho:min(48vw,calc(62rem * 760 / 1164))}
.fundador--angel .fundador__fila{min-height:calc(var(--foto-ancho) * 1164 / 760)}
.fundador--angel .fundador__foto{width:var(--foto-ancho)}
.fundador--angel .fundador__foto img{object-position:50% 100%}
.fundador--angel .fundador__foto::after{display:none}
.fundador--olga .fundador__firma span{color:#5a534a}
/* La foto, de fondo a la derecha y fundida hacia el texto, como en 09_1 */
.fundador__foto{position:absolute;z-index:-1;inset:0 0 0 auto;width:54%;margin:0}
.fundador__foto img{width:100%;height:100%;object-fit:cover;object-position:30% 20%}
.fundador__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.45) 14%,rgba(0,0,0,0) 32%)}
.fundador--olga .fundador__foto::after{background:linear-gradient(90deg,#efedea 0%,rgba(239,237,234,.5) 14%,rgba(239,237,234,0) 32%)}
.fundador__lado{grid-column:3;display:flex;flex-direction:column;justify-content:space-between;gap:var(--e-7);padding-block:var(--e-7);color:var(--blanco);text-shadow:0 1px 8px rgba(0,0,0,.35)}
.fundador--olga .fundador__lado{color:var(--tinta);text-shadow:none}
.fundador__cita{position:relative;margin:0;padding-top:3rem;font:italic 400 clamp(1.05rem,.9rem + .5vw,1.4rem)/1.3 var(--fuente-titulares)}
.fundador__cita::before{content:"\201C";position:absolute;top:-.4rem;left:0;font:700 5rem/1 Georgia,serif;color:var(--oro)}
.fundador__cita::after{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
@media (max-width:899.98px){
  .fundador__fila{grid-template-columns:1fr}
  .fundador--angel .fundador__fila{min-height:0}
  .fundador--angel .fundador__foto{width:auto}
  .fundador__fila{min-height:0}
  .fundador__foto{position:relative;inset:auto;width:auto;order:-1;max-width:26rem;margin:var(--e-5) 0 0;z-index:0}
  .fundador__foto::after{display:none}
  .fundador__lado{grid-column:auto;color:inherit;text-shadow:none}
  .fundador__lado{padding-block:0 var(--e-6)}
}
.viaje{background:var(--negro);border-top:1px solid var(--linea-suave)}
.viaje__fila{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--e-6)}
.viaje__texto{padding-block:var(--e-6)}
.viaje__texto .titular{font-weight:600;margin-bottom:var(--e-5)}
.viaje__texto .antetitulo{font:500 var(--t-s)/1 var(--fuente-texto);letter-spacing:.2em}
.viaje__texto p{font-size:var(--t-s);line-height:1.45;max-width:36em}
.viaje__foto{position:relative;margin:0 calc(-1 * var(--margen)) 0 0;align-self:stretch}
.viaje__foto img{width:100%;height:100%;object-fit:cover}
.viaje__foto figcaption{position:absolute;inset:auto 0 var(--e-5) 0;display:flex;justify-content:space-around}
.viaje__foto figcaption span{display:flex;flex-direction:column;gap:.2rem;font:500 var(--t-2xs)/1.3 var(--fuente-texto);letter-spacing:.16em;text-transform:uppercase}
.viaje__foto strong{font:600 clamp(1rem,.8rem + .5vw,1.4rem)/1 var(--fuente-titulares);letter-spacing:.04em;padding-bottom:.4rem;border-bottom:1px solid var(--oro)}
@media (max-width:899.98px){.viaje__fila{grid-template-columns:1fr}.viaje__foto{margin:0 calc(-1 * var(--margen))}}
/* Trayectoria (diap. 29 a 1440; filas 19IvBuCe3wq… y SEG-R3-d29-42226f69, W5 21-oct): rayita dorada bajo el antetítulo y bajo el titular y, en los
   rótulos de las fotos, la raya corta bajo el subtítulo (no bajo la ciudad). Desde 900 px la foto ocupa los 2/3 de la derecha y se funde en negro bajo el
   texto, con titular y párrafos mayores, como la diapositiva (antes, dos columnas con la foto cortada en seco a la mitad). */
.viaje__texto .antetitulo{display:block;width:fit-content;padding-bottom:.55rem;border-bottom:1px solid var(--oro)}
.viaje__texto .titular::after{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-4);background:var(--oro)}
.viaje__foto strong{padding-bottom:0;border-bottom:0}
.viaje__foto figcaption span::after{content:"";width:2.2rem;height:1px;margin-top:.45rem;background:var(--oro)}
@media (min-width:900px){.viaje{position:relative;overflow:hidden}
  .viaje__fila{grid-template-columns:minmax(0,1fr);min-height:clamp(30rem,40vw,36rem)}
  .viaje__texto{position:relative;z-index:1;max-width:min(58rem,63%)}
  .viaje__texto .titular{font-size:clamp(2.2rem,1rem + calc(2.6*var(--vw)),3.6rem)}
  .viaje__texto p{font-size:clamp(1rem,.4rem + 1.1vw,1.5rem);line-height:1.35;max-width:none}
  .viaje__foto{position:absolute;inset:0 0 0 auto;width:67%;margin:0}
  .viaje__foto img{-webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.35) 30%,#000 62%);mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.35) 30%,#000 62%)}}
.franja--valores{border-block:1px solid var(--linea-suave)}
/* Diapositiva 29 (CRUCE 1073/1103, W5 21-oct): los cinco valores en UNA fila también a 1024 y 768 (antes 2 y 3 filas, con PROPÓSITO solo)
   y su texto en la letra de texto, sin serif, como la maqueta; por debajo de 1100 las columnas se estrechan y el título se espacia menos */
.franja--valores .franja__texto{font:400 var(--t-s)/1.45 var(--fuente-texto)}
@media (min-width:700px){.franja.franja--valores{grid-template-columns:repeat(5,minmax(0,1fr))}
  .franja--valores .franja__item+.franja__item{border-left:1px solid var(--oro)}}
@media (min-width:700px) and (max-width:1099.98px){.franja--valores .franja__item{padding-inline:var(--e-2)}.franja--valores .franja__titulo{letter-spacing:.08em}}
/* (CRUCE 1100) el cargo con aire bajo el nombre; (1072/1099/1677/1785) la firma de Olga sin su rectángulo: el fondo gris del WebP pasa a
   blanco (gris, contraste y brillo) y con multiply desaparece sobre el fondo claro; la tinta queda negra */
.fundador .fundador__cargo{margin-top:var(--e-2)}
/* Ángel a 1440 como su diapositiva (29; NP l.1839/1920, W5 21-oct): nombre, cargo, lema y párrafos ≈1,33 veces mayores (el nombre ocupa el 32 % del
   ancho de la diapositiva frente al 24 % servido) y la firma al pie de la columna. */
@media (min-width:1100px){.fundador--angel .fundador__texto{display:flex;flex-direction:column;padding-bottom:var(--e-7)}
  .fundador--angel .fundador__firma{margin-top:auto;padding-top:var(--e-5)}
  .fundador--angel .titular--2{font-size:clamp(2.2rem,1.2rem + calc(3.9*var(--vw)),4.8rem)}
  .fundador--angel .fundador__cargo{font-size:calc(var(--t-s) * 1.3)}
  .fundador--angel .fundador__lema{font-size:clamp(1.25rem,1rem + 1.25vw,2.2rem)}
  .fundador--angel .fundador__parrafos{font-size:clamp(.9rem,.7rem + .75vw,1.4rem);max-width:none}}
.fundador--olga .fundador__firma img{filter:grayscale(1) contrast(1.6) brightness(1.12)}
.llamada{position:relative;isolation:isolate;overflow:hidden;background:#0c0a08}
/* La foto de mármol cubre la llamada entera, como su diapositiva (29; SEG-R3-d29-9f173a28, NP l.1923): el degradado deja el texto legible a la izquierda. */
.llamada__foto{position:absolute;z-index:-1;inset:0;margin:0}
.llamada__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 85%}
.llamada__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0c0a08 0%,rgba(12,10,8,.4) 30%,rgba(12,10,8,.15) 100%)}
.llamada__fila{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--e-5) var(--e-7);padding-block:var(--e-7)}
.llamada .titular{font-weight:500}
.llamada p{margin:var(--e-3) 0 0;font-size:var(--t-l)}
.llamada__accion{display:flex;flex-direction:column;align-items:center;gap:var(--e-3)}
.llamada__accion small{color:var(--texto)}

/* ---------- 65 Contacto (10_CONTACT) ---------- */
.contacto-texto{margin:0;font-size:clamp(.95rem,.85rem + .3vw,1.1rem);line-height:1.45;max-width:30em}
.contacto-frase{margin:0;font:italic 400 clamp(1.2rem,.9rem + .8vw,1.7rem)/1.2 var(--fuente-titulares)}
.contacto-formulario{border-top:1px solid var(--linea-suave);padding-block:var(--e-6) var(--e-5)}
.contacto-formulario__fila{display:grid;grid-template-columns:minmax(0,58fr) auto minmax(0,34fr);gap:var(--e-6);align-items:stretch}
.contacto-formulario__mensaje .titular{margin-bottom:var(--e-4)}
.formulario--contacto{gap:var(--e-3)}
.formulario--contacto .campo{font-size:var(--t-xs);color:var(--texto-suave)}
.formulario--contacto .campo input,.formulario--contacto .campo select,.formulario--contacto .campo textarea{min-height:2.6rem;background:#141311;border-color:#34312c;color:var(--texto)}
.formulario--contacto .areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--e-2);border:0;padding:0;margin:0}
.formulario--contacto .areas legend{padding:0;margin-bottom:var(--e-2)}
.areas .area{position:relative;display:block;cursor:pointer}
.areas .area input{position:absolute;opacity:0;inset:0;min-height:0}
.areas .area span{display:block;padding:.6rem .8rem;text-align:center;border:1px solid var(--oro);color:var(--texto)}
.areas .area input:checked+span{background:var(--oro);color:#000}
.areas .area input:focus-visible+span{outline:2px solid var(--texto);outline-offset:2px}
.formulario__nota{margin:0;text-align:right;font-size:var(--t-xs);color:var(--texto-suave)}
.formulario__envio{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--e-4)}
.formulario__envio .casilla{flex:1 1 18rem}
.formulario__aviso--error{border-left-color:#ff7b6b;background:rgba(255,123,107,.08)}
.formulario__aviso--error ul{margin:0;padding-left:1.2em}
.contacto-formulario__o{position:relative;display:flex;align-items:center;justify-content:center;margin:0;font:600 var(--t-l)/1 var(--fuente-titulares);text-transform:uppercase;color:var(--oro)}
.contacto-formulario__o::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(var(--oro) 0 42%,transparent 42% 58%,var(--oro) 58% 100%)}
.contacto-formulario__o span{position:relative;padding:var(--e-2)}
.contacto-formulario__consulta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--e-4);text-align:center}
.contacto-formulario__consulta>svg{width:3.4rem;height:3.4rem;color:var(--oro)}
.contacto-formulario__consulta .titular{color:var(--oro);font-weight:500;letter-spacing:.04em}
.contacto-formulario__consulta p{margin:0;max-width:16em;font-size:var(--t-l)}
.contacto-garantias{list-style:none;margin:var(--e-6) auto 0;padding-top:var(--e-4);display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--e-4);font:500 var(--t-xs)/1 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase}
.contacto-garantias li{display:flex;align-items:center;gap:var(--e-4)}
.contacto-garantias svg{width:1.8rem;height:1.8rem;color:var(--oro)}
@media (max-width:899.98px){
  .contacto-formulario__fila{grid-template-columns:1fr}
  .contacto-formulario__o::before{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,var(--oro) 0 42%,transparent 42% 58%,var(--oro) 58% 100%)}
}
.contacto-sedes{padding-top:var(--e-5)}
.contacto-sedes__cabeza{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--e-5) var(--e-7);padding-bottom:var(--e-5)}
.contacto-sedes__cabeza .titular{font-weight:500}
.contacto-sedes__cabeza p{margin:0;font-size:var(--t-l);line-height:1.4}
.contacto-sedes__lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px;background:var(--oro-oscuro)}
.sede{display:flex;flex-direction:column;min-width:0;background:var(--negro);color:var(--texto)}
.sede__foto{margin:0}
.sede__foto img{width:100%;aspect-ratio:407/216;object-fit:cover}
.sede__datos{display:grid;grid-template-columns:1fr auto;gap:var(--e-3) var(--e-5);padding:var(--e-5) var(--margen) var(--e-5) clamp(1rem,3vw,2.2rem)}
.sede__nombre{font:500 clamp(1.05rem,.9rem + .5vw,1.45rem)/1.1 var(--fuente-titulares);text-transform:uppercase;letter-spacing:.04em;color:var(--blanco)}
.sede address{grid-column:1;display:flex;gap:var(--e-3);font-style:normal;font-size:var(--t-s)}
.sede address svg{flex:none;width:1.6rem;height:1.6rem;color:var(--oro)}
.sede__mapa{grid-column:2;grid-row:1;min-height:2.6rem;padding-inline:var(--e-5);font-size:var(--t-xs)}
.sede__mapa svg{width:1.2rem;height:1.2rem}
.sede__nota{grid-column:2;grid-row:2 / span 2;margin:0;font:500 var(--t-2xs)/1.6 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase;text-align:center}
@media (max-width:767.98px){.contacto-sedes__cabeza,.contacto-sedes__lista{grid-template-columns:minmax(0,1fr)}}
/* En tableta, con las dos sedes lado a lado, el botón y la nota van debajo: a su lado, el nombre y la dirección se partían en tres y cuatro líneas («SHOWROOM / DE / BARCELONA»). */
@media (max-width:899.98px){.sede__datos{grid-template-columns:1fr}.sede__mapa,.sede__nota{grid-column:1;grid-row:auto;text-align:left;justify-self:start}}
.franja--contacto .franja__titulo{font:500 var(--t-s)/1.3 var(--fuente-titulares);letter-spacing:.06em}
.franja--contacto .franja__texto{font-family:var(--fuente-texto)}
.contacto-final{display:grid;grid-template-columns:minmax(0,49fr) minmax(0,51fr);background:var(--negro);border-top:1px solid var(--linea-suave)}
.contacto-final__mapa{margin:0}
.contacto-final__mapa img{width:100%;height:100%;min-height:18rem;object-fit:cover}
.contacto-final__datos{padding:var(--e-5) var(--margen) var(--e-6) clamp(1rem,3vw,2.2rem)}
.contacto-final__titulo{margin:0 0 var(--e-3);font:500 var(--t-m)/1.2 var(--fuente-titulares);letter-spacing:.06em;text-transform:uppercase;color:var(--oro)}
.preguntas{display:grid;gap:.35rem;margin-bottom:var(--e-5)}
.pregunta{border:1px solid #34312c;background:#121110}
.pregunta summary{display:flex;align-items:center;justify-content:space-between;gap:var(--e-4);padding:.6rem .8rem;font-size:var(--t-s);cursor:pointer;list-style:none}
.pregunta summary::-webkit-details-marker{display:none}
.pregunta summary svg{flex:none;width:.8rem;height:.8rem;transition:transform var(--transicion)}
.pregunta[open] summary svg{transform:rotate(180deg)}
.pregunta p{margin:0;padding:0 .8rem .8rem;font-size:var(--t-s);color:var(--texto-suave)}
.contacto-final__columnas{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--e-5)}
.contacto-final__columnas>div+div{padding-left:var(--e-5);border-left:1px solid var(--oro)}
.contacto-final__lista{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-3);font-size:var(--t-s)}
.contacto-final__lista li{display:flex;align-items:center;gap:var(--e-4)}
.contacto-final__lista svg{flex:none;width:1.5rem;height:1.5rem;color:var(--oro)}
.contacto-final__lista a{text-decoration:none}
.contacto-final__lista a:hover{color:var(--oro)}
.contacto-final__red{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;color:var(--blanco)}
.contacto-final__red svg{width:1.8rem;height:1.8rem}
.contacto-final__red:hover{color:var(--oro)}
@media (max-width:899.98px){.contacto-final{grid-template-columns:1fr}.contacto-final__mapa img{min-height:0;height:auto}}
@media (max-width:480px){.contacto-final__columnas{grid-template-columns:1fr}.contacto-final__columnas>div+div{padding-left:0;border-left:0}}
.prensa-lema--arriba{letter-spacing:.4em}.prensa-lema--arriba::before{display:none}
.prensa-lateral--arriba{top:var(--e-6);bottom:auto;max-width:14em;font:500 var(--t-s)/1.6 var(--fuente-texto);letter-spacing:.3em;text-transform:uppercase}
.prensa-lateral--arriba::after{content:"";display:block;width:2.6rem;height:2px;margin-top:var(--e-3);background:var(--oro)}
.prensa-lateral--arriba footer{display:none}
@media (min-width:1100px){.heroe--nosotros .heroe__texto{max-width:min(36rem,37vw)}}
/* El lema en una línea, como en la diapositiva 28 (D-PRIN-041): en inglés ocupa unas 19,3 veces su cuerpo y la columna es 37vw. */
@media (min-width:1100px){.heroe--nosotros .nosotros-frase{font-size:min(1.85vw,1.8rem)}}
.heroe--nosotros .nosotros-texto{font-size:clamp(.9rem,.8rem + .25vw,1.05rem)}
/* Palabras largas (ruso, francés) en las franjas de dos columnas del móvil */
.franja__item>div{min-width:0}
.franja__titulo{overflow-wrap:break-word;hyphens:auto}
@media (max-width:520px){.franja__titulo{letter-spacing:.08em}}
/* Prensa: en tableta y móvil la pila de libros queda de fondo, tenue, y las palabras (IDEAS · PROYECTOS · PERSONAS · CONEXIONES) en una fila debajo del texto */
@media (max-width:1099.98px){.prensa-heroe__fondo{inset:0;width:auto;opacity:.3}.prensa-heroe__fila{flex-direction:column;align-items:flex-start}.prensa-heroe__palabras{flex-direction:row;flex-wrap:wrap;gap:var(--e-2) var(--e-5);margin-top:0}}

/* ---------- Páginas sobrias (fila 111): las de la web actual que el Master no diseña ----------
   web/paginas/_pagina_web.html.twig (locales de SEO, legales, empleo, promociones...), web/proximamente.html.twig y el
   texto de web/showroom/_proyecto.html.twig. Una columna de lectura con la tipografía y los colores de la web nueva. */
.lectura{padding-block:clamp(2.5rem,2rem + 3vw,5.5rem) var(--seccion);border-top:1px solid var(--linea-suave)}
.lectura__cuerpo{max-width:calc(50rem + 2 * var(--margen))}
.lectura__cuerpo>*{margin-block:0 var(--e-5)}
.lectura__cuerpo>:last-child{margin-bottom:0}
.lectura__titular{margin-bottom:var(--e-6);line-height:1.05}
.lectura__titular::after{content:"";display:block;width:4.2rem;height:2px;margin-top:var(--e-5);background:var(--oro)}
.lectura__subtitular{margin-top:var(--e-7);color:var(--oro);letter-spacing:.02em}
.lectura .antetitulo--texto{margin-top:var(--e-7);color:var(--oro)}
.lectura__texto,.lectura__parrafo,.lectura__respuesta{color:var(--texto-suave);font-size:var(--t-l);line-height:1.65}
.lectura__texto>*{margin-block:0 var(--e-4)}
.lectura__texto>:last-child{margin-bottom:0}
.lectura__texto h2,.lectura__texto h3,.lectura__texto h4{margin-top:var(--e-6);font:var(--peso-titulares) var(--t-h5)/1.2 var(--fuente-titulares);color:var(--blanco)}
.lectura__texto strong{color:var(--texto);font-weight:500}
.lectura__texto ul,.lectura__texto ol,.lectura__respuesta ul{padding-left:1.25em}
.lectura__texto li+li,.lectura__respuesta li+li{margin-top:var(--e-2)}
.lectura__texto a,.lectura__respuesta a,.lectura__parrafo a{color:var(--oro);text-underline-offset:.2em}
.lectura__texto table{width:100%;border-collapse:collapse;font-size:var(--t-s)}
.lectura__texto th,.lectura__texto td{padding:var(--e-2) var(--e-3);border:1px solid var(--linea-suave);text-align:left;vertical-align:top}
.lectura__texto .table-wrapper,.lectura__texto figure.wp-block-table{overflow-x:auto}
.lectura__botones{margin-block:var(--e-6)}
.lectura__video{margin-block:var(--e-6)}
.lectura__imagen,.lectura__galeria{margin-inline:0}
.lectura__imagen img,.lectura__galeria img{display:block;width:100%;height:auto}
.lectura__galeria{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:var(--e-3)}
.lectura__galeria img{aspect-ratio:4/3;object-fit:cover}
.lectura__preguntas .pregunta summary{font-size:var(--t-m);line-height:1.4;padding:.9rem 1rem}
.lectura__respuesta{padding:0 1rem 1rem;font-size:var(--t-m)}
.lectura__respuesta p{margin:0 0 var(--e-3);padding:0;font-size:inherit}
.lectura__formulario{max-width:36rem}
.lectura--aviso{min-height:55vh;display:flex;align-items:center}
.ventana-info{width:min(28rem,calc(100vw - 2rem));padding:var(--e-7) var(--e-6) var(--e-6);border:1px solid var(--oro);background:var(--superficie);color:var(--texto)}
.ventana-info::backdrop{background:rgba(0,0,0,.8)}
.ventana-info>*{margin-block:0 var(--e-4)}
.ventana-info a{color:var(--oro)}
.ventana-info__cerrar{position:absolute;top:.5rem;right:.5rem;width:2.6rem;height:2.6rem;background:none;border:0;color:var(--blanco);font-size:1.6rem;line-height:1;cursor:pointer}
.ventana-info__nota{font-size:var(--t-s);color:var(--texto-suave)}

/* Contacto, diapositiva 30: foto a la izquierda (54 %) y formulario en marco dorado a la derecha (46 %), en una pantalla. */
.contacto30{display:grid;grid-template-columns:minmax(0,54fr) minmax(0,46fr);min-height:100svh;background:var(--negro)}
.contacto30__hero{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-start;padding:calc(var(--alto-cabecera) + var(--e-8) + var(--e-3)) clamp(1rem,3vw,3rem) var(--e-6) var(--margen);background:linear-gradient(135deg,#17120a,#050505)}
.contacto30__foto{position:absolute;inset:0;margin:0;z-index:-1}
.contacto30__foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.contacto30__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.78))}
.contacto30--hablemos .contacto30__foto::after{background:linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(0,0,0,.42) 38%,rgba(0,0,0,0) 50%),linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.16))}   /* d30 (V9, revisión final): la foto de «Hablemos» sale más oscura que la diapositiva 30 (luminancia 60 vs 75; 2.ª vuelta V9 (63 vs 74,5): sombra .42 hasta el 38 % y velo general .08→.16 (medido en pod, 1440: media 76,4; párrafo p95 5,29:1 y título 7,23:1)): velo más ligero; el contraste del texto se mide aparte */
@media (min-width:1100px){.contacto30--hablemos .contacto30__foto img{object-position:50% 0}}   /* d30 (V9, revisión final): encuadre de la diapositiva 30: la foto arriba (cubo de cristal y llamas enteros); con 50% 30% subía ~110 px y el titular los tapaba (misma toma) */
.contacto30__texto{display:grid;gap:var(--e-3);max-width:34rem}
.contacto30__texto p{margin:0;font-size:var(--t-s);line-height:1.5}
.contacto30__antetitulo{display:block;margin-bottom:var(--e-4);color:var(--oro);font:400 var(--t-s)/1 var(--fuente-texto);letter-spacing:.14em}
.contacto30__titular{margin:0;font:700 clamp(2.3rem,1rem + 3.6vw,4.4rem)/.98 var(--fuente-titulares);text-transform:uppercase}
.contacto30--hablemos .contacto30__titular::after{content:"";display:block;width:4.5rem;height:2px;margin-top:clamp(.9rem,1.6vw,1.5rem);background:var(--oro)}   /* d30 (V16): la raya dorada corta entre «PROYECTO» y el párrafo de su diapositiva (≈72×2 px a 1440, color del token --oro, 4423); solo Contacto, no .ai22 */
.contacto30--hablemos .contacto30__titular{font-variation-settings:"opsz" 12}   /* d30 (V16): «HABLEMOS…» con los trazos finos visibles de su diapositiva 30 (a opsz por defecto la «H» se leía «ll»); 12 y no el 6 de d31: con 6-10 «NEXT PROJECT» pasaba a 4 líneas en /en a 1440 (medido 6/8/10/12 en 1024-1440 es/en). Solo Contacto, no .ai22 */
.contacto30__oro{background:var(--oro-degradado);-webkit-background-clip:text;background-clip:text;color:transparent}
/* La sección ya empieza bajo la cabecera (no la monta encima): el marco no vuelve a sumar su alto (dejaba ~98 px de negro sobre el formulario) */
.contacto30__marco{margin:var(--e-2) var(--margen) var(--e-5) 0;padding:clamp(.9rem,1.4vw,1.5rem);border:1px solid var(--oro);background:var(--negro);align-self:start}
.contacto30 .formulario--contacto{display:grid;gap:var(--e-3)}
.contacto30 .formulario__fila{display:grid;grid-template-columns:1fr 1fr;gap:var(--e-4)}
.contacto30 .campo,.contacto30 .areas legend{font:500 var(--t-xs)/1.2 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase;color:var(--texto)}
.contacto30 .campo__etiqueta{display:block;margin-bottom:var(--e-1)}
.contacto30 .req{color:var(--oro)}
.contacto30 .campo small{text-transform:none;letter-spacing:0;color:var(--texto-suave)}
.contacto30 .formulario--contacto .campo input:not([type=checkbox]):not([type=radio]),.contacto30 .formulario--contacto .campo textarea{width:100%;min-height:2.5rem;background:var(--negro);border:1px solid var(--blanco);border-radius:0;font-size:var(--t-m)}
.contacto30 .areas{grid-template-columns:repeat(6,1fr)}
/* Diap. 30: tres por fila y la última (SS Performance, Proveedor) repartida en dos mitades, como la diapositiva */
.contacto30 .areas .area{grid-column:span 2}
.contacto30 .areas .area:nth-of-type(n+7){grid-column:span 3}
.contacto30 .areas .area span{padding:.55rem .4rem;font-size:var(--t-s);letter-spacing:0;text-transform:none}
.contacto30 .casilla{display:flex;gap:var(--e-3);align-items:flex-start;font-size:var(--t-s);text-transform:none;letter-spacing:0}
.contacto30 .casilla a{text-decoration:underline}
.contacto30 .boton{width:100%;justify-content:center}
.contacto30 .campo--archivos{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:var(--e-2) var(--e-3);position:relative;cursor:pointer;text-align:left;text-transform:none;letter-spacing:0}
.contacto30 .campo--archivos small{display:inline;margin:0}
.contacto30 .archivos__control{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;opacity:0}
.contacto30 .archivos__boton{display:inline-flex;align-items:center;gap:var(--e-2);min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid var(--blanco);background:var(--negro);color:var(--blanco);font:600 var(--t-xs)/1 var(--fuente-texto);letter-spacing:.12em;text-transform:uppercase}
.contacto30 .campo--archivos:hover .archivos__boton{border-color:var(--oro);color:var(--oro)}
.contacto30 .campo--archivos:focus-within .archivos__boton{outline:2px solid var(--oro);outline-offset:2px}
.contacto30 .archivos__nombres{flex-basis:100%;font:400 var(--t-xs)/1.4 var(--fuente-texto);color:var(--texto-suave);overflow-wrap:anywhere}
.contacto30 .archivos__nombres:empty{display:none}
@media (max-width:1099.98px){
  .contacto30{grid-template-columns:minmax(0,1fr);min-height:0}
  .contacto30__hero{padding:calc(var(--alto-cabecera) + var(--e-5)) var(--margen) var(--e-6)}
  .contacto30__marco{margin:0 var(--margen) var(--e-6)}
}
@media (min-width:900px) and (max-width:1099.98px){.contacto30--hablemos .contacto30__hero{padding-top:var(--e-6)}.contacto30--hablemos .contacto30__foto{position:relative;inset:auto;z-index:auto;margin:0 0 var(--e-5)}.contacto30--hablemos .contacto30__foto img{height:auto;aspect-ratio:1/1}.contacto30--hablemos .contacto30__foto::after{display:none}}   /* d30 de 900 a 1099 (V16, DECIDIDO 4514 por la 3558): la foto de la mesa entera (cubo, revista, pie y alfombra, el encuadre de 1440) encima del texto y no detrás; texto sobre negro, sin velo. Solo Contacto, no .ai22; por debajo de 900, lo de siempre */
@media (max-width:560px){
  .contacto30 .formulario__fila{grid-template-columns:1fr}
  .contacto30 .areas{grid-template-columns:repeat(2,1fr)}
  .contacto30 .areas .area,.contacto30 .areas .area:nth-of-type(n+7){grid-column:auto}
}
.contacto30-consulta{padding-block:var(--e-7)}
/* D-PRIN-074/075 (V16, barrido 20-oct): a 1100-1199 px «FRONTIÈRES.» (fr, Nuestros proyectos) y «СТРОИТЕЛЬСТВО» / «НЕДВИЖИМОСТЬ» (ru, Nosotros) salían partidos con guion. */
@media (min-width:1100px) and (max-width:1299px){
  html[lang=fr] .proyectos-heroe__texto .titular--1{font-size:calc(4.2*var(--vw))}   /* a 1280 «FRONTIÈRES.» tenía solo un 3,0 % de margen */
}
@media (min-width:1100px) and (max-width:1199px){
  html[lang=ru] .franja--areas .franja__titulo{font-size:12.4px}
}
/* D-PRIN-118: en ruso, «Исключительные пространства» (palabra de 14 letras que no se parte) se salía de la columna de la lista y la pantalla la cortaba a 1101-1250: de 1100 a 1439 la tercera columna crece (34/46/18 en vez de 34/52/12) */
@media (min-width:1100px) and (max-width:1439.98px){:lang(ru) .proyectos-heroe__fila{grid-template-columns:minmax(0,34fr) minmax(0,46fr) minmax(0,18fr)}}
/* D-PRIN-119: en ruso, «Пространства» (12 letras) no cabía en la columna del titular de la ficha y la foto lo tapaba a todos los anchos de escritorio: tamaño por el ancho para que la palabra más larga quepa (27 px a 1101, 38 a 1440, 53 a 1920) */
@media (min-width:1100px){:lang(ru) .proyecto-b__titular{font-size:calc(var(--art,1) * clamp(1.7rem,calc(3.2*var(--vw)) - .5rem,5rem))}}
/* Diapositiva 28, lo que quedaba (W5 21-oct; CRUCE 1515, 1517 y 2.ª revisión a 390): con el encuadre ancho, el círculo de «Ver vídeo» va
   sobre la tele de la foto (≈79 % del ancho y 42 % del alto; 83 % por debajo de 1350, donde cover recorta más) y no sobre la persona; el lema
   ESPACIOS… sin caja (la diapositiva no la lleva): el contraste con las baldas lo da la sombra de las letras; entre 1100 y 1350, bajo la tele;
   y a menos de 600 px el panorama enseña la Sagrada Familia (≈21 % del ancho del original) */
@media (min-width:1100px){.heroe.heroe--nosotros .nosotros-play{left:79%;top:42%}}
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .nosotros-play{left:83%}.heroe.heroe--nosotros .heroe-palabras{top:60%}}
/* Lema ESPACIOS… (1517 + puente 14:3x, opción a): sin caja ni mancha; el contraste ≥4,5 lo da una viñeta en el borde derecho de la
   foto, en todo el alto (degradado lineal sin aristas, como el fundido a negro de la izquierda), que oscurece las baldas tras el lema como
   en la maqueta. Ni la caja (se leía como caja), ni el contorno de sombras (pegatina, p99 ≈1,9), ni el velo radial (mancha oval) */
.heroe.heroe--nosotros .heroe-palabras::before{display:none}
/* Por tramos, para no oscurecer el cartel de la S ni el fondo del play (puente): entre 1100 y 1349 el lema llega al 18 % de la foto
   desde la derecha y el play cae al 22 %; desde 1350 el lema llega al 15 % y el play, al 26 %, y el cartel empieza al 21 % */
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .heroe__fondo::after{background:
  linear-gradient(270deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.84) 19%,rgba(0,0,0,.3) 23%,rgba(0,0,0,0) 26%),
  linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.78) 5%,rgba(0,0,0,.4) 12%,rgba(0,0,0,.12) 20%,rgba(0,0,0,0) 28%),
  linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),
  linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
@media (min-width:1350px){.heroe.heroe--nosotros .heroe__fondo::after{background:
  linear-gradient(270deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.84) 16%,rgba(0,0,0,.35) 19%,rgba(0,0,0,0) 22%),
  linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.78) 5%,rgba(0,0,0,.4) 12%,rgba(0,0,0,.12) 20%,rgba(0,0,0,0) 28%),
  linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),
  linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
/* Play a partir de 1350: la foto escala por el ancho (cover, 30% 0, desde el 22 %), así que el centro de la tele baja con él: 328/1200 de
   0,78·ancho ≈ 21,3vw (a 1920, 42 % del alto quedaba por encima de la tele) */
@media (min-width:1350px){.heroe.heroe--nosotros .nosotros-play{top:21.3vw}}
.heroe.heroe--nosotros .heroe-palabras{text-shadow:0 0 4px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.85)}
/* Texto de la izquierda (puente 21-oct 15:2x, fila nueva de la diap. 28): con la columna de 37vw los finales de línea caían sobre la pared
   clara de la foto (p99 1,6-2,4 en 161 líneas de 1100 a 2560). Como en la maqueta: la columna (y el titular, y el lema en una línea) acaba
   en el 34vw, y el fundido negro de la izquierda la cubre entera y se apaga del todo en el 38vw, antes de la primera persona de la mesa
   (≈39 %), que no se oscurece. La foto empieza en el 22vw: 34vw = 15,4 % de la foto y 38vw = 20,5 %. */
@media (min-width:1100px){
  .heroe.heroe--nosotros{--nos-columna:calc(34vw - max(var(--margen),(100vw - var(--ancho-maximo)) / 2 + var(--margen)))}
  .heroe.heroe--nosotros .heroe__texto{max-width:min(36rem,var(--nos-columna))}
  .heroe.heroe--nosotros .titular--1{font-size:max(1.8rem,min(4.6rem,var(--nos-columna) / 8.8))}
  .heroe.heroe--nosotros .nosotros-frase{font-size:min(1.8rem,var(--nos-columna) / 22.5);white-space:nowrap}
  .heroe.heroe--nosotros .heroe__fondo::after{background:
    linear-gradient(270deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.84) 16%,rgba(0,0,0,.35) 19%,rgba(0,0,0,0) 22%),
    linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.9) 4%,rgba(0,0,0,.88) 15.4%,rgba(0,0,0,.45) 16.2%,rgba(0,0,0,0) 17.5%),
    linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),
    linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .heroe__fondo::after{background:
  linear-gradient(270deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.84) 19%,rgba(0,0,0,.3) 23%,rgba(0,0,0,0) 26%),
  linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.9) 4%,rgba(0,0,0,.88) 15.4%,rgba(0,0,0,.45) 16.2%,rgba(0,0,0,0) 17.5%),
  linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),
  linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
@media (max-width:599.98px){.panorama img{object-position:21% 50%}}
/* A <600 la frase no cabe en el cielo sin tapar las agujas de la Sagrada Família (la más alta llega al 13 % del alto de la foto: a 144 px
   de tira, 19 px), así que va debajo de la tira, en claro sobre negro (puente 21-oct 15:2x: lo que se enseña son las torres) */
@media (max-width:599.98px){.panorama img{display:block}
  .panorama__frase{position:static;padding:var(--e-5) var(--margen) var(--e-6);color:var(--texto);text-wrap:balance}}
/* Diapositiva 22 (AI Designer en la principal): sobre la maqueta de Contacto (contacto30), el logo, los tres compromisos y los desplegables. */
.ai22__logo{display:block;width:clamp(8rem,12vw,11rem);height:auto;margin:0 0 var(--e-4);mix-blend-mode:lighten}
.ai22__pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e-3);margin:var(--e-3) 0 0;padding:0;list-style:none;text-align:center}
.ai22__pilares li{display:grid;justify-items:center;gap:var(--e-2);font-size:var(--t-s);line-height:1.3}
.ai22__pilares svg{width:2rem;height:2rem;stroke:var(--oro);fill:none;stroke-width:1.5}
.ai22__pilares li+li{border-left:1px solid rgba(242,180,82,.55)}   /* d22: raya dorada entre los tres compromisos, como la diapositiva */
.ai22__pronto{display:flex;align-items:center;gap:1rem;color:var(--oro);letter-spacing:.2em;text-align:center}.ai22__pronto::before,.ai22__pronto::after{content:"";flex:1;height:1px;background:var(--oro);opacity:.75}   /* d22: filetes a los lados de PRÓXIMAMENTE, como la diapositiva (V9 2215) */
.ai22__titulo{margin:0;font:700 clamp(1.8rem,1rem + 2vw,2.8rem)/1 var(--fuente-titulares);text-transform:uppercase}
.ai22__subtitulo{margin:0;font-size:var(--t-m)}
.ai22__ayuda{margin:calc(var(--e-2) * -1) 0 0;font-size:var(--t-xs);color:var(--texto-suave)}
.ai22 .formulario--contacto .campo select{width:100%;min-height:2.6rem;padding:0 2.2rem 0 .8rem;background:var(--negro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .6rem center/.9rem;border:1px solid var(--blanco);border-radius:0;font-size:var(--t-m);appearance:none}
/* Diapositiva 22: fondo negro con haces de luz dorada, el marco del formulario con resplandor y el pie BARCELONA · SSAIDESIGNER.EU de lado a lado. */
.contacto30.ai22{background:radial-gradient(1.5px 1.5px at 72% 14%,rgba(249,200,115,.9),transparent 100%),radial-gradient(1.5px 1.5px at 91% 31%,rgba(249,200,115,.8),transparent 100%),radial-gradient(1.5px 1.5px at 8% 62%,rgba(249,200,115,.8),transparent 100%),radial-gradient(1px 1px at 28% 84%,rgba(249,200,115,.8),transparent 100%),radial-gradient(60% 50% at 95% 10%,rgba(233,164,55,.38),transparent 70%),radial-gradient(50% 45% at 0% 100%,rgba(233,164,55,.3),transparent 70%),radial-gradient(40% 30% at 100% 70%,rgba(242,180,82,.18),transparent 70%),linear-gradient(62deg,transparent 30%,rgba(242,180,82,.16) 34%,transparent 37%),linear-gradient(62deg,transparent 52%,rgba(242,180,82,.1) 55%,transparent 58%),linear-gradient(118deg,transparent 38%,rgba(242,180,82,.14) 46%,transparent 54%),linear-gradient(135deg,#1f1609,#050505 55%,#1a1107)}   /* destellos y haces dorados de la diapositiva 22 */
.ai22 .contacto30__hero{background:transparent}
.ai22 .contacto30__marco{border:2px solid rgba(242,180,82,.9);border-radius:14px;background:rgba(5,5,5,.86);box-shadow:0 0 0 1px rgba(242,180,82,.35),0 0 14px rgba(242,180,82,.55),0 0 38px rgba(242,180,82,.3),inset 0 0 22px rgba(242,180,82,.12)}   /* el marco luminoso de la diapositiva 22 */
.ai22__pie{grid-column:1/-1;display:flex;align-items:center;gap:var(--e-4);margin:0;padding:var(--e-3) var(--margen);border-top:1px solid rgba(242,180,82,.45);font:500 var(--t-xs)/1 var(--fuente-texto);letter-spacing:.18em}
.ai22__pie span:last-child{flex:1;display:flex;align-items:center;gap:var(--e-4);color:var(--oro)}
.ai22__pie span:last-child::before,.ai22__pie span:last-child::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--oro),transparent)}
/* el logo de la diapositiva va suelto sobre el fondo: logo-420.webp es el mismo de SS AI (ssai/img/logo-tarjeta.webp) con transparencia; el de 375 traía su panel marrón. */
.ai22 .contacto30__hero{padding-top:calc(var(--alto-cabecera) + var(--e-5))}   /* el logo arriba y el titular en la primera pantalla */
.ai22__titulo{font-size:clamp(1.5rem,.7rem + calc(1.55*var(--vw)),2.4rem);white-space:nowrap}   /* «REGÍSTRATE Y HABLEMOS» en una línea */
@media (max-width:599.98px){.ai22__titulo{white-space:normal}.ai22__titulo .contacto30__oro{display:block}}   /* a 390, «REGÍSTRATE / Y HABLEMOS» con la «Y» abajo, no colgando (SEG-p22f-diap22-390-6) */
/* Diapositiva 22 a 1440 (medida sobre la diapositiva llevada a 1440×810; caso e2e/ai22-tarjeta-medida.js): la tarjeta del formulario es ancha
   (≈63 % de la pantalla, de x≈525 a 1424) y baja de y≈62 a ≈747, así que todo, con el pie BARCELONA · SSAIDESIGNER.EU, cabe en una pantalla;
   el título «REGÍSTRATE Y HABLEMOS» mide ≈625 px. Desde 900 px (W1 22-oct: a 1024 el formulario caía debajo; la diapositiva es de dos columnas): columnas 37/63, sin alto mínimo, campos y huecos compactos. */
@media (min-width:900px){
  .contacto30.ai22{grid-template-columns:minmax(0,37fr) minmax(0,63fr);min-height:0}
  .ai22 .contacto30__hero{padding-top:var(--e-3);padding-bottom:var(--e-2)}   /* la sección ya empieza bajo la cabecera: sin volver a sumar su alto (el logo sube a y≈100, como la diapositiva) */
  .ai22__logo{width:clamp(8rem,11.8vw,11rem);margin-bottom:var(--e-2)}   /* ≈170 px a 1440, como la diapositiva (nota de V6) */
  .ai22 .contacto30__titular{font-size:clamp(2.4rem,calc(3.95*var(--vw)),4.4rem)}   /* «FORMA PARTE DEL FUTURO DEL DISEÑO.» ≈416 px a 1440 */
  .ai22 .contacto30__marco{margin:var(--e-2) var(--margen) var(--e-2) 0;padding:clamp(.7rem,1vw,1.1rem) clamp(1rem,1.8vw,2rem)}
  .ai22 .formulario--contacto{gap:.35rem}
  .ai22 .formulario__fila{gap:var(--e-3)}
  .ai22 .campo__etiqueta{margin-bottom:.2rem}
  .ai22 .formulario--contacto .campo input:not([type=checkbox]):not([type=radio]),.ai22 .formulario--contacto .campo select{min-height:2rem;height:2rem}
  .ai22 .formulario--contacto .campo textarea{min-height:2.8rem;height:2.8rem}
  .ai22__titulo{font-size:clamp(2rem,calc(3.2*var(--vw)),3.4rem)}
  .ai22 .boton{min-height:2.6rem}
  /* Como la diapositiva: campos con borde dorado y esquinas suaves, texto de la izquierda mayor. */
  .ai22 .campo,.ai22 .campo__etiqueta{font-size:.82rem}
  .ai22 .formulario--contacto .campo input:not([type=checkbox]):not([type=radio]),.ai22 .formulario--contacto .campo select,.ai22 .formulario--contacto .campo textarea{border-color:rgba(242,180,82,.6);border-radius:6px}
  .ai22 .contacto30__texto p{font-size:var(--t-m);line-height:1.4}
}
/* Diap. 22, revision3 a 1440 (cx-p27-2): casillas oscuras con borde blanco redondeado, «Enviar registro» con el degradado naranja-crema de la diapositiva y letra mayor espaciada, y la nota «Usaremos tus datos…» a la izquierda bajo el botón */
.ai22 .casilla input{appearance:none;flex:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;margin:0;border:1.5px solid var(--blanco);border-radius:4px;background:var(--negro);cursor:pointer}
.ai22 .casilla input:checked::after{content:"";width:.3rem;height:.6rem;margin-top:-.12rem;border:solid var(--blanco);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ai22 .casilla input:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.ai22 .formulario--contacto button.boton{border:1px solid var(--oro-claro);background:var(--oro-degradado);box-shadow:none;color:var(--tinta-sobre-oro);font:500 var(--t-m)/1.1 var(--fuente-texto);letter-spacing:.14em}
.ai22 .formulario__nota{text-align:left}
/* A todos los anchos, como la diapositiva 22: etiquetas en minúscula normal («Tu perfil *», no versalitas espaciadas) y el botón en píldora (W1 22-oct, visto a 1024). */
.ai22 .campo,.ai22 .campo__etiqueta{text-transform:none;letter-spacing:0}
.ai22 .boton{border-radius:999px}
.ai22 .formulario--contacto .campo input:not([type=checkbox]):not([type=radio]),.ai22 .formulario--contacto .campo select,.ai22 .formulario--contacto .campo textarea{border-color:rgba(242,180,82,.6);border-radius:6px}   /* también por debajo de 900 (SEG-cx-p20-1-diap22-768-2): campos con borde dorado y esquinas suaves, como la diapositiva */

/* Diapositiva 31, Contacto entero (V6, puente 2261): héroe con Ángel, cuatro valores, «Empieza tu proyecto», el formulario de
   siempre debajo del banner y, al final, mapa, preguntas frecuentes, datos de contacto y «Síguenos». */
.contacto31-heroe{position:relative;isolation:isolate;display:flex;align-items:center;min-height:min(100svh,52rem);padding:calc(var(--alto-cabecera) + var(--e-6)) 0 var(--e-6);background:var(--negro);color:var(--texto)}
.contacto31-heroe__foto{position:absolute;inset:0;margin:0;z-index:-1}
.contacto31-heroe__foto img{width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.contacto31-heroe__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,0) 68%)}
.contacto-fotos{display:contents}
.contacto-fotos img{cursor:zoom-in}
/* El bloque de texto del héroe y del banner no tapa la foto: el clic la atraviesa (los enlaces y botones siguen pulsables) */
.contacto31-heroe__texto,.contacto31-banner__fila{pointer-events:none}
.contacto31-heroe__texto a,.contacto31-heroe__texto button,.contacto31-banner__fila a,.contacto31-banner__fila button{pointer-events:auto}
.contacto31-heroe__foto::after,.contacto31-banner__foto::after{pointer-events:none}
.contacto31-heroe__texto{display:grid;gap:var(--e-4);justify-items:start}
.contacto31-heroe__texto>*{margin:0;max-width:30rem}
.contacto31-heroe__antetitulo{color:var(--oro);font:400 var(--t-s)/1 var(--fuente-texto);letter-spacing:.14em;text-transform:uppercase}
.contacto31-heroe__antetitulo::after,.contacto31-heroe__servicios::after{content:"";display:block;width:3.5rem;height:2px;margin-top:var(--e-3);background:var(--oro)}
/* d31: los trazos finos de los titulares, más gruesos como la maqueta (la serif de la diapositiva tiene menos contraste que Bodoni Moda a su tamaño óptico automático): opsz 6 (más robusto que el opsz 9 de los números) del resto de la web (V9 SEG-cx-p21-1-diap31-1024-4, DECIDIDO 3363; W10). */
.contacto31-heroe__titular{font:600 clamp(2.2rem,1rem + 3.2vw,4rem)/1.05 var(--fuente-titulares);text-transform:uppercase;max-width:none;font-variation-settings:"opsz" 6}
@media (min-width:1000px) and (max-width:1279.98px){.contacto31-heroe__titular{font-size:min(clamp(2.2rem,1rem + calc(3.2*var(--vw)),4rem),calc(calc(4.99*var(--vw)) - 6.5px))}}   /* d31 (V16): de 1000 a 1279 la foto de Ángel va ajustada al ancho (1378×891 en cover) y su cabeza empieza en ≈48 %; el titular es «EXCEPCIONALES.» llegaba a ella (509 frente a ≈491 px a 1024). Tope 4,99vw−6,5px: 44,6 px a 1024, 48,4 a 1100; desde 1280 y en móvil, sin cambio */
.contacto31-heroe__servicios{font:400 var(--t-s)/1.6 var(--fuente-texto);letter-spacing:.14em;text-transform:uppercase}
.contacto31-heroe__entradilla{font-size:var(--t-s);line-height:1.5}
.contacto31-heroe__lema{font:italic 400 var(--t-l)/1.3 var(--fuente-titulares)}
.contacto31-valores{background:var(--negro);color:var(--texto);border-block:1px solid rgba(255,255,255,.12)}
.contacto31-valores__lista{list-style:none;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.contacto31-valor{display:grid;justify-items:center;align-content:start;gap:var(--e-2);padding:var(--e-5) var(--e-3);text-align:center}
.contacto31-valor+.contacto31-valor{border-left:1px solid rgba(255,255,255,.14)}
.contacto31-valor>svg{width:2.4rem;height:2.4rem;color:var(--oro)}
.contacto31-valor__titulo{margin:0;font:500 var(--t-m)/1.2 var(--fuente-titulares);text-transform:uppercase;letter-spacing:.04em;font-variation-settings:"opsz" 6}
.contacto31-valor p{margin:0;max-width:15em;font-size:var(--t-s);line-height:1.4}
.contacto31-banner{position:relative;isolation:isolate;padding:var(--e-7) 0;color:var(--texto);background:var(--negro)}
.contacto31-banner__foto{position:absolute;inset:0;margin:0;z-index:-1}
.contacto31-banner__foto img{width:100%;height:100%;object-fit:cover;object-position:60% 90%}   /* d31 (puente 4873/4875/4881, V16): la esfera de latón sobre la cornisa a la vista, como la diapositiva 31 (a 50 % la franja de 1440×194 la cortaba por abajo). El original ya va a todo su ancho (2169 → 1440, ×0,664): la diap. es más abierta (≈×0,54) y el original no llega a esa apertura */
@media (min-width:1920px){.contacto31-banner__foto img{object-position:60% 86%}}   /* a ≥1920 la franja (194 px de alto) recoge menos foto: un poco más arriba para que la esfera no toque el borde (medido a 1920 y 2356; a 2356 la foto va a ×1,09, el máximo del original con la regla 4912) */
.contacto31-banner__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25) 60%,rgba(0,0,0,.45))}
.contacto31-banner__fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e-5)}
.contacto31-banner__texto{display:grid;gap:var(--e-2)}
.contacto31-banner__texto p,.contacto31-banner__accion p{margin:0;font-size:var(--t-m);line-height:1.35}
.contacto31-banner__titular{margin:0;font:400 clamp(1.8rem,1rem + 2vw,2.8rem)/1.05 var(--fuente-titulares);text-transform:uppercase;font-variation-settings:"opsz" 6}
.contacto31-banner__accion{display:grid;justify-items:center;gap:var(--e-2);text-align:center}
.contacto30--31{display:block;min-height:0}
.contacto30--31 .contacto30__marco{max-width:56rem;margin-inline:auto}
/* V16 22-oct (DECIDIDO 4206 sobre 2261): el formulario vuelve a las dos columnas de la diapositiva 30, «Hablemos…» con la foto de la mesa a la izquierda
   y el marco a la derecha; ya no va bajo la cabecera, así que el héroe pierde el hueco de la cabecera. Por debajo de 1100 se apila (regla de .contacto30). */
.contacto30--31.contacto30--hablemos{display:grid;min-height:0}
.contacto30--hablemos .contacto30__hero{padding-top:var(--e-8)}
.contacto30--hablemos .contacto30__marco{max-width:none;margin:var(--e-6) var(--margen) var(--e-6) 0}
@media (min-width:1100px){   /* los tres párrafos al tamaño y la medida de la diapositiva 30 (≈16 px en una columna de ≈29rem a 1440) */
  .contacto30--hablemos .contacto30__texto p{max-width:29rem;font-size:var(--t-m)}   /* solo los párrafos: el titular conserva su ancho y va en 3 líneas */
}
@media (max-width:1099.98px){
  .contacto30--hablemos .contacto30__hero{padding-top:var(--e-6)}
  .contacto30--hablemos .contacto30__marco{margin:0 var(--margen) var(--e-6)}
}
/* Formulario de /contacto como la diap. 30 (revision3 1024/768): casilla oscura con borde claro, enlace blanco subrayado y «Enviar consulta» naranja sin halo, texto centrado y flecha al borde derecho */
.contacto30--31 .casilla a{color:var(--blanco);text-decoration:underline;text-underline-offset:.15em}
.contacto30--31 .casilla input{appearance:none;flex:none;display:grid;place-items:center;width:1.4rem;height:1.4rem;margin:0;border:1px solid rgba(255,255,255,.8);border-radius:0;background:var(--negro);cursor:pointer}
.contacto30--31 .casilla input:checked::after{content:"";width:.35rem;height:.7rem;margin-top:-.15rem;border:solid var(--blanco);border-width:0 2px 2px 0;transform:rotate(45deg)}
.contacto30--31 .casilla input:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.contacto30--31 .formulario--contacto button.boton{position:relative;padding-inline:3.5rem;background:var(--oro-degradado);box-shadow:none;font:400 var(--t-m)/1.1 var(--fuente-texto);letter-spacing:.02em}
.contacto30--31 .formulario--contacto button.boton svg{position:absolute;right:1.25rem;top:50%;transform:translateY(-50%)}
.contacto31-final{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--negro);color:var(--texto)}
.contacto31-mapa{margin:0;min-height:100%}
.contacto31-mapa img{width:100%;height:100%;object-fit:cover}
/* VS-V16 d31 (2.ª revisión W13/V9/W7): con las 4 preguntas abiertas la caja del mapa crecía y object-fit:cover recortaba la etiqueta del estudio: desde 1280 el mapa va con su proporción (1504×1046, orden 4890) arriba de su columna y no se estira. Dianas ≥24 px (V9 medir-r2-d30-A): «Conoce al equipo» 129×16, teléfono 106×21, correo e Instagram 29×23 a 390 y 1440. */
@media (min-width:768px){.contacto31-final{background:linear-gradient(90deg,#474747 50%,var(--negro) 50%)}.contacto31-mapa{min-height:0;align-self:start}.contacto31-mapa img{height:auto;object-fit:contain}}   /* d31 (VS 23-oct): desde 768, no 1280: a 1100 con las 4 FAQ abiertas el mapa pasaba de 409 a 688 px (barras grises) */
.sede__equipo{display:inline-block;padding-block:.35rem;margin-block:-.35rem}
.contacto31-datos li>a{display:inline-flex;align-items:center;min-height:24px}
.contacto31-siguenos li>a{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}
.contacto31-final__columna{display:grid;gap:var(--e-5);align-content:start;padding:var(--e-5) var(--margen)}
.contacto31-final__titulo{margin:0 0 var(--e-3);color:var(--oro);font:500 var(--t-m)/1.2 var(--fuente-titulares);text-transform:uppercase;letter-spacing:.04em}
.contacto31-faq__item{border:1px solid rgba(255,255,255,.18);margin-bottom:var(--e-2)}
.contacto31-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--e-3);padding:var(--e-2) var(--e-3);cursor:pointer;list-style:none;font-size:var(--t-s)}
.contacto31-faq__item summary::-webkit-details-marker{display:none}
.contacto31-faq__item summary svg{flex:none;width:1rem;height:1rem;transition:transform .2s}
.contacto31-faq__item[open] summary svg{transform:rotate(180deg)}
.contacto31-faq__item p{margin:0;padding:0 var(--e-3) var(--e-3);font-size:var(--t-s);line-height:1.5}
.contacto31-final__fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--e-5)}
.contacto31-datos ul,.contacto31-siguenos ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--e-2)}
.contacto31-datos li{display:flex;align-items:center;gap:var(--e-3);font-size:var(--t-s)}
.contacto31-datos svg,.contacto31-siguenos svg{flex:none;width:1.4rem;height:1.4rem;color:var(--oro)}
.contacto31-datos a,.contacto31-siguenos a{color:inherit;text-decoration:none}
.contacto31-siguenos{padding-left:var(--e-5);border-left:1px solid rgba(255,255,255,.18)}
.contacto31-siguenos ul{grid-auto-flow:column;justify-content:start}
.contacto31-siguenos svg{color:var(--texto);width:1.8rem;height:1.8rem}
.contacto31-siguenos__red{display:inline-flex}   /* LinkedIn, YouTube y Pinterest de la diap. 31, sin enlace hasta tener sus direcciones (DECIDIDO 4249) */
@media (max-width:767.98px){
  .contacto31-heroe{display:block;min-height:0;padding:0 0 var(--e-5)}   /* en móvil, Ángel arriba y entero; el texto debajo */
  .contacto31-heroe__foto{position:relative;inset:auto;z-index:auto;aspect-ratio:4/3}
  .contacto31-heroe__foto img{object-position:58% 45%}
  .contacto31-heroe__foto::after{background:linear-gradient(180deg,rgba(0,0,0,0) 60%,var(--negro))}
  .contacto31-heroe__texto{padding-top:var(--e-4)}
  .contacto31-valores__lista{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contacto31-valor:nth-child(3){border-left:0}
  .contacto31-valor:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14)}
  .contacto31-final,.contacto31-final__fila{grid-template-columns:minmax(0,1fr)}
  .contacto31-siguenos{padding-left:0;border-left:0}
}
/* Diapositiva 28, héroe más bajo y más cerca de la maqueta (V6 y puente, 21-oct 16:5x): en la maqueta (1536×1024) el héroe mide el 38,3 % del
   ancho (≈552 a 1440; el servido, 701) con la foto escalada por el ANCHO desde el 22 % (cover recorta por abajo), el texto más compacto
   (interlínea 1,22, huecos de .45rem, párrafos a ≈15 px) y la franja de valores más baja (texto a 1rem (≥16 px a 1440, fila 6), sin relleno vertical en cada columna).
   Con la foto escalada siempre por el ancho, el play va sobre la tele con las cuentas de desde 1350 (21,3vw) a todos los anchos de escritorio. */
@media (min-width:1100px){
  .heroe.heroe--nosotros{min-height:38.3vw}
  .heroe--nosotros .heroe__contenido{padding-top:1.4vw}
  .heroe--nosotros .heroe__texto>*+*{margin-top:.45rem}
  .heroe--nosotros .nosotros-texto{line-height:1.22;font-size:clamp(.8rem,.72rem + .24vw,.95rem)}
  .heroe.heroe--nosotros .nosotros-play{left:79%;top:21.3vw}
  .heroe.heroe--nosotros .heroe-palabras{top:14%}
  .franja--areas .franja__texto{font-size:1rem;line-height:1.3}
  .franja--areas .franja__titulo{font-size:.78rem}
  .franja--areas .franja__item{padding-block:0}
}
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .nosotros-play{left:76%}}
@media (min-width:1100px) and (max-width:1169.98px){.heroe.heroe--nosotros .nosotros-play{left:73%}}   /* a 1100-1159 (en)  el velo de las palabras rozaba «Ver vídeo» (4×78 px, w5-28p-con) */   /* el lema, de ancho fijo, llegaría al play a 79 % */

/* Diap. 28, menores de V6 (21-oct 17:3x): titular más cerca del ancho del texto como la maqueta (columna/8,8) y columna ESPACIOS… más ligera y con aire. */
@media (min-width:1100px){.heroe.heroe--nosotros .heroe-palabras .palabras{font-weight:400;gap:.7rem;letter-spacing:.26em}}


/* «El proyecto» como la diapositiva (orden de Víctor, 21-oct 16:3x; W10): a 1440 UNA pantalla en 3 columnas. Izquierda «← Todos los proyectos», antetítulo, nombre,
   «El proyecto» y texto compacto; centro «La distribución» ARRIBA y el plano grande, sin panel crema ni hueco encima; derecha las fotos de igual alto con su rótulo
   y un margen alrededor. No toca «plano-grande» (Santa María) ni la galería de estancias (.proyecto-c). */
.proyecto-b__volver{margin-bottom:var(--e-5);font-size:var(--t-xs)}
.proyecto-b__volver svg{width:1.2rem;height:1.2rem}
.proyecto-antetitulo{margin:0 0 var(--e-2);font:400 var(--t-xs)/1.4 var(--fuente-titulares);letter-spacing:.28em;text-transform:uppercase}
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){align-items:start}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano{justify-content:flex-start;background:none;padding:clamp(2rem,3vw,3rem) 0 var(--e-4);align-self:stretch}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano>.proyecto-subtitulo{color:var(--oro-sobre-claro);font-size:var(--t-s);letter-spacing:.32em;text-transform:uppercase}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano img{box-shadow:none}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__fotos{align-self:stretch;gap:clamp(.4rem,.6vw,.6rem);padding:clamp(.8rem,1.2vw,1.2rem) clamp(.6rem,1vw,1rem) clamp(.8rem,1.2vw,1.2rem) 0}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande) .proyecto-b__texto .proyecto-texto{margin-top:var(--e-3);font-size:clamp(.78rem,.3rem + .65vw,1rem);line-height:1.26}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande) .proyecto-b__texto .proyecto-texto p{margin-bottom:var(--e-3)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande) .proyecto-b__texto .proyecto-cifras{margin-top:var(--e-4)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande) .proyecto-b__texto .proyecto-b__titular{margin-bottom:var(--e-3)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto{padding-block:clamp(1.4rem,2vw,2rem) var(--e-5)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref{margin-bottom:var(--e-3)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref::after{margin-top:var(--e-3)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo{font-size:var(--t-xs);margin:0}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras>div{padding-inline:clamp(.3rem,.45vw,.6rem)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dt{font-size:.62rem;letter-spacing:.02em}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dd{font-size:clamp(1.05rem,.4rem + .85vw,1.6rem)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .72))))}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref{font-size:clamp(.85rem,.5rem + .35vw,1.1rem);letter-spacing:.2em}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-b__volver{color:var(--oro-sobre-claro);font-size:var(--t-s)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto{position:relative;z-index:1}
}
/* «PROYECTO» no toca el plano (V3 17:1x): hueco a la derecha de la columna de texto, como la diapositiva. */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto{padding-right:clamp(1.2rem,2vw,2rem)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){background:var(--blanco)}
}
/* Grovenor servido (V6 17:2x): cifras en una línea y con aire junto a los filetes; pie del plano pequeño y gris azulado como la maqueta; columna de texto
   mínima de 20rem para que la sección quepa en una pantalla. */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dd{white-space:nowrap}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras>div{padding-inline:clamp(.4rem,.7vw,.8rem)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano figcaption{color:#7a869e;font-size:var(--t-2xs)}
}

/* Diap. 28 a 900-1099 (CRUCE 1611-1613, DECIDIDO 2321): como la diapositiva, el círculo de play sobre la tele de la foto y el lema ESPACIOS… a la derecha de la foto, no
   estático bajo el texto. La foto va a todo el ancho arriba (tele al 74 % y ≈29,3vw, medida en w5-28-cap1024). */
@media (min-width:900px) and (max-width:1099.98px){
  .heroe.heroe--nosotros .nosotros-play{display:block;left:74%;top:29.3vw}
  .heroe.heroe--nosotros .nosotros-play .play__circulo{width:4rem;height:4rem}
  .heroe.heroe--nosotros .heroe-palabras{position:absolute;display:block;margin:0;right:var(--margen);top:8vw;text-align:left;text-shadow:0 0 4px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.85)}
}
/* Ancho máximo del titular del héroe por ficha (campo titular_ancho de su portada, em): Marina Gate 7 em parte «Marina / Gate / Dubái» como su diapositiva. */
@media (min-width:1100px){.proyecto-titular{max-width:var(--titular-ancho,none)}}
/* Héroe de la ficha como su diapositiva 1 (medidas de V9 a 1440 sobre Palau, SA, MG y RB, 17:4x): la ficha de datos (ubicación, tipo, servicios, superficie,
   estilo) en UNA fila de 5 columnas (MG dejaba ESTILO en 2.ª fila) y los botones a 44 px de alto como los de la maqueta (servido: 41). */
@media (min-width:1100px){
  .heroe--proyecto .proyecto-datos{flex-wrap:nowrap}
  .heroe--proyecto .proyecto-datos>div{min-width:0;padding-inline:clamp(.7rem,1.4vw,1.6rem)}
  .heroe--proyecto .boton{min-height:2.75rem}
}
/* «El proyecto» (V10 sobre RB servida, puente 18:3x): el titular ≈20 % menor que la diapositiva y las cifras menores: letra algo mayor (0,62 em por letra de su palabra más larga) y un hueco
   de 1,2-1,6 rem a la izquierda del plano para que «PROYECTO» no lo toque; cifras a ≈22 px a 1440. */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano{padding-left:clamp(.8rem,1.4vw,1.6rem)}
}
/* Dos fotos (RB, Palau, SA): casi iguales en alto como la diapositiva (≈325 y ≈316 a 1440), no 56/44 (V10). */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__fotos:not(:has(>figure:nth-child(3))){grid-template-rows:repeat(2,minmax(0,1fr))}
}
/* Héroe como su diapositiva 1 (W8 l.699 vía V9/V6, medida en Londres y MG): titular más negro (800; TS Didot trae 400-900), subtítulo con poco espaciado y el
   acento del color de su ficha (--acento-titular de su portada: Londres #FEE902). */
@media (min-width:1100px){
  .heroe--proyecto .proyecto-titular{font-weight:800}
  .heroe--proyecto .proyecto-subtitulo{letter-spacing:.1em}
}
.proyecto-titular[style*="--acento-titular"] .acento{background:none;-webkit-text-fill-color:var(--acento-titular);color:var(--acento-titular)}



/* Dibujos menores bajo el plano grande (Escuela, diapositiva 2: «Planta de cubiertas» y «Sección»; V7 21-oct): dos figuras en fila, pie centrado debajo. */
.proyecto-b__planos-menores{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--e-4);align-items:end;margin-top:var(--e-4);width:100%}
.proyecto-b__planos-menores figure{margin:0}
.proyecto-b__planos-menores img{width:100%;height:auto;display:block;box-shadow:none}
.proyecto-b__planos-menores figcaption{margin-top:var(--e-2);text-align:center;font-size:var(--t-xs);letter-spacing:.12em;text-transform:uppercase}
@media (max-width:599.98px){.proyecto-b__planos-menores{grid-template-columns:minmax(0,1fr)}}
/* Héroe como su diapositiva 1 (V6 OK 21-oct 19:4x, medido en la maqueta de RB: acento: oro de sistema (DECIDIDO 4428); velo izquierdo más oscuro; titular 900 y algo mayor). */
@media (min-width:1100px){
  .heroe--proyecto .proyecto-titular{font-weight:900}
}

/* Todo lo de Santa Anna lleva delante [data-ficha="barcelona"] (el <main> de _proyecto), SOLO en su ficha: sus reglas del héroe, la franja y las galerías tienen selectores comunes y no deben tocar las otras 10 fichas (md5 w8-sa5). */
/* ---------- Santa Anna, diapositiva 2 (VS 21-oct, «vsmal-2»): héroe y franjas a 768, historia, anteproyecto, espacios y prensa a 768-1099 ---------- */
/* Héroe: «Ver vídeo del proyecto» como su diapositiva: círculo dorado con play y texto blanco, sin caja (era el <button> gris del navegador con texto oro). */
[data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto{background:none;border:0;color:var(--blanco);font-size:1.15rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}
[data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto .boton__icono{color:var(--oro);width:2.9rem;height:2.9rem}
[data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto .boton__icono svg{color:var(--blanco)}
[data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto .boton__principal{font-size:1em;letter-spacing:.06em}
/* A 768 la franja de datos en 5 columnas y el pie en UNA línea, como la diapositiva (salían 2×4 y dos líneas). */
@media (min-width:600px) and (max-width:899.98px){
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos{flex:1 1 auto;flex-wrap:nowrap;gap:0}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos>div{flex:1 1 0;min-width:0;padding:0 .7rem;border-left:1px solid var(--linea)}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos>div:first-child{padding-left:0;border-left:0}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos dt{font-size:.58rem;letter-spacing:.08em}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos dd{font-size:.74rem}
  [data-ficha="barcelona"] .heroe--proyecto .banda__fila{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;padding-block:.75rem;padding-inline:.9rem;font-size:.5rem;letter-spacing:.03em;text-align:left;white-space:nowrap}
  [data-ficha="barcelona"] .heroe--proyecto .banda__frase{order:0;flex:0 1 auto;justify-content:center;gap:.4rem;font-size:.85rem;letter-spacing:.02em}
  [data-ficha="barcelona"] .heroe--proyecto .banda__frase::before,[data-ficha="barcelona"] .heroe--proyecto .banda__frase::after{width:1rem}
}

/* La historia de una transformación (2.1A): kicker y titular centrados en UNA línea, 5 tarjetas 3+2 con su ilustración a la derecha y los botones con su
   icono y su barra de oro, como la diapositiva. El titular lleva el tracking cerrado de su Didot condensado (no hay fuente condensada: se aproxima). */
[data-ficha="barcelona"] .proyecto-diapositiva--pasos{background:#fefefe;padding-block:clamp(1rem,2.2vw,2.2rem) clamp(.8rem,1.6vw,1.6rem)}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-ref{display:none}
[data-ficha="barcelona"] .proyecto-pasos__cabeza{text-align:center}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-antetitulo{margin:0 0 .5rem;color:var(--oro-sobre-claro);font:500 clamp(.62rem,.5rem + .4vw,.95rem)/1.2 var(--fuente-texto);letter-spacing:.5em}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-b__titular{margin:0;font-size:calc(var(--art,1) * clamp(1.7rem,calc(4.1*var(--vw)),4.6rem));font-weight:600;letter-spacing:-.035em;line-height:1}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-subtitulo{margin-top:.4rem;color:var(--tinta);font:400 clamp(.78rem,.5rem + .9vw,1.45rem)/1.3 var(--fuente-texto);letter-spacing:.24em;text-transform:none}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-subtitulo::after{display:block;width:3rem;height:2px;margin:.7rem auto 0;background:var(--oro)}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-texto{margin:.8rem auto 0;max-width:56rem;font:400 clamp(.8rem,.5rem + .65vw,1.3rem)/1.4 var(--fuente-texto)}
[data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-texto p{margin:0}
@media (min-width:600px){
  [data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-b__titular{white-space:nowrap}
  [data-ficha="barcelona"] .proyecto-pasos{padding-inline:clamp(.75rem,2.9vw,3rem)}
  [data-ficha="barcelona"] .proyecto-pasos__lista{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.4rem,.8vw,.9rem)}
  [data-ficha="barcelona"] .proyecto-paso{grid-column:span 4}
  [data-ficha="barcelona"] .proyecto-paso:nth-child(4){grid-column:span 7}
  [data-ficha="barcelona"] .proyecto-paso:nth-child(5){grid-column:span 5}
}
[data-ficha="barcelona"] .proyecto-paso{position:relative;display:flex;align-items:stretch;padding:0;gap:0;overflow:hidden;background:#fbf8f3}
[data-ficha="barcelona"] .proyecto-paso__cuerpo{position:relative;z-index:1;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.3rem;padding:clamp(.6rem,1.4vw,1.4rem)}
[data-ficha="barcelona"] .proyecto-paso__numero{-webkit-text-stroke:.045em currentColor;color:var(--oro-sobre-claro);font:700 clamp(1.1rem,.7rem + 1.2vw,2.1rem)/1 var(--fuente-titulares)}
[data-ficha="barcelona"] .proyecto-paso__titulo{margin:0;font:500 clamp(.9rem,.55rem + 1.1vw,1.9rem)/1.02 var(--fuente-titulares);letter-spacing:-.03em;text-transform:uppercase}
[data-ficha="barcelona"] .proyecto-paso__cuerpo>p{margin:0;font:400 clamp(.72rem,.5rem + .5vw,1.15rem)/1.25 var(--fuente-titulares)}
[data-ficha="barcelona"] .proyecto-paso__foto{margin:0}
[data-ficha="barcelona"] .proyecto-paso__foto img{width:100%;height:100%;object-fit:contain}
[data-ficha="barcelona"] .proyecto-paso--icono .proyecto-paso__foto{flex:0 0 clamp(3.4rem,10vw,10rem);display:flex;align-items:center;padding-right:clamp(.6rem,1.6vw,1.6rem)}
[data-ficha="barcelona"] .proyecto-paso--icono .proyecto-paso__foto img{height:auto}
[data-ficha="barcelona"] .proyecto-paso--foto .proyecto-paso__foto{position:absolute;inset:0 0 0 auto;width:28%}
[data-ficha="barcelona"] .proyecto-paso--foto .proyecto-paso__foto img{object-fit:cover}
[data-ficha="barcelona"] .proyecto-paso--foto .proyecto-paso__cuerpo{padding-right:26%}
[data-ficha="barcelona"] .proyecto-paso:nth-child(3) .proyecto-paso__titulo{font-size:clamp(.8rem,.5rem + calc(.95*var(--vw)),1.6rem);white-space:nowrap}   /* «EL PROYECTO TERMINADO» en una línea como su diapositiva (W7 21:28) */
[data-ficha="barcelona"] .proyecto-paso:nth-child(5) .proyecto-paso__foto{flex-basis:clamp(5rem,15vw,15rem)}   /* el play de la 05 grande, como su diapositiva (W7 21:28) */
[data-ficha="barcelona"] .proyecto-paso:nth-child(3) .proyecto-paso__foto{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%)}
[data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__foto{width:52%}
[data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__cuerpo{padding-right:54%}
[data-ficha="barcelona"] .proyecto-paso__botones{display:flex;flex-direction:column;gap:clamp(.25rem,.5vw,.5rem);margin-top:auto;padding-top:.5rem}
[data-ficha="barcelona"] .proyecto-paso__boton{display:flex;align-items:center;gap:clamp(.35rem,.8vw,.8rem)}
[data-ficha="barcelona"] .proyecto-paso__icono{flex:none;width:clamp(1.5rem,2.8vw,2.7rem);height:clamp(1.5rem,2.8vw,2.7rem);color:var(--oro-sobre-claro)}
[data-ficha="barcelona"] .proyecto-paso__icono svg{display:block;width:100%;height:100%;stroke-width:1.9}
[data-ficha="barcelona"] .proyecto-paso__boton .boton{flex:0 1 11rem;min-width:0;min-height:0;padding:clamp(.3rem,.6vw,.7rem) .6rem;border:0;border-radius:0;background:var(--oro-degradado);box-shadow:none;color:var(--tinta-sobre-oro);font:500 clamp(.58rem,.4rem + .48vw,1rem)/1.1 var(--fuente-texto);letter-spacing:.1em}
[data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__boton .boton{flex:1 1 auto}
[data-ficha="barcelona"] .proyecto-paso:nth-child(5) .proyecto-paso__boton .boton{flex:0 1 14rem}
[data-ficha="barcelona"] .proyecto-paso__boton .boton:hover{transform:none}
/* V12 15:2x: el apagado de los vídeos pendientes de SA (W8) va en la regla común de sistema.css */
@media (max-width:599.98px){
  [data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__foto{width:38%}
  [data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__cuerpo{padding-right:40%}
  [data-ficha="barcelona"] .proyecto-paso:nth-child(4) .proyecto-paso__titulo{font-size:.95rem}
}

/* «El anteproyecto», «El diseño por estancias» y «Los espacios» (2.1B, 2.1C, 2.1E) de 700 a 1099: el texto a la izquierda y las fotos a la derecha en una pantalla, como
   sus diapositivas (por debajo de 1100 todo se apilaba: 1015 a 1270 px). La palabra del acento va en su propia línea («EL / ANTEPROYECTO», «LOS / ESPACIOS»). */
[data-ficha="barcelona"] .proyecto-c__texto{container-type:inline-size}
[data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-b__titular .acento{display:block}
[data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.2rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .8))))}
[data-ficha="barcelona"] .proyecto-c__texto .proyecto-b__volver{margin-bottom:var(--e-5);color:var(--oro-sobre-claro);font-size:var(--t-xs)}
[data-ficha="barcelona"] .proyecto-c__texto .proyecto-b__volver svg{width:1.2rem;height:1.2rem}
/* Los pies en caja blanca con letra oscura (rotulos: caja) */
[data-ficha="barcelona"] .proyecto-c--rotulos-caja .proyecto-c__galeria figure:has(>figcaption)::after{display:none}
[data-ficha="barcelona"] .proyecto-c--rotulos-caja .proyecto-c__galeria figcaption{left:0;bottom:.7rem;padding:.45rem .9rem;background:var(--blanco);color:var(--tinta);text-shadow:none;font:500 clamp(.6rem,.45rem + .35vw,.85rem)/1 var(--fuente-titulares);letter-spacing:.18em}
/* Los pies en letra blanca de la Didot, sin degradado (rotulos: texto) */
[data-ficha="barcelona"] .proyecto-c--rotulos-texto .proyecto-c__galeria figure:has(>figcaption)::after{display:none}
[data-ficha="barcelona"] .proyecto-c--rotulos-texto .proyecto-c__galeria figcaption{left:.6rem;bottom:.45rem;font:400 clamp(.62rem,.45rem + .4vw,.9rem)/1 var(--fuente-titulares);letter-spacing:.04em;text-shadow:0 0 6px rgba(0,0,0,.55)}
/* «foto-grande»: la 1.ª foto a todo el ancho y las demás, en fila debajo */
[data-ficha="barcelona"] .proyecto-diapositiva .proyecto-c--foto-grande .proyecto-c__galeria--4{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1.25fr) minmax(0,1fr)}
[data-ficha="barcelona"] .proyecto-c--foto-grande .proyecto-c__galeria li:first-child{grid-column:1/-1}
@media (min-width:700px) and (max-width:1099.98px){
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c{grid-template-columns:minmax(0,34fr) minmax(0,66fr)}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto{padding:clamp(1.2rem,2.6vw,2.2rem) clamp(.8rem,1.6vw,1.4rem) clamp(1rem,2vw,1.6rem) var(--margen)}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref{margin-bottom:var(--e-3);font-size:.8rem}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref::after{margin-top:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-b__titular{margin-bottom:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-subtitulo{font-size:.7rem;letter-spacing:.2em;line-height:1.5}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{margin-top:var(--e-3);font-size:.78rem;line-height:1.3}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto p{margin-bottom:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref:last-child{margin:var(--e-3) 0 0;font-size:.6rem}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-cifras>div{padding-inline:.45rem}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-cifras>div:first-child{padding-left:0}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-cifras dt{font-size:.54rem;letter-spacing:.04em}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria{gap:3px}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria li{min-height:0}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:1fr 1fr}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6 li:nth-child(n){min-height:0;height:auto}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6 li:nth-child(-n+3){grid-column:span 4}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6 li:nth-child(4){grid-column:span 5}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6 li:nth-child(5){grid-column:span 3}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--6 li:nth-child(6){grid-column:span 4}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--4{grid-template-rows:1fr 1fr}
  /* La franja en UNA fila: los datos y, a la derecha, el botón (cabía en 2 filas por el mínimo de 26rem). */
  [data-ficha="barcelona"] .proyecto-franja__fila{flex-wrap:nowrap}
  [data-ficha="barcelona"] .proyecto-franja__datos{flex:1 1 auto;min-width:0;padding:var(--e-4) clamp(.8rem,2vw,1.4rem) var(--e-4) var(--margen);font-size:clamp(.5rem,.2rem + .6vw,.68rem);letter-spacing:.14em;line-height:1.6}
  [data-ficha="barcelona"] .proyecto-franja__boton{flex:0 0 auto;min-width:0;max-width:46%;padding:var(--e-4) clamp(.8rem,2vw,1.6rem);font-size:clamp(.58rem,.3rem + .6vw,.8rem);letter-spacing:.14em}
  [data-ficha="barcelona"] .proyecto-franja__boton svg{margin-left:var(--e-3);width:1.2rem}
}

/* Publicado en Interiores (02.1D): sus 4 botones marrones en 2×2 con su icono (libro, cámara), el titular en 2 líneas y, de 700 a 1099, el titular a la izquierda y la revista
   a la derecha en una pantalla (por debajo de 1100 se apilaban: 1163 a 1324 px). El «¿Te inspira…?» va a la derecha de la franja (ver arriba). */
[data-ficha="barcelona"] .proyecto-diapositiva--prensa{background:linear-gradient(90deg,#fbf9f6 0%,#f2eae0 100%)}
[data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-b__titular .acento{display:block}
[data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.2rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .8))))}
[data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-botones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:var(--e-5);max-width:36rem}
[data-ficha="barcelona"] .proyecto-prensa-boton{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:3.1rem;padding:.55rem 1rem;border:0;border-radius:0;background:var(--oro-degradado);color:var(--tinta-sobre-oro);font:400 clamp(.6rem,.45rem + .35vw,.78rem)/1.35 var(--fuente-titulares);letter-spacing:.14em;text-align:left;text-transform:uppercase;text-decoration:none;cursor:pointer}
[data-ficha="barcelona"] .proyecto-prensa-boton:hover{filter:brightness(1.08)}
[data-ficha="barcelona"] .proyecto-prensa-boton__texto{flex:1 1 auto;min-width:0}
[data-ficha="barcelona"] .proyecto-prensa-boton>svg{flex:none;width:1.1rem;height:1.1rem}
[data-ficha="barcelona"] .proyecto-prensa-boton__icono{flex:none;display:grid}
[data-ficha="barcelona"] .proyecto-prensa-boton__icono svg{width:1.9rem;height:1.9rem;stroke-width:1.4}
@media (min-width:700px) and (max-width:1099.98px){
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c{grid-template-columns:minmax(0,42fr) minmax(0,58fr);align-items:stretch}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto{padding:clamp(1.2rem,2.6vw,2.2rem) clamp(.8rem,1.6vw,1.4rem) clamp(1rem,2vw,1.6rem) var(--margen)}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-ref{margin-bottom:var(--e-3);font-size:.8rem}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-ref::after{margin-top:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-antetitulo{margin-bottom:.2rem}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-b__titular{margin-bottom:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-subtitulo{font-size:.7rem;letter-spacing:.2em;line-height:1.5}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__texto .proyecto-texto{margin-top:var(--e-3);font-size:.78rem;line-height:1.3}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria{align-self:stretch}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria li{min-height:0;height:100%}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria figure{height:100%}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria li{display:flex;align-items:center;background:#ecdfd1}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria img{height:auto;max-height:100%;object-fit:contain}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria figcaption,[data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria figure::after{display:none}
  /* Prensa (2.1D) de 700 a 1099 (V6 en vivo: la foto salía corta, a su alto natural, con un hueco beige hasta el pie de la columna de texto): la foto a todo el ancho arriba y el texto debajo, sin hueco (la maqueta solo existe a escritorio). */
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c{grid-template-columns:minmax(0,1fr)}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria{order:-1;align-self:auto}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria li{display:block;height:auto;background:none}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria figure{height:auto}
  [data-ficha="barcelona"] .proyecto-diapositiva--prensa .proyecto-c__galeria img{width:100%;height:auto;max-height:none}
}

/* «El proyecto» (2.1D) de 600 a 1099: las cifras en UNA fila con su separador vertical y su etiqueta en dos líneas («SUPERFICIE / CONSTRUIDA»); el subtítulo en dos líneas. */
@media (min-width:600px) and (max-width:1099.98px){
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras{flex-wrap:nowrap}
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras>div{flex:0 1 auto;min-width:0;padding-inline:clamp(.6rem,1.4vw,1.2rem)}
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras>div:first-child{padding-left:0}
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras>div+div{border-left:2px solid var(--tinta)}
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras dt{width:min-content;max-width:100%}
  [data-ficha="barcelona"] .proyecto-diapositiva--proyecto .proyecto-b__texto .proyecto-subtitulo{max-width:15em}
}
/* Diapositiva 28, 2.ª revisión (SEG-R3-d28-*): en la maqueta la columna de texto mide ≈470 px a 1440 (36,6vw, no 34), los párrafos van a ≈16 px
   (1,1vw) con interlínea ≈1,2, el lema ocupa la columna entera en una línea y la raya dorada bajo los servicios es de 3 px. El fundido negro
   se desplaza con la columna (sólido hasta el 18,2 % de la foto = 36vw; apagado en el 20,3 % = 37,9vw, antes de la primera persona, ≈39vw).
   A la derecha y abajo la diapositiva va clara (estanterías y suelo iluminados): velos solo leves ahí (W5, NP l.1932). */
/* W9 22-oct (reparo de V16 sobre 391bb73b0): de 1100 a 1349 las líneas del lema empiezan donde la viñeta aún caía (.45 al 18 %) y dejaban una banda de pared clara tras «Espacios/Spaces…»: el peor 5 % de los píxeles de letra daba 4,59 (es) y 4,01 (en) a 1100; la meseta sube a .72/.65 hasta el 19 % y se apaga igual al 21 %: 8,7-8,8 (medido por píxel de letra, texto con/sin) */
/* W9 22-oct (SEG-V3-rev2-d28-columna-vertical-contraste-1440): la viñeta del borde derecho del héroe (la capa de 270°) era .3 que se apagaba al 10 % y dejaba las baldas casi blancas tras el lema «Espacios / Personas / Ideas…» (mediana de luminancia de esa zona a 1440: 198 frente a 104 en la diapositiva 28; V3 midió 181 frente a 98); ahora .75→.7→.45 y se apaga al 21 % de la foto (antes del cartel de la S y del play): es la más suave que cumple el caso fijo de W5 (recorrido-nosotros-palabras-cartel: contraste p99 ≥4,5 junto a las letras de 1100 a 2560, es/en; la de .55 daba 2,1-4,7 y lo servido 1,1-1,4) */
/* W9 22-oct (velo de la diap. 28, DECIDIDO del puente: aclarar sin bajar de 4,5:1): el fundido ya no es negro puro ni sube al .9; arranca en .78 y sube a .84 hasta el 17 % de la foto (la columna del texto acaba en 34vw), y se apaga igual que antes (20,5 % = 38vw, antes de la primera persona). Luminancia media por franjas del ancho (0-10/10-20/20-30/30-40/40-50 %) a 1440: diapositiva 26,5/44,4/65,8/64,1/104,2; antes 22,5/30,5/40,5/55,6/110,7; ahora 22,5/30,5/58,9/66,9/110,7 (el 10-20 % es el negro previo a la foto: la caja empieza en el 22 %) */
.nosotros-servicios::after{width:4.6rem;height:3px}
@media (min-width:1100px){
  .heroe.heroe--nosotros{--nos-columna:calc(36.6vw - max(var(--margen),(100vw - var(--ancho-maximo)) / 2 + var(--margen)))}
  .heroe.heroe--nosotros .nosotros-frase{font-size:min(1.8rem,var(--nos-columna) / 20.2)}
  .heroe--nosotros .nosotros-texto{font-size:max(.85rem,1.1vw);line-height:1.2}
  .heroe.heroe--nosotros .heroe__fondo::after{background:
    linear-gradient(270deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.7) 14%,rgba(0,0,0,.45) 18%,rgba(0,0,0,0) 21%),
    linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.78) 4%,rgba(0,0,0,.8) 12%,rgba(0,0,0,.84) 17%,rgba(0,0,0,.3) 19.5%,rgba(0,0,0,0) 20.5%),
    linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 8%,rgba(0,0,0,0) 16%),
    linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
}
@media (min-width:1100px) and (max-width:1349.98px){.heroe.heroe--nosotros .heroe__fondo::after{background:
  linear-gradient(270deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.72) 17%,rgba(0,0,0,.65) 19%,rgba(0,0,0,0) 21%),
  linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.78) 4%,rgba(0,0,0,.8) 12%,rgba(0,0,0,.84) 17%,rgba(0,0,0,.3) 19.5%,rgba(0,0,0,0) 20.5%),
  linear-gradient(0deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 8%,rgba(0,0,0,0) 16%),
  linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
/* d29 a 1440 (W1, 21-oct, lámina de página entera): Olga con el tamaño de su diapositiva (sección ~945 px, nombre/cargo/lema/párrafos ≈1,33×, como Ángel),
   lema de Ángel en 2 líneas, «Trayectoria» con el montaje a todo el ancho tras el texto (se funde bajo él) y los valores con icono y letra mayores. */
@media (min-width:1100px){
  .fundador--olga .fundador__fila{min-height:clamp(36rem,65.6vw,59.4rem)}
  .fundador--olga .fundador__texto{display:flex;flex-direction:column;padding-bottom:var(--e-7)}
  .fundador--olga .fundador__firma{margin-top:auto;padding-top:var(--e-5)}
  .fundador--olga .titular--2{font-size:clamp(2.2rem,1.2rem + calc(3.9*var(--vw)),4.8rem)}
  .fundador--olga .fundador__cargo{font-size:calc(var(--t-s) * 1.3)}
  .fundador--olga .fundador__lema{font-size:clamp(1.25rem,1rem + 1vw,2rem)}
  .fundador--olga .fundador__parrafos{font-size:clamp(.9rem,.7rem + .75vw,1.4rem);max-width:none}
  .fundador--angel .fundador__lema{font-size:clamp(1.25rem,1rem + 1vw,2rem)}
  .viaje__foto{width:100%}
  .viaje__foto img{object-position:50% 35%;-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.28),rgba(0,0,0,.5) 40%,#000 72%);mask-image:linear-gradient(to right,rgba(0,0,0,.28),rgba(0,0,0,.5) 40%,#000 72%)}
  .viaje__texto{text-shadow:0 1px 10px rgba(0,0,0,.7)}
  .fundador--angel{--foto-ancho:min(49vw,calc(68.5rem * 760 / 1164))}
  .viaje__foto figcaption{inset:auto 0 var(--e-5) 45%}
  .franja--valores .franja__item>svg{width:3.6rem;height:3.6rem}
  .franja--valores .franja__titulo{font-size:calc(var(--t-s) * 1.3)}
  .franja--valores .franja__texto{font-size:calc(var(--t-s) * 1.2)}
}
/* d29: rótulos MIAMI / BARCELONA legibles sobre la foto a todos los anchos (V9 2215: poco contraste también a 390) */
.viaje__foto figcaption span{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
/* d29 sobre lo servido pt195 (W1 21-oct 23:4x, lámina 02-copias/w1-laminas/lamina-d29-servido-pt196-1440-es.jpg; filas SEG-cx-p22-3-diap29-1024-2/-6):
   firmas como la diapositiva (Angel ≈1,4×, la de Olga ≈1,55× —su fichero mide 156 px: más se emborrona— y su lema en 2 líneas para que la sección siga en ~945 px; nombre y cargo ≈1,5× y raya de oro de 2 px), valores con icono, trazo y letra mayores,
   y en «Trayectoria» el texto sobre negro casi liso: la foto se funde más tarde, como en la diapositiva. */
.fundador--olga .fundador__rol{color:var(--oro-sobre-claro)}   /* SOCIA en dorado como la diapositiva (SEG-cx-p22-3-diap29-1024-1); el oro para texto sobre crema, 5,6:1 */
@media (min-width:900px){
  .fundador__firma{font-size:calc(var(--t-xs) * 1.5)}
  .fundador__firma-texto{font-size:clamp(2.4rem,1.2rem + 2.4vw,3.4rem)}
  .fundador__firma img{width:14rem}
  .fundador--olga .fundador__lema{font-size:clamp(1.2rem,.9rem + .85vw,1.7rem)}
  .franja--valores .franja__item>svg{width:4.4rem;height:4.4rem;stroke-width:2.2}
  .franja--valores .franja__titulo{font-size:calc(var(--t-s) * 1.5)}
  .franja--valores .franja__texto{font-size:calc(var(--t-s) * 1.4)}
  .fundador__rol{font-size:calc(var(--t-s) * 1.3)}   /* SEG-cx-p27-1-diap29-1440-1: roles del tamaño de la diapositiva (el botón de consulta ya mide ~325×61, R3-9f173a28) */
  .fundador--olga .fundador__foto img{object-position:30% 65%}   /* SEG-cx-p27-1-diap29-1440-2: Olga hasta el cinturón, como la diapositiva */
  .viaje__texto p{font-size:clamp(1rem,.6rem + .6vw,1.2rem);max-width:min(37.5rem,42vw)}   /* SEG-cx-p27-1-diap29-1440-4: los párrafos no pisan las ciudades; el título sigue en 2 líneas */
  .viaje__foto strong{font-size:clamp(1.3rem,.8rem + 1vw,1.9rem)}
  .viaje__foto figcaption span{font-size:var(--t-xs)}
  .viaje__foto figcaption span::after{width:3.2rem;height:2px}
  .viaje__foto img{-webkit-mask-image:linear-gradient(to right,rgba(0,0,0,.08),rgba(0,0,0,.22) 30%,rgba(0,0,0,.6) 45%,#000 62%);mask-image:linear-gradient(to right,rgba(0,0,0,.08),rgba(0,0,0,.22) 30%,rgba(0,0,0,.6) 45%,#000 62%)}}
/* Diapositiva 30, formulario (Codex 23:05): las 8 etiquetas de «Área de interés» van en peso normal (no negrita) y «(Opcional)» junto a «Adjuntar archivos» ~13-14 px a 1440 como la diapositiva. */
.contacto30--31 .areas .area span{font-weight:400}
.contacto30--31 .campo--archivos small{font-size:var(--t-s);font-weight:400}
/* Diapositiva 31 a 1024 (Codex SEG-cx-p21-1/p34-3-diap31-1024): «Ver en el mapa» y la nota a la derecha de cada dirección desde 900 px (antes se
   pasaban debajo hasta 1100); el héroe más bajo entre 768 y 1279 para que la foto se escale por el ancho como en la maqueta y Ángel quede a la
   derecha del titular sin que este le pise la cabeza; y el mapa entero (contain sobre su gris) para que no se corte «Estudio · 08003 Barcelona». */
@media (min-width:768px) and (max-width:1279.98px){.contacto31-heroe{min-height:min(100svh,50vw)}.contacto31-mapa{background:#474747}.contacto31-mapa img{object-fit:contain}}
/* Contacto d31 a 768-1023 (SEG-cx-p22-4-diap31-768-1 y -4): como la diapositiva, Ángel a la derecha y libre del titular (la foto al 130 % y anclada a la izquierda lo lleva al ~64 % del ancho; el texto hasta 26rem) y, en el banner, la esfera a la derecha (~63 %) con la esfera entera (object-position 0 60%). 1024 y más no cambian. */
@media (min-width:768px) and (max-width:1023.98px){.contacto31-heroe__foto,.contacto31-banner__foto{overflow:hidden}.contacto31-heroe__foto img{width:130%;max-width:none;object-position:0 40%}.contacto31-heroe__texto>*{max-width:26rem}.contacto31-banner__foto img{width:110%;max-width:none;object-position:0 60%}}
/* d28 a 1440 sobre lo servido pt196 (W1 22-oct 00:2x; SEG-cx-p33-4-diap28-1440-2/-3, SEG-cx-p34-2-diap28-1440-2, SEG-p27f-diap28-1024-12): como en la
   diapositiva, el play va en la pared A LA IZQUIERDA de la tele (≈65,6 % del ancho, ≈17,5vw), no encima, y VER VÍDEO es ancho (≈264 px a 1440). */
@media (min-width:1350px){.heroe.heroe--nosotros .nosotros-play{left:65.6%;top:17.5vw}}
@media (min-width:1100px){.heroe--nosotros .botones .boton{min-width:clamp(12rem,18.3vw,16.5rem);justify-content:center}}
/* d29 sobre lo servido pt199c (W1 22-oct 00:4x, lámina 02-copias/w1-laminas/lamina-d29-servido-pt199c-1440-zonas.jpg; OK del puente 2380150):
   los 5 valores, iconos ×1,25 y títulos y textos ≈×1,15 (con tope por ancho, para que no se partan), como la diapositiva; y «Trayectoria» con el montaje desde el 40 % del ancho y un fundido corto,
   para que se vean las torres de Miami a la izquierda y la Sagrada Família a la derecha, cada una sobre su rótulo (antes la máscara del
   62 % borraba Miami y solo se veía la Sagrada). */
@media (min-width:900px){
  .franja--valores .franja__item>svg{width:5.5rem;height:5.5rem}
  .franja--valores .franja__titulo{font-size:min(calc(var(--t-s) * 1.7),calc(1.65*var(--vw)));letter-spacing:.12em}   /* «INTEGRACIÓN» en una línea de 900 a 1440 */
  .franja--valores .franja__texto{font-size:min(calc(var(--t-s) * 1.6),1.55vw)}
  .viaje__foto{left:40%;width:60%}
  .viaje__foto img{object-position:50% 30%;-webkit-mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.55) 8%,#000 18%);mask-image:linear-gradient(to right,transparent,rgba(0,0,0,.55) 8%,#000 18%)}
  .viaje__foto figcaption{inset:auto 0 var(--e-5) 0}
}

/* V3 Palau 03.1B (V9 SEG-V3-palau-revista-titular-1440, 21-oct): a ≥1100 la diapositiva de prensa como su maqueta: columna de texto 41 % (antes 27 %), titular en frase (no en mayúsculas) a 3,7vw en 4 líneas, el texto antes que «Premios interiores…», revista enmarcada y su pie «PREMIOS INTERIORES» legible arriba a la dcha. (antes en crema sobre crema). Solo .proyecto-diapositiva--prensa-revista. */
@media (min-width:1100px){
  .proyecto-diapositiva--prensa-revista .proyecto-c{grid-template-columns:minmax(0,41%) minmax(0,1fr)}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto{display:flex;flex-direction:column}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-texto{order:1}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo{order:2}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-b__titular{text-transform:none;font-weight:400;font-size:calc(var(--art,1) * clamp(2.2rem,calc(3.7*var(--vw)),4.6rem));line-height:1.05;letter-spacing:0}
  .proyecto-diapositiva--prensa-revista .proyecto-c__galeria figure{border:1px solid rgba(190,150,90,.55);padding:1.1rem}
  .proyecto-diapositiva--prensa-revista .proyecto-c__galeria figcaption{text-align:right;color:#2b2723;font-size:.8rem}
  /* W9 22:40 (segunda mirada): como su diapositiva, fondo blanco, antetítulo en oro con raya arriba del todo, titular mayor, párrafo en sans legible, «PREMIOS INTERIORES» + «Reconocimiento…» en caja normal y «CASA PALAU 5 · BARCELONA» al pie, sin «03.1B». */
  .proyecto-diapositiva--prensa-revista{background:#fff}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-antetitulo{order:-1;margin:0 0 var(--e-5);font:500 clamp(.8rem,.5rem + .45vw,1.05rem)/1.3 var(--fuente-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--oro-sobre-claro)}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-antetitulo::after{content:"";display:block;width:2.6rem;height:1px;margin-top:var(--e-4);background:var(--oro-sobre-claro)}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * calc(3.75*var(--vw)));font-weight:500;line-height:1.06;letter-spacing:-.01em;margin-right:-3vw}   /* W9 22:3x sobre 8eea7942b: como la diapositiva, ~1,25× mayor y con su peso; «de comenzar la obra?» (≈9,95 em) puede entrar 3vw en el hueco hasta la revista para seguir en 4 líneas */
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-texto{font:400 clamp(.95rem,.3rem + .95vw,1.4rem)/1.5 var(--fuente-texto);color:#222}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo{margin-top:var(--e-3);font:400 clamp(1rem,.4rem + .95vw,1.5rem)/1.3 var(--fuente-titulares);letter-spacing:0;text-transform:none}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref{order:3;margin:var(--e-6) 0 0;font:500 clamp(.72rem,.45rem + .35vw,.9rem)/1.3 var(--fuente-texto);letter-spacing:.14em}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref::after{display:none}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span{display:inline;font-size:1em;letter-spacing:inherit}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span.proyecto-numero{display:none}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span:not(.proyecto-numero)+span::before{content:" · "}
}
/* El rótulo «Premios Interiores» (nombre del premio, igual en es/en) encima de «Reconocimiento…», a todos los anchos. */
.proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo::before{content:"Premios Interiores";display:block;margin-bottom:var(--e-2);font:500 clamp(.72rem,.45rem + .35vw,.9rem)/1.3 var(--fuente-texto);letter-spacing:.16em;text-transform:uppercase;color:var(--oro-sobre-claro)}
/* Por ficha, como dato de su diapositiva «proyecto» (Escuela, medido por V7 en su PNG 1672×941): color de acento del titular (acento_color: #aa4400) y subtítulo en serif mayor,
   negro, de poco espaciado y en 2 líneas (subtitulo_serif: «ARQUITECTURA / PARA CRECER»). Sin los campos, como siempre. */
.proyecto-b__titular[style*="--acento-titular"] .acento{background:none;-webkit-text-fill-color:var(--acento-titular);color:var(--acento-titular)}
.seccion--clara .proyecto-subtitulo--serif{font-family:var(--fuente-titulares);font-size:clamp(1rem,.62rem + calc(.8*var(--vw)),1.35rem);letter-spacing:.2em;color:#000;max-width:13em}
/* Escuela (diapositiva «proyecto»; puente 21-oct 20:2x: campos opcionales por ficha, el CSS cuelga de un modificador que SOLO pone su YAML; el .proyecto-ref y las cifras base no cambian):
   antetítulo en su color, nombre en serif grande (3 líneas) y la cifra «Fase inicial de proyecto» en versalitas pequeñas con su etiqueta debajo. */
.proyecto-antetitulo--color{color:var(--antetitulo-color)}
.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref.proyecto-ref--serif{font:400 clamp(1rem,.35rem + 1vw,1.4rem)/1.1 var(--fuente-titulares);letter-spacing:0;max-width:none;white-space:pre;color:#000}
.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref.proyecto-ref--serif span,.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref.proyecto-ref--serif span+span{display:inline;font:inherit;letter-spacing:inherit;color:inherit}
/* Escuela d2 (V7 22:26, lámina 2f5161a93): el subtítulo serif ganaba la regla de 1088 (var(--t-xs)); aquí con su misma especificidad. Y la columna de texto pierde el relleno derecho que la hacía ~12 % más estrecha y alta que la de la diapositiva. */
.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo.proyecto-subtitulo--serif{font-size:clamp(.9rem,.2rem + calc(1.1*var(--vw)),1.2rem);letter-spacing:.2em}
@media (min-width:1100px){.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande):has(.proyecto-ref--serif)>.proyecto-b__texto{padding-right:.5rem}}
/* «Los espacios» (.proyecto-c) con ref_serif / subtitulo_serif (Escuela d3, W8): el nombre en serif grande en sus 3 líneas y el subtítulo en 2 («APRENDER, CONVIVIR / Y CRECER»), como su diapositiva 3; sin los campos, nada cambia. */
.proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref.proyecto-ref--serif{font:400 clamp(1.05rem,.4rem + 1.1vw,1.6rem)/1.1 var(--fuente-titulares);letter-spacing:0;max-width:none;white-space:pre;color:#000}
.proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref.proyecto-ref--serif span{display:inline;font:inherit;letter-spacing:inherit;color:inherit}
[data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref.proyecto-ref--serif{font-size:min(clamp(1.05rem,.4rem + 1.1vw,1.6rem),calc(100cqi / 13.4))}   /* Escuela (Los espacios): «International School» en un renglón cabe en su columna; a 1100 sobresalía 20 px bajo la foto contigua (V12, cxt-vis-1145) */
.proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-subtitulo.proyecto-subtitulo--serif{font-size:clamp(.95rem,.3rem + calc(1.05*var(--vw)),1.4rem);letter-spacing:.12em;max-width:none}
.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras.proyecto-cifras--versalitas dd{font:400 clamp(.62rem,.45rem + .3vw,.85rem)/1.3 var(--fuente-titulares);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras.proyecto-cifras--versalitas dt{font-size:clamp(.62rem,.45rem + .25vw,.8rem);letter-spacing:0;text-transform:none;white-space:nowrap}
/* Escuela, diapositiva 2 (pies_diapositiva, W8 medido en su PNG 1672×941): los pies de las 3 fotos van blancos y mayores sobre la foto (≈1,05vw a
   1440, no 11 px) y el del plano en versalitas espaciadas («PLANTA GENERAL · ATRIO Y ESPACIOS EDUCATIVOS»). Sin el campo, como siempre. */
.proyecto-b--pies-diapositiva .proyecto-b__fotos figcaption{font-size:max(var(--t-xs),1.05vw);letter-spacing:.1em}
.proyecto-b--pies-diapositiva .proyecto-b__plano figcaption{text-transform:uppercase;letter-spacing:.14em;font-size:var(--t-2xs)}
/* d28 a más de 1920 (W1 22-oct 01:4x, puente 3593077): la columna de texto queda topada por --ancho-maximo (≈430 px a 2560) pero los párrafos
   seguían a 1,1vw (28 px a 2560) y el héroe crecía a 1274 px frente a los 980 de 38,3vw. Los párrafos van ahora por el ancho de la columna
   (≈470/29,4 = 16 px a 1440, como la diapositiva); hasta 1920 no cambia nada. */
@media (min-width:1921px){.heroe--nosotros .nosotros-texto{font-size:max(.85rem,var(--nos-columna) / 29.4)}}
/* W5 22-oct (puente 3039783, DECIDIDO 3506): también por debajo de 1100 (móvil y 768), el mismo texto y el mismo tono que la diapositiva 03.1B:
   fondo blanco, titular y «Reconocimiento…» en frase (no en mayúsculas) y la referencia «CASA PALAU 5 · BARCELONA» sin «03.1B». */
@media (max-width:1099.98px){
  .proyecto-diapositiva--prensa-revista{background:#fff}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-b__titular{text-transform:none;letter-spacing:0}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo{text-transform:none;letter-spacing:0}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref::after{display:none}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span{display:inline;font-size:1em;letter-spacing:inherit}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span.proyecto-numero{display:none}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref span:not(.proyecto-numero)+span::before{content:" · "}
  /* el orden de la diapositiva: antetítulo con su raya arriba, titular, párrafo, «Premios Interiores · Reconocimiento…» y «CASA PALAU 5 · BARCELONA» al pie */
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto{display:flex;flex-direction:column}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-antetitulo{order:-1}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-antetitulo::after{content:"";display:block;width:2.6rem;height:1px;margin-top:var(--e-4);background:var(--oro-sobre-claro)}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-texto{order:1}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo{order:2;margin-top:var(--e-3)}
  .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-ref{order:3;margin:var(--e-6) 0 0}
  /* el pie «Premios Interiores» de la revista se lee sobre el blanco (antes, claro sobre claro) */
  .proyecto-diapositiva--prensa-revista .proyecto-c__galeria figcaption{text-align:right;color:#2b2723}
}
@media (max-width:767.98px){.contacto31-banner{padding-top:0}.contacto31-banner__foto{position:static;aspect-ratio:1600/535;margin:0 0 var(--e-5);z-index:auto}.contacto31-banner__foto img{object-position:50% 50%}.contacto31-banner__foto::after{display:none}}
/* Casa Palau, héroe a ≥1100 (W5 22-oct, orden del puente tras la 2.ª revisión de W1): la portada es 4:3 (1440x1080) y la cabecera cubre 16:10, así que con el
   encuadre común (arriba, 30% 0) se pierden los 180 px de abajo: la mesa de centro y el sofá. Anclada abajo, como la diapositiva «cinco botones» (mesa al pie, lámpara arriba).
   Solo la foto de esta ficha (por su ruta): ni el héroe común ni otras fichas. */
@media (min-width:1100px){.heroe--proyecto .heroe__fondo img[src*="barcelona-casa-palau/portada.webp"]{object-position:50% 50%}}   /* 22-oct (DECIDIDO 4249): la portada es el recorte de la diapositiva (16:9 sin textos): pegada a la izquierda la lámpara de cobre queda al 40 % como en la maqueta (con 30% 100% de la foto 4:3 anterior quedaba al 24 %) */

/* Diapositiva 28, 2.ª revisión (SEG p27f-diap28-1024-8 y p27x1-diap28-390-4), rebasada sobre pt229: solo lo que sigue sin estar servido */
/* -8: los párrafos y la frase en serif robusta (óptico pequeño y más peso): a 15 px la Didot de trazo finísimo hacía parecer «c» las «e» */
.heroe--nosotros .nosotros-texto,.heroe--nosotros .nosotros-frase{font-variation-settings:"opsz" 8;font-optical-sizing:none}
.heroe--nosotros .nosotros-texto{font-weight:500}
.heroe--nosotros .nosotros-frase{font-weight:700}
/* 390-4: a ≤600 el panorama con su proporción (la foto entera, con la Sagrada Família), no una tira de 144 px recortada */
@media (max-width:600px){.panorama img{height:auto;aspect-ratio:2060/764}}
@media (max-width:600px){.panorama__frase{top:6%;text-shadow:0 0 .6rem rgba(255,214,170,.85)}}

/* Héroe por ficha, como su diapositiva 1 (campos opcionales de la portada; solo con ellos, el resto de fichas no cambia): escala del texto bajo el titular, posición de la foto y velo de la izquierda. */
@media (min-width:1100px){
  .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo{font-size:calc(clamp(.9rem,.75rem + calc(.5*var(--vw)),1.35rem) * var(--heroe-escala))}
  .heroe--proyecto[style*="--heroe-escala"] .texto-grande{font-size:calc(clamp(.85rem,.55rem + .35vw,1rem) * var(--heroe-escala))}
  .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo,.heroe--proyecto[style*="--heroe-escala"] .texto-grande{max-width:var(--heroe-columna,29rem)}   /* columna fija como la diapositiva 1 (≈465 px a 1440; V10): al crecer la letra, más líneas, no más ancho; el subtítulo en 2 líneas */
  .heroe--proyecto[style*="--heroe-escala"] .heroe__texto>*+*{margin-top:clamp(.6rem,.2rem + .7vw,1.1rem)}   /* más líneas en columna: menos aire entre bloques, como la diapositiva, para seguir en una pantalla (≤900 a 1440x900) */
  .heroe--proyecto[style*="--heroe-escala"] .texto-grande{line-height:1.35}
  .heroe--proyecto[style*="--heroe-foto-pos"] .heroe__fondo img{object-position:var(--heroe-foto-pos)}
  .heroe--proyecto[style*="--heroe-velo"] .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,calc(.83 * var(--heroe-velo))) 0%,rgba(0,0,0,calc(.67 * var(--heroe-velo))) 28%,rgba(0,0,0,calc(.3 * var(--heroe-velo))) 46%,rgba(0,0,0,0) 62%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
  .heroe--proyecto[style*="--heroe-titular"] .proyecto-titular{font-size:calc(min(clamp(2.5rem,1rem + calc(4.2*var(--vw)),6rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72))) * var(--heroe-titular))!important}
  .heroe--proyecto[style*="--heroe-titular"] .proyecto-titular--largo{font-size:calc(min(clamp(2rem,.8rem + calc(3*var(--vw)),4.4rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72))) * var(--heroe-titular))!important}
}

/* Santa Anna, «El anteproyecto» (2.1B) de 900 a 1099 (DECIDIDO 3683): el SALÓN grande arriba y COCINA/COMEDOR/RECIBIDOR en UNA fila debajo, no 2+1 con hueco.
   Vale el mosaico de escritorio (--m-filas/--m-area del YAML) en el alto de la diapositiva; solo la galería de 4 fotos con pies en caja de las fichas de Barcelona. */
@media (min-width:900px) and (max-width:1099.98px){
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--mosaico.proyecto-c__galeria--rotulos-caja:has(>li:nth-child(4)):not(:has(>li:nth-child(5))){grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:var(--m-filas);height:min(calc(100svh - 5.5rem),calc(50vw - 4.2rem));box-sizing:border-box}
  [data-ficha="barcelona"] .proyecto-diapositiva--espacios .proyecto-c__galeria--mosaico.proyecto-c__galeria--rotulos-caja:has(>li:nth-child(4)):not(:has(>li:nth-child(5))) li{grid-area:var(--m-area);min-height:0;height:100%}
}
/* d26 (puente 3681, ratios medidos por píxel contra la maqueta a 1440, en % del ancho de página): titular de Ferrari 0,73 y Quaderns 0,77 -> ×1,35 y ×1,3;
   Interiores 0,88 -> ×1,06; libro abierto 0,72 -> a todo el ancho de su columna; cita final de Quaderns, Suboficiales, UFP y Ferrari-2 0,72-0,75 -> ×1,3;
   foto del héroe de Ferrari, UFP y Suboficiales 0,76-0,82 de brillo -> velo más corto. */
@media (min-width:1100px){
  .heroe--prensa-ferrari .heroe__texto .prensa-titular{font-size:clamp(4.4rem,calc(6.55*var(--vw)),7.4rem)!important}  /* .prensa-titular fija su tamaño con !important */
  .heroe--prensa-quaderns .heroe__texto .prensa-titular{font-size:clamp(4.4rem,calc(6.4*var(--vw)),7.2rem)!important}
  .heroe--prensa-interiores .heroe__texto .prensa-titular{font-size:clamp(4.4rem,calc(5.4*var(--vw)),6.4rem)!important}
  /* diap. 08_1 (DECIDIDO 4206, V6 medido por píxel a 1440): «VIVIENDA SANTA ANNA» va en la letra de titulares y grande (mayúsculas ≈27 px de alto; servido ≈12, en
     palo seco espaciado) y sin raya debajo: la única raya dorada es la de después de «UN HOGAR ATEMPORAL…». */
  .heroe--prensa-interiores .prensa-subtitulo{font:600 clamp(1.6rem,2.7vw,2.8rem)/1.1 var(--fuente-titulares);letter-spacing:.02em}
  .heroe--prensa-interiores .prensa-subtitulo::after{display:none}
  .heroe--prensa-ufp .heroe__texto .prensa-titular{font-size:clamp(3.6rem,calc(4.25*var(--vw)),5rem)!important}  /* UFP ya iba al 1,17 de la maqueta: baja a ≈1,0 */
  .prensa-cita--quaderns .prensa-cita__texto,.prensa-cita--suboficiales .prensa-cita__texto,.prensa-cita--ufp .prensa-cita__texto,.prensa-cita--ferrari-2 .prensa-cita__texto{font-size:clamp(1.8rem,2.6vw,3.6rem);max-width:14em}
  .prensa-cita--ferrari-2 .prensa-cita__texto{font-size:clamp(1.7rem,2.4vw,3.3rem)}  /* la cita de la banda del coche medía 1,10 de la maqueta */
  .prensa-cita--interiores .prensa-cita__texto{font-size:clamp(1.5rem,1.96vw,2.5rem)}  /* y la de Interiores 0,88 */
  .prensa-cita--interiores .prensa-cita__texto{max-width:16em}  /* «“Un diálogo entre la historia,» en un renglón, como la diapositiva (con 13em se partía) */
  .prensa-cita--interiores .prensa-cita__foto{inset:0 0 0 25%}  /* diap. 08_1 (DECIDIDO 4206): la cita va sobre la zona oscura y el frutero queda a su derecha (≈35-48 % del ancho; diap. 38-52 %); antes la letra caía encima de la planta */
  :is(.heroe--prensa-ferrari,.heroe--prensa-ufp,.heroe--prensa-suboficiales) .heroe__fondo::after{background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.6) 4%,rgba(0,0,0,.2) 10%,rgba(0,0,0,0) 18%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.4) 5%,rgba(0,0,0,0) 12%),linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 10%)}
  :is(.heroe--prensa-ferrari,.heroe--prensa-ufp,.heroe--prensa-suboficiales) .heroe__fondo img{filter:brightness(1.14)}  /* brillo medio del héroe: 0,76-0,82 de la maqueta */
  html:lang(es) .prensa-heroe .titular--1{font-size:clamp(2.1rem,.4rem + calc(3.1*var(--vw)),4.8rem)}  /* /publicaciones: el titular medía 0,86 de la maqueta (cap 2,36 vs 2,93 % del ancho) */
}
@media (min-width:900px){
  .prensa-publicacion__fila{grid-template-columns:minmax(0,25fr) minmax(0,67.5fr) minmax(0,7.5fr)}  /* medido por W11 sobre pt782 a 2356: la revista servida era ×0,96 de la diapositiva (58,6 % del ancho de la sección frente a 61,1 %) y empezaba 1,3 puntos antes */
  .prensa-publicacion--proyecto .prensa-publicacion__fila{grid-template-columns:minmax(0,30fr) minmax(0,70fr)}
  .prensa-publicacion__revista img{width:100%;max-width:none}
}
/* Quiénes somos: el clic atraviesa el texto vacío del héroe y llega a la foto (visor); el texto y los botones siguen respondiendo */
.heroe--nosotros .heroe__contenido{pointer-events:none}
.heroe--nosotros .heroe__texto,.heroe--nosotros .heroe__pie{pointer-events:auto}
img[data-visor-foto]{cursor:zoom-in}
.heroe--nosotros .heroe__fondo::after{pointer-events:none}
/* Vietnam: galería del hotel (web/showroom/vietnam.html.twig), cuatro grupos de fotos bajo las diapositivas. */
#galeria.vietnam-galeria{scroll-margin-top:var(--e-4)}   /* «Ver fotos» del hotel baja al inicio de la galería (título visible), no a medias (Víctor 23-oct, puente 5520) */
.vietnam-galeria .titular{margin-block:0 var(--e-5)}
.vietnam-galeria__grupo{margin-block:var(--e-5) .75rem}

/* Santa María, diapositivas 2 y 3 (plantas) a ≥1100: el bloque medía 913/899 px (0,63 del ancho) y la diapositiva ≈688 (0,48; medido sin la barra de navegación y sin la franja):
   columna izquierda del 57 % como la maqueta, cabecera más corta, plano a todo el ancho de la columna y texto en 2 columnas más ancho. Solo esta ficha:
   Emmar (4 planos, misma clase) no cambia. */
@media (min-width:1100px){
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande{grid-template-columns:minmax(0,57fr) minmax(0,43fr)}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__izquierda{padding:1.4rem 1.6rem .9rem var(--margen);gap:.5rem}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__cabeza :is(.proyecto-antetitulo,.proyecto-ref){margin:0}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__cabeza .proyecto-b__titular{font-size:calc(var(--art,1) * clamp(2.8rem,calc(4.4*var(--vw)),4.8rem));margin-bottom:.2rem}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-texto{font-size:.96rem;line-height:1.45;column-gap:2rem}
  /* cabecera de la diapositiva: «04.1B · 01» y debajo «PENTHOUSE SANTA MARÍA · MIAMI» en UNA línea, sin la barra dorada */
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref{font-size:1rem;letter-spacing:.18em;line-height:1.5}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref span{display:inline}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref .proyecto-numero{display:block;color:var(--oro-sobre-claro);font-size:1.15rem}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref span+span{font-size:1em;letter-spacing:inherit}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref span:not(.proyecto-numero)+span::before{content:" · "}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-ref::after{display:none}
  [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__cabeza .proyecto-subtitulo{margin:0}
}
.vietnam-galeria .proyecto-c__galeria figure{height:auto}   /* las fotos del hotel (1600×802) con su proporción: con la altura fija de la rejilla se recortaban los lados (filas «recortada, encuadre distinto» de 1b4763e6) */
.vietnam-galeria .proyecto-c__galeria img{height:auto;aspect-ratio:1600/802}

/* d2 (V3): Casa Ramón Berenguer a 700-1099 px en horizontal (768×432 y 1024×576): el héroe y «El proyecto», cada uno en UNA pantalla como las diapositivas 1 y 2 (SEG-VS-d2-768/-1024-*); solo esta ficha. */
@media (min-width:700px) and (max-width:1099.98px) and (orientation:landscape){
  html:has([data-ficha="barcelona-ramon-berenguer"]){font-size:max(9.5px,1.111vw)}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto{min-height:100svh;height:100svh}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .heroe__contenido{padding-top:calc(var(--alto-cabecera) + .3rem);padding-bottom:.4rem;justify-content:center}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .heroe__texto{max-width:min(46rem,46vw)}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .heroe__texto>.volver{margin-bottom:.5rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-titular{font-size:min(clamp(2.2rem,1rem + calc(3.6*var(--vw)),5rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72)))!important}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .heroe__texto>*+*{margin-top:.45rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .heroe__texto .boton{min-height:2.6rem;padding-block:.5rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-datos{flex-wrap:nowrap;padding-block:.5rem .6rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-datos>div{padding-inline:clamp(.5rem,1.2vw,1.2rem);flex:0 1 auto;min-width:0}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-datos dd{margin-top:.15rem;font-size:.9rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-datos dt{font-size:.62rem}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .banda__fila{flex-wrap:nowrap;min-height:0;padding-block:.5rem;gap:var(--e-3);font-size:.62rem;letter-spacing:.06em}
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .banda__frase{font-size:.95rem;letter-spacing:.06em;gap:var(--e-3);white-space:nowrap}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){grid-template-columns:var(--proyecto-b-columnas,minmax(min(18rem,100%),27fr) minmax(0,38fr) minmax(0,35fr));height:calc(100svh - var(--alto-cabecera) - 3.4rem);overflow:hidden}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano{padding:.8rem 0;min-height:0;align-items:center}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano img{max-height:calc(100svh - var(--alto-cabecera) - 3.4rem - 2.4rem);width:auto;max-width:var(--plano-ancho,100%)}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__fotos{grid-template-columns:1fr;grid-template-rows:56fr 44fr;min-height:0}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / (var(--palabra,8) * .68))))}
}

/* d2 (V3): Casa Palau, «El proyecto» (diap. 2) a 1100+ en horizontal como la diapositiva (fila 1Py-eukuOK9A_k7fqKRZlNblw2-a-E3mP; V6 en vivo pt267: titular y plano más
   pequeños y hueco blanco): el bloque con el alto de la diapositiva (45,5vw: 655 px a 1440; antes 845, lo marcaban las 2 fotos), el plano llena la columna
   (501×494 sin franjas en blanco), el titular llena el ancho de la columna como «PROYECTO» en la diapositiva (289 px; antes 257) y el nombre, la ciudad,
   el subtítulo y el texto a su tamaño (texto 17 px a 1440, antes 14; V6: la diapositiva parte el párrafo 1 en 5 renglones). Solo en esta ficha. */
@media (min-width:1100px) and (orientation:landscape){
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){min-height:45.5vw}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__fotos{height:0;min-height:100%}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano{padding-block:clamp(.6rem,1vw,1rem)}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto{padding-right:clamp(.6rem,1vw,1rem)}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(3.2*var(--vw)),5.6rem),calc(100cqi / (var(--palabra,8) * .68))))}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref .proyecto-numero+span{font-size:1.25vw}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref .proyecto-numero+span+span{font-size:1vw}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo{font-size:calc(1.1*var(--vw))}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-texto{font-size:clamp(.9rem,.35rem + .8vw,1.25rem)}
}
/* d2 (V3): Casa Palau, revista 03.1B a 1100+ (SEG-V3-palau-revista-titular-1440; V6 en vivo pt267: «…comenzar la obra?» acababa a 3-5 px del borde de
   la tarjeta): letras un poco más juntas para dejar el aire de la diapositiva (≈13 px a 1440) sin cambiar las 4 líneas. Solo en esta ficha. */
@media (min-width:1100px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-b__titular{letter-spacing:-.02em}
}

/* d2 (V3): Casa Ramón Berenguer, «El proyecto» a 768x432 (SEG-W12-rb-768-plano-franja-pt299; W12 en vivo pt299): en pantallas de 480 px de alto o menos
   la rejilla no tiene alto fijo. Con el de la pieza A (351 px, overflow hidden) la fila medía 396 y se cortaban el pie del plano (hasta 794, bajo la franja
   de 783) y las cifras (hasta 809). Así se ve todo, con el texto a su tamaño (7,2 px; encogerlo para que cupiera lo dejaba en 5,9), y «El proyecto» con
   su franja mide 437 px en una pantalla de 432. A 1024x576 y 900x506 no cambia. */
@media (min-width:700px) and (max-width:1099.98px) and (orientation:landscape) and (max-height:480px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande){height:auto;overflow:visible}
}

/* Santa María, plantas (DECIDIDO 4036): la leyenda «Plano ambientado · Distribución orientativa» iba quemada en español dentro de plano-1/2.webp;
   ahora es el pie traducido (plano_pie) PUESTO ENCIMA del rectángulo de papel liso que dejó la leyenda (abajo a la izquierda, ≤49 % del ancho:
   el dibujo empieza al 50-51 %), con su raya dorada. Va en absoluto: el bloque no crece ni el plano se mueve. Letra en unidades del contenedor
   (sigue al plano a cualquier ancho, como la quemada). Solo esta ficha. */
[data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano{position:relative;container-type:inline-size}
[data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano figcaption{position:absolute;left:0;bottom:0;margin:0;max-width:49%;white-space:nowrap;font:400 min(1.42cqi,.74rem)/1.2 var(--fuente-titulares);letter-spacing:.08em;text-transform:uppercase;color:#333;pointer-events:none}
[data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano figcaption::before{content:"";display:block;width:3.4em;height:1px;margin-bottom:.45em;background:var(--oro-sobre-claro)}
html:lang(ru) [data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano figcaption{font-size:min(1.18cqi,.66rem)}   /* el ruso es el más largo (46 letras) */
[data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano figcaption{font-size:max(10px,min(1.42cqi,.74rem))}   /* vivo4732 (V12): el pie «Plano ambientado · distribución orientativa» bajaba a 7,8 px a 1100 y 5,1 a 390: nunca menos de 10 px (4163); a 1440 sigue a 10,3 */
@media (max-width:1279.98px){[data-ficha="miami-penthouse"] .proyecto-b--plano-grande .proyecto-b__plano figcaption{position:static;max-width:none;white-space:normal;margin-top:.5em}}   /* por debajo de 1280 el pie va bajo el plano, no encima, para que a 10 px no lo tape */
/* «Los espacios» de RB, MG, Emmar y Penthouse (puente 22-oct 02:5x, medido en sus maquetas a 1440): la columna de texto ocupa ≈24 % y las fotos empiezan en x≈347
   (salía el 27 %, x≈389). Santa Anna lleva el suyo (34/66) y la Escuela el suyo. */
@media (min-width:1100px){
  :is([data-ficha="barcelona-ramon-berenguer"],[data-ficha="dubai-marina-gate"],[data-ficha="dubai-villa-emmar"],[data-ficha="miami-penthouse"]) .proyecto-diapositiva--espacios .proyecto-c{grid-template-columns:minmax(0,24fr) minmax(0,76fr)}
  /* subtítulo con los cortes de las maquetas («MATERIALES, DETALLES / Y ATMÓSFERA», «ARQUITECTURA / QUE SE SIENTE»): líneas equilibradas, sin tocar el texto */
  :is([data-ficha="barcelona-ramon-berenguer"],[data-ficha="dubai-marina-gate"],[data-ficha="dubai-villa-emmar"],[data-ficha="miami-penthouse"]) .proyecto-diapositiva--espacios .proyecto-subtitulo{text-wrap:balance}
  /* con la columna al 24 % el texto no cabía en el alto de las fotos (cifras por debajo de ellas): el aire a su derecha, de ≈29 px a ≈6 px como en la maqueta (el texto llega casi hasta las fotos) */
  :is([data-ficha="barcelona-ramon-berenguer"],[data-ficha="dubai-marina-gate"],[data-ficha="dubai-villa-emmar"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"]) .proyecto-diapositiva--espacios .proyecto-c__texto{padding-right:clamp(.3rem,.4vw,.5rem)}
  /* el texto de las maquetas mide ≈12 px a 1440 con ≈15 px de línea (el de .proyecto-diapositiva .proyecto-c__texto .proyecto-texto, 14 px, ganaba al de espacios por orden): así cabe bajo el alto de las fotos */
  :is([data-ficha="barcelona-ramon-berenguer"],[data-ficha="dubai-marina-gate"],[data-ficha="dubai-villa-emmar"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"]) .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-size:clamp(.7rem,.25rem + .55vw,.9rem);line-height:1.28}
}

/* Escuela (V7, pt212): la foto grande (vista aérea) con el encuadre de su diapositiva 3: sin cortar las montañas (50 % 20 %). */
[data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__galeria--3 li:first-child img{object-position:50% 24%}   /* ajuste a escala 1:1 contra la diapositiva 3 con su caja (681×225): ≈24 % */
/* Escuela (V7, pt212): las fotos empiezan en x≈349 a 1440 como en su diapositiva 3 (hueco texto→fotos ≈13 px, salía 40): columna de texto 24/76 en vez de 27/73. */
@media (min-width:1100px){[data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c{grid-template-columns:minmax(0,24fr) minmax(0,76fr)}
  [data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-subtitulo.proyecto-subtitulo--serif{font-size:min(1.4rem,calc(100cqi / 17.5));letter-spacing:.08em}}
/* Escuela, «Los espacios» a móvil (V16 03:3x en vivo pt232, arreglo 02a0db1db): la aérea a ancho entero y 16:9 arriba, y Aula | Atrio central en una fila debajo
   (salían Colegio y Aula en la misma fila y el Atrio a ancho entero). */
@media (max-width:1099.98px){
  [data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__galeria--3 li:first-child{grid-column:1/-1;aspect-ratio:16/9;min-height:0}
  [data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__galeria--3{grid-template-columns:1fr 1fr}
  [data-ficha][data-ficha][data-ficha="vietnam-escuela"] .proyecto-diapositiva--espacios .proyecto-c__galeria--3 li:not(:first-child){grid-column:auto}   /* gana a «última foto impar a ancho entero» (≤640) */
}
/* Santa Anna 2.1: el botón «Ver vídeo del proyecto» (variante texto, un <button>) sin el fondo gris del navegador; acotado a la ficha (las demás, idénticas). */
[data-ficha="barcelona"] .boton--texto{background:none}
/* «una_pantalla» (VS 22-oct, diapositiva 2 de Santa Anna: «por estancias» y «El proyecto» a 1024 se apilaban en 1100-1800 px): a partir de 1024 la composición de su
   diapositiva, como ya a 1100+: texto a la izquierda y fotos a la derecha; el botón de abajo en la misma franja que la lista; las fotos enteras (sin recorte cerrado). */
@media (min-width:1024px){
  .proyecto-diapositiva--pantalla .proyecto-c{grid-template-columns:minmax(0,27fr) minmax(0,73fr)}
  .proyecto-diapositiva--pantalla .proyecto-c__texto{padding:var(--e-4) clamp(.8rem,1.4vw,2rem) var(--e-4) var(--margen)}
  .proyecto-diapositiva--pantalla .proyecto-c__texto .proyecto-ref{margin-bottom:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-c__texto .proyecto-ref::after{margin-top:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-texto{font-size:clamp(.78rem,.3rem + .65vw,1rem);line-height:1.26;margin-top:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-texto p{margin-bottom:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-b__titular{margin-bottom:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-c__galeria--4{gap:var(--sep,.5rem);padding:var(--sep,.5rem);align-content:center;grid-auto-rows:auto}
  .proyecto-diapositiva--pantalla .proyecto-c__galeria--4 li{height:auto;aspect-ratio:16/10}
  .proyecto-diapositiva--pantalla .proyecto-franja__fila{flex-wrap:nowrap}
  .proyecto-diapositiva--pantalla .proyecto-franja__datos{min-width:0;flex:1 1 auto;padding:var(--e-4) var(--margen);letter-spacing:clamp(.03em,.4vw,.2em);font-size:clamp(.62rem,.35rem + .3vw,.95rem)}
  .proyecto-diapositiva--pantalla .proyecto-franja__boton{flex:0 0 auto;min-width:0;white-space:nowrap;padding:var(--e-4) clamp(1rem,2vw,3rem);letter-spacing:clamp(.08em,.3vw,.24em);font-size:clamp(.72rem,.45rem + .35vw,1.15rem)}
  .proyecto-diapositiva--pantalla .proyecto-franja__boton svg{margin-left:var(--e-3)}
  /* «El proyecto»: texto, plano (sin lámina, ni sombra) y dos fotos apiladas */
  .proyecto-diapositiva--pantalla .proyecto-b:not(.proyecto-b--sin-fotos){grid-template-columns:minmax(0,27fr) minmax(0,40fr) minmax(0,33fr)}
  .proyecto-diapositiva--pantalla .proyecto-b__texto{padding:var(--e-4) clamp(.6rem,1vw,1.4rem) var(--e-4) var(--margen)}
  .proyecto-diapositiva--pantalla .proyecto-b__plano{padding:var(--e-3) 0;background:var(--blanco);justify-content:center}
  .proyecto-diapositiva--pantalla .proyecto-b__plano img{box-shadow:none;max-width:100%}
  .proyecto-diapositiva--pantalla .proyecto-b__fotos{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:var(--sep,.5rem);padding:var(--sep,.5rem) var(--sep,.5rem) var(--sep,.5rem) 0}
  .proyecto-diapositiva--pantalla .proyecto-b__fotos figure{min-height:0}
  .proyecto-diapositiva--pantalla .proyecto-cifras{margin-top:var(--e-4);padding-top:var(--e-3)}
  .proyecto-diapositiva--pantalla .proyecto-cifras dd{font-size:clamp(.95rem,.25rem + .75vw,1.6rem);white-space:normal}
}

/* Héroe de Casa Ramón Berenguer como su diapositiva 1 (W10, DECIDIDO 4206): campos opcionales de su YAML. Botones en un color liso (--heroe-boton), subtítulo en dos líneas sin la raya dorada, y sombra local del titular (contraste del titular ≥4,5:1 sin tocar el velo). */
.heroe--boton-plano .proyecto-botones .boton--oro{background:var(--heroe-boton);box-shadow:none}
.heroe--subtitulo-diap .proyecto-subtitulo{text-wrap:balance}
.heroe--subtitulo-diap .proyecto-subtitulo::after{display:none}
.heroe--titular-sombra .proyecto-titular{text-shadow:0 0 .3em rgba(0,0,0,.75),0 0 .7em rgba(0,0,0,.6),0 2px 1.1em rgba(0,0,0,.5)}

/* d2 Santa Anna, héroe (diap. 2.1; DECIDIDO 4206/4249): la foto (portada.webp) es el recorte ANCHO de la diapositiva (x 560-1440, y 70-748 a 1440, sin sus
   textos) y a 1100+ empieza en x≈541 pegada a la izquierda, con la lámpara donde la diapositiva (x≈636) y termina sobre la fila de datos (6,7 % abajo, que
   queda sobre negro como la banda): con el héroe de 900 la foto escala ≈1,07 y no 1,33 (CIERRE SA fila 1, regresión: anillo Ø353 frente a Ø188). Solo esta ficha. */
@media (min-width:1100px){
  [data-ficha="barcelona"] .heroe--proyecto .heroe__fondo{inset:0 0 6.7% 37.6%}
  [data-ficha="barcelona"] .heroe--proyecto .heroe__fondo img{object-position:0 0}
  /* Filas 4-8 de fichas-propuestas/santa-anna (diap. 2.1, V6; rayas medidas por píxel): blanca de 59×3 bajo el titular y dorada de 58×2 bajo el subtítulo; subtítulo fino y espaciado (19 px, 300,
     ≈.18em: la anchura por letra de la diap. sale del espaciado, no del ×1,15); botón de vídeo con círculo de 62 px y texto de 20 px; fila de datos en
     columnas estrechas (x 50-647 en la diap.) con «Servicios» uno por línea (las fichas de la portada en barcelona.yaml). */
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-titular::after{width:3.7rem}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-subtitulo::after{display:block;width:3.6rem;height:2px;margin-top:.9rem;background:var(--oro)}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-subtitulo{font-size:clamp(.9rem,.75rem + calc(.5*var(--vw)),1.35rem);font-weight:300;letter-spacing:.18em}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto{font-size:1.25rem;letter-spacing:.01em}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto .boton__principal{letter-spacing:.01em}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-botones .boton--texto .boton__icono{width:3.9rem;height:3.9rem}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos{flex:0 1 auto}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos>div{flex:0 0 auto;max-width:9.5rem;padding:0 1.3vw}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos>div:first-child{padding-left:0}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos dt{font-size:.66rem;white-space:nowrap}
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-datos dd{font-size:.8rem}
  [data-ficha="barcelona"] .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,var(--negro) 0%,rgba(0,0,0,.55) 5%,rgba(0,0,0,0) 14%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
}
/* d2 Proyectos, franja inferior (Codex vs-lamina-d12-d2, DECIDIDO 4206): la diapositiva 2 lleva el texto izquierdo y, a la derecha, una raya dorada corta
   y la frase pequeña (≈330 px a 1440), sin la línea central; el servido tenía línea central y la frase a 546 px. Solo esta página (.proyectos-heroe + .cierre). */
@media (min-width:641px){
  .proyectos-heroe + .cierre .cierre__raya{flex:none;width:2rem;margin-left:auto;margin-right:-1.1rem;background:var(--oro)}   /* raya de 32 px y a ≈14 px de la frase, como la diapositiva 2 (servido: 54 px y 32 px de hueco; medida en pod 22-oct, DECIDIDO 4504) */
  .proyectos-heroe + .cierre .cierre__der{font-size:.6875rem;letter-spacing:.04em;font-weight:400}   /* frase ≈322 px (servido 332); fino: no hereda el 500 del texto izquierdo (medida en pod: con el 500 medía 333) */
  .proyectos-heroe + .cierre .cierre__fila{font-weight:500;letter-spacing:.07em}   /* texto izquierdo ≈318 px en negrita media (servido 378 fino y más espaciado; con .11em medía 343) */
}
/* d2 Proyectos 1024-1099 (W13, medida pod 22-oct, SEG-W13-d2-emiratos-indice-1024): el rótulo de EMIRATOS ÁRABES UNIDOS pisaba la línea del índice lateral (hueco −6 px a 1024, +8 a 1094; bajo 1024 el índice va apilado y no hay línea); a la izquierda de su pin, como VIETNAM a ≤1279. */
@media (min-width:1024px) and (max-width:1099.98px){
  .proyectos-mapa__pin[data-pais="ae"]>span{left:auto;right:calc(100% + 1px);text-align:right}
}
/* d2 (V3): Casa Palau, «La zona privada» y «Los espacios» como sus diapositivas 03 y 04 (DECIDIDO 4206, reparto con W5): el rótulo «CASA PALAU 5 · BARCELONA» en una línea. El acento del titular, sin color propio (DECIDIDO 4428: oro de sistema). Solo en esta ficha. */
[data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-ref span{display:inline}
[data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-ref span+span::before{content:" · "}
/* Casa Palau, los cinco botones dorados de su maqueta (Víctor 22-oct, DECIDIDO 4206): fila 1 «Ver vídeo» y «Ver vídeo 2» (play + texto + subtítulo), fila 2 «Fotos actuales», «Ver planos»
   y «Ver renders» con su icono de línea a la izquierda; «Ver vídeo 2» apagado (aria-disabled, secciones.css) mientras el cliente no dé el vídeo. Solo botones con «icono» en el YAML. */
.boton--izq .boton__icono{display:grid;place-items:center;flex:none;width:1.45em;height:1.45em}
.boton--izq .boton__icono svg{width:100%;height:100%;stroke-width:2}
.heroe--proyecto .proyecto-botones .boton--izq{gap:.55em;padding-inline:var(--e-3);font-size:.7rem;letter-spacing:.04em;white-space:nowrap;min-height:2.5rem}
@media (min-width:1100px){.heroe--proyecto .proyecto-botones{display:flex;flex-wrap:wrap;gap:.7rem;max-width:31rem}
  .heroe--proyecto .proyecto-botones .boton--doble{flex:1 1 calc(50% - .7rem)}.heroe--proyecto .proyecto-botones .boton--izq{flex:1 1 calc(33.3% - .7rem);justify-content:flex-start}}
/* V12 15:2x: el apagado de los botones del héroe de ficha va en la regla común de sistema.css */
@media (min-width:1100px){[data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-botones{flex-wrap:nowrap;max-width:none;gap:14px}[data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-botones .boton{flex:0 0 auto;min-height:46px}[data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto .proyecto-botones .boton:not(:last-child){min-width:170px}}   /* RB (diap. 1): VER VÍDEO, FOTOS y VER ANTEPROYECTO en una fila como la diapositiva; con 31rem el tercero bajaba a una 2.ª fila (W12 en vivo pt382); 172/170/215 × 46 con 14 de hueco en la diapositiva (V12, propuesta RB fila 2) */
/* d26 Interiores (08_1): los 4 renglones de la cita son los de la diapositiva a 1440; por debajo de 1100 el texto fluye solo (con los saltos forzados,
   a 390 quedaba «historia,» suelto en su renglón: huella de V16/V9 sobre pt339). pg.lineas deja un espacio antes de cada <br>. */
@media (max-width:1099.98px){.prensa-cita--interiores .prensa-cita__texto br{display:none}}
/* Santa Anna diap. 2.1C «El diseño por estancias» (1440): como la maqueta, «EL DISEÑO / POR ESTANCIAS» en 2 líneas y «INTIMIDAD, CONFORT Y DETALLE» en una; acotado a #estancias de la ficha y de 1024 en adelante */
@media (min-width:1024px){
  [data-ficha="barcelona"] #estancias .proyecto-b__titular{font-size:calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(2.9*var(--vw)),5rem),calc(100cqi / 8.4)))}
  [data-ficha="barcelona"] #estancias .proyecto-b__titular .acento{white-space:nowrap}
  [data-ficha="barcelona"] #estancias .proyecto-subtitulo{font-size:min(1.4rem,calc(100cqi / 18.5));letter-spacing:.03em;white-space:nowrap}
}
/* d2 Proyectos, rótulos de país (Codex vs-lamina-d12-d2, DECIDIDO 4206): a 1440 «ESTADOS UNIDOS» medía 119 px frente a ≈108 de la diapositiva 2 (+10 %) y pisaba el pin y los arcos; con menos espaciado de letras vuelve a ≈109 px (misma letra: 11,5 px). */
@media (min-width:1100px){
  .proyectos-mapa__pin>span{letter-spacing:.06em}
  .proyectos-mapa__pin[data-pais="ae"]>span{max-width:9.3em}   /* con menos espaciado «EMIRATOS ÁRABES» cabría en 10em: se mantiene el corte «EMIRATOS / ÁRABES UNIDOS» de la maqueta */
}

/* Los espacios de Casa Ramon Berenguer (1440, V10/W8 «tipografía algo menor»): el titular llena la columna como en su diapositiva (ESPACIOS al ≈80 % de la columna) y el subtítulo sube un 10 %; acotado a la ficha */
@media (min-width:1100px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-b__titular{font-size:calc(var(--art,1) * min(8.2vh,calc(100cqi / (var(--palabra,8) * .62))))}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-subtitulo{font-size:clamp(1rem,.66rem + calc(.77*var(--vw)),1.55rem)}
}

/* RB Los espacios, cifras como su diapositiva (V10): «100 m²» en negrita (mismo tamaño: más grande pisaba a BARCELONA); BARCELONA y RESIDENCIAL ya van en mayúsculas */
@media (min-width:1100px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-cifras>div:first-child dd{font-weight:700}
}
/* Casa Palau, banda de datos de la cabecera más pequeña, como su maqueta (la diapositiva la lleva más baja y de letra menor: W5 22-oct, DIFERENCIAS-VISIBLES). */
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dt{font-size:.58rem}[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dd{font-size:.68rem;line-height:1.2}
/* d26 Prensa, índice (DECIDIDO 4206; V6 medido a 1440: en vivo héroe 318 px, portadas 231x314 y el primer VER PUBLICACIÓN a y=963, bajo el pliegue;
   diapositiva escalada: portadas desde y=338, 203x275, botones a y=811, todo en una pantalla). Desde 1200: la fila del héroe a ≈240 px y las portadas a 14,1vw. */
@media (min-width:1200px){
  .prensa-heroe__fila{min-height:clamp(14rem,16.5vw,16rem);padding-block:var(--e-4)}
  .prensa-heroe .texto-grande{max-width:46em}   /* el párrafo en 2 renglones, como la diapositiva (con 32em, 3) */
  .prensa-heroe__servicios::after{margin-top:var(--e-3)}
  .prensa-heroe__texto>*+*{margin-top:var(--e-3)}
  .prensa-lista .prensa-tarjeta__portada img{width:min(100%,14.1vw);display:block;margin-inline:auto}   /* d26: la portada (14,1vw) iba pegada a la izquierda de su columna (huecos 18/45 px a 1440); la diapositiva la centra (9/8) */
}
/* RB ficha a 390 (V9/Codex cxt-contraste 22-oct): «Todos los proyectos» en oro #f2b452 sobre crema #f3efe8 medía 1,60:1; con el oro para texto sobre crema (--oro-sobre-claro, 5,5:1) como ya hace desde 1100. Solo RB. */
@media (max-width:1099.98px){[data-ficha="barcelona-ramon-berenguer"] .proyecto-b:not(.proyecto-b--sin-fotos)>.proyecto-b__texto .proyecto-b__volver{color:var(--oro-sobre-claro)}}
/* Lo mismo en todas las fichas (W11, 23-oct, medido en vivo pt770): a <1100 «Todos los proyectos» de la 2.ª diapositiva va sobre la sección crema con el oro #f2b452 = 1,60:1 en Palau, Albufera, Grovenor y Marina Gate (768-1099); con --oro-sobre-claro 5,5:1, como desde 1100. Solo en secciones claras. */
@media (max-width:1099.98px){.seccion--clara .proyecto-b__volver{color:var(--oro-sobre-claro)}}

/* Santa Anna, cifras de «El proyecto» (Codex/V9 22-oct: a 768 y 1100 «Superficie construida», «Dormitorios» y «Baños» se montaban): cada cifra no baja de su min-content y la fila pasa a otra línea; acotado a la ficha y por debajo de 1320 (tope medido por V16: a 1280 es desbordaba, cabe desde 1300) */
@media (max-width:1319.98px){
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras{flex-wrap:wrap;row-gap:var(--e-3)}
  [data-ficha="barcelona"] .proyecto-b__texto .proyecto-cifras>div{min-width:min-content;flex:0 0 auto}
}

/* Los espacios de Casa Ramon Berenguer (V10/Codex 22-oct): «CASA RAMON BERENGUER» y «BARCELONA» mayores, oscuros y con el espaciado amplio de la diapositiva 3 (en lo servido salían ≈11 px y grises); acotado a la ficha */
@media (min-width:1100px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota) .proyecto-numero+span{display:block;font-size:clamp(.95rem,.5rem + .8vw,1.4rem);letter-spacing:.12em;color:#111}
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-ref:not(.proyecto-nota) .proyecto-numero+span+span{font-size:clamp(.8rem,.45rem + .5vw,1.05rem);letter-spacing:.1em;color:#111;margin-top:.1em}
}

@media (min-width:1100px){[data-ficha="miami-penthouse"] .heroe--proyecto .proyecto-datos>div:nth-child(3) dd{max-width:11rem}}   /* Santa María (diap. 1, W12 DECIDIDO 4206): franja de datos compacta como su diapositiva: «Servicios» en 2 renglones («Interiorismo, decoración, / arquitectura y construcción»), Superficie y Estilo más a la izquierda */
@media (min-width:1280px){html[lang="en"] [data-ficha="miami-penthouse"] .heroe--proyecto .proyecto-botones{max-width:36rem}}   /* Santa María en (diap. 1, V16): «Watch video 1 · Watch video 2 · View photos» suman ≈559 px y en 31rem pasaban a 2 filas; la diapositiva (1440) y el es (490 px) los llevan en 1 fila; a 1100-1279 la columna del héroe mide 506 px y siguen en 2 filas */
@media (min-width:1100px) and (max-width:1279.98px){html[lang="en"] [data-ficha="miami-penthouse"] .heroe--proyecto .proyecto-botones .boton{padding-inline:.9rem}}   /* Santa María en a 1100-1279 (DIFERENCIAS l.251, V16): la columna del héroe mide 506 px y los 3 botones (≈559 px) pasaban a 2 filas; con .9rem de relleno lateral (147+149+135 px) van en 1 fila como la diapositiva 1 y como el es. Solo en, solo esta ficha, solo ese tramo */

/* Marina Gate (DECIDIDO 4206; propuesta de V12, 02-copias/fichas-propuestas/marina-gate/PROPUESTA.md, medida a 1440 frente a sus diapositivas 1-3; W1): solo esta ficha.
   Desde 1280: botones del héroe con la letra de la diap. (3), «MARINA GATE / DUBÁI» de «El proyecto» mayor y espaciado (4), su subtítulo en serif espaciada (5),
   rótulos de las fotos (6), «ABIERTA» en mayúsculas y cifras mayores (7), subtítulo de «Los espacios» en 2 líneas espaciadas (8) y la nota pegada bajo las cifras (9).
   Por debajo de 1280, las cifras de «Los espacios» pasan a 2 filas para no montarse («168,53 m²*» y «3 dormitorios» se pisaban a 768 y 1100) (10). */
@media (min-width:1280px){
  [data-ficha="dubai-marina-gate"] .heroe--proyecto .proyecto-botones .boton{font-size:1.04rem;min-height:2.95rem}
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref{font-size:1.5rem;letter-spacing:.14em}
  [data-ficha="dubai-marina-gate"] .proyecto-b__texto .proyecto-ref span+span{font-size:1.06rem}
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo{font-size:1.2rem;letter-spacing:.2em;line-height:1.25}
  [data-ficha="dubai-marina-gate"] .proyecto-b__fotos figcaption{font-size:.9rem}
  [data-ficha="dubai-marina-gate"] .proyecto-b__texto .proyecto-cifras__palabra dd{text-transform:uppercase}
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dd{font-size:1.5rem}
  [data-ficha="dubai-marina-gate"] .proyecto-c__texto .proyecto-subtitulo{font-size:1.2rem;letter-spacing:.2em;line-height:1.25}
  [data-ficha="dubai-marina-gate"] .proyecto-diapositiva--espacios .proyecto-ref.proyecto-nota{margin-top:.5rem}
}
@media (max-width:1279.98px){
  [data-ficha="dubai-marina-gate"] .proyecto-diapositiva--espacios .proyecto-cifras{flex-wrap:wrap;row-gap:var(--e-3)}
  [data-ficha="dubai-marina-gate"] .proyecto-diapositiva--espacios .proyecto-cifras>div{flex:0 0 auto}
}
/* W12 (SEG-W12-rb-espacios-1100-hueco-bajo-fotos, 22-oct): de 900 a 1365 el texto de RB «Los espacios» (nombre mayor + cifras en 2 filas) es más alto que la galería
   (alto fijo --alto-c) y queda un hueco blanco bajo las fotos (≈140 px a 1100; en la diapositiva ≈67). Las fotos se estiran hasta la altura de la sección, sin bajar del alto de siempre. */
@media (min-width:900px) and (max-width:1365.98px){
  [data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-c__galeria--4{align-content:stretch;grid-auto-rows:minmax(calc((var(--alto-c) - 3 * var(--sep)) / 2),1fr)}
}
/* d2 Santa Anna, titular del héroe (filas 2-3 de fichas-propuestas/santa-anna, V6 en vivo pt399): en la diapositiva 2.1 «BARCELONA» mide ≈0,83 de «SANTA ANNA»
   (418 frente a 503 px) y servido ≈0,95 (514 frente a 540): la 2.ª línea a .87em. Solo la ficha y desde 1100 px; la raya bajo el titular es de V6. */
@media (min-width:1100px){
  [data-ficha="barcelona"] .heroe--proyecto .proyecto-titular .acento{font-size:.87em}
}
/* Franja negra inferior COMÚN de las fichas (V12/V16, filas FRANJA de FILAS-FICHAS-POR-TIPO-1345; Emmar fila 15 y Londres fila 6 con medida de su diapositiva): Jost 500 de ≈13,5 px a 1440, tracking .15em y alto ≈56 px en una sola fila (servido: serif 13 px apretado y 68-77 px de alto). Desde 1100 px; Santa Anna sigue con la suya (más específica) y Santa María, con la franja en serif de mayúsculas de 10 px de su diapositiva 4 (medida por W12 por píxel), queda fuera. */
@media (min-width:1100px){
  :where([data-ficha]:not([data-ficha="miami-penthouse"])) .proyecto-franja__datos{font-family:var(--fuente-texto);font-weight:500;font-size:clamp(.72rem,.94vw,.9rem);line-height:1.5;letter-spacing:.15em;padding-block:1.15rem}
}
/* Hueco blanco bajo las fotos a 1100 (PRIO 0 del puente 4767; V12 en vivo: RB «Los espacios» ~150 px, Emmar diap. 2-6 ~110 px, Londres 2×2 ~90 px; en las maquetas las fotos llegan hasta la franja negra): la rejilla de fotos medía --alto-c (48,2vw o menos) y, a 1100-1279, la columna de texto es más alta que eso, así que la sección crece con el texto y las fotos acaban antes. Desde 1100 px, la galería de «Los espacios» mide al menos --alto-c y se estira al alto de su columna (align-self:stretch, sin height fijo); sus filas pasan a fr con las mismas proporciones (--3 .52/.48, --4 iguales, --5 .47/.53, RB .513/.487, Marina Gate 26,7/18,3; el mosaico ya lleva sus filas en fr en --m-filas) y las fotos van absolutas en su celda (sin su alto natural no inflan la sección). En las plantas de Emmar la foto grande se queda con su proporción (619/388) y las dos pequeñas toman el resto del alto (antes la fila de la grande se estiraba y dejaba ~120 px blancos entre ellas). A 1440 el texto y --alto-c coinciden y no cambia nada. */
@media (min-width:1100px){
  [data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--3,[data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--4,[data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--5,[data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--mosaico{align-self:stretch;height:auto;min-height:var(--alto-c);box-sizing:border-box}
  [data-ficha] .proyecto-diapositiva--espacios :is(.proyecto-c__galeria--3,.proyecto-c__galeria--4,.proyecto-c__galeria--5,.proyecto-c__galeria--mosaico) li{min-height:0;height:100%}
  [data-ficha] .proyecto-diapositiva--espacios :is(.proyecto-c__galeria--3,.proyecto-c__galeria--4,.proyecto-c__galeria--5,.proyecto-c__galeria--mosaico) figure{height:100%}
  [data-ficha] .proyecto-diapositiva--espacios :is(.proyecto-c__galeria--3,.proyecto-c__galeria--4,.proyecto-c__galeria--5,.proyecto-c__galeria--mosaico) img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  [data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--3{grid-template-rows:minmax(0,.52fr) minmax(0,.48fr)}
  [data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--4{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}
  [data-ficha][data-ficha="barcelona-ramon-berenguer"] .proyecto-diapositiva--espacios .proyecto-c__galeria--4{grid-template-rows:minmax(0,.513fr) minmax(0,.487fr);grid-auto-rows:minmax(0,1fr)}
  [data-ficha] .proyecto-diapositiva--espacios .proyecto-c__galeria--5{grid-template-rows:minmax(0,.47fr) minmax(0,.53fr);grid-auto-rows:auto}
  [data-ficha][data-ficha="dubai-marina-gate"] #los-espacios .proyecto-c__galeria--mosaico{grid-template-rows:minmax(0,26.7fr) minmax(0,18.3fr)}
  [data-ficha="dubai-villa-emmar"] .proyecto-b--plano-grande .proyecto-b__fotos{grid-template-rows:auto minmax(0,1fr)}
  [data-ficha="dubai-villa-emmar"] .proyecto-b--plano-grande .proyecto-b__fotos:has(>figure:nth-child(4)){grid-template-rows:auto minmax(0,1fr) auto}
}
/* Suelo de 10 px en las etiquetas (dt) de la fila de datos del héroe de ficha (PRIO 0 del puente 4767, V12: Palau 9,28 px a 390): Palau y Santa Anna las llevaban a .58rem por su ficha; de 1099 px para abajo, a 10 px. Desde 1100 siguen con las suyas (Palau 10,6). */
@media (max-width:1099.98px){
  :is([data-ficha="barcelona-casa-palau"],[data-ficha="barcelona"]) .heroe--proyecto .proyecto-datos dt{font-size:10px}
}
/* Héroe de ficha como la diapositiva 1 (PRIO 0 MÁXIMA de Víctor, puente 4873; medido superponiendo diap. y web a 1440 en 9 fichas): (a) el DIFUMINADO NEGRO desde la izquierda: la diapositiva está casi negra hasta el 20 % del ancho (mediana de luminancia 0-10 de 255 hasta el 15 %) y se abre del 25 al 45 %; la web sacaba .83 al 0 %, .67 al 28 % y se abría hasta el 62 % (40-70 de luminancia a la izquierda y la foto más oscura de la cuenta a la derecha). Perfil común, el de la diapositiva (ya lo llevaba Emmar): .96 al 0 %, .94 al 20 %, .6 al 33 %, .3 al 42 %, 0 al 50 %; vale también para las fichas con heroe_velo (Palau, Marina Gate, Grovenor: el factor se deja de multiplicar, la maqueta es negra a la izquierda en todas). Santa Anna lleva el suyo (la foto empieza al 38 %). (b) el MARGEN IZQUIERDO del texto: titular a 47-51 px a 1440 en la diapositiva (3,4vw) frente a 54-58 px de la web (--margen, 3,95vw, que es el de la cabecera): desde 1100 px el contenido del héroe de ficha usa 3,4vw a la izquierda. */
@media (min-width:1100px){
  [data-ficha]:not([data-ficha="barcelona"]) .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.62) 33%,rgba(0,0,0,.4) 42%,rgba(0,0,0,.3) 46%,rgba(0,0,0,0) 62%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
  [data-ficha][data-ficha]:not([data-ficha="barcelona"]) .heroe--proyecto[style*="--heroe-velo"] .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.62) 33%,rgba(0,0,0,.4) 42%,rgba(0,0,0,.3) 46%,rgba(0,0,0,0) 62%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
  .heroe--proyecto .heroe__contenido.contenedor{padding-left:3.4vw}
}
/* Con el zoom de Palau/RB/Albufera/Marina Gate (≥900 de alto) el tope de la caja (100vw, en px sin zoom) la dejaba más estrecha que la pantalla y centrada (Palau a 2356: caja desde x=41 y texto al 5,0 % en vez del 3,4 %; V9): sin tope ni margen auto, el texto arranca al 3,4vw del borde. */
@media (min-width:1441px){.heroe--proyecto .heroe__contenido.contenedor{max-width:none;margin-inline:0}}
/* Letra del héroe de Grovenor y Marina Gate como su diapositiva 1 (VS 5095, opción C; V9 medir-final): solo 16:9 desde 1441 (2356×1325/×1216, 1920×1080), 1440×900 no cambia. Medido sobre la diapositiva escalada a 2356 (tinta): Grovenor titular 31,3 % del ancho (web 27,5: ×1,14), líneas de 115 px; subtítulo casa (27,1 vs 26,5) con interlínea de 42 px; párrafo a 31,6 px de interlínea. Marina Gate titular ×1,19, subtítulo ×1,3 (interlínea 41 px), párrafo a 31,3 px. El subtítulo de la web lleva además una raya dorada (::after, 39 px con su margen) que la diapositiva no tiene: se quita, y con la interlínea ajustada el bloque vuelve a ~56,25vw con la franja dentro. */
@media (min-width:1441px) and (min-aspect-ratio:17/10){
    :is([data-ficha="miami-grovenor"],[data-ficha="dubai-marina-gate"]) .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo{max-width:40rem}
  [data-ficha="miami-grovenor"] .heroe--proyecto[style*="--heroe-titular"] .proyecto-titular{font-size:calc(min(clamp(2.5rem,1rem + calc(4.2*var(--vw)),6rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72))) * var(--heroe-titular) * 1.14)!important;line-height:.96}
  [data-ficha="miami-grovenor"] .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo{line-height:1.17}
  [data-ficha="miami-grovenor"] .heroe--proyecto[style*="--heroe-escala"] .texto-grande{line-height:1.21}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto[style*="--heroe-titular"] .proyecto-titular{font-size:calc(min(clamp(2.5rem,1rem + calc(4.2*var(--vw)),6rem),calc(min(46rem,calc(46*var(--vw))) / (var(--palabra,8) * .72))) * var(--heroe-titular) * 1.19)!important;line-height:.83}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo{font-size:calc(clamp(.9rem,.75rem + calc(.5*var(--vw)),1.35rem) * var(--heroe-escala) * 1.3);line-height:1}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto[style*="--heroe-escala"] .texto-grande{line-height:1.16}
}
/* Héroe de Villa Emmar como su diapositiva 1 a 2356 (V9: 1413 px = 60 % del ancho; diapositiva 1327, tinta medida): el subtítulo parte en 2 líneas (765 px, 42 px de interlínea), no en 3 por la columna de 673 px; párrafo a 34,5 px de interlínea. La raya dorada corta bajo el subtítulo SÍ está en las diapositivas de Emmar, Grovenor (dos trazos) y Marina Gate (V9 corrigió): se restituye con la medida de la diapositiva (tinta a 2356: Emmar 97×4 px, Grovenor 94 y 80 px de 3 px con 287 px de separación, MG 99×7 px) repartiendo su alto dentro del hueco que ya había entre subtítulo y párrafo; el aire bajo la raya (19-28 px en la diap. a 2356) se toma del relleno inferior del bloque de texto para no mover el alto del héroe. Solo 16:9 desde 1441. */
@media (min-width:1441px) and (min-aspect-ratio:17/10){
  [data-ficha="dubai-villa-emmar"][data-ficha] .heroe--proyecto .proyecto-subtitulo{max-width:40rem}
  :is([data-ficha="dubai-villa-emmar"],[data-ficha="miami-grovenor"],[data-ficha="dubai-marina-gate"]) .heroe--proyecto .proyecto-subtitulo::after{display:block;background:var(--oro)}
  [data-ficha="dubai-villa-emmar"] .heroe--proyecto .proyecto-subtitulo::after{width:3.7rem;height:.15rem;margin-top:.5rem}
  [data-ficha="dubai-villa-emmar"][data-ficha] .heroe--proyecto .heroe__texto>.texto-grande{margin-top:.85rem;line-height:1.2}
  [data-ficha="dubai-villa-emmar"] .heroe--proyecto .heroe__contenido{padding-bottom:calc(2.2 * var(--vw) - .7rem)}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto .proyecto-subtitulo::after{width:3.8rem;height:.27rem;margin-top:.28rem}
  [data-ficha="dubai-marina-gate"][data-ficha] .heroe--proyecto .heroe__texto>.texto-grande{margin-top:.68rem}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto .heroe__contenido{padding-bottom:calc(2.2 * var(--vw) - .4rem)}
  [data-ficha="miami-grovenor"] .heroe--proyecto .proyecto-subtitulo::after{width:14rem;height:.11rem;margin-top:.31rem;background:linear-gradient(var(--oro),var(--oro)) 0 0/3.6rem 100% no-repeat,linear-gradient(var(--oro),var(--oro)) 11rem 0/3rem 100% no-repeat}
  [data-ficha="miami-grovenor"][data-ficha] .heroe--proyecto .heroe__texto>.texto-grande{margin-top:.77rem}
  [data-ficha="miami-grovenor"] .heroe--proyecto .heroe__contenido{padding-bottom:calc(2.2 * var(--vw) - .45rem)}
}
/* Casa Palau, héroe a 2356 como su diapositiva (revfinal2/vs-w5: subtítulo en 3 líneas frente a 2 de la diapositiva, orden 4206, y párrafo ≈10 % menor): medido sobre la diapositiva escalada a 2356 (tinta): subtítulo en 2 líneas (la 2.ª de 928 px: columna de 36rem, no de 28), párrafo en 7 líneas de 31,4 px a ≈23,7 px (×1,1) en una columna de ≈26rem; el aire que añaden las 2 líneas más del párrafo sale del relleno inferior del bloque de texto para no mover el alto del héroe. Solo 16:9 desde 1441. */
@media (min-width:1441px) and (min-aspect-ratio:17/10){
  [data-ficha="barcelona-casa-palau"][data-ficha] .heroe--proyecto[style*="--heroe-escala"] .proyecto-subtitulo{max-width:36rem}
  [data-ficha="barcelona-casa-palau"][data-ficha] .heroe--proyecto[style*="--heroe-escala"] .texto-grande{font-size:calc(clamp(.85rem,.55rem + .35vw,1rem) * var(--heroe-escala) * 1.1);max-width:25rem}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__contenido{padding-bottom:calc(2.2 * var(--vw) - .8rem)}
}
/* Casa Palau, subtítulo del héroe en 2 líneas de 1280 a 1440 como la diapositiva 1 (orden del puente; solo es: el texto inglés es más largo y no hay diapositiva EN). La 2.ª línea («ARQUITECTURA E INTERIORISMO DE LUJO EN BARCELONA») mide ≈32,4 em (medido a 2356: 966 px con 29,84 px de letra): columna de 34 em en vez de 28 rem. */
@media (min-width:1280px) and (max-width:1440px){
  html:lang(es) [data-ficha="barcelona-casa-palau"][data-ficha] .heroe--proyecto .proyecto-subtitulo{max-width:34em}
}
/* Emmar, foto del héroe como la diapositiva 1 (V6/VS: la villa se veía MÁS GRANDE, recortada por arriba y desplazada a la izquierda; en la diapositiva va entera, entre el 37 y el 90 % del ancho). Es la misma foto (portada.webp 1672×941) puesta en la diapositiva a escala ≈0,84 y desplazada ≈25 % a la derecha y ≈6,5 % hacia abajo (correlación de la diapositiva escalada a 2356 con el fondo de la web, medida en pod: SAD 21,6 con escala .84, desplazamiento 25 % y 6,2 %); lo que deja libre (izquierda bajo el velo negro y franja bajo la cabecera) queda negro como en la diapositiva; el borde izquierdo de la foto se desvanece (máscara 9 %) para que no haya costura contra el velo. Solo 16:9 desde 1441. */
@media (min-width:1441px) and (min-aspect-ratio:17/10){
  [data-ficha="dubai-villa-emmar"] .heroe--proyecto .heroe__fondo img{transform-origin:0 0;transform:translate(25%,6.5%) scale(.84);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%);mask-image:linear-gradient(90deg,transparent 0,#000 9%)}
}
/* Emmar, fotos de «Primera planta» y «Planta de cubierta» (V6/VS: hueco entre la foto grande y las dos pequeñas 84 px a 2356 frente a ≈14 de la diapositiva, y la fila inferior pegada al borde de la diapositiva sin el margen de ≈50 px): la fila de arriba toma su alto (la foto grande, sin repartir los 44 px que sobraban), las dos pequeñas llenan el resto y queda 1,9rem (50 px a 2356, 30 a 1440) bajo ellas. Solo las de 3 fotos (sin rótulo): Planta baja y Segunda planta ya casaban. */
@media (min-width:1100px){
  [data-ficha="dubai-villa-emmar"] .proyecto-b--plano-grande .proyecto-b__fotos:not(:has(>figure:nth-child(4))){align-content:start;grid-template-rows:auto minmax(0,1fr);padding-bottom:1.9rem}
}
/* Velo abierto hacia el 55 % desde 1440 (V9 9843: la diapositiva es más clara que lo servido entre el 30 y el 60 %; Palau 79 de luminancia vs 39 servido). Contraste p95 del texto medido en pod en las 10 fichas (1100/1440/2356): con este velo todas quedan ≥ 6,5 salvo Roca Berenguer (4,1) y Penthouse (2,5, ya 5,3-5,5 servido), que se quedan con el velo de arriba; a 1100 (Grovenor 3,05, Emmar 3,2, Marina Gate 3,5) tampoco se aplica. */
@media (min-width:1440px){
  [data-ficha][data-ficha]:not([data-ficha="barcelona"]):not([data-ficha="barcelona-ramon-berenguer"]):not([data-ficha="miami-penthouse"]) .heroe--proyecto .heroe__fondo::after,[data-ficha][data-ficha][data-ficha]:not([data-ficha="barcelona"]):not([data-ficha="barcelona-ramon-berenguer"]):not([data-ficha="miami-penthouse"]) .heroe--proyecto[style*="--heroe-velo"] .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.35) 30%,rgba(0,0,0,.12) 42%,rgba(0,0,0,0) 55%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
  /* Casa Palau lleva además su propio degradado local (::before, .64-.76 hasta el 47-58 %) que dejaba el 30-45 % en 43 de luminancia frente a 80 de la diapositiva (V9 9852); se cierra del 24 % al 38 %: contraste del texto 13,9 (mín. 4,5) */
  [data-ficha][data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__fondo::before{background:radial-gradient(ellipse 13% 9% at 92% 82%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,0) 100%),linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.64) 24%,rgba(0,0,0,.3) 30%,rgba(0,0,0,0) 38%)}
}
/* Héroe común de ficha (V6, DECIDIDO 4432; filas de plantilla de cruce/FILAS-FICHAS-POR-TIPO-1345.tsv, medidas a 1440 contra cada diapositiva): solo las fichas
   con esa fila en su CIERRE, el resto no cambia (Palau, Santa Anna y Marina Gate llevan lo suyo). SUBT-HEROE: subtítulo ≈22 px y .17em (Escuela, Emmar, Hotel);
   PARR-HEROE: entradilla ≈16 px del Hotel (Londres y Escuela, con la pieza del alto del héroe: a 16 px pasan de 900); BOT-HEROE: botones ≈17 px y hueco 16
   (Grovenor, Londres, Escuela); DATOS: columnas a su contenido con raya fina, la 1.ª a la x del titular y rótulos ≈10,5 px (Grovenor, Londres, Santa María,
   Escuela, Emmar, Albufera, Hotel); RAYA: la dorada bajo el subtítulo (Escuela, RB). Al final del fichero: así se midió (inyectado tras todo). */
@media (min-width:1100px){
  .hotel-heroe .texto-grande{font-size:calc(clamp(.85rem,.55rem + .35vw,1rem) * 1.15);line-height:1.3;max-width:30rem}
  [data-ficha="vietnam-escuela"] .heroe--proyecto .proyecto-subtitulo,[data-ficha="dubai-villa-emmar"] .heroe--proyecto .proyecto-subtitulo,.hotel-heroe .proyecto-subtitulo{font-size:calc(clamp(.9rem,.75rem + calc(.5*var(--vw)),1.35rem) * 1.15);letter-spacing:.17em}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="vietnam-escuela"]) .heroe--proyecto .proyecto-botones{gap:1rem}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="vietnam-escuela"]) .heroe--proyecto .proyecto-botones .boton{font-size:1.05rem}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"],[data-ficha="dubai-villa-emmar"],[data-ficha="valencia-penthouse-albufera"]) .heroe--proyecto .proyecto-datos,.hotel-heroe .proyecto-datos{flex:0 1 auto}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"],[data-ficha="dubai-villa-emmar"],[data-ficha="valencia-penthouse-albufera"]) .heroe--proyecto .proyecto-datos>div,.hotel-heroe .proyecto-datos>div{flex:0 0 auto;padding-inline:1.6vw;border-left:1px solid rgba(255,255,255,.35)}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"],[data-ficha="dubai-villa-emmar"],[data-ficha="valencia-penthouse-albufera"]) .heroe--proyecto .proyecto-datos>div:first-child,.hotel-heroe .proyecto-datos>div:first-child{padding-left:0;border-left:0}
  :is([data-ficha="miami-grovenor"],[data-ficha="londres-the-seduction"],[data-ficha="miami-penthouse"],[data-ficha="vietnam-escuela"],[data-ficha="dubai-villa-emmar"],[data-ficha="valencia-penthouse-albufera"]) .heroe--proyecto .proyecto-datos dt,.hotel-heroe .proyecto-datos dt{font-size:.66rem}
  :is([data-ficha="vietnam-escuela"],[data-ficha="barcelona-ramon-berenguer"]) .heroe--proyecto .proyecto-subtitulo::after{display:block}
  :is([data-ficha="miami-grovenor"],[data-ficha="vietnam-escuela"],[data-ficha="dubai-villa-emmar"]) .heroe--proyecto .heroe__texto>*+*{margin-top:clamp(.55rem,.15rem + .65vw,1rem)}
}
/* Tipografía de sección COMÚN a las fichas (DECIDIDO 4432; filas TIT-SECC, NOMBRE, SUBT-SECC, CUERPO y ROTULOS de FILAS-FICHAS-POR-TIPO-1345, medidas en las diapositivas por W1, W5, W8, V3, V6, V7, V10 y V16): un solo juego de valores desde 1100 px; lo que cada ficha ya afina con [data-ficha] se queda.
   - Titular de sección: Bodoni de contraste alto (opsz 48, más estrecha como la diapositiva) con el artículo («LOS», «EL», «LA») mayor que la palabra de acento (--art 1,15: diap. 62/55 px en Grovenor); la palabra de acento conserva el tamaño que ya tenía (.acento a 1em/--art). El tamaño de cada titular se multiplica por --art en sus reglas.
   - Subtítulo de sección con más tracking (.1em; la diapositiva de Grovenor lo trae a ≈.15em, pero en columnas estrechas partía una línea más). El nombre / cabecera de columna (17,7 px en Grovenor, ≈10 px de alto en Londres) queda por ficha: sus diapositivas no coinciden. Cuerpo de ficha 15,5 px a 1440 con interlínea 1,26 (diap. ≈15,5/19,5; servido 14,2). Rótulo de foto: Jost 13,5 px en versales (diap. sans ≈13-14; servido 11 px en serif en unas fichas y 13,6 en otras). */
@media (min-width:1100px){
  .proyecto-b__titular{--art:1.15;font-variation-settings:"opsz" 48}
  .proyecto-b__titular .acento{font-size:calc(1em / var(--art))}
  [data-ficha="londres-the-seduction"] .proyecto-b__titular,[data-ficha="miami-penthouse"] .proyecto-b__titular,[data-ficha="vietnam-escuela"] .proyecto-b__titular,[data-ficha="barcelona-ramon-berenguer"] .proyecto-b__titular{--art:1}   /* tamaños de titular fijos por su dueña (W5, V3, V7, V10; en RB y la Escuela con !important): sin artículo mayor aquí */
  .proyecto-b__texto .proyecto-subtitulo,.proyecto-c__texto .proyecto-subtitulo{letter-spacing:.1em}
  .proyecto-b__texto,.proyecto-c__texto{font-size:clamp(.9rem,1.08vw,1.1rem);line-height:1.26}
  .proyecto-b__fotos figcaption,.proyecto-c__galeria figcaption{font-family:var(--fuente-texto);font-size:clamp(.72rem,.9vw,.9rem);letter-spacing:.08em;text-transform:uppercase}
}
/* Alto del héroe de ficha (V6; V9 1305, DECIDIDO 4503/4505): desde 1100 de ancho, el héroe cabe en una pantalla y ninguna letra baja de 10 px efectivos.
   Bajo 900 de alto, el texto del héroe a escala --zc (×0,88 / ×0,82 bajo 820 / ×0,76 bajo 780; Palau ×0,78, su entradilla es de 12,9 px) y el pie
   ×0,95 (rótulos de datos de 10,56 → 10,03); a 1440x900, solo el texto de las fichas que pasaban de 900 (Palau 923, Albufera 906, Marina 901, RB 903; Escuela, con
   el héroe de V3 en vietnam-escuela.css, ya cabe). Suelos de 10 px: botones pequeños de Palau (max con 10px/--zc), rótulos de datos de Palau (10,6 px) y el
   pie de Escuela sin escala (sus rótulos son de 10 px, de V12/V3). Medido en las 11 fichas a 1100x800, 1280x800, 1366x768 y 1440x900. */
@media (min-width:1100px) and (max-height:899.98px){
  .heroe--proyecto{--zc:.88}
  .heroe--proyecto .heroe__contenido{zoom:var(--zc)}
  .heroe--proyecto .heroe__pie{zoom:.95}
  [data-ficha="vietnam-escuela"] .heroe--proyecto .heroe__pie{zoom:1}
}
@media (min-width:1100px) and (max-height:819.98px){.heroe--proyecto{--zc:.82}}
@media (min-width:1100px) and (max-height:779.98px){.heroe--proyecto{--zc:.76}[data-ficha="barcelona-casa-palau"] .heroe--proyecto{--zc:.78}}
@media (min-width:1100px){
  .heroe--proyecto .proyecto-botones .boton--izq{font-size:max(.7rem,calc(10px / var(--zc,1)))}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dt{font-size:10.6px}
}
@media (min-width:1441px){[data-ficha][data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dt{font-size:.6625rem}}
@media (min-width:1100px) and (min-height:900px){
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto{--zc:.965}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto{--zc:.99}
  [data-ficha="dubai-marina-gate"] .heroe--proyecto{--zc:.95}   /* con su párrafo de 16,5 px (bloque de Marina Gate, al final): con .998 el héroe daba 933 */
  [data-ficha="barcelona-ramon-berenguer"] .heroe--proyecto{--zc:.995}
  :is([data-ficha="barcelona-ramon-berenguer"],[data-ficha="barcelona-casa-palau"],[data-ficha="valencia-penthouse-albufera"],[data-ficha="dubai-marina-gate"]) .heroe--proyecto .heroe__contenido{zoom:var(--zc)}
}
/* d29 «Nuestra trayectoria» a 900-1279 (SEG-cl-v3n-16-diap29-1024-1, W1): como la diapositiva 29, el titular en 2 renglones y la foto Miami/Barcelona empezando donde acaba
   la columna del texto (en lo servido, a 1024, «DE MIAMI A BARCELONA.» llegaba a x≈587 sobre el cielo y los rascacielos). La letra baja lo justo para que el renglón
   más largo (12,84 em) quepa en el 54 % del ancho. */
@media (min-width:900px) and (max-width:1279.98px){
  .viaje__texto{max-width:54%}
  .viaje__texto .titular{font-size:calc(calc(4.1*var(--vw)) - .35rem)}
  .viaje__foto{left:54%;width:46%}
}
/* d28 Quiénes somos a ≥1100 (SEG-cl-v5-5-diap28-1440-1/-2, W1): el velo de la foto arranca en .78 (decidido para que se vea la foto tras el texto) y el panel de la izquierda es negro: en el borde
   quedaba una costura vertical. Una capa aparte funde los primeros 3 % de la foto con el negro del panel; el velo de W9 no cambia. */
@media (min-width:1100px){.heroe.heroe--nosotros .heroe__fondo::before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:3%;background:linear-gradient(90deg,var(--negro),rgba(0,0,0,0));pointer-events:none}}
/* Fichas, cifras de «El proyecto» (DECIDIDO 4432, W12; medido por píxel en la diapositiva 2 de RB, escala 1440/1672): el número de ≈22 px
   (alto de cifra 15,5 px), la etiqueta de ≈10,4 px y el separador fino (servido 18,6 / 9,9 px y barra de 2 px). Las fichas con cifras propias
   (RB, Marina Gate) siguen con las suyas. La franja negra de sección la lleva W10 (7c617fc5b). */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dd{font-size:clamp(1.1rem,.4rem + 1.08vw,1.9rem)}
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras dt{font-size:.65rem}
  .proyecto-b__texto .proyecto-cifras>div+div{border-left-width:1px}
}
/* Plano de «El proyecto» común (puente 4476, orden de Víctor 13:19; medido en pod con este CSS inyectado en 7 fichas: plano-comun-4476): a 1100+ el plano iba pegado arriba de su columna
   (justify-content:flex-start de la regla de arriba pisaba al center de .proyecto-b__plano) y a menos de 1100 su img (fondo casi blanco) y el fondo crema del plano se veían como un rectángulo
   más claro que la página. Ahora centrado en vertical, sin fondo propio ni sombra, y el blanco del PNG se funde con la página (multiply). Santa Anna ya lo llevaba en su hoja. */
@media (min-width:1100px){
  .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano{justify-content:center}
}
.proyecto-b__plano{background:none}
.proyecto-b__plano img{box-shadow:none;mix-blend-mode:multiply}
/* Marina Gate, párrafo del héroe (V6; PROPUESTA fila 2): ≈16,5 px como su diapositiva 1 (servía 14,1). El héroe sigue en 900 a 1440x900 con su escala
   --zc de .95 (bloque del alto del héroe): ≈15,6 px efectivos; en pantallas bajas va con la escala común (≥10 px). */
@media (min-width:1100px){
  [data-ficha="dubai-marina-gate"] .heroe--proyecto .texto-grande{font-size:calc(clamp(.85rem,.55rem + .35vw,1rem) * 1.19);line-height:1.3}
}
/* 22-oct 3.ª pasada Casa Palau (puente 1630590): botones al tamaño de la diapositiva (fila 1 ≈207×37 con letra ≈10 px; fila 2 ≈162/117/126×36 a 1440) y la foto (recorte entero de la diap., lámpara al 43 % del ancho como en ella) */
@media (min-width:1100px){[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones{max-width:27rem;gap:.55rem}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--doble{flex:0 0 207px;min-height:37px;height:37px;padding-block:0;padding-inline:.6rem;font-size:.625rem;letter-spacing:.02em;white-space:nowrap}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq{flex:0 0 auto;min-height:36px;height:36px;padding-block:0;font-size:.625rem}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(3){flex-basis:162px}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(4){flex-basis:117px}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(5){flex-basis:126px}}
/* == Palau botones héroe (V3) == */
/* Casa Palau, los cinco botones del héroe como la diapositiva (revisión final, V9 Palau 1). A 1440 y por debajo siguen en los px de arriba (FichaPalauR3Test, DECIDIDO 4463); por encima de 1440 pasan a rem y crecen con la raíz (a 2356 medían el 8 % del ancho, 200×36 px, frente al 14 % de la diapositiva), con el alto con suelo en px para que a 2356x1216 el héroe siga en 1216 (con rem puro daba 1222). Dorado liso #f5b106 (el de la diapositiva, medido), letra en negrita y pictograma sin círculo, de 1100 en adelante; el «VER VÍDEO 2» desactivado (DECIDIDO 4249) no se toca. */
@media (min-width:1441px){
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--doble{flex:0 0 12.9375rem;min-height:max(37px,2.05rem);height:max(37px,2.05rem)}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq{min-height:max(36px,2rem);height:max(36px,2rem)}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(3){flex-basis:10.125rem}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(4){flex-basis:7.3125rem}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq:nth-child(5){flex-basis:7.875rem}
}
@media (min-width:1100px){
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--doble .boton__icono{border:0;width:2em;height:2em}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--doble .boton__icono svg{width:1.8em;height:1.8em;margin-left:0}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq .boton__icono{width:2em;height:2em}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton{font-weight:700}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton:not([aria-disabled="true"]){background:#f5b106;box-shadow:none}
}
/* == fin Palau botones héroe (V3) == */
/* == Palau botones héroe alto (V3) == */
/* Casa Palau (V9 revisión final): los botones del héroe a >1440 medían 52 px de alto y la diapositiva ≈58 (−10 %). Alto en rem (2,28 rem ≈ 58 px a 2356); a 2356x1325 el héroe sigue en 1325 y a 2356x1216 sube 9 px sobre el pliegue en el que ya estaba (1296). */
@media (min-width:1441px){
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--doble{min-height:2.28rem;height:2.28rem}
[data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-botones .boton--izq{min-height:2.28rem;height:2.28rem}
}
/* == fin Palau botones héroe alto (V3) == */
@media (max-width:1099px){.heroe--proyecto .heroe__fondo img[src*="barcelona-casa-palau/portada"]{object-position:42% 50%}}

/* 22-oct (orden de Víctor, VS 4687): sin fichero de vídeo del Drive el botón de vídeo se queda visible y apagado (web.js: aria-disabled), también el «play» redondo. */
.play[aria-disabled="true"]{opacity:.4;filter:grayscale(1);cursor:not-allowed}
/* 22-oct (V9/V12, medida en vivo a 1100): «La zona privada» de Casa Palau recortaba ~28 % el baño y la lavandería (fuentes casi cuadradas, 1095×1052 y 1058×1052, en celdas de 3 columnas): entre 900 y 1279 px cada celda toma la proporción de su foto (arriba 4:3, abajo 1095:1052) y la rejilla el alto que resulta, sin recortes; no cambia a 1280+. */
@media (min-width:900px) and (max-width:1279.98px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5{height:auto;grid-template-rows:auto auto;grid-auto-rows:auto;align-content:start}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5 li:nth-child(-n+3){height:auto;aspect-ratio:4/3}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5 li:nth-child(n+4){height:auto;aspect-ratio:1095/1052}
}


/* == Palau cuerpo 1440 (V3, revisión final W8 → V9) == */
/* Casa Palau, «Los espacios» y «La zona privada» (revisión final de W8, V9 el 22-oct): el párrafo de la columna medía 14,2 px a 1440 (0,95 % del ancho) y las diapositivas 3 y 4 lo llevan al ≈1,15-1,2 % (16,6-17,3 px). Solo Palau, de 1280 en adelante, con el mecanismo único (calc(1,17*var(--vw)), V9: 16,8 px a 1440, ≈15 a 1280, 1,17 % del ancho como la diapositiva; por encima crece con la raíz, sin tope de alto propio). */
@media (min-width:1280px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-size:calc(1.17*var(--vw))}
}
/* == fin Palau cuerpo 1440 (V3) == */
/* == Palau titulares opsz (V3) == */
/* Casa Palau, titulares de «El proyecto», «Los espacios», «La zona privada» y la revista (revisión final de W8, V9 Palau 4): el TS Didot es una Bodoni Moda de eje óptico (opsz): con el tamaño en px por encima de ~60 el navegador la afina sola y a 2356 los finos (la N, la A) casi desaparecen y el trazo queda abierto; la diapositiva los lleva robustos y compactos. Pasada 1440 se fija el eje en 24 y el peso en 700 (la diapositiva los lleva robustos y compactos; con 14 en 1100-1440 los titulares se ensanchaban y la zona privada pasaba a 3 líneas): misma familia. A 1440 y por debajo, como estaba; el móvil igual. */
@media (min-width:1441px){
  [data-ficha="barcelona-casa-palau"] .proyecto-b__titular{font-variation-settings:"opsz" 24;font-weight:700}
}
/* == fin Palau titulares opsz (V3) == */

/* == Palau frase al pie (V3) == */
/* Casa Palau, diapositivas 3 y 03.1B (revisión final de W8, V9): en la franja (y al pie de la revista, que no la lleva) la frase «We design homes where you feel at peace» centrada en la letra de títulos, como la diapositiva. En inglés en es y en. */
.proyecto-franja__frase{margin:0;align-self:center;flex:1 1 auto;text-align:center;color:var(--blanco);font:400 1.5rem/1.2 var(--fuente-titulares)}
.proyecto-frase-pie{margin:0;padding:.9rem var(--margen,1rem);background:var(--blanco);color:var(--tinta);text-align:center;font:400 1.75rem/1.2 var(--fuente-titulares)}
/* == fin Palau frase al pie (V3) == */
/* == d27 768 (V6) == */
/* Diap. 27 a 768 (SEG-cl-v3n-8-diap27-768-1..4): en «Próximas publicaciones» la foto de los libros quedaba detrás del título y la entradilla, oscurecida al .3 y
   con sus rótulos montados con el texto: de 768 a 1099 va debajo del texto, entera y clara (a la derecha no cabe). Y la 2.ª fila de tarjetas salía desigual
   (250 y 236 px; portada 216×254 frente a 202×237) porque «ARQUITECTURA» no cabía en la portada y ensanchaba su tarjeta: tarjetas sin mínimo y el nombre a
   la anchura de la portada. */
@media (min-width:768px) and (max-width:1099.98px){
  .prensa-heroe--proximas{display:flex;flex-direction:column}
  .prensa-heroe--proximas .prensa-heroe__fondo{position:relative;z-index:0;order:2;inset:auto;width:100%;opacity:1}
  .prensa-heroe--proximas .prensa-heroe__fondo img{height:auto;aspect-ratio:2/1;object-position:70% 80%}
  .prensa-heroe--proximas .prensa-heroe__fondo::after{background:linear-gradient(180deg,var(--negro) 0%,rgba(0,0,0,0) 18%)}
}
@media (min-width:768px) and (max-width:899.98px){
  .prensa-proximas .prensa-tarjeta{min-width:0}
  .prensa-proximas .prensa-proxima__medio-grande{font-size:min(clamp(1.3rem,1rem + .8vw,1.9rem),2.6vw)}
}
/* == fin d27 768 (V6) == */

/* == revista palau (V6) == */
/* SEG-V3-palau-revista-titular-1440 (V12 en vivo 17:10): la tipografía común de sección (DECIDIDO 4432) da --art:1,15 a todo titular para el artículo mayor,
   y el de la revista es una frase sin artículo ni acento: crecía entero (62 px a 1440) y «…comenzar la obra?» se metía 60 px en la tarjeta (x 650 sobre 590;
   a 1100, 496 sobre 451). Con --art:1 vuelve a 3,75vw (54 px), las 4 líneas de la diapositiva y el aire medido en pt300 (576 sobre 590). */
@media (min-width:1100px){
  .proyecto-diapositiva--prensa-revista .proyecto-b__titular{--art:1}
}
/* == fin revista palau (V6) == */

/* d29 fundadores (PRIO 0 de Víctor, 4796; W1), frente a la DIAPOSITIVA 29 a 1440:
   (1) «Nuestra trayectoria» desde 1280: titular y texto enteros sobre negro (columna ≤44 %), la foto de Miami desde el 45 %; desde 900, un degradado oscuro abajo en la foto
       para que «MIAMI» y «BARCELONA / NUESTRO HOGAR HOY» se lean (BARCELONA daba p99 1,6 sobre el cielo de la Sagrada Familia).
   (2) «ANGEL DIEZ» y «OLGA KOLTUN» más gruesos y algo más pequeños, como la diapositiva. (3) La firma de Angel pegada al texto, como la diapositiva. */
@media (min-width:1280px){
  .viaje__texto{max-width:44%}
  .viaje__texto .titular{font-size:min(calc(3.1*var(--vw)),3.6rem)}
  .viaje__texto p{max-width:none}
  .viaje__foto{left:45%;width:55%}
}
@media (min-width:900px){
  .viaje__foto::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.45) 45%,rgba(0,0,0,0) 100%);pointer-events:none}
  .viaje__foto figcaption{z-index:1}
  .fundador--angel .titular--2,.fundador--olga .titular--2{font-weight:800;font-size:clamp(2rem,1.1rem + calc(3.1*var(--vw)),4.3rem)}
  .fundador--angel .fundador__firma{margin-top:5.3rem;padding-top:0}
}
/* 22-oct (puente 4849/4855, contraste p95/p99 ≥4,5 o ≥ el de la propia diapositiva; brillo como la diap.): en la hoja de Casa Palau, velo general más suave y un degradado local más corto detrás de la columna del texto (0-≈42 % del ancho) que deja brillar la lámpara de cobre; un oscurecido pequeño tras «Desplaza para descubrir». Negro del sistema, sin color nuevo (4428). El encuadre de la toma no se mueve (casa con la diapositiva). */
@media (min-width:1100px){
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.28) 30%,rgba(0,0,0,.08) 44%,rgba(0,0,0,0) 54%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__fondo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 13% 9% at 92% 82%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,0) 100%),linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.64) 30%,rgba(0,0,0,.52) 36%,rgba(0,0,0,.25) 41%,rgba(0,0,0,0) 47%)}
}
/* de 1100 a 1349 px el texto cae encima del sofá y de la lámpara (la toma se recorta por los lados): degradado más fuerte y más largo, no queda otra para ≥4,5 en el párrafo */
@media (min-width:1100px) and (max-width:1349.98px){
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__fondo::before{background:radial-gradient(ellipse 13% 9% at 92% 82%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,0) 100%),linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.76) 40%,rgba(0,0,0,.52) 46%,rgba(0,0,0,.2) 52%,rgba(0,0,0,0) 58%)}
}
/* 22-oct (W8, puente 4885, DIAPOSITIVA 3 de Casa Palau): el texto de «Los espacios» empieza en x 32,8 a 1440 en su diapositiva y servíamos 57 (+24 px): ≈2,28 vw de sangría desde 1100 px, solo en la ficha de Palau. */
@media (min-width:1100px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__texto{padding-left:2.28vw}
}

/* Prensa d26 (orden de Víctor 23-oct, DECIDIDO 5527: «que quede como en la diapositiva»): la doble página llena su columna (66 % del ancho útil) a todos los anchos desde 900 px, sin tope al fichero ni miniatura de portada al lado; la mejor imagen disponible (recorte de la diapositiva, ampliado con IA cuando está). */
/* 22-oct (V9/puente 4880/4897, héroe de Albufera): la servida es la toma de la diapositiva más abierta; sin ampliar, el encuadre deja el olivo donde cae en la diap. (≈79 % del ancho; el olivo está al ≈71 % de la foto): 40 % desde 1280 px, 55 % de 1100 a 1279 y 69 % por debajo (cover). */
/* Albufera, titular del héroe a la proporción de la diapositiva 1 (V9/W12: la línea más ancha medía 45,5 % del ancho frente a 37,2 %, ×1,22 de más; por eso pisaba el 35-46 % del ancho y su contraste por línea era 3,55 <4,5 ya en lo servido). Solo esta ficha, sin tocar el tope común de .proyecto-titular: 4,79vw × 0,818 = 3,92vw. Desde 1100. */
@media (min-width:1100px){[data-ficha="valencia-penthouse-albufera"][data-ficha] .heroe--proyecto[style*="--heroe-titular"] .proyecto-titular{font-size:calc(3.92 * var(--vw))!important}}
@media (min-width:1280px){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo img{object-position:40% 50%}}
@media (min-width:1100px) and (max-width:1279.98px){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo img{object-position:55% 50%}}
@media (max-width:1099.98px){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo img{object-position:69% 50%}}
/* 22-oct (V9/puente 4897, contraste p95/p99 ≥4,5 en el héroe de Albufera; servido: 6 líneas <4,5 a 1440 y 9 a 1100): degradado oscuro local detrás de la columna del texto (el texto llega al 48 % del ancho) y oscurecido tras «Desplaza para descubrir»; negro del sistema, sin color nuevo (4428). */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 16% 11% at 92% 82%,rgba(0,0,0,.82) 0%,rgba(0,0,0,.6) 55%,rgba(0,0,0,0) 100%),linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.66) 30%,rgba(0,0,0,.45) 36%,rgba(0,0,0,.2) 41%,rgba(0,0,0,.06) 44%,rgba(0,0,0,0) 47%)}
}
/* 22-oct (regla 4900, medida en vivo a 2356 px): en pantallas muy anchas el texto empieza en x 433 y el titular llega al 46 % del ancho (sobre la lámpara de cobre y el muro claro): el degradado local de Casa Palau se alarga (fuerte hasta el 38 %, 50 % al 44 %, 25 % al 50 %, 0 al 56 %); negro del sistema. */
@media (min-width:1800px){
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .heroe__fondo::before{background:radial-gradient(ellipse 13% 9% at 92% 82%,rgba(0,0,0,.62) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,0) 100%),linear-gradient(90deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.7) 38%,rgba(0,0,0,.5) 44%,rgba(0,0,0,.25) 50%,rgba(0,0,0,0) 56%)}
}
/* 4921/4922: firma de Olga a su tamaño natural (fichero 156 px) y tope ×1,2 desde 1920 */
.fundador--olga .fundador__firma img{width:156px}
@media (min-width:1920px){.fundador--olga .fundador__firma img{width:min(14rem,187px)}}
/* 22-oct (medida en vivo, V9/puente 4945): en Albufera a 390 el enlace «Todos los proyectos» daba p99 4,49 (<4,5) sobre la foto clara; velo local suave bajo la mitad del texto desde el 34 % del alto (negro del sistema, sin color nuevo; solo <1100 px). */
@media (max-width:1099.98px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 34%,rgba(0,0,0,.22) 46%,rgba(0,0,0,.22) 100%)}
}

/* == rótulos sobre foto (V6) == */
/* Rótulos y pies blancos sobre foto (V9 vivo4732; criterio 6): el degradado común bajo el pie dejaba el fondo claro a la altura del texto y el p99 del blanco
   bajaba a 3-4,3 en Santa María, Emmar, Escuela, Palau o Albufera, y la banda gris de Londres (.6) a 3,2. Medido en pod (rotulos-contraste.js, texto oculto
   y sin sombra), 10 fichas a 1440 y 390: con el negro a .62 en los 2,6rem de abajo y la banda a .82, todos ≥4,5 (antes 41 por debajo). Mismos colores. */
.proyecto-b__fotos figure:has(>figcaption)::after,.proyecto-c__galeria figure:has(>figcaption)::after{background:linear-gradient(0deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.62) 2.6rem,rgba(0,0,0,0) 100%)}
.proyecto-c__galeria.proyecto-c__galeria--rotulos-banda figcaption{background:rgba(70,70,70,.82)}
/* == fin rótulos sobre foto (V6) == */

/* == prensa como la diapositiva (V6) == */
/* Prensa d26/d27 y las 5 publicaciones como sus diapositivas (puente 4932 y siguientes; medido por píxel sobre las diap. a 1440 y en pod a 1440/2356/1100/390):
   - párrafo del héroe del índice y de «Próximas»: 3 líneas de ≈533 px (d26) y 2 de ≈570 (d27) a la izquierda de los libros, con la letra ≈0,885× (paso 23 frente a 26);
     servía en 2 líneas de 891 px que pasaban por detrás de la pila;
   - d27: el nombre de cada portada «próximamente» a su ancho en la diap. (INTERIORES 180 px, Quaderns 139, Ferrari Club 123; antes 150/103/82) y los botones
     «Ver publicación» dorados como la diap. (siguen disabled, sin el gris común);
   - héroe de las 5 publicaciones: el párrafo a la columna (≈383 px) y la letra (≈1,13×) de la diap.; a 1100 y 390 no cambia nada. */
@media (min-width:1100px){
  .prensa-heroe .prensa-heroe__texto .texto-grande{max-width:40vw;font-size:calc(clamp(1rem,.85rem + .4vw,1.3rem) * .885)}
}
@media (min-width:1200px){
  .prensa-proxima__medio-grande{font-size:calc((.4rem + 1.15vw) * 1.2)}
  .prensa-proxima__medio-grande--quaderns{font-size:calc((.4rem + 1.15vw) * 1.35)}
  .prensa-proxima__medio-grande--arquitectura_diseno{font-size:calc(.4rem + 1.15vw)}
  .prensa-proxima__medio-grande--ferrari{font-size:calc((.4rem + 1.15vw) * 1.5)}
}
.prensa-proximas .prensa-tarjeta .prensa-proxima__boton[disabled],.prensa-proximas .prensa-tarjeta .prensa-proxima__boton[disabled]:hover{opacity:1;filter:none;cursor:default;transform:none}   /* 0,4,0: le gana al gris común :is(.boton)[disabled]:not(.boton--indicativo) de sistema.css */
@media (min-width:1280px){
  .heroe--prensa .heroe__texto>.prensa-texto{max-width:26.7vw;font-size:calc(clamp(.95rem,.85rem + .3vw,1.15rem) * 1.13)}
}
/* == fin prensa como la diapositiva (V6) == */
/* d2 /proyectos por encima de 1440 con la escala común (V16; cifras de W13 medir-2356-d2-d10-d12, D2-1/2/3): los pines escalan con el globo (32 px a 1440 = 2,222vw; antes 32 px fijos, la mitad de lo debido a 2356) con los mismos desplazamientos de W13 en vw (DECIDIDO 4504); el globo con la geometría de 1440 (sin la de ≥1680 de antes de la escala) y párrafo y caja con su desplazamiento de 1440-1599 en rem. Medido: la punta de cada pin, relativa al globo, igual a 1440, 2356×1325 y 2356×1216. */
@media (min-width:1441px){.proyectos-mapa__pin{width:2.222vw;height:2.222vw;transform:translate(-1.111vw,-2.222vw)}.proyectos-mapa__pin>svg{width:2.222vw;height:2.222vw}.proyectos-mapa__pin>span{bottom:.417vw}.proyectos-mapa__pin[data-pais="es"]{transform:translate(calc(-1.111vw - 2.38vw),calc(-2.222vw + .83vw))}.proyectos-mapa__pin[data-pais="us"]{transform:translate(calc(-1.111vw + .33vw),-2.222vw)}.proyectos-mapa__pin[data-pais="ae"]{transform:translate(calc(-1.111vw - .72vw),-2.222vw)}.proyectos-mapa__pin[data-pais="vn"]{transform:translate(calc(-1.111vw - .6vw),calc(-2.222vw - .68vw))}.proyectos-heroe__texto>.texto-grande,.proyectos-heroe__texto>.proyectos-caja{position:relative;top:1rem}.proyectos-mapa__lienzo{width:195%;margin:0 -43% -1vw -52%}}
/* Diapositiva 22 a 2356 (V9 medir-d22-2356; W11): la letra de apoyo medía ≈25-30 % menos que la diapositiva y el subtítulo del formulario iba en sans donde la
   diapositiva lo lleva en serif. Un solo mecanismo (puente): en rem, que escala la raíz común max(16px,min(100vw/90,100vh/56,25)); ninguna letra en vw. */
@media (min-width:1441px){
  .ai22 .contacto30__texto p{font-size:1.17rem}
  .ai22__pilares li{font-size:1.03rem}
  .ai22__subtitulo{font-family:var(--fuente-titulares);font-size:1.4rem}
  .ai22 .campo,.ai22 .campo__etiqueta{font-size:.88rem}
  .ai22__ayuda,.ai22 .formulario__nota{font-size:.86rem}
}
/* d22 a 2356, 2.ª pieza (V9, medida de W8 d22-d25-2356-completo): la tarjeta del formulario llega al 98,9 % del ancho como la diapositiva  ... Solo >1441; la letra y las cajas en rem (un solo mecanismo), los márgenes y columnas en %/vw. */
@media (min-width:1441px){
  .contacto30.ai22{grid-template-columns:minmax(0,36.3fr) minmax(0,63.7fr)}
  .ai22 .contacto30__marco{margin-right:1.1vw}
  .ai22__pilares svg{width:3.6rem;height:3.6rem;stroke-width:1.1}
  .ai22 .formulario--contacto .campo input:not([type=checkbox]):not([type=radio]),.ai22 .formulario--contacto .campo select{min-height:2rem;height:2rem;border-color:rgba(242,180,82,.9)}
  .ai22 .formulario--contacto .campo textarea{border-color:rgba(242,180,82,.9)}
}
/* d29 Ángel a 2356 (V9 21:0x, revisión final W13): la foto al 49 % del ancho como a 1440 y como la diapositiva 29 (a 2356×1216 salía el 41 %: el tope en rem de la raíz la encogía). 49cqi = 49 % del ancho de la sección, sin depender del alto de la ventana; la sección es contenedor (solo en línea). */
@media (min-width:1441px){.fundador--angel{container-type:inline-size;--foto-ancho:49cqi}}
/* y a 600-1099 px (768: titular y párrafo sobre la foto clara, 5-6 líneas <4,5): el velo sube a .42 */
@media (min-width:600px) and (max-width:1099.98px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo::before{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.42) 40%,rgba(0,0,0,.42) 100%)}
}

/* d29 Olga (V9 medir-raiz, 22-oct): «OLGA KOLTUN» salía al 32,8 % del ancho de su caja y la diapositiva lo pone al 36,8 % (×1,12), igual a 1440 y a 2356: el titular de Olga ×1,12 sobre la regla de ambos fundadores (Ángel no cambia). */
@media (min-width:1100px){.fundador--olga .titular--2{font-size:calc(1.12 * clamp(2rem,1.1rem + calc(3.1*var(--vw)),4.3rem))}}
/* d29 Olga, lema (DECIDIDO por el VS 22-oct): el lema al 46 % del ancho como la diapositiva (servido 39,4 %, ×1,17); si la sección necesita más alto, crece, la letra no encoge; en 2 líneas como la diapositiva desde 1440 (nowrap: la 2.ª se pasa ≈2,5 % de la columna sobre el degradado de la foto; a 1366 sería 5,7 % y a 1100 el 20 %, por eso por debajo parte en 3 líneas). */
@media (min-width:1100px){.fundador--olga .fundador__lema{font-size:calc(1.17 * clamp(1.2rem,.9rem + calc(.85*var(--vw)),1.7rem))}}
@media (min-width:1440px){.fundador--olga .fundador__lema{white-space:nowrap}}

/* == d22 titulares opsz (W11) == */
/* Diapositiva 22 a 2356 (V9 medir-d22, receta de V3 Palau): el TS Didot es una Bodoni Moda de eje óptico y desde 1100 se afina sola hasta perder los trazos finos; se fija opsz 24 (peso 700 ya fijo) en el h1, el h2 y el subtítulo, solo d22. El h1 baja de 3,95 a 3,7·vw para seguir en 3 líneas (con opsz 24 es más ancho; V9 medir-final-d22). */
@media (min-width:1100px){
  .ai22__titulo,.ai22__subtitulo,.ai22 .contacto30__titular{font-variation-settings:"opsz" 14}
  .ai22 .contacto30__titular{font-size:clamp(2.4rem,calc(3.7*var(--vw)),4.4rem)}
}
/* d22 (V9 5025 y QUEDA): opsz 14 y no 24: a 2356 la diap. lleva los trazos finos más fuertes (la A de PARTE con su filete, la H con barra); con 24 se perdían (recorte web|diap a 2356 de 14, 18 y 24 en 02-copias/w11-d2/d22/recorte-d22-*-opsz-2356.jpg). Y el subtítulo del formulario en serif como la diap. (≈22 px a 1440; a 1100-1440 salía en Jost 16 px; desde 1441 ya iba en serif en rem). */
@media (min-width:1100px) and (max-width:1440px){
  .ai22__subtitulo{font-family:var(--fuente-titulares);font-size:calc(1.53*var(--vw))}
}
/* == fin d22 titulares opsz (W11) == */

/* d26 Prensa, índice: los títulos de las cards van en una serif de bajo contraste tipo Garamond y el subtítulo del Col·legi en sans, como la diapositiva 26
   (revisión final V6 22-oct; puente: @font-face local de Cormorant Garamond, solo para estos títulos, sin peticiones externas). */
@font-face{font-family:"TS Garamond";font-style:normal;font-display:swap;font-weight:300 700;src:url(fuentes/cormorant-garamond-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:"TS Garamond";font-style:normal;font-display:swap;font-weight:300 700;src:url(fuentes/cormorant-garamond-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
.prensa-lista .prensa-tarjeta__titulo{font-family:"TS Garamond","TS Didot",Georgia,serif;font-weight:500;font-size:calc(1.3 * clamp(1rem,.8rem + .4vw,1.3rem));line-height:1.1}
.prensa-lista .prensa-tarjeta__sub{font-family:var(--fuente-texto);font-size:var(--t-s)}
/* d26: «Santa Anna: interiorismo» cabe en una línea como en la diap.: el título usa también el relleno derecho de la card (antes 239 px sobre 231 a 1440 y 391 sobre 380 a 2356) */
.prensa-lista .prensa-tarjeta__titulo{margin-inline-end:calc(-1 * var(--e-4))}
/* Albufera, diapositivas 2-3 (plantas) desde 1100 px (revisión final W12 / V9, medido sobre la diapositiva 3344×1882): la cabecera de la columna izquierda en la diapositiva es «RESIDENCIAL» + «PENTHOUSE EN / LA ALBUFERA» en dos líneas (cap. 36 px de 3344 = ≈1,44 vw, sin tracking, sin la 3.ª línea «Valencia»), «PLANTA» ≈14 % menos ancha y el subtítulo en 2 líneas ≈1,2 vw sin tracking (servido: 1 línea de 0,83 vw con tracking). Solo esta ficha y solo las plantas (Los espacios no cambia). */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--proyecto .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-b__titular{--art:.99}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--proyecto .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref{font-size:calc(1.44 * var(--vw));letter-spacing:.02em;line-height:1.25;text-wrap:balance}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--proyecto .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-ref span+span{display:none}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--proyecto .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo{font-size:calc(1.4 * var(--vw));letter-spacing:0;line-height:1.3;text-wrap:balance}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--proyecto .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-texto{margin-right:calc(-0.8 * var(--vw))}
}
/* Albufera, diapositiva 4 («Los espacios») desde 1100 px (V9, medido sobre la diapositiva 3344×1882): el nombre en 2 líneas (cap. 40 px de 3344 ≈ 1,61 vw), «EL SALER · VALENCIA» pequeño debajo (el texto de la diapositiva: «El Saler» es el mismo en es y en), antetítulo con el tracking de la diapositiva (398 px a 2356 frente a 338) y subtítulo a 1,43 vw (454 px la línea larga frente a 427). Solo esta ficha. */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-antetitulo{letter-spacing:.28em}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref:not(.proyecto-nota){font-size:calc(1.61 * var(--vw));letter-spacing:.02em;line-height:1.25}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref:not(.proyecto-nota) span:first-child{display:block;text-wrap:balance}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref:not(.proyecto-nota) span+span{display:block;font-size:.6em;letter-spacing:.16em;margin-top:.3em}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-ref:not(.proyecto-nota) span+span::before{content:"El Saler · "}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-subtitulo{font-size:calc(1.43 * var(--vw))}
}
/* Santa Anna a 390 (revisión cruzada W5 23-oct): el párrafo de «La historia de una transformación» llegaba de borde a borde del móvil (la sección solo tiene padding-block); margen lateral de la página bajo 700 px. Solo esta ficha. */
@media (max-width:699.98px){
  [data-ficha="barcelona"] .proyecto-diapositiva--pasos :is(.proyecto-subtitulo,.proyecto-texto){padding-inline:var(--margen);text-wrap:balance}
}
/* Suelo de letra a 390 (regla 4163, ronda 1 de V9): barrido de font-size calculado en el pod (w5-fs390, 11 fichas + hotel, es y en) bajo 10 px: Santa Anna (antetítulo de «La historia», «Ver vídeo» de los pasos, rótulos de fotos, «Leer el artículo completo») y Escuela (fase y planos). Cada uno con max(10px, su fórmula): no cambia nada donde ya pasaba de 10 px. Bajo 700 px. */
@media (max-width:699.98px){
  [data-ficha="barcelona"] .proyecto-diapositiva--pasos .proyecto-antetitulo{font-size:max(10px,clamp(.62rem,.5rem + .4vw,.95rem))}
  [data-ficha="barcelona"] .proyecto-paso__boton .boton{font-size:max(10px,clamp(.58rem,.4rem + .48vw,1rem))}
  [data-ficha="barcelona"] .proyecto-c--rotulos-caja .proyecto-c__galeria figcaption{font-size:max(10px,clamp(.6rem,.45rem + .35vw,.85rem))}
  [data-ficha="barcelona"] .proyecto-c--rotulos-texto .proyecto-c__galeria figcaption{font-size:max(10px,clamp(.62rem,.45rem + .4vw,.9rem))}
  [data-ficha="barcelona"] .proyecto-prensa-boton{font-size:max(10px,clamp(.6rem,.45rem + .35vw,.78rem))}
  [data-ficha="vietnam-escuela"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras.proyecto-cifras--versalitas dd{font-size:max(10px,clamp(.62rem,.45rem + .3vw,.85rem))}
  [data-ficha="vietnam-escuela"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-cifras.proyecto-cifras--versalitas dt{font-size:max(10px,clamp(.62rem,.45rem + .25vw,.8rem))}
}
/* d27 (VS 4129080, parte 3 W13/V9): los títulos de las 5 tarjetas «próximas» en la serif de bajo contraste de la diapositiva (Cormorant Garamond local, como las cards de la d26, 5087), con el cuerpo ×1,25 (con Didot «The Seduction en» medía 259 px a 2356; Garamond a ×1,25: 278, diap. ≈281) */
.prensa-proximas .prensa-proxima__titulo{font-family:"TS Garamond","TS Didot",Georgia,serif;font-weight:500;font-size:calc(1.25 * clamp(1.15rem,.75rem + .8vw,1.6rem))}
@media (min-width:1200px){.prensa-proximas .prensa-proxima__titulo{font-size:calc(1.25 * (.55rem + calc(.78*var(--vw))))}}
/* d2 (4524, revisión final): los 5 pines caían 23-47 px más arriba que en la diap. 2 porque el GLOBO entero (los pines van en % del lienzo, sobre la geografía correcta) estaba ≈1,7 % del ancho más arriba; medido en pod a 1280-2356 con top:1.7vw: -7…+7 px frente a los centros de pin de la diap. (antes -47…-19) */
@media (min-width:1280px){.proyectos-mapa__lienzo{top:1.7vw}}
/* d2 (R2-A 3866, objetivos táctiles ≥24 px): los enlaces de la ficha de país medían 23 px de alto */
.proyectos-mapa__ficha a{min-height:1.5rem}
/* Casa Palau, «La zona privada» (diap. 3) desde 1280 px (V9, revisión final 23-oct: baño y lavandería recortados ≈27 % por abajo, inodoro y lavadora a medias; fila de arriba a 1,06 de proporción frente a 1,28 de la diapositiva): reparto de filas 39/61 en vez de 47/53 (la fila de arriba a ≈1,28 y la de abajo más alta) y las dos fotos de abajo ancladas por abajo, como la diapositiva. Entre 900 y 1279 px ya iba por proporción de cada foto. */
@media (min-width:1280px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5{grid-template-rows:calc((var(--alto-c) - 3 * var(--sep)) * .39) calc((var(--alto-c) - 3 * var(--sep)) * .61)}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5 li:nth-child(n+4) img{object-position:50% 100%}
}
/* Casa Palau 03.1B en /en (puente 23-oct, 4206/2219): el rótulo «Premios Interiores» que pone el CSS encima de «Reconocimiento…» se traduce a «Interiores Awards» en inglés (la diapositiva solo existe en español); la imagen lleva el texto impreso y no se toca. */
:lang(en) .proyecto-diapositiva--prensa-revista .proyecto-c__texto .proyecto-subtitulo::before{content:"Interiores Awards"}
/* Suelo de letra 600-699 px (regla 4163, barrido W5 23-oct): la franja del héroe de Santa Anna («The Seduction · Arquitectura e interiorismo … Barcelona · Dubái · Internacional») medía 8 px a 600-680; a ≥10 px sin cambiar de 700 en adelante. */
@media (min-width:600px) and (max-width:699.98px){
  [data-ficha="barcelona"] .heroe--proyecto .banda__fila{font-size:max(10px,.5rem)}
}

/* == molde de fichas: interlineado del titular y diana de «Todos los proyectos» (revisión final; medida ficha-interlineado de la W8) == */
/* Interlineado real de la diapositiva 1: Albufera ≈0,85 y Palau ≈0,86 (servido 0,92 y 0,89); la cifra más cercana es 0,88 (orden 2262, decidido por el puente). Desde 1100, como el 0,93 que sustituye; por debajo no hay maqueta y se queda 0,98. Grovenor, Marina Gate y Emmar conservan el de su propia diapositiva (3745 / YAML propio). */
@media (min-width:1100px){
  [data-ficha]:not([data-ficha="miami-grovenor"]):not([data-ficha="dubai-marina-gate"]):not([data-ficha="dubai-villa-emmar"]) .heroe--proyecto .proyecto-titular,.hotel-heroe .heroe__texto .proyecto-titular{line-height:.88}   /* el Hotel no lleva [data-ficha] (body.web): su héroe va aparte */
}
/* «← Todos los proyectos» medía 19 px de alto: caja real de 25,4 px (padding superior .4rem) con margen superior negativo igual, así el texto y todo lo de debajo se quedan donde estaban (el héroe sigue en 900 a 1440×900). */
[data-ficha] .heroe--proyecto .volver,[data-ficha] .proyecto-b__volver,.hotel-heroe .heroe__texto>.volver{padding-top:.4rem;margin-top:-.4rem}
/* == fin molde de fichas == */
/* == ficha sin «Desplaza para descubrir» (V3) == */
/* Orden 1189 (Víctor): el «Desplaza para descubrir»/«Scroll to discover» y su flecha fuera de las fichas; Villa Emmar conserva su rótulo «Visualización del proyecto» (no es el aviso de desplazar), sin la flecha. */
.proyecto-bajar--rotulo::after{display:none}
/* == fin ficha sin «Desplaza para descubrir» (V3) == */
/* d28 Quiénes somos desde 1100 (W12 revisión VS, V9 23-oct; medido contra la diap. 28 a 1440, tinta): el héroe medía 41,8 % del ancho y la diapositiva 38,15 %: el tercer párrafo salía en 7 líneas (la diapositiva 6) y el botón «Ver vídeo» de 48 px (38 px). Columna de texto un 8 % más ancha (solo su max-width: --nos-columna sigue mandando en el titular y la frase) botón de 2,375 rem sin el relleno vertical y 1 vw de aire bajo el botón (la diapositiva ≈14 px a 1440). */
@media (min-width:1100px){.heroe.heroe--nosotros .heroe__texto{max-width:min(38.9rem,calc(var(--nos-columna) * 1.08))}.heroe.heroe--nosotros .botones .boton{min-height:2.375rem;padding-block:0}.heroe--nosotros .heroe__contenido{padding-bottom:1vw}}

/* == Albufera, héroe: olivo, textos y velo (medida alb3-medida de la W8; revisión final V9) == */
/* (1) Olivo: la foto va cover con el alto del héroe (no se puede ampliar), solo se mueve el encuadre. Con el 40 % del servido el tronco quedaba al 89 % y la copa cortada (103,5 %) a 1440; con el 68 % el tronco al 82,0 % como la diapositiva y la copa entera (96,5 %). Depende de la proporción del héroe: ≥1,7 (1920, 2356) queda el 40 % (el poste de cristal al 58,4 % ya casa). Alto del héroe sin cambio. */
@media (min-width:1100px) and (max-aspect-ratio:17/10){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo img{object-position:68% 50%}}
@media (min-width:1100px) and (max-aspect-ratio:3/2){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__fondo img{object-position:73% 50%}}
/* (2) Subtítulo, párrafo y botones, a la escala de la diapositiva 1 (subtítulo 1,62 vw, párrafo 1,22 vw en 7 líneas, botones 12,3 vw de ancho); antes −17 %, −23 % y −18 %. Con max() para no encoger lo que a 1100 ya era mayor. */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-subtitulo{font-size:1.62vw;line-height:1.2}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .texto-grande{font-size:max(1.22vw,13.6px);line-height:1.12;max-width:36.5vw}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-botones{gap:1.1vw}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-botones .boton{min-width:12.3vw;justify-content:center;text-align:center;font-size:max(1.05vw,14px)}
}
/* (3) Velo para el subtítulo de /en a ≥1700 (con los textos mayores llegaba a la zona clara: CR 2,9 → 5,7). «VALENCIA» ya daba ≈9,7: no hace falta velo para él. */
@media (min-width:1700px){[data-ficha="valencia-penthouse-albufera"][data-ficha][data-ficha]:not([data-ficha="barcelona"]):not([data-ficha="barcelona-ramon-berenguer"]):not([data-ficha="miami-penthouse"]) .heroe--proyecto .heroe__fondo::after{background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.94) 20%,rgba(0,0,0,.6) 30%,rgba(0,0,0,.45) 38%,rgba(0,0,0,.42) 44%,rgba(0,0,0,.2) 52%,rgba(0,0,0,0) 60%),linear-gradient(0deg,var(--negro) 0%,rgba(0,0,0,.6) 9%,rgba(0,0,0,.18) 20%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 14%)}}
/* (4) Compensación del alto: con los textos mayores el héroe de ≥1700 crecía (1920 +7 px, 2356 +35 px); se resta al relleno superior y queda en 1080 y 1297,5. */
@media (min-width:1700px){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__contenido{padding-top:calc(7.18vw - 1.5vw)}}
/* == fin Albufera héroe == */
/* d29 «Nosotros/Fundadores» (V9 R2 d29-A/B, V16): sobre lo servido, medido en pod contra la diapositiva a 1440 (808 px de ancho de lámina) y 2356: franja de 5 valores 338 → 242 px (diap. ≈248; a 2356 551 → 394, diap. ≈405): iconos y letra ×0,82 y menos aire; «Creamos juntos hogares excepcionales» 39,5 → 47 px y la llamada 219 → 259 px (diap. ≈260); antetítulo «Nuestra trayectoria» 14 → 21 px, titular «De Miami a Barcelona» ×1,12 y roles «Fundador y CEO / Socia» 18,2 → 23,1 px; a <1100 (390/768) un velo bajo los rótulos MIAMI/BARCELONA para el contraste (1,5:1 → >9:1; orden 4796-1). */
@media (min-width:900px){
  .franja--valores{padding-block:clamp(1rem,1.7vw,1.6rem)}
  .franja--valores .franja__item{gap:var(--e-2)}
  .franja--valores .franja__item>svg{width:4.5rem;height:4.5rem}
  .franja--valores .franja__titulo{font-size:min(calc(var(--t-s)*1.4),calc(1.36*var(--vw)))}
  .franja--valores .franja__texto{font-size:min(calc(var(--t-s)*1.32),1.27vw)}
  .viaje__texto .antetitulo{font-size:calc(var(--t-s)*1.5)}
  .viaje__texto .titular{font-size:3.47vw;width:max-content;max-width:48vw}
  .fundador__rol{font-size:calc(var(--t-s)*1.65)}
  .llamada .titular{font-size:3.27vw}
  .llamada__fila{padding-block:calc(var(--e-7)*1.25)}
}
@media (max-width:1099.98px){.viaje__foto figcaption{z-index:1}.viaje__foto::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(0deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.6) 28%,rgba(0,0,0,0) 100%);pointer-events:none}}
/* d22 (R2-A/B, V9 23-oct): las casillas de privacidad y novedades medían 20×20 px a 390 y 1440 (<24 de la norma de destino táctil): caja de ≥24 px (max(24px, 1.25rem): a 2356 ya eran 27 px y no cambian) y margen negativo que deja el hueco que ocupaban, para no mover el formulario. */
.ai22 .casilla input{width:max(24px,1.25rem);height:max(24px,1.25rem);margin:calc((1.25rem - max(24px,1.25rem)) / 2)}
/* d27 (V6, orden 4440): a 900-1099 px el botón «VER PUBLICACIÓN →» de las 5 tarjetas «próximas» no se sale de su caja (la flecha quedaba cortada 10-33 px) */
@media (min-width:900px) and (max-width:1099.98px){.prensa-proximas .prensa-proxima__boton{padding-inline:.55rem;font-size:.66rem;gap:.25rem;letter-spacing:0}.prensa-proximas .prensa-proxima__medio-grande{font-size:1.4vw}}
/* Santa Anna, columna izquierda de «El anteproyecto», «El diseño por estancias», «El proyecto» y «Los espacios» desde 1100 px (revisión final VS, medido sobre la diapositiva 2.1B/2.1D/2.1E a 2356 con PIL y en el pod w5-izq3): el nombre «SANTA ANNA» tenía mayúscula de 16 px frente a 21 de la diapositiva (≈1,27 vw), «BARCELONA» 12 frente a 16 (≈1 vw) y «02.1B» ≈1,1 vw; (con el espaciado de letra de la diapositiva: ≈.16em el nombre y .08em la ciudad, el de la web era .32em) y el párrafo ocupaba una columna ≈8 % más ancha (503 frente a ≈465 px), por eso la diapositiva rompe en 5+4 líneas y la web en 4+3 con la misma letra y el mismo interlineado (34 px). Solo esta ficha; el héroe, «La historia» y la revista no cambian. */
@media (min-width:1100px){
  [data-ficha="barcelona"] .proyecto-diapositiva:not(.proyecto-diapositiva--pasos):not(.proyecto-diapositiva--prensa) :is(.proyecto-b__texto,.proyecto-c__texto) .proyecto-ref:not(.proyecto-nota):not(:has(.proyecto-numero)){font-size:calc(1.27 * var(--vw));letter-spacing:.16em}
  [data-ficha="barcelona"] .proyecto-diapositiva:not(.proyecto-diapositiva--pasos):not(.proyecto-diapositiva--prensa) :is(.proyecto-b__texto,.proyecto-c__texto) .proyecto-ref:not(.proyecto-nota) .proyecto-numero{font-size:calc(1.1 * var(--vw))}
  [data-ficha="barcelona"] .proyecto-diapositiva:not(.proyecto-diapositiva--pasos):not(.proyecto-diapositiva--prensa) :is(.proyecto-b__texto,.proyecto-c__texto) .proyecto-ref:not(.proyecto-nota) .proyecto-numero+span{font-size:calc(1.27 * var(--vw));letter-spacing:.16em}
  [data-ficha="barcelona"] .proyecto-diapositiva:not(.proyecto-diapositiva--pasos):not(.proyecto-diapositiva--prensa) :is(.proyecto-b__texto,.proyecto-c__texto) .proyecto-ref:not(.proyecto-nota) .proyecto-numero+span+span{font-size:calc(1 * var(--vw))}
  [data-ficha="barcelona"] .proyecto-diapositiva:not(.proyecto-diapositiva--pasos):not(.proyecto-diapositiva--prensa) :is(.proyecto-b__texto,.proyecto-c__texto) .proyecto-ref:not(.proyecto-nota) span:last-child{letter-spacing:.08em}
}
/* Santa Anna, párrafo de la columna izquierda desde 1700 px (medido sobre las diapositivas 2.1B-2.1E a 1672 px con PIL y en el pod w5-izq3/w5-sa-desp2 a 2356): la letra de la diapositiva es ×1,085 la servida (la frase «El anteproyecto de Santa Anna» mide 395 px frente a 364 a 2356; interlineado igual, 24 px de 1672 = 1,435 % del ancho) y su columna de 17,6-20 % del ancho (2.1B 17,6, 2.1C 18,5, 2.1D y 2.1E ≈20) en vez de los 503 px (21,4 %) servidos: así la diapositiva rompe «…Santa Anna / definió…». El tope de columna vale desde 1100 px (a 1440 la columna servida, 239 px, ya es más estrecha que la proporcional de la diapositiva, 253 px, y el tope no actúa: no se puede ensanchar sin tocar la rejilla); la letra lineal (16,3 px a 1440 → 30,4 a 2356; ×1,15 de la servida: remedida con la captura w5-sa-c2 a 2356, la primera línea «El anteproyecto de Santa Anna» medía 368 px frente a 390 de la diapositiva con ×1,085) y el interlineado fijo a 1,435 % del ancho (34 px a 2356, el de la diapositiva) solo desde 1700 porque a 1440 una letra mayor en 239 px añadiría líneas. */
@media (min-width:1100px){
  [data-ficha="barcelona"] #anteproyecto .proyecto-texto{max-width:calc(17.6 * var(--vw))}
  [data-ficha="barcelona"] #estancias .proyecto-texto{max-width:calc(18.5 * var(--vw))}
  [data-ficha="barcelona"] #el-proyecto .proyecto-texto,[data-ficha="barcelona"] #los-espacios .proyecto-texto{max-width:calc(20 * var(--vw))}
}
@media (min-width:1700px){
  [data-ficha="barcelona"] #anteproyecto .proyecto-texto,[data-ficha="barcelona"] #estancias .proyecto-texto,[data-ficha="barcelona"] #el-proyecto .proyecto-texto,[data-ficha="barcelona"] #los-espacios .proyecto-texto{font-size:calc(1.637 * var(--vw) - 8.2px);line-height:calc(1.435 * var(--vw))}
}
/* Santa Anna, titular de sección: 1.ª línea (negra) al ancho de la diapositiva desde 1100 px (W5, V9 23-oct; PIL a 1440 y 2356: EL 127-128 px y 77-78 a 1440 [servido 73/44 y 110/67], EL DISEÑO 403/246 [373/227], LOS 235/144 [205/125]); en vw la diapositiva escala con el ancho, por eso valen los mismos valores a todos los anchos; EL DISEÑO con tope de contenedor (19cqi, 4,99 em de ancho de palabra) para que no parta línea a 1100; la 2.ª línea en oro ya casa (la diapositiva usa una cara más alta, decidido 5174). */
@media (min-width:1100px){
  [data-ficha="barcelona"] #anteproyecto .proyecto-b__titular::first-line,[data-ficha="barcelona"] #el-proyecto .proyecto-b__titular::first-line{font-size:calc(5.2 * var(--vw))}
  [data-ficha="barcelona"] #estancias .proyecto-b__titular::first-line{font-size:min(calc(3.43 * var(--vw)),19cqi)}
  [data-ficha="barcelona"] #los-espacios .proyecto-b__titular::first-line{font-size:calc(5.77 * var(--vw))}
}
/* Palau «Los espacios» (barrido de desborde, puente): entre 768 y 1099 px los 3 primeros li de la galería de 5, con aspect-ratio 4/3 y span 2, medían 299 px en columnas de ~99 y se solapaban (la página desbordaba 103 px a 900, 81 a 1000, 60 a 1099): que se estiren a su celda */
@media (min-width:768.02px) and (max-width:1099.98px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__galeria--5 li:nth-child(-n+3){justify-self:stretch;width:auto;min-width:0}
}

/* == Albufera, líneas del titular a la escala de la diapositiva 1 (W8, medida alb-razon; R1 de V9) == */
/* Medido en el DOM (tinta de cada línea, web/diapositiva escalada, es 2356 y 1440): «PENTHOUSE» 0,79, «EN LA ALBUFERA» 0,97 y «VALENCIA» 0,76 (la diapositiva las pone a tamaños distintos); mismo ratio a 1440 y 2356. Sube «PENTHOUSE» ×1,26 y «VALENCIA» ×1,32 (em del h1) y deja «EN LA ALBUFERA». El héroe de ≥1700 crece por ese texto (+≈1,8 vw): se resta del relleno superior para que siga en 1080 y 1297,5. Solo Albufera, ≥1100; a 1440 el héroe sigue en 900 (el texto acaba ≈25 px más abajo). */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-titular .proyecto-titular__linea:not(.proyecto-titular__linea ~ .proyecto-titular__linea){font-size:1.26em}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-titular .acento{font-size:1.32em}
}
@media (min-width:1700px){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .heroe__contenido{padding-top:calc(7.18vw - 3.3vw)}}
/* (5) V16 (COORD, medido en vivo sobre pt770): el héroe (≈58 vw) pasaba del alto de la pantalla en ventanas apaisadas: 1600×900 +27,9, 1680×945 +28,9 y
   2356×1216 (la de Víctor) +70,1 px; lo que quedaba bajo el pliegue era la banda de abajo. El bloque de texto se reduce lo justo con el mismo zoom de bloque:
   1441-1699 con ≥900 de alto y 16:9 o más ancho → 900 y 945; ≥1700 con más de 9:5 → 1216. 1440×900, 1536×864, 1920×1080 y 2356×1325 no cambian. */
@media (min-width:1441px) and (max-width:1699.98px) and (min-height:900px) and (min-aspect-ratio:16/9){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto{--zc:.955}}
@media (min-width:1700px) and (min-height:900px) and (min-aspect-ratio:9/5){[data-ficha="valencia-penthouse-albufera"] .heroe--proyecto{--zc:.926}}
/* == fin Albufera titular == */

/* == Albufera, velo local tras «EN LA ALBUFERA» (W8, medida alb-velo-linea2; pieza de contraste pedida por el puente y V9) == */
/* Contraste de esa línea a 1440: 4,13 es / 2,94 en (<4,5; preexistente: el borde derecho de la línea cae sobre la foto con poco velo común). Velo local de la propia línea (pseudo-elemento ::before de la 2.ª línea: libre en todos los tramos; inline con position:relative, no cambia el flujo); z-index:-1: sobre la foto y su velo, bajo el texto; sigue a la línea en cualquier ancho y en es/en. Solo Albufera desde 1100; no toca el encuadre ni los otros titulares. */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-titular .proyecto-titular__linea ~ .proyecto-titular__linea{position:relative}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-titular .proyecto-titular__linea ~ .proyecto-titular__linea::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-.5em;bottom:-.5em;left:-.6em;right:-1.4em;background:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,.32) .6em,rgba(0,0,0,.32) calc(100% - 1.4em),rgba(0,0,0,0) 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 .5em,#000 calc(100% - .5em),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 .5em,#000 calc(100% - .5em),transparent 100%)}
}
/* == fin velo Albufera == */

/* == Albufera, velo local tras la 1.ª línea del subtítulo (W8, medida alb-velo-linea2; órdenes 5097/5105: ≥4,5) == */
/* El subtítulo en inglés («LUXURY ARCHITECTURE AND INTERIOR DESIGN…») daba 2,30 a 1600×900 y 1680×945 y 4,46 a 1536×864 (borde derecho de la línea sobre la parte clara de la foto). Mismo velo local que el de «EN LA ALBUFERA» (.40; caja = ancho del texto con width:fit-content, que no cambia el corte: posiciones de las 7+2 líneas idénticas): ≥4,85. Solo Albufera ≥1100. */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-subtitulo{position:relative;width:fit-content}
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-subtitulo::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-.5em;bottom:-.5em;left:-.6em;right:-1.4em;background:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,.40) .6em,rgba(0,0,0,.40) calc(100% - 1.4em),rgba(0,0,0,0) 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 .5em,#000 calc(100% - .5em),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 .5em,#000 calc(100% - .5em),transparent 100%)}
}
/* == fin velo subtítulo Albufera == */

/* == velo tablet héroes (puente 23-oct 06:3x; W10) == */
/* Héroe común de las fichas a 700-1099 px: p99 por línea de sub/párrafo/datos de 2,2 a 4,4 (zonas brillantes de la foto bajo el texto). Banda local detrás del texto (a la izquierda hasta el 64 %, de 10 a 88 % del alto) y franja de datos (de 78 a 100 % del alto), negro .5; medido en pod (w10-velo-m2, CSS inyectado sobre pt714, 700/768/1099, 11 fichas): p99 mínimo 5,7-11 a 768 y 6,1-11 a 1099. Rollback: borrar este bloque. */
@media (min-width:700px) and (max-width:1099.98px){.heroe--proyecto .heroe__contenido::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.5) 64%,rgba(0,0,0,0) 86%);-webkit-mask-image:linear-gradient(180deg,transparent 4%,#000 10%,#000 88%,transparent 96%);mask-image:linear-gradient(180deg,transparent 4%,#000 10%,#000 88%,transparent 96%)}.heroe--proyecto .heroe__contenido::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:rgba(0,0,0,.5);-webkit-mask-image:linear-gradient(180deg,transparent 70%,#000 78%,#000 100%);mask-image:linear-gradient(180deg,transparent 70%,#000 78%,#000 100%)}}
/* == fin velo tablet héroes == */
/* Santa Anna, «ANTEPROYECTO» (palabra en oro de «El anteproyecto») a ≥1700 px (W5 + W7 23-oct): la diapositiva 2.1B la hace de 542 px a 2356 (23,1 % de 900 px en la medida de W7) y la web de 491 (−9,4 %; W7 −11,6 %): acento ×1,10 (≈540 px, termina a x≈626, antes de la foto que empieza en 636). Sin tocar la 1.ª línea («EL») ni ≤1699; solo esta palabra. */
@media (min-width:1700px){
  [data-ficha="barcelona"] #anteproyecto .proyecto-b__titular .acento{font-size:calc(1.1em / var(--art))}
}

/* d27 /publicaciones «Próximas publicaciones» (revisión ajena W12, V9 23-oct; órdenes 4044 «como la diap.»): a 1440 el botón VER PUBLICACIÓN de las 5 tarjetas medía 232×43 (diap. 238×38,4: +12 % de alto) y el titular en es 714 px de caja (49,6 % del ancho) frente al 52,4 % de la diap. (≈0,95×). Solo desde 1100: botón de 38 px (2.3rem de mínimo y .6rem de relleno vertical; 61 px a 2356) y titular es a 3,29 vw (752 px a 1440, 1230 a 2356) sin cambiar de 2 líneas. Medido en pod con el CSS inyectado (w12-d27-x2: 1100-2356). */
@media (min-width:1100px){
  .prensa-proximas .prensa-proxima__boton{min-height:2.3rem;padding-block:.6rem}
  html:lang(es) .prensa-heroe .titular--1{font-size:clamp(2.1rem,.4rem + calc(3.29*var(--vw)),4.8rem)}
}
/* d29 franja de 5 valores (PRIO 5461; V3, medida en pod con el DOM contra la diapositiva a 1440 y 2356, es y en): con la pieza de V9 el alto casaba (242 / 248) pero la letra del texto quedaba a ≈0,82 de la diap. y los iconos (tinta) a ≈1,0. Texto a 1,5vw (21,6 px a 1440; 35,3 a 2356) con interlínea 1,3 y casi sin relleno lateral para que «construcción e inmobiliaria» siga en 3 líneas; los iconos NO se tocan (medida la tinta del glifo: web/diap. 0,80-1,12 a 1440 y 0,98-1,10 a 2356, acuerdo con V6 en vs-v3/d29-acuerdo.md). Solo ≥1100: 900-1099 (tablet) y 390 no cambian. */
@media (min-width:1100px){
  .franja--valores .franja__texto{font-size:min(calc(var(--t-s)*1.6),1.5vw);line-height:1.3}
  .franja--valores .franja__item{padding-inline:.1rem}
}
/* d30 (V16, 23-oct): objetivos táctiles del consentimiento del formulario de Contacto a ≤767 px: la casilla (22×22) y el enlace de privacidad (129×20) alcanzan 44 px de zona pulsable sin cambiar lo que se ve (zona invisible: ::before de la casilla y relleno del enlace con margen negativo, dentro del relleno del marco: sin desborde). */
@media (max-width:767.98px){
  .contacto30 .casilla input{position:relative}
  .contacto30 .casilla input::before{content:"";position:absolute;inset:-11px}
  .contacto30 .casilla a{display:inline-block;padding-block:12px;margin-block:-12px}
}

/* Contraste del héroe de las fichas (W11, láminas de pod w11-fichas-lamina-1023, 23-oct): la franja de datos de Albufera y Emmar (p99 2,9-4,3 a 1440/2356) con velo como la de Marina Gate, y el subtítulo de Casa Palau (p99 1,4 sobre la pared clara) con oscurecimiento local detrás */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .heroe--proyecto .proyecto-datos-fila,[data-ficha="dubai-villa-emmar"] .heroe--proyecto .proyecto-datos-fila{background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.45))}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-subtitulo{background:radial-gradient(ellipse at center,rgba(0,0,0,.7) 0,rgba(0,0,0,.6) 65%,rgba(0,0,0,0) 100%);padding:.6em 1.2em;margin-left:-1.2em;width:max-content;max-width:100%}
}

/* Contraste del lema lateral de Prensa (W11, láminas de pod 23-oct: Ferrari p99 1,0-1,8, Suboficiales 1,6-3,6): oscurecimiento radial local DETRÁS del lema (::before con inset negativo, sin padding ni margen: el lema no cambia de ancho, líneas ni altura), desde 1100 */
@media (min-width:1100px){
  .prensa-lateral::before{content:"";position:absolute;z-index:-1;inset:-2em -4em;pointer-events:none;background:radial-gradient(ellipse closest-side,rgba(0,0,0,.9) 0,rgba(0,0,0,.88) 80%,rgba(0,0,0,0) 100%)}
}
/* Contraste del párrafo de Quiénes somos (W11, láminas de pod 23-oct: final de las líneas sobre la pared blanca de la foto, p99 2,9-3,5 → ≥4,5; medido en pod): fondo oscuro del propio bloque con sombra difusa hacia fuera, SIN padding ni margen (el párrafo no cambia de ancho ni de líneas), desde 1100 */
@media (min-width:1100px){.heroe--nosotros .nosotros-texto{background:rgba(0,0,0,.6);box-shadow:0 0 1.4em 1em rgba(0,0,0,.6)}}
/* Marina Gate, «La distribución» como su diapositiva 2 (prio 0 de Víctor, puente 23-oct; medido sobre la lámina de la diap.): el plano ocupa el 32,5 % del ancho (x 27,8→60,3 %) y las fotos de la
   derecha empiezan al 70,2 %. A 2356 el plano se quedaba en su tamaño natural (565 px = 24 %, 26,4→50,4 %) con un hueco a su derecha; a 1440 ya casaba (475 px, 26,4→59,4 %). Ahora el plano mide el 74,5 %
   de su columna y se desplaza el 3,2 % de ella (a 1440 = 475 px en x≈400; a 2356 = 766 px en x≈655: el original, de 1672 px, da ×1,36 sobre la diapositiva escalada, como la propia maqueta).
   «La distribución» y «Planta conceptual» comparten ese ancho y esa posición para quedar centrados sobre el plano. Solo esta ficha, ≥1100 (por debajo, las reglas de 700-1099 y 390 no cambian). */
@media (min-width:1100px){
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano>img{width:74.5%;max-width:none;height:auto;margin-left:3.2%}
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano>.proyecto-subtitulo,
  [data-ficha="dubai-marina-gate"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__plano>figcaption{width:74.5%;margin-left:3.2%}
}

/* Contraste del titular de Contacto (W11, láminas de pod 23-oct: «exceptional homes» p99 3,1-3,2): solo text-shadow suave, sin velo (el ::before se veía como elipse negra de borde nítido); medido en pod: sin líneas <4,5 a 1440 y 2356, es y en; desde 1100 */
@media (min-width:1100px){
  .contacto31-heroe__titular{text-shadow:0 0 .3em rgba(0,0,0,.8),0 0 .7em rgba(0,0,0,.7),0 0 1.4em rgba(0,0,0,.6)}
}

/* Casa Palau, héroe (W11, lámina diap|web 23-oct): el párrafo y los textos de la franja de datos salían ≈×0,75 de la diapositiva (párrafo 13,1 px a 1440 en 5 renglones; la diapositiva, 6 renglones más grandes; franja 10,9 px). Solo Palau, desde 1280: párrafo 1,08vw (6 renglones, el héroe no crece a 1440), franja 0,85vw/0,83vw */
@media (min-width:1280px){
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .texto-grande{font-size:1.08vw}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dd{font-size:.85vw}
  [data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-datos dt{font-size:.83vw}
}

/* d30 «Hablemos» (W7, firma V9 23-oct; medido en vivo sobre pt770, es y en): la sección iba +10 % más alta que la diapositiva 30 escalada (739 px frente a ≈673 a 1440; 1201 frente a ≈1099 a 2356) por los márgenes del marco del formulario, 32/32 px a 1440 frente a ≈5/18 en la diapositiva. Márgenes de la diapositiva desde 1100 (debajo se apila y queda como estaba). */
@media (min-width:1100px){
  .contacto30--hablemos .contacto30__marco{margin-block:var(--e-2) var(--e-4)}
}
/* Revisión de maqueta (DECIDIDO 5527, W11, láminas diap.|servido en revision-maqueta-1705/W11): Albufera «Los espacios» con la columna de texto al 24 % como su
   diapositiva 4 (las fotos empezaban al 27,4 % del ancho, la diap. al 24,2 %; como ya RB, MG, Emmar y Santa María) y el subtítulo sin espaciado, como la diap., para
   que siga en 2 líneas; y sin la raya sobre las cifras de «Planta 01/02» (las diap. 2 y 3 no la llevan; Grovenor ya la quita). Desde 1100. */
@media (min-width:1100px){
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-c{grid-template-columns:minmax(0,24fr) minmax(0,76fr)}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-diapositiva--espacios .proyecto-subtitulo{letter-spacing:normal}
  [data-ficha="valencia-penthouse-albufera"] .proyecto-cifras::before{display:none}
}
/* Revisión de maqueta (DECIDIDO 5527/5528, W11, láminas en revision-maqueta-1705/W11): Casa Palau contra sus diapositivas 2, 4_ y 3, desde 1100.
   «Los espacios» (diap. 4_) y «La zona privada» (diap. 3): columna de texto al 24,8 % y al 21,6 % (medido en píxeles; servía 27,4 %), referencia en una sola
   línea (dorada y en la fuente de títulos en 4_, Jost oscura en 3), subtítulo y párrafo como la diapositiva (párrafo en Jost), «Renders generados…» con el corte
   de la diap., y la franja de abajo BLANCA con texto oscuro y el enlace dorado sin caja (las dos diapositivas). «La zona privada» con filas 47/53 como su diap.
   (DECIDIDO 5528: anula el 39/61 de 28dfefe10; el recorte de Baño y Lavandería es el de la propia diapositiva).
   «El proyecto» (diap. 2): sin la raya sobre las cifras, subtítulo del tamaño de la diap. (2 líneas) y el botón «Descubre el proyecto completo» al 25,6 % del ancho
   con su letra (servía 39 %). El titular «LA ZONA PRIVADA» sigue en 3 líneas: la diap. usa un Didot más estrecho (fuente, no se toca). */
@media (min-width:1100px){
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-c{grid-template-columns:minmax(0,24.8fr) minmax(0,75.2fr)}
  [data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-c{grid-template-columns:minmax(0,21.6fr) minmax(0,78.4fr)}
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-ref span,[data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-ref span+span{font:400 max(10px,.98vw)/1.4 var(--fuente-titulares);letter-spacing:.2em;text-transform:uppercase;color:var(--oro-sobre-claro)}
  [data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-ref span,[data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-ref span+span{font:500 .62rem/1.4 var(--fuente-texto);letter-spacing:.24em;text-transform:uppercase;color:var(--tinta,#111)}
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-subtitulo{font-size:1.75vw;line-height:1.25;text-wrap:balance}
  [data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-subtitulo{font:500 .62rem/1.4 var(--fuente-texto);letter-spacing:.2em}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-c__texto .proyecto-texto{font-family:var(--fuente-texto);font-size:1.18vw;line-height:1.55}
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-c__texto .proyecto-texto{font-size:1.28vw}
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-cifras dd{font-size:.88rem;letter-spacing:.2em;text-wrap:balance}
  [data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-cifras dd{font-size:.58rem}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-franja{background:var(--blanco,#fff);color:var(--tinta,#111)}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-franja__datos,[data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-franja__frase{color:var(--tinta,#111)}
  [data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-franja__datos{font-family:var(--fuente-titulares);font-weight:400;letter-spacing:.18em}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--espacios .proyecto-franja__boton{background:none;color:var(--oro-sobre-claro);font:400 .9rem/1 var(--fuente-titulares);letter-spacing:.06em;text-transform:uppercase;flex:0 0 auto;padding-inline:var(--margen)}
}
@media (min-width:1280px){[data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-c__galeria--5{grid-template-rows:calc((var(--alto-c) - 3 * var(--sep)) * .47) calc((var(--alto-c) - 3 * var(--sep)) * .53)}}
@media (min-width:1100px){
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--proyecto .proyecto-cifras::before{display:none}
  [data-ficha="barcelona-casa-palau"] .proyecto-b:not(.proyecto-b--sin-fotos):not(.proyecto-b--plano-grande)>.proyecto-b__texto .proyecto-subtitulo{font-size:1.53vw;line-height:1.25}
  [data-ficha="barcelona-casa-palau"] .proyecto-diapositiva--proyecto .proyecto-franja__boton{flex:0 0 25.6%;justify-content:center;font:500 .8rem/1 var(--fuente-texto);letter-spacing:.14em}
}
@media (min-width:1100px){[data-ficha="barcelona-casa-palau"] #los-espacios .proyecto-franja__sep{word-spacing:.7em}}
/* Palau «La zona privada»: titular en 2 renglones como la diap. 3 («LA ZONA / PRIVADA», en «PRIVATE / AREA»; con la columna del 21,6 % salía LA / ZONA / PRIVADA): sin cortar la primera línea y con la letra justa para que «LA ZONA» quepa en la columna (≈88 px a 2356, 41 a 1100; el Didot de la diap. es más estrecho). OK de V9 pedido (W11). */
@media (min-width:1100px){[data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-b__titular{white-space:nowrap;font-size:min(calc(var(--art,1) * min(clamp(2.4rem,.9rem + calc(3.4*var(--vw)),5.6rem),calc(100cqi / (var(--palabra,8) * var(--k,.72))))),calc(100cqi / 7 / .66))}[data-ficha="barcelona-casa-palau"] #diapositiva-3 .proyecto-b__titular .acento{display:block}}
/* == Palau subtítulo del héroe en 2 líneas (V6, medida pod palau-heroe-subtitulo, 23-oct) == */
/* La regla de contraste de W11 le añadió al subtítulo 2,4 em de relleno lateral, pero los topes de ancho que ya había (36rem ≥1441 con aspecto ≥17/10, 34em es 1280-1440, 100 % de la columna en el resto) se midieron SIN relleno: la 2.ª línea («…LUJO EN BARCELONA») salta a una 3.ª en es 1100/1920/2356 y en 1100/1280/1920/2356 (la diapositiva la trae en 2). Con width:max-content ya fijado por esa regla, quitar el tope deja cada línea a su ancho natural (<br> entre las dos frases). html:not(#x) = especificidad por encima de los topes anteriores. */
@media (min-width:1100px){
  html:not(#x) [data-ficha="barcelona-casa-palau"] .heroe--proyecto .proyecto-subtitulo{max-width:none}
}

/* Revisión de maqueta (DECIDIDO 5527; V16 midió Interiores sobre pt785 a 2356, lámina en revision-maqueta-1705/V6/interiores-diap-vs-2356-es-en-pt785-V16.jpg): el play del héroe iba a ×0,65
   de la diapositiva (≈6 % del ancho frente a 9 %), y el párrafo del héroe, el de «El proyecto» y la cita a ×0,75-0,8. Sus tamaños tenían tope en rem y desde 1920 la
   diapositiva sigue creciendo con el ancho: se les da el suelo en vw de la diap. (a 2356: párrafo 1,13vw = 26,7 px, «El proyecto» 1,09vw, cita 2,17vw, play ×1,5). Solo desde 1920
   (por debajo no hay medida y los topes en rem ya iguales o mayores que la diap.). */
@media (min-width:1920px){
  :is(.heroe--prensa-interiores,.heroe--prensa-ferrari) .heroe__texto>.prensa-texto{font-size:max(calc(clamp(.95rem,.85rem + .3vw,1.15rem) * 1.13),1.13vw)}
  .prensa-publicacion--proyecto .prensa-publicacion__proyecto .prensa-texto{font-size:max(var(--t-m),1.09vw)}
  .prensa-cita--interiores .prensa-cita__texto{font-size:max(clamp(1.5rem,1.96vw,2.5rem),2.17vw)}
  .heroe--prensa-interiores .prensa-heroe-play .play__circulo{width:max(5.4rem,5.5vw);height:max(5.4rem,5.5vw)}
  .heroe--prensa-interiores .prensa-heroe-play .play{font-size:max(var(--t-s),.95vw)}
}

/* Ferrari, revisión de maqueta (DECIDIDO 5527; V16 sobre pt785 a 2356, lámina ferrari-diap-vs-2356-es-en-pt785-V16.jpg): la frase «LA PASIÓN IMPULSA…» sin el óvalo oscuro (la diap. es texto sin mancha; el contraste
   queda con su text-shadow), la foto de la cita del volante empieza al 30 % y deja el texto sobre negro, y, desde 1920, el párrafo (arriba con Interiores), la lista de palabras del héroe, la franja de 4 iconos y el
   botón del héroe (ya se pinta; solo tamaño: ×1,6 de letra y relleno, de ≈13 % a ≈24 % del ancho) al tamaño de la diapositiva. No se activa ningún vídeo. */
@media (min-width:1100px){
  .heroe--prensa-ferrari .prensa-lateral::before{display:none}
  .prensa-cita--ferrari-1 .prensa-cita__foto{inset:0 0 0 30%}
}
@media (min-width:1920px){
  .heroe--prensa-ferrari .heroe__texto .palabras--pequenas{font-size:calc(var(--t-xs) * 1.28)}
  body:has(.heroe--prensa-ferrari) .franja--prensa .franja__titulo{font-size:calc(var(--t-s) * 1.28)}
  body:has(.heroe--prensa-ferrari) .franja--prensa .franja__texto{font-size:calc(var(--t-m) * 1.28)}
  .heroe--prensa-ferrari .heroe__texto .boton{font-size:calc(var(--t-s) * 1.6);min-height:4.8rem;padding-inline:calc(var(--e-6) * 1.8)}
}
/* Revisión de maqueta (DECIDIDO 5527, W11): Quiénes somos, la banda de las 4 áreas con el alto de la diapositiva 28 (193 px a 2356; servía 252 con 2,4vw de relleno,
   y la panorámica de Barcelona quedaba fuera de la pantalla): relleno 1,2vw → 196 px a 2356 y 120 a 1440 (diap. 118). Solo esta página usa .franja--areas; desde 1100. */
@media (min-width:1100px){.franja--areas{padding-block:1.2vw}}
