/* =========================================================
   TRAMUNTANA PROJECTS — hoja de estilos principal
   Sistema de diseno extraido del PDF "V2-Tramuntana 1"
   Convertido para el tema WordPress por islaNet.
   ========================================================= */

:root{
  /* Paleta */
  --bone:#E6E4DF;          /* fondo principal hueso/greige */
  --bone-2:#DEDCD6;        /* variante para bandas */
  --bone-3:#F2F1ED;        /* claro para tarjetas */
  --coal:#35352F;          /* carbón cálido, secciones oscuras */
  --coal-2:#2B2B26;
  --teal:#7FA8AE;          /* azul de marca — el color de bloque */
  --teal-d:#5E8E96;
  --teal-l:#A9C6CC;
  --teal-t:#42646B;        /* teal para TEXTO sobre fondo claro: 5,06:1. El de marca no llega */
  --ink:#1D1D1B;           /* texto principal */
  --ink-2:#3C3C3B;         /* texto secundario */
  --mute:#5F5F59;           /* gris de apoyo: 5,06:1 sobre hueso (era #8A8A84, 2,73) */
  --line:rgba(29,29,27,.16);
  --line-l:rgba(255,255,255,.18);

  /* Métrica */
  --pad:clamp(18px,4.2vw,64px);
  --maxw:1560px;

  /* Ritmo vertical. Tres escalones y ninguno mas: si un bloque necesita un
     cuarto valor, casi siempre es que el bloque esta mal planteado.
       sm  entre parrafos y elementos del mismo rango
       md  despues de un titular o de una entradilla
       lg  antes de un grupo de botones o de un cambio de tema
     Ver el bloque RITMO VERTICAL al final de la hoja. */
  --flow-sm:clamp(12px,1.1vw,18px);
  --flow-md:clamp(18px,1.9vw,30px);
  --flow-lg:clamp(28px,2.8vw,44px);

  /* =======================================================
     ESCALA TIPOGRÁFICA — medida sobre el PDF del diseñador
     Lienzo original 1976 px. Cada tamaño va en vw sobre ese
     lienzo, así la proporción se mantiene a cualquier ancho.
     La clave del sistema: el H1 NO es lo más grande.
     11 → 40 → 66 → 72 → 150 → 326
     ======================================================= */
  --t-nano:   10px;                          /* bajo el logotipo        */
  --t-micro:  11.5px;                        /* etiquetas y nav. Minimo legible: en mayusculas y con .16em de tracking, por debajo de 11,5 cuesta leerlo */
  --t-small:  clamp(12px,.86vw,15px);        /* pies y datos            */
  --t-icon:   clamp(15px,1.05vw,19px);       /* signos + y –            */
  --t-logo:   clamp(14px,.81vw,17px);        /* logotipo             16 */
  /* El techo de este token siempre fue 16px; lo que estaba bajo era el suelo,
     13,5px, y es el que se veia en portatil y en movil, justo donde mas se
     lee. Subido a 16 el token se queda plano, que es lo coherente: 16px es el
     tamano por defecto de cualquier navegador y el minimo comodo para texto
     corrido. Solo cambia de 13,5 a 16 en pantallas por debajo de 2105px; de
     ahi para arriba ya valia 16. */
  --t-body:   16px;                          /* texto corrido           */
  /* El suelo sube de 15 a 17px POR EL MISMO MOTIVO que el de --t-body: con el
     cuerpo plano en 16, una entradilla de 15 quedaba mas pequena que el texto
     que presenta, que es la jerarquia justo al reves. La entradilla tiene que
     ir siempre por encima del cuerpo. */
  --t-lead:   clamp(17px,1.01vw,20px);       /* entradilla           20 */
  --t-desc:   clamp(14px,1.32vw,27px);       /* descripción servicio 26 */
  /* El H1 va un punto POR ENCIMA del mayor de los H2 (--t-pj, 3,35vw).
     En el PDF del diseñador era al revés —H1 40, títulos de proyecto 66—,
     pero el titular de la página debe pesar más que cualquier otro. */
  --t-h1:     clamp(32px,3.55vw,72px);       /* titular hero            */
  --t-loc:    clamp(19px,1.92vw,39px);       /* población proyecto   38 */
  --t-quote:  clamp(19px,2.02vw,41px);       /* cita                 40 */
  --t-pj:     clamp(30px,3.35vw,68px);       /* título proyecto      66 */
  --t-svc:    clamp(30px,3.64vw,74px);       /* título servicio      72 */
  --t-disp:   clamp(40px,7.60vw,152px);      /* display gigante     150 */
  --t-mark:   clamp(52px,15.4vw,308px);      /* wordmark            326 */

  /* Excepción tipográfica: los títulos en mayúsculas van en Google Sans */
  --f-display:'Google Sans','Product Sans','Outfit','Inter',system-ui,sans-serif;

  /* Interlineados medidos */
  --lh-h1:1.02; --lh-disp:1.10; --lh-quote:1.17; --lh-body:1.53;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--bone);color:var(--ink);
  font-size:16px;line-height:1.5;
  /* OJO: aquí había font-variation-settings:"wdth" 100. Inter no tiene eje
     de anchura, y declarar font-variation-settings anula el eje de PESO en
     varios navegadores: todos los textos salían con el mismo grosor. Fuera. */
  font-optical-sizing:auto;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--teal);color:var(--ink)}

/* ---------- Tipografía display ---------- */
/* d1 = las dos líneas gigantes tipo TRABAJAMOS CONTIGO (150 px en el PDF) */
.d1{font-family:var(--f-display);font-size:var(--t-disp);line-height:var(--lh-disp);font-weight:300;letter-spacing:-.025em}
.d2{font-size:var(--t-svc);line-height:1.02;font-weight:300;letter-spacing:-.022em}
.d3{font-size:var(--t-pj);line-height:1.0;font-weight:400;letter-spacing:-.02em}
.h-lead{font-size:var(--t-quote);line-height:var(--lh-quote);font-weight:400;letter-spacing:-.018em}
.lede{font-size:var(--t-lead);line-height:1.45;color:var(--ink-2)}
.small{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-2)}
.tiny{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:500}

/* Etiqueta de sección: chip con borde fino */
.chip{
  display:inline-block;padding:5px 12px 4px;border:1px solid var(--line);
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  color:var(--ink-2);background:transparent;
}
.chip.on-dark{border-color:var(--line-l);color:rgba(255,255,255,.72)}
.chip.on-teal{border-color:rgba(29,29,27,.7);color:var(--ink)}

/* Botón "VER MÁS  +" del mockup */
.bmore{
  display:inline-flex;align-items:center;justify-content:space-between;gap:36px;
  min-width:190px;padding:9px 12px;border:1px solid var(--ink);
  font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  transition:background .25s,color .25s;
}
.bmore i{font-style:normal;font-size:var(--t-body);line-height:1}
.bmore:hover{background:var(--ink);color:var(--bone)}
.bmore.light{border-color:#fff;color:#fff}
.bmore.light:hover{background:#fff;color:var(--ink)}

.bsolid{
  display:inline-block;padding:13px 26px;font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;background:var(--teal);color:var(--ink);
  transition:background .25s;
}
.bsolid:hover{background:var(--teal-d)}
.bghost{
  display:inline-block;padding:13px 26px;font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;background:#fff;color:var(--ink);
  transition:opacity .25s;
}
.bghost:hover{opacity:.85}

.wrap{padding-inline:var(--pad)}
.sec{padding-block:clamp(56px,7vw,120px)}

/* =========================================================
   CABECERA — un solo menu: el boton azul
   ========================================================= */

.hd{
  position:sticky;top:0;z-index:60;background:var(--bone);
  border-bottom:1px solid transparent;transition:border-color .3s, background .3s;
}
.hd.stuck{border-color:var(--line);background:rgba(230,228,223,.93);backdrop-filter:blur(10px)}
.hd-in{display:flex;align-items:center;gap:18px;padding:14px var(--pad)}
/* El logotipo es una imagen. Antes eran el mark en SVG y el nombre escrito
   como texto (.logo .w / b / i), que ya no existen en el marcado: el logotipo
   real lleva su propia tipografia y no se podia componer con las del tema.

   Va a 208x54, el tamano natural del archivo. Eso lo deja a densidad 1x: en
   pantalla retina se vera algo blando, y es el precio de que se lea a este
   tamano. Se arregla el dia que haya un export a 416x108, no antes.

   OJO: EL LOGOTIPO MANDA LA ALTURA DE LA CABECERA. Con 54px, .hd pasa de 64 a
   83, y de esa altura cuelgan los scroll-margin-top de los anclajes y el
   top: de los sticky de las landings. Si se cambia este numero, hay que
   repasar aquellos: estan marcados con "cuelga de la altura de .hd". */
.logo{display:flex;align-items:center}
.logo img{width:208px;height:54px;flex:none}

/* el botón azul */
.menu-btn{
  display:inline-flex;align-items:center;gap:9px;margin-left:6px;
  background:var(--teal);color:var(--ink);padding:7px 13px;
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  transition:background .25s;
}
.menu-btn:hover{background:var(--teal-d)}
.menu-btn .bars{display:inline-flex;flex-direction:column;gap:2.5px;width:12px}
.menu-btn .bars span{height:1.5px;background:var(--ink);display:block}
.hd-sp{flex:1}
.hd-tel{font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
/* CTA fijo en la cabecera: el mismo boton "+" de la home, a escala de cabecera */
.hd-cta{flex:none;min-width:0;gap:20px;padding:8px 14px}
/* Por debajo de 900px no caben la linea de respuesta y el CTA: manda el CTA.
   Por debajo de 620px tampoco cabe el CTA; queda el que hay dentro del menu.
   Los dos limites suben con la letra: se remidieron al pasar --t-micro a 11,5px. */
@media(max-width:900px){.hd-tel{display:none}}
@media(max-width:620px){.hd-cta{display:none}}

/* Overlay del menú */
.ov{
  position:fixed;inset:0;z-index:90;background:var(--coal);color:#fff;
  display:grid;grid-template-rows:auto 1fr auto;
  opacity:0;visibility:hidden;transition:opacity .35s;overflow-y:auto;
}
.ov.open{opacity:1;visibility:visible}
.ov-top{display:flex;align-items:center;padding:14px var(--pad);border-bottom:1px solid var(--line-l)}
/* Fondo oscuro: el logotipo va en negro y hay que blanquearlo entero, igual
   que hacia el mark-white.svg al que sustituye. Es el mismo tratamiento que
   reciben los logos de colaboradores sobre la franja oscura. */
.ov-top .logo img{filter:brightness(0) invert(1)}
.ov-close{
  margin-left:auto;display:inline-flex;align-items:center;gap:9px;background:var(--teal);
  color:var(--ink);padding:7px 13px;font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:600;
}
.ov-body{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);
  padding:clamp(28px,5vw,64px) var(--pad);
}
.ov-col h5{
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--teal-l);
  font-weight:600;padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--line-l)
}
/* SEGUNDO TITULAR DE UNA COLUMNA.
   Dos columnas del overlay llevan dos bloques: "Construccion" + "Rehabilitacion"
   y "Especialidades" + "Proyectos". Sin este aire, el segundo rotulo queda
   pegado al ultimo enlace del bloque de arriba y los dos grupos se leen como
   uno solo. El prototipo lo resuelve con un style="margin-top:30px" a mano en
   cada uno; aqui se deduce de la posicion, que es lo que de verdad significa:
   "no eres el primero de la columna".
   Se acota con > para que solo cuente el primer nivel de la columna.
   30px es el valor exacto del prototipo, y el resto de medidas de la columna
   —relleno de los enlaces, filete del rotulo— ya son identicas. */
.ov-col > h5:not(:first-child){margin-top:30px}
.ov-col a{
  display:block;padding:7px 0;font-size:var(--t-lead);font-weight:300;
  color:rgba(255,255,255,.86);transition:color .2s,transform .2s;
}
.ov-col a:hover{color:var(--teal-l);transform:translateX(5px)}
.ov-foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;
  padding:18px var(--pad) 28px;border-top:1px solid var(--line-l);
}
.ov-lang{display:flex;gap:14px;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase}
.ov-lang a{color:rgba(255,255,255,.5)}
.ov-lang a.on{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.ov-body{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ov-body{grid-template-columns:1fr}}

/* =========================================================
   HERO
   ========================================================= */
.hero-top{
  display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,4vw,60px);
  /* más aire bajo la cabecera: en el mockup el H1 no está pegado al menú */
  padding:clamp(44px,5.6vw,96px) var(--pad) clamp(30px,3.6vw,52px);
  align-items:end;
}
.hero-top h1{font-size:var(--t-h1);line-height:var(--lh-h1);font-weight:300;letter-spacing:-.022em;max-width:20ch}
.hero-top h1 b{font-weight:500}
/* en una sola línea; solo parte en pantallas pequeñas */
.hero-sub{font-size:var(--t-lead);font-weight:500;margin-top:clamp(22px,2.4vw,44px);
  line-height:1.28;white-space:nowrap}
@media(max-width:820px){.hero-sub{white-space:normal}}

/* El bloque de la derecha se alinea por su borde derecho con
   «Respondemos en menos de 48 h» de la cabecera: mismo eje vertical. */
.hero-note{text-align:right}
.hero-note .tiny{color:var(--mute);display:block;margin-bottom:11px}
.hero-note p{font-size:var(--t-lead);color:var(--ink);max-width:32ch;line-height:1.34;
  font-weight:400;margin-left:auto}
@media(max-width:820px){.hero-note{text-align:left}.hero-note p{margin-left:0}}
@media(max-width:820px){.hero-top{grid-template-columns:1fr;align-items:start}}

.hero-im{position:relative;overflow:hidden;background:var(--coal)}
/* object-position bajo para que se vea la mesa y no solo la pared:
   con la caja a 58vw el recorte se comía el motivo de la foto */
.hero-im img{width:100%;height:clamp(300px,48vw,640px);object-fit:cover;object-position:center 64%}
/* Wordmark en SVG. textLength con lengthAdjust:spacing ajusta SOLO el
   interletrado, así que las letras no se deforman. Sin mezcla ni
   transparencia: blanco puro. */
.wordmark{
  position:absolute;left:0;right:0;bottom:0;width:100%;height:auto;display:block;
  pointer-events:none;
}
/* EXCEPCIÓN al sistema: el wordmark va en Google Sans. No tiene licencia
   pública, así que se pide primero y, si el equipo no la tiene instalada,
   cae en Outfit, que es la geométrica libre más parecida. */
.wordmark text{
  fill:#fff;
  font-family:var(--f-display);
  font-size:97px;font-weight:400;
}
.wordmark.solid{mix-blend-mode:normal;color:rgba(255,255,255,.9)}

/* =========================================================
   SERVICIOS — filas tipo lista
   ========================================================= */
/* El padding inferior NO es cero a proposito, aunque en el prototipo lo fuera.
   Sin el, el borde de abajo del recuadro "Servicios" cae justo sobre la linea
   superior del bloque de filas y las dos rayas se tocan sin llegar a fundirse:
   parece un error de medio pixel. El resto de etiquetas de la portada llevan
   entre 18 y 34 px de aire debajo; esta se pone a la par. */
.svc-head{padding:clamp(40px,3vw,42px) var(--pad) clamp(24px,1.8vw,26px)}
/* Como en el PDF: una banda vacía a la izquierda, la vertical fina que
   recorre todo el bloque, y el contenido arrancando hacia el centro. */
.svc-row{
  display:grid;grid-template-columns:minmax(90px,36%) 1fr;
  border-top:1px solid var(--line);position:relative;
}
.svc-gap{border-right:1px solid var(--line)}
.svc-list{border-bottom:1px solid var(--line)}
@media(max-width:860px){
  .svc-row{grid-template-columns:1fr}
  .svc-gap{display:none}
}

/* La foto ya no vive en una columna lateral —ahí se veía diminuta—: aparece
   flotando junto al cursor al recorrer las filas. */
.svc-follow{
  position:fixed;top:0;left:0;z-index:40;pointer-events:none;
  width:clamp(200px,20vw,340px);aspect-ratio:4/3;overflow:hidden;
  opacity:0;transform:translate3d(-50%,-50%,0) scale(.94);
  transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1);
}
.svc-follow.on{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}
.svc-follow img{width:100%;height:100%;object-fit:cover;display:block}
@media(hover:none),(max-width:860px){.svc-follow{display:none}}
/* Dos columnas, como en el PDF: título | descripción.
   La cifra va DEBAJO de la descripción, no en una tercera columna: con tres
   el título (72 px, el texto más grande de la página) se quedaba sin sitio
   y partía en dos líneas. */
.svc-r{
  display:grid;grid-template-columns:1fr minmax(170px,30%);
  gap:clamp(12px,2.4vw,56px);align-items:center;
  padding:clamp(26px,2.6vw,42px) var(--pad) clamp(26px,2.6vw,42px) clamp(20px,2.6vw,50px);
  transition:background .3s;
}
/* NO animes aqui el padding.
   La fila del prototipo se desplazaba a la derecha al pasar el raton
   (padding-left de 37 a 49 px). Como la segunda columna es un 30%, ese
   desplazamiento encogia la caja de contenido y la descripcion perdia unos
   3 px: suficiente para que una palabra saltase de linea y el texto bailase
   al entrar y salir el raton. La respuesta al hover la dan el fondo, la
   flecha y el color del dato, que no tocan la maquetacion.
   Si algun dia se quiere recuperar el desplazamiento, hay que compensarlo
   restando lo mismo al padding derecho para que el ancho no cambie. */
.svc-r:hover{background:rgba(255,255,255,.42)}
/* 72 px en el PDF: es el elemento más grande de la página después del display */
.svc-r h3{font-size:var(--t-svc);font-weight:400;letter-spacing:-.028em;line-height:1.0}
.svc-r p{font-size:var(--t-desc);color:var(--ink-2);line-height:1.2;font-weight:300;letter-spacing:-.01em}
/* Dato por servicio, como en la referencia: cada fila lleva su cifra.
   Va en la segunda columna, bajo la descripción, separada por una fina. */
.svc-r .m{
  grid-column:2;font-size:var(--t-small);letter-spacing:.08em;
  color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap;
  margin-top:10px;padding-top:9px;border-top:1px solid var(--line);
  transition:color .3s,border-color .3s;
}
.svc-r:hover .m{color:var(--teal-t);border-color:var(--teal-t)}
.svc-r .go{font-size:var(--t-icon);opacity:0;transition:opacity .3s,transform .3s;transform:translateX(-6px)}
.svc-r:hover .go{opacity:1;transform:none}
@media(max-width:860px){
  .svc-r{grid-template-columns:1fr;align-items:start}
  .svc-r p{margin-top:8px}
  .svc-r .m{grid-column:1;display:inline-block}
}

/* =========================================================
   PROYECTOS alternados
   ========================================================= */
.pj{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:clamp(280px,36vw,520px)}
.pj .txt{padding:clamp(24px,3.4vw,60px) clamp(20px,3.4vw,56px);display:flex;flex-direction:column;justify-content:center}
.pj .txt h3{font-size:var(--t-pj);font-weight:400;letter-spacing:-.028em;line-height:.98}
.pj .txt .loc{font-size:var(--t-loc);font-weight:200;color:var(--ink-2);margin-top:4px;letter-spacing:-.02em;line-height:1.06}
.pj.teal .txt .loc{color:rgba(29,29,27,.9)}
.pj .txt p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-2);margin:20px 0 26px;max-width:42ch;font-weight:300}
/* Ficha técnica del proyecto, como en la referencia */
.pj .meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:16px;
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.pj.teal .meta{color:rgba(29,29,27,.82)}
.pj .meta span{position:relative}
.pj .meta span:not(:last-child):after{content:"·";position:absolute;right:-13px;opacity:.6}
.pj .ims{display:grid;grid-template-columns:1fr 1fr}
.pj .ims img{width:100%;height:100%;object-fit:cover;min-height:220px}
.pj.teal{background:var(--teal);color:var(--ink)}
/* Con el selector corto no bastaba: `.pj .txt p` y `.pj .txt .loc` llevan
   `.txt` de por medio y ganaban por especificidad, asi que el bloque teal se
   quedaba con la poblacion en blanco y el parrafo en ink-2. */
.pj.teal .txt p{color:rgba(29,29,27,.9)}
.pj.flip .txt{order:2}
.pj.flip .ims{order:1}
@media(max-width:860px){
  .pj,.pj .ims{grid-template-columns:1fr}
  .pj.flip .txt{order:1}.pj.flip .ims{order:2}
  .pj .ims img{min-height:200px}
}

/* =========================================================
   Bloques tipográficos gigantes
   ========================================================= */
/* Foto mucho mayor y las dos líneas derivando en sentidos opuestos al
   hacer scroll: el bloque estaba soso porque era una foto pequeña y texto. */
.bigtype{display:grid;grid-template-columns:minmax(200px,33%) 1fr;gap:clamp(20px,4vw,72px);
  align-items:center;padding:clamp(56px,8vw,150px) var(--pad);overflow:hidden}
.bigtype figure{margin:0}
.bigtype img{width:100%;aspect-ratio:3/4;object-fit:cover}
.bigtype figcaption{margin-top:14px;font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;color:var(--mute)}
.bigtype .t{text-align:right}
.bigtype .t span{display:block;will-change:transform}
.bigtype .t .r2{text-align:right}
.bigtype .note{font-size:var(--t-desc);color:var(--ink-2);margin-top:16px;text-align:right;line-height:1.2;font-weight:300;letter-spacing:-.01em}
/* En movil manda el margen izquierdo: la segunda linea traia su propio
   text-align:right y ganaba por especificidad a la regla de esta consulta. */
@media(max-width:700px){.bigtype{grid-template-columns:1fr}
  .bigtype .t,.bigtype .t .r2,.bigtype .note{text-align:left}
  .bigtype img{aspect-ratio:16/10}}

/* Banda de imagen: etiqueta arriba, enunciado grande y llamada abajo */
.band{position:relative;display:block;overflow:hidden}
/* Blanco y negro, y encuadre alto: en el recorte panorámico el centro
   dejaba los cascos fuera. Al 12% entran cabezas, caras y logotipos. */
.band img{width:100%;height:clamp(300px,40vw,560px);object-fit:cover;object-position:center 12%;
  filter:grayscale(1) contrast(1.04) brightness(.55);
  transition:transform 1.4s cubic-bezier(.22,1,.36,1)}
.band:hover img{transform:scale(1.03)}
.band .bar{
  position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;
  padding:clamp(20px,2.6vw,44px) clamp(18px,3vw,56px);color:#fff;
  background:linear-gradient(to top,rgba(18,17,14,.5) 0%,rgba(18,17,14,.06) 46%,rgba(18,17,14,.26) 100%);
}
.band .tag{
  justify-self:start;border:1px solid rgba(255,255,255,.55);padding:5px 12px 4px;
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:500;
}
.band .mid{
  align-self:center;font-size:var(--t-pj);line-height:1;font-weight:200;letter-spacing:-.03em;
  max-width:15ch;
}
.band .mid b{font-weight:500}
.band .go{
  justify-self:start;display:inline-flex;align-items:center;gap:clamp(20px,3vw,56px);
  margin-top:14px;min-width:min(340px,70%);
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:600;
}
.band .go i{font-style:normal;font-size:var(--t-icon);margin-left:auto;
  transition:transform .45s cubic-bezier(.22,1,.36,1)}
.band:hover .go i{transform:rotate(90deg)}
/* Al pasar por la banda, el boton se rellena de blanco: el texto invierte. */
.band:hover .go{color:var(--ink)}

/* --- Módulo B2B: para arquitectos y estudios (bloque teal) --- */
.b2b{display:grid;grid-template-columns:1.25fr 1fr;background:var(--teal);color:var(--ink)}
.b2b .txt{padding:clamp(44px,4vw,76px) clamp(20px,3.4vw,64px);display:flex;flex-direction:column;justify-content:center}
/* titular largo en media columna: a 66 px ocupaba seis líneas */
.b2b h2{font-size:var(--t-loc);font-weight:300;line-height:1.06;letter-spacing:-.025em;margin:20px 0 18px;max-width:22ch}
.b2b h2 b{font-weight:500}
.b2b > .txt > p{font-size:var(--t-lead);line-height:1.4;color:rgba(29,29,27,.9);max-width:44ch;font-weight:300}
.b2b .pts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(29,29,27,.25);margin:clamp(24px,3vw,40px) 0 clamp(22px,2.6vw,34px)}
.b2b .pts > div{background:var(--teal);padding:clamp(13px,1.5vw,20px) clamp(12px,1.4vw,20px)}
.b2b .pts b{display:block;font-size:var(--t-lead);font-weight:500;letter-spacing:-.01em;line-height:1.2}
.b2b .pts span{display:block;font-size:var(--t-small);line-height:1.4;color:rgba(29,29,27,.82);margin-top:7px}
.b2b .im{position:relative;min-height:260px}
.b2b .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.b2b{grid-template-columns:1fr}.b2b .im{order:-1;min-height:230px}}
@media(max-width:480px){.b2b .pts{grid-template-columns:1fr}}

/* Cita */
.quote{display:grid;grid-template-columns:minmax(160px,25%) 1fr;gap:clamp(20px,4vw,70px);padding:clamp(36px,5vw,86px) var(--pad);align-items:start}
.quote img{width:100%;aspect-ratio:1/1;object-fit:cover}
.quote .qm{display:block;font-family:'Inter',system-ui,sans-serif;font-size:var(--t-pj);
  line-height:.5;font-weight:800;letter-spacing:-.02em;color:var(--teal);margin-bottom:26px}
/* 40 px / interlineado 1,17 medidos en el PDF */
.quote blockquote{font-size:var(--t-quote);line-height:var(--lh-quote);font-weight:500;max-width:34ch;letter-spacing:-.022em}
.quote .meta{font-size:var(--t-body);color:var(--ink-2);margin-top:26px;line-height:1.45}
.quote .credits{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:var(--t-micro);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;color:var(--ink-2)}
.quote .credits span:not(:last-child):after{content:" ·";margin-left:22px;opacity:.5}
@media(max-width:760px){.quote{grid-template-columns:1fr}}

/* Antes / Después */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ba figure{position:relative}
.ba img{width:100%;height:clamp(230px,30vw,430px);object-fit:cover}
.ba figcaption{position:absolute;left:0;right:0;bottom:0;padding:clamp(40px,4.5vw,60px) clamp(12px,1.6vw,22px) 14px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.68) 65%,rgba(0,0,0,0) 100%);color:#fff}
.ba .tag{display:inline-block;background:#fff;color:var(--ink);font-size:var(--t-micro);font-weight:600;letter-spacing:.05em;padding:4px 12px;margin-bottom:9px}
.ba p{font-size:var(--t-small);line-height:1.4;max-width:46ch}
.ba .foot{font-size:var(--t-nano);letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:8px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.4);padding-top:6px}
@media(max-width:700px){.ba{grid-template-columns:1fr}}

/* =========================================================
   Sección oscura con tipografía outline
   ========================================================= */
.dark{background:var(--coal);color:#fff}
/* el fondo casa con el de las fotos del diseñador (46,46,43) */
.stage{position:relative;overflow:hidden;min-height:clamp(340px,48vw,620px);display:grid;place-items:center;background:#2E2E2B}
/* Foto en blanco y negro, oscura y contrastada. Al pasar el ratón por encima
   se tiñe de teal: una capa de color en modo "color" sobre la imagen en gris
   da el duotono exacto, sin tocar el archivo. */
/* Las dos fotos que nos pasa el diseñador ya vienen tratadas: gris y teal.
   No se aplica ningún filtro — solo se funde una sobre la otra al pasar el
   ratón, así el color es exactamente el suyo. */
.stage-ph{position:absolute;inset:0;overflow:hidden}
.stage-ph img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
}
.stage-ph .b{opacity:0;transition:opacity .65s ease}
.stage:hover .stage-ph .b{opacity:1}

/* Al pasar el ratón la frase se abre un poco más: cada pieza en su sentido */
.stage .lines [data-l]{transition:transform .85s cubic-bezier(.22,1,.36,1)}
.stage .lines .l2 i{transition:transform .85s cubic-bezier(.22,1,.36,1)}
.stage:hover .lines [data-l="1"]{transform:translateY(-8px)}
.stage:hover .lines .l2 i:first-child{transform:translateX(-16px)}
.stage:hover .lines .l2 i:last-child{transform:translateX(16px)}
.stage:hover .lines [data-l="3"]{transform:translateY(8px)}

/* Composición del mockup: la frase se abre alrededor de los dos socios.
   «DE JEFES» centrado arriba, «DE OBRA» y «A NUESTRA» a los lados dejando
   libre el centro, y «CONSTRUCTORA PROPIA» de canto a canto abajo.
   Antes «DE OBRA A NUESTRA» iba en una sola línea y cruzaba por delante
   de ellos: por eso se leía raro. */
.stage .lines{
  position:relative;width:100%;padding:clamp(26px,3.4vw,54px) var(--pad);
  display:grid;gap:clamp(10px,1.6vw,30px);
}
.stage .lines .l1,
.stage .lines .l2 i{
  font-family:var(--f-display);
  font-size:var(--t-disp);line-height:var(--lh-disp);font-weight:300;letter-spacing:-.03em;
  color:#fff;font-style:normal;
}
.stage .lines .l1{display:block;text-align:center}
.stage .lines .l2{display:flex;justify-content:space-between;align-items:baseline;gap:8%}
.stage .lines .l3{display:block;width:100%;height:auto}
.stage .lines .l3 text{
  fill:var(--teal);font-family:var(--f-display);font-size:97px;font-weight:300;
}
/* texto solo para lectores de pantalla: la frase completa y seguida */
.stage .lines .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:640px){
  .stage .lines .l2{flex-direction:column;align-items:flex-start;gap:6px}
  /* La primera linea iba centrada: en una columna estrecha rompe el margen. */
  .stage .lines .l1{text-align:left}
}

/* Acordeones */
.acc{border-top:1px solid var(--line-l)}
.acc-i{border-bottom:1px solid var(--line-l)}
.acc-h{
  width:100%;display:flex;align-items:center;gap:20px;text-align:left;
  padding:clamp(15px,1.7vw,26px) var(--pad);
  font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  transition:background .25s;
}
.acc-h .sp{flex:1}
.acc-h .pm{font-size:var(--t-icon);font-weight:300;line-height:1}
.acc-h:hover{background:rgba(255,255,255,.05)}
.acc-i.open .acc-h{background:var(--teal);color:var(--ink)}
.acc-i.open .acc-h .ttl{font-size:var(--t-loc);letter-spacing:.01em;font-weight:700;text-transform:uppercase}
.acc-b{max-height:0;overflow:hidden;transition:max-height .45s ease}
.acc-i.open .acc-b{max-height:640px}
.acc-b .in{padding:clamp(18px,2.4vw,34px) var(--pad) clamp(24px,3vw,44px);display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(16px,3vw,54px)}
.acc-b p{font-size:var(--t-body);line-height:1.55;color:rgba(255,255,255,.82);max-width:62ch}
.acc-b ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:14px;align-content:flex-start;align-items:flex-start}
.acc-b li{font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-l);padding:5px 10px;color:rgba(255,255,255,.75)}
@media(max-width:760px){.acc-b .in{grid-template-columns:1fr}}
.badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.badges img{height:26px;width:auto;filter:brightness(0) invert(1);opacity:.72}
/* Distintivos: en el mockup son logotipos. Hasta tenerlos, distintivos
   con borde para que lea como una marca de reconocimiento y no como texto suelto. */
.badges span{
  display:inline-block;padding:9px 16px;border:1px solid var(--line-l);
  font-size:var(--t-micro);letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  color:rgba(255,255,255,.88);transition:border-color .25s,color .25s;
}
.badges span:hover{border-color:var(--teal);color:#fff}

/* El ancla no queda debajo de la cabecera pegada */
/* cuelga de la altura de .hd (83px con el logotipo a 54) + aire */
[id]{scroll-margin-top:105px}

/* =========================================================
   Testimonios
   ========================================================= */
/* =========================================================
   MÓDULOS DEL FINAL — versión visual
   ========================================================= */

/* --- Clientes: una cita grande, foto del proyecto y tres pestañas --- */
.tq{padding:clamp(60px,6.5vw,120px) var(--pad);background:var(--bone-3)}
.tq-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,96px);align-items:center}
.tq-txt{min-width:0}
.tq-qm{display:block;font-family:'Inter',system-ui,sans-serif;font-size:clamp(58px,5.6vw,112px);
  line-height:.5;font-weight:800;letter-spacing:-.02em;color:var(--teal);
  margin:clamp(26px,3vw,52px) 0 clamp(18px,2.2vw,36px)}

/* la primera cita se ve aunque el JS no arranque */
.tq-item{display:none;font-size:var(--t-quote);line-height:var(--lh-quote);font-weight:200;
  letter-spacing:-.028em;max-width:24ch;min-height:4.2em}
.tq-item.on{display:block;animation:tqin .6s cubic-bezier(.22,1,.36,1)}
@keyframes tqin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.tq-nav{display:grid;gap:1px;background:var(--line);border-block:1px solid var(--line);
  margin-top:clamp(28px,3.4vw,56px)}
.tq-b{background:var(--bone-3);display:flex;align-items:baseline;gap:clamp(12px,1.4vw,22px);
  padding:clamp(13px,1.5vw,22px) clamp(10px,1.2vw,18px);text-align:left;width:100%;
  transition:background .3s,padding-left .35s cubic-bezier(.22,1,.36,1)}
.tq-b:hover{background:var(--bone)}
.tq-b.on{background:var(--teal);color:var(--ink);padding-left:clamp(18px,2vw,32px)}
.tq-b i{font-style:normal;font-size:var(--t-micro);letter-spacing:.16em;font-weight:700;color:var(--teal-t);
  transition:color .3s}
.tq-b.on i{color:var(--ink)}
.tq-b span{display:block;font-size:var(--t-lead);font-weight:500;letter-spacing:-.015em;line-height:1.1}
.tq-b em{display:block;font-style:normal;font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute);font-weight:500;margin-top:6px;transition:color .3s}
.tq-b.on em{color:rgba(29,29,27,.82)}

.tq-im{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bone-2)}
.tq-ph{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;pointer-events:none}
.tq-ph.on{opacity:1;pointer-events:auto}
.tq-ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.22,1,.36,1)}
.tq-ph.on:hover img{transform:scale(1.04)}
.tq-ph .lb{position:absolute;left:0;right:0;bottom:0;padding:clamp(46px,5vw,68px) clamp(16px,1.8vw,28px) clamp(16px,1.8vw,28px);color:#fff;
  background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.68) 65%,rgba(0,0,0,0) 100%);
  font-size:var(--t-lead);font-weight:500;letter-spacing:-.015em}
.tq-ph .lb i{display:block;font-style:normal;font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;opacity:.82;margin-top:6px;font-weight:400}
@media(max-width:900px){
  .tq-grid{grid-template-columns:1fr}
  .tq-im{order:-1;aspect-ratio:16/10}
  .tq-item{max-width:none;min-height:0}
}

/* --- Zonas sobre el mapa de la isla --- */
.zn2{padding:clamp(56px,5vw,90px) var(--pad)}
.zn2-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,80px);align-items:center}
.zn2-map svg{width:100%;height:auto;display:block;overflow:visible}
.zn2-map .isla{fill:var(--bone-2);stroke:rgba(29,29,27,.28);stroke-width:2}
.zn2-map .serra{fill:none;stroke:var(--teal);stroke-width:3;stroke-dasharray:9 8;opacity:.7}
.zn2-map .cap{font-size:var(--t-icon);letter-spacing:.16em;text-transform:uppercase;fill:var(--mute)}
.zpt circle:first-child{fill:var(--bone);stroke:var(--teal-t);stroke-width:3;transition:fill .3s,r .3s}
.zpt .halo{fill:none;stroke:var(--teal);stroke-width:1.5;opacity:0;transition:opacity .3s,r .4s}
.zpt text{font-size:var(--t-logo);font-weight:700;fill:var(--teal-t);text-anchor:middle;transition:fill .3s}
.zpt{cursor:pointer}
.zpt.on circle:first-child,.zpt:hover circle:first-child{fill:var(--teal)}
.zpt.on text,.zpt:hover text{fill:#fff}
.zpt.on .halo,.zpt:hover .halo{opacity:.75}
/* Los puntos estan en unidades del dibujo, asi que encogen con el mapa: en un
   movil quedaban en 9px con el numero ilegible. Se reescalan sobre su propio
   centro —el halo manda en la caja del grupo— para dejarlos en unos 20px.
   Los saltos miden el mapa, no la ventana: entre 900 y 1400px el mapa vuelve
   a ser estrecho porque la seccion pasa a dos columnas. */
.zn2-map{container-type:inline-size}
.zpt{transform-box:fill-box;transform-origin:center}
@container (max-width:640px){.zpt{transform:scale(1.4)}}
@container (max-width:500px){.zpt{transform:scale(1.85)}}
@container (max-width:390px){.zpt{transform:scale(2.45)}}
.zn2-list h2{font-size:var(--t-pj);font-weight:300;letter-spacing:-.028em;line-height:1}
.zn2-lead{font-size:var(--t-lead);color:var(--ink-2);font-weight:300;margin:16px 0 clamp(22px,2.6vw,38px);max-width:40ch}
.zn2-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);margin-bottom:clamp(20px,2.4vw,34px)}
.zn2-cards > div{background:var(--bone);padding:clamp(14px,1.5vw,22px);transition:background .3s}
.zn2-cards > div.on,.zn2-cards > div:hover{background:var(--teal);color:var(--ink)}
.zn2-cards h3{font-size:var(--t-lead);font-weight:500;letter-spacing:-.015em;line-height:1.15}
.zn2-cards p{font-size:var(--t-micro);line-height:1.45;color:var(--ink-2);margin-top:7px}
.zn2-cards > div.on h3,.zn2-cards > div:hover h3{color:var(--ink)}
.zn2-cards > div.on p,.zn2-cards > div:hover p{color:rgba(29,29,27,.86)}
@media(max-width:900px){.zn2-grid{grid-template-columns:1fr}}
@media(max-width:520px){.zn2-cards{grid-template-columns:1fr}}

/* --- Blog: tres tarjetas ilustradas + tres enlaces --- */
/* Sin filetes: las tarjetas se separan por aire, no por líneas. */
.jr-cards{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(30px,3.4vw,60px) clamp(20px,2.4vw,42px)}
.jr-cards > a,.jr-cards > .jr-demo{display:flex;flex-direction:column}
/* .jr-demo son las tarjetas de reserva de la portada mientras no haya entradas
   publicadas. No son enlace a proposito: no hay adonde ir todavia. */
/* Las seis portadas pasan por el mismo tratamiento —desaturado leve y una
   veladura del hueso de la paleta— para que no desentonen entre sí ni con
   el resto de la web, vengan de vuestro archivo o de un banco de imágenes.
   Al pasar el ratón, el filtro se retira y la foto recupera su color. */
.jr-cards .im{display:block;overflow:hidden;aspect-ratio:3/2;margin-bottom:clamp(16px,1.8vw,26px);
  position:relative;background:var(--bone-2)}
.jr-cards .im:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:var(--bone);mix-blend-mode:color;opacity:.10;transition:opacity .55s ease;
}
.jr-cards .im img{width:100%;height:100%;object-fit:cover;
  filter:saturate(.94) contrast(1.02);
  transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .55s ease}
.jr-cards > a:hover .im img{transform:scale(1.05);filter:none}
.jr-cards > a:hover .im:after{opacity:0}
.jr-cards .cat{display:inline-block;align-self:flex-start;font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;color:var(--teal-t);margin:0 0 10px}
/* El titular de la tarjeta es un <h3> desde que la pinta
   template-parts/tarjeta-articulo.php: en el listado del blog es el titulo de
   un articulo y tiene que serlo tambien para un lector de pantalla o para
   Google. Se conserva el <b> porque las tarjetas de reserva de la portada
   —las que no son enlace, .jr-demo— lo siguen usando.
   El selector va con el hijo directo (> a h3) para pesar mas que `.sec h3`,
   que en el listado del blog viene despues en esta hoja y le ganaria. */
.jr-cards b,.jr-cards > a h3{font-size:var(--t-desc);font-weight:300;letter-spacing:-.022em;line-height:1.16;margin:0;flex:1}
.jr-cards i{font-style:normal;font-size:var(--t-icon);color:var(--teal-t);margin:clamp(14px,1.6vw,22px) 0 0;
  transition:transform .4s cubic-bezier(.22,1,.36,1)}
.jr-cards > a:hover i{transform:rotate(90deg)}
@media(max-width:980px){.jr-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.jr-cards{grid-template-columns:1fr}}

/* Par de imágenes escalonado */
/* respiro por arriba y por abajo: antes se pegaba al módulo anterior */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,3vw,50px);align-items:end;
  padding:clamp(56px,7vw,130px) var(--pad) clamp(40px,5vw,90px)}
.pair img{width:100%;object-fit:cover}
.pair .a{aspect-ratio:4/3;margin-bottom:clamp(20px,4vw,80px)}
.pair .b{aspect-ratio:3/4}
@media(max-width:700px){.pair{grid-template-columns:1fr}.pair .a{margin-bottom:0}}

/* Colaboradores */
/* OJO, ESTA REJILLA CASI NUNCA SE VE. fx.js sustituye el div .colabs por la
   marquesina (.mq, en fx.css) en cuanto carga la pagina. Esto es lo que queda
   para quien navega con el movimiento reducido activado, y por eso tiene que
   seguir funcionando.
   (El comentario que habia aqui decia que la marquesina se habia quitado. Era
   falso: sigue en fx.js:135. Corregido al pasar los logos a galeria.)

   FILA FLEXIBLE, NO REJILLA. Fue rejilla mientras los logotipos eran cinco
   plazas fijas del mismo ancho. Ahora son los que el cliente ponga y cada uno
   mide lo suyo, asi que columnas iguales solo servirian para volver a repartir
   aire: el estrecho se quedaria centrado en una celda ancha. Con flex, cada
   logotipo ocupa su sitio y el gap es el hueco de verdad.

   Banda ancha: la franja oscura necesita cuerpo para que corte de verdad
   entre la cita de los socios y los testimonios. */
.colabs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:clamp(36px,7vw,130px);padding:clamp(64px,8vw,150px) var(--pad)}
/* SIN CAJA FIJA: TOPES, Y CADA LOGOTIPO OCUPA LO SUYO.
   Antes era un rectangulo igual para todos con object-fit:contain. Eso tenia
   sentido cuando los PNG venian con un lienzo comun de 582x133, pero se les
   recorto la transparencia (2026-09-07) y ahora cada archivo ES su logotipo.
   Con la caja fija, el aire habria pasado de estar dentro del PNG a estar
   dentro de la caja: el mismo hueco, movido de sitio.
   Asi que anchura y altura automaticas y dos topes. Cada logotipo se frena por
   el que alcance primero: los apaisados (valentines, 4,64:1) por el ancho, los
   cuadrados (Joan March, 0,82:1) por el alto. Sin esto, igualar solo la altura
   dejaba a valentines en 464 px de ancho.
   El elemento mide exactamente lo que se ve, asi que el hueco entre logotipos
   ES el gap, y no el gap mas dos margenes invisibles. */
.colabs img{
  width:auto;height:auto;
  max-height:clamp(44px,6.5vw,95px);max-width:min(100%,clamp(150px,20vw,300px));
  filter:brightness(0) invert(1);opacity:.85;transition:opacity .3s;
}
.colabs img:hover{opacity:1}
/* Ya no fija columnas: flex reparte solos los que quepan por fila. */
@media(max-width:760px){.colabs{gap:26px}}

/* CTA final */
/* Fondo con elementos reales, no pseudoelementos: la foto iba en absoluto
   como hija directa y el velo en :after, y el apilado fallaba — la foto se
   quedaba arriba en el flujo y el texto caía sobre el fondo claro. */
/* Rejilla de una sola celda: foto, velo y contenido comparten casilla y se
   apilan solos. Sin posicionamiento absoluto no hay forma de que la imagen
   se vaya al flujo y desborde, que es lo que venía pasando. */
.cta{display:grid;position:relative;overflow:hidden;background:var(--coal);color:#fff;isolation:isolate}
.cta > *{grid-area:1/1;min-width:0}
/* La altura la manda SIEMPRE el contenido (.in). La foto va en absoluto
   dentro de su caja para no aportar altura: en la rejilla, un img con
   height:100% dentro de una celda de alto automático se resuelve a "auto"
   y la imagen se estiraba a su tamaño natural, reventando la sección. */
.cta .bg{position:relative;overflow:hidden;z-index:0;display:block;min-height:0}
.cta .bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
/* la foto es de pared clara: sin velo suficiente el texto de la derecha
   se leía con muy poco contraste */
.cta .veil{z-index:1;
  background:linear-gradient(100deg,rgba(18,17,14,.88) 0%,rgba(18,17,14,.72) 46%,rgba(18,17,14,.56) 100%)}
.cta .in{position:relative;z-index:2;padding:clamp(46px,7vw,120px) var(--pad)}
.cta .row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,50px);align-items:end}
.cta h2,.cta p,.cta .r p{color:#fff}
.cta h2{font-size:var(--t-pj);font-weight:300;line-height:.99;letter-spacing:-.028em}
.cta .r p{font-size:var(--t-lead);line-height:1.35;max-width:30ch;font-weight:300}
.cta hr{border:0;border-top:1px solid rgba(255,255,255,.5);margin:clamp(20px,2.6vw,38px) 0 clamp(16px,2vw,26px)}
.cta .btns{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:760px){.cta .row{grid-template-columns:1fr}}

/* Footer */
.ft{padding:clamp(30px,4vw,62px) var(--pad) clamp(24px,3vw,44px);background:var(--bone-2)}
.ft-top{display:grid;grid-template-columns:minmax(160px,20%) repeat(3,1fr);gap:clamp(18px,3vw,44px)}
.ft-top .cl > p{font-size:var(--t-body);line-height:1.45;max-width:26ch;margin-bottom:22px}
.ft-nav{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:5px}
.ft-nav a{font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);transition:color .2s}
.ft-nav a:hover{color:var(--ink)}
.ft-bot{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:clamp(26px,3vw,46px);padding-top:16px;border-top:1px solid var(--line);font-size:var(--t-micro);color:var(--mute)}
@media(max-width:820px){.ft-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-top{grid-template-columns:1fr}}

/* =========================================================
   MÓDULOS RECUPERADOS DEL PROTOTIPO ANTERIOR
   (no estaban en el mockup, se traducen al lenguaje nuevo)
   ========================================================= */

/* --- Cifras --- */
/* Sin filete superior: la separación con el hero la hace ya la foto.
   El inferior y los verticales se quedan: son los que dibujan el bloque. */
.figs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.figs > div{padding:clamp(26px,2.4vw,34px) clamp(14px,2vw,30px);border-right:1px solid var(--line)}
.figs > div:last-child{border-right:0}
.figs b{display:block;font-size:var(--t-loc);font-weight:200;letter-spacing:-.04em;line-height:.94}
.figs span{display:block;font-size:var(--t-body);line-height:1.35;color:var(--ink-2);margin-top:12px;font-weight:300}
@media(max-width:800px){.figs{grid-template-columns:1fr 1fr}.figs>div:nth-child(2n){border-right:0}}

/* --- Precios: banda oscura --- */
.price{background:var(--coal);color:#fff;padding:clamp(56px,5.4vw,96px) var(--pad)}
.price .row{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,72px);align-items:center}
.price h2{font-size:var(--t-pj);font-weight:300;letter-spacing:-.028em;line-height:.99;margin:18px 0 18px}
.price h2 b{font-weight:500}
.price p{font-size:var(--t-lead);line-height:1.4;color:rgba(255,255,255,.82);max-width:42ch;margin-bottom:28px;font-weight:300}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line-l)}
.pgrid > div{background:var(--coal);padding:clamp(16px,2vw,28px)}
.pgrid b{display:block;font-size:var(--t-loc);font-weight:300;letter-spacing:-.02em;color:var(--teal-l);
  font-variant-numeric:tabular-nums}
.pgrid span{display:block;font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.62);margin-top:9px}
/* El pie sigue saliendo de la columna: a todo el ancho cabe en una sola línea */
.price .src{font-size:var(--t-micro);color:rgba(255,255,255,.62);margin-top:clamp(24px,2.8vw,42px)}
@media(min-width:1180px){.price .src{white-space:nowrap}}
@media(max-width:820px){.price .row{grid-template-columns:1fr}}
@media(max-width:460px){.pgrid{grid-template-columns:1fr}}

/* --- Plano + proceso --- */
/* El plano ya no depende del módulo de proceso: es un bloque cerrado. */
.plano2{background:var(--bone-2);padding:clamp(56px,5vw,86px) var(--pad) clamp(44px,4vw,70px)}
.plano-head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(20px,4vw,70px);
  align-items:end;margin-bottom:clamp(24px,3vw,44px)}
.plano-head h2{font-size:var(--t-pj);font-weight:300;letter-spacing:-.028em;line-height:1}
.plano-head h2 b{font-weight:500}
.plano-head p{font-size:var(--t-lead);line-height:1.42;color:var(--ink-2);font-weight:300;max-width:46ch}
@media(max-width:860px){.plano-head{grid-template-columns:1fr;align-items:start}}
.plano-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;
  margin-top:clamp(22px,2.8vw,40px);padding-top:clamp(16px,2vw,26px);border-top:1px solid var(--line)}
.plano-foot span{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.plano-foot .bmore{margin-left:auto}
@media(max-width:560px){.plano-foot .bmore{margin-left:0}}
.plano2 .lb{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px}
.plano2 .lb span{font-size:var(--t-small);color:var(--mute)}
.plano2 .lb .hint-p{margin-left:auto;font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;color:var(--teal-t);font-weight:600;
  display:inline-flex;align-items:center;gap:8px}
.plano2 .lb .hint-p:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);
  animation:pulse 2.2s ease-out infinite}

/* El plano se dibuja de izquierda a derecha, con una línea de plóter
   recorriéndolo por delante */
.plano-stage{position:relative;max-width:1180px;margin-inline:auto}
.plano-stage img{width:100%;display:block}
.fx .plano-stage img{clip-path:inset(0 100% 0 0);transition:clip-path 2.2s cubic-bezier(.4,0,.25,1)}
.fx .plano-stage.is-in img{clip-path:inset(0 0 0 0)}
.plano-stage:before{
  content:"";position:absolute;top:-2%;bottom:-2%;left:0;width:1px;z-index:3;
  background:linear-gradient(180deg,transparent,var(--teal) 12%,var(--teal) 88%,transparent);
  box-shadow:0 0 14px 2px rgba(127,168,174,.55);
  opacity:0;pointer-events:none;
}
.fx .plano-stage.in:before{animation:plot 2.2s cubic-bezier(.4,0,.25,1) forwards}
@keyframes plot{
  0%{left:0;opacity:0}
  6%{opacity:1}
  92%{opacity:1}
  100%{left:100%;opacity:0}
}
/* cotas: una fina horizontal y otra vertical que enmarcan el dibujo */
.plano-stage:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  border-left:1px solid rgba(29,29,27,.13);border-bottom:1px solid rgba(29,29,27,.13);
  opacity:0;transition:opacity .8s ease 1.6s;
}
.fx .plano-stage.in:after{opacity:1}

/* Puntos calientes: cada uno señala una parte real del dibujo */
/* Los puntos aparecen escalonados, detrás de la línea que dibuja el plano */
.hot{
  position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:none;
  cursor:pointer;z-index:4;
}
.fx .plano-stage .hot{opacity:0;transform:translate(-50%,-50%) scale(.4);
  transition:opacity .5s ease,transform .6s cubic-bezier(.34,1.56,.64,1)}
.fx .plano-stage.is-in .hot{opacity:1;transform:translate(-50%,-50%) scale(1)}
.fx .plano-stage.is-in .hot[data-part="1"]{transition-delay:.45s}
.fx .plano-stage.is-in .hot[data-part="2"]{transition-delay:.80s}
.fx .plano-stage.is-in .hot[data-part="3"]{transition-delay:1.10s}
.fx .plano-stage.is-in .hot[data-part="4"]{transition-delay:1.40s}
.fx .plano-stage.is-in .hot[data-part="5"]{transition-delay:1.70s}
.hot i{
  display:grid;place-items:center;width:clamp(30px,2.6vw,42px);aspect-ratio:1;border-radius:50%;
  background:var(--bone-2);border:2px solid var(--teal-t);color:var(--teal-t);
  font-style:normal;font-size:var(--t-micro);font-weight:700;letter-spacing:.04em;
  transition:background .3s,color .3s,transform .4s cubic-bezier(.22,1,.36,1);
  position:relative;
}
.hot i:after{
  content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--teal);
  opacity:.55;animation:pulse 2.4s ease-out infinite;
}
/* El punto 5 esta pegado al borde derecho del dibujo: su etiqueta no puede ir
   centrada o se saldria. Se ancla por la derecha, pero solapando el punto para
   que la guia de puntos baje sobre el numero y no sobre el aire. El porcentaje
   se mide contra el ancho del boton, que es el propio circulo. */
.hot[data-part="5"] span{left:auto;right:calc(50% - 12px);transform:translate(0,6px)}
.hot[data-part="5"]:hover span,.hot[data-part="5"].on span{transform:translate(0,0)}
.hot[data-part="5"] span:after{left:auto;right:12px}
.hot span{
  position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);
  background:var(--coal);color:#fff;padding:11px 15px;min-width:210px;text-align:left;
  font-size:var(--t-small);font-weight:500;letter-spacing:-.01em;line-height:1.25;
  opacity:0;pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1);
}
.hot span em{display:block;font-style:normal;font-size:var(--t-small);font-weight:300;
  color:rgba(255,255,255,.72);margin-top:5px;line-height:1.4}
.hot:hover i,.hot.on i{background:var(--teal);color:var(--ink);transform:scale(1.14)}
.hot:hover i:after,.hot.on i:after{opacity:0}
.hot:hover span,.hot.on span{opacity:1;transform:translate(-50%,0)}
/* guía de puntos hacia la etiqueta, como una cota de plano */
.hot span:after{
  content:"";position:absolute;top:100%;left:50%;width:1px;height:12px;
  background:repeating-linear-gradient(180deg,var(--coal) 0 3px,transparent 3px 6px);
}
@keyframes pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.8);opacity:0}100%{opacity:0}}
/* Panel del punto tocado. Vive fuera del dibujo, asi que ni se corta ni tapa
   otros puntos; el CSS decide donde se usa y fx.js solo lo rellena. */
.plano-sel{
  display:none;max-width:1180px;margin:14px auto 0;
  background:var(--coal);color:#fff;padding:14px 16px;
}
.plano-sel .n{display:block;font-size:var(--t-micro);letter-spacing:.14em;font-weight:700;
  color:var(--teal);margin-bottom:6px}
.plano-sel .n:empty{display:none}
.plano-sel .t{display:block;font-size:var(--t-small);font-weight:500;line-height:1.25;letter-spacing:-.01em}
.plano-sel .d{display:block;font-style:normal;font-size:var(--t-small);font-weight:300;
  line-height:1.4;color:rgba(255,255,255,.72);margin-top:5px}
.plano-sel .d:empty{display:none}

/* Sin raton o con la ventana estrecha: fuera la etiqueta flotante, entra el panel. */
@media(hover:none),(max-width:700px){
  .hot span{display:none}
  .plano2 .lb .hint-p{display:none}
  .plano-sel{display:block}
  .hot{padding:7px}                 /* zona de toque de 44px sin mover el punto */
  .hot.sel i{background:var(--teal);color:var(--ink);transform:scale(1.14)}
  .hot.sel i:after{opacity:0}
}

/* La fila del proceso se enciende con su punto */
/* El realce lo dispara ahora el propio ratón, no el plano. */
.proc4 > div{transition:background .35s}
.proc4 > div:hover{background:var(--bone-3)}
.proc4 > div:hover b{background:var(--teal-d)}

.proc4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.proc4 > div{padding:clamp(20px,2.4vw,36px) clamp(14px,1.8vw,28px);border-right:1px solid var(--line)}
.proc4 > div:last-child{border-right:0}
.proc4 b{display:inline-block;font-size:var(--t-micro);letter-spacing:.16em;font-weight:600;color:var(--ink);background:var(--teal);padding:4px 9px}
.proc4 h3{font-size:var(--t-loc);font-weight:300;letter-spacing:-.028em;margin:18px 0 10px;line-height:1}
.proc4 p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-2);font-weight:300}
@media(max-width:860px){.proc4{grid-template-columns:1fr 1fr}.proc4>div:nth-child(2n){border-right:0}}
@media(max-width:520px){.proc4{grid-template-columns:1fr}.proc4>div{border-right:0;border-bottom:1px solid var(--line)}}

/* --- Mosaico de obra a sangre (recuperado del prototipo aprobado) --- */
/* fotos pegadas: la línea de separación rompía el bloque */
.mos2{display:grid;grid-template-columns:repeat(12,1fr);gap:0;background:var(--bone-2)}
.mos2 a{position:relative;overflow:hidden;background:var(--bone-2);display:block}
.mos2 a img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.mos2 a[href]:hover img{transform:scale(1.05)}
.mos2 .c12{grid-column:span 12}
/* Una sola pieza a todo el ancho: con 16/10 quedaria de casi 900 px de alto.
   Se aplana para que lea como banda, no como portada. */
.mos2 .c12.h2x{aspect-ratio:21/8}
.mos2 .c6{grid-column:span 6}
.mos2 .c4{grid-column:span 4}
.mos2 .c3{grid-column:span 3}
.mos2 .c8{grid-column:span 8}
.mos2 .h2x{aspect-ratio:16/10}
.mos2 .h1x{aspect-ratio:4/5}
.mos2 .lb{
  position:absolute;left:0;right:0;bottom:0;padding:clamp(46px,5vw,64px) clamp(12px,1.4vw,22px) 16px;color:#fff;
  background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.68) 65%,rgba(0,0,0,0) 100%);
  opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);
}
.mos2 a:hover .lb{opacity:1;transform:none}
.mos2 .lb span{display:block;font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.mos2 .lb b{display:block;font-size:var(--t-lead);font-weight:400;letter-spacing:-.02em;margin-top:6px}
@media(max-width:860px){
  .mos2{grid-template-columns:repeat(6,1fr)}
  .mos2 .c12,.mos2 .c6,.mos2 .c8{grid-column:span 6}
  .mos2 .c4,.mos2 .c3{grid-column:span 3}
}
/* Una sola columna en movil, igual que en `.mos`: con un numero impar de obras
   la segunda fila se quedaba a medias. */
@media(max-width:700px){
  .mos2{grid-template-columns:1fr}
  .mos2 .c12,.mos2 .c8,.mos2 .c6,.mos2 .c4,.mos2 .c3{grid-column:auto}
}

/* --- Arco de fotos: cuatro alturas escalonadas --- */
.arco{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.4vw,22px);
  align-items:end;padding:clamp(30px,4vw,72px) var(--pad) 0}
.arco figure{margin:0;overflow:hidden}
.arco img{width:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.arco figure:hover img{transform:scale(1.05)}
.arco figure:nth-child(1) img,.arco figure:nth-child(4) img{height:clamp(150px,20vw,320px)}
.arco figure:nth-child(2) img,.arco figure:nth-child(3) img{height:clamp(190px,25vw,400px)}
@media(max-width:700px){.arco{grid-template-columns:1fr 1fr}
  .arco figure img{height:clamp(150px,42vw,260px)!important}}

/* --- Cita de los socios --- */
.fq{display:grid;grid-template-columns:minmax(230px,30%) 1fr;gap:clamp(26px,5vw,96px);
  padding:clamp(56px,7.5vw,140px) var(--pad);align-items:center;background:var(--bone-3)}
.fq .caras{display:flex;gap:clamp(8px,1vw,16px)}
.fq .caras img{width:50%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
/* el chip quedaba pegado a la comilla: ahora respira */
.fq .chip{margin-bottom:clamp(28px,3.4vw,56px)}
/* La comilla que pidió: la ” de Inter en peso 800 — bloques rectos con el
   corte diagonal abajo a la izquierda, no comas redondas. Se fija Inter a
   propósito: el dibujo de esta comilla es el que define el detalle. */
.fq .qm{
  display:block;font-family:'Inter',system-ui,sans-serif;font-size:clamp(58px,5.6vw,112px);
  line-height:.5;font-weight:800;letter-spacing:-.02em;color:var(--teal);
  margin-bottom:clamp(22px,2.4vw,40px);
}
.fq blockquote{
  font-size:var(--t-quote);line-height:1.12;font-weight:200;
  letter-spacing:-.03em;max-width:19ch;
}
.fq blockquote b{font-weight:400;color:var(--teal-t)}
.fq .firma{margin-top:clamp(30px,3.4vw,58px);display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.fq .firma:before{content:"";width:clamp(28px,4vw,72px);height:1px;background:var(--ink);flex:none;transform:translateY(-6px)}
.fq .firma b{font-size:var(--t-lead);font-weight:500;letter-spacing:-.01em}
.fq .firma span{font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
@media(max-width:760px){.fq{grid-template-columns:1fr}.fq .caras img{aspect-ratio:1/1}}

/* --- Journal / lo que publicamos --- */
.jr{padding:clamp(56px,4.6vw,84px) var(--pad) clamp(40px,2.6vw,44px)}
.jr-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:clamp(20px,2.6vw,38px)}
/* convive en la misma fila con una línea fina y un botón: no puede ir a 66 px */
.jr-head h2{font-size:var(--t-loc);font-weight:300;letter-spacing:-.025em;line-height:1.06;max-width:24ch}
.jr-head .sp{flex:1;min-width:30px}
.jr-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}
.jr-list a{background:var(--bone);padding:clamp(16px,2vw,28px);display:flex;align-items:baseline;gap:14px;transition:background .3s}
.jr-list a:hover{background:var(--bone-3)}
.jr-list b{font-size:var(--t-desc);font-weight:300;letter-spacing:-.022em;flex:1;line-height:1.1}
.jr-list i{font-style:normal;font-size:16px;color:var(--teal-t)}
@media(max-width:860px){.jr-list{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.jr-list{grid-template-columns:1fr}}



/* Aparicion al hacer scroll — solo si el JS ha arrancado, para que
   el contenido nunca quede invisible si algo falla */
.js .up{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.js .up.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .up{opacity:1;transform:none;transition:none}}


/* =========================================================
   FOOTER DE PAGINAS INTERNAS (del prototipo base-v13 + v2-skin)
   ========================================================= */
.ft{background:var(--bone-2);color:var(--mute);padding:clamp(40px,5vw,76px) 0;font-size:14px}
.ft .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.ft-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:44px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.ft h5{color:var(--ink);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-weight:600}
.ft a{color:var(--mute);display:block;padding:6px 0;font-size:13.5px;font-weight:300;transition:color .2s}
.ft a:hover{color:var(--ink)}
.ft .big{font-size:clamp(20px,2vw,27px);color:var(--ink);font-weight:300;line-height:1.3;max-width:16ch;margin:22px 0 26px;letter-spacing:-.02em}
.ft .lg img{height:44px;filter:brightness(0)}
.ft .sub{font-size:13.5px;font-weight:300;line-height:1.65;max-width:34ch;color:var(--mute);margin:0}
.ft .lgl{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:11.5px;color:var(--mute);flex-wrap:wrap;font-weight:300}
.ft .lgl a{display:inline;padding:0;margin-left:18px;font-size:11.5px;color:var(--mute)}
.ft .lgl a:hover{color:var(--ink)}
/* Poblacion: mismo cuerpo que los enlaces de al lado, pero no es enlace, asi
   que no lleva su relleno vertical. */
.ft .ft-dir{font-size:13.5px;font-weight:300;color:var(--mute);padding:6px 0;margin:0}
/* Selector de idioma del pie. En el prototipo era "ES · CA · EN · DE" escrito
   a mano y sin enlazar; aqui los idiomas los pone WPML y el separador va en un
   <span aria-hidden>, que el lector de pantalla no tiene que deletrear. */
.ft-lang{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;
  font-size:12px;color:var(--mute);font-weight:300}
.ft .ft-lang a{display:inline;padding:0;font-size:12px}
.ft .ft-lang a.on{color:var(--ink)}
/* Zona de toque en el pie: con 26px de alto el dedo fallaba. Solo en movil,
   para no aflojar la densidad de la rejilla en escritorio. */
@media(max-width:700px){
  .ft a{padding:11px 0}
  .ft .lgl a{display:inline-block;padding:9px 0;margin:0 18px 0 0}
  /* El selector no hereda los 11px de relleno de los demas enlaces del pie
     —los idiomas se despegarian del separador y dejarian de leerse como una
     linea—, pero un "ES" de 17x18 px no se acierta con el dedo. Relleno justo
     para llegar a los 24x24 que pide la norma, y el hueco lo pone el gap. */
  .ft .ft-lang{gap:8px 10px;margin-left:-6px}
  .ft .ft-lang a{padding:4px 6px}
}
@media(max-width:820px){.ft-g{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ft-g{grid-template-columns:1fr}}


/* =========================================================
   PLANTILLAS WORDPRESS
   ========================================================= */

/* --- Accesibilidad --- */
.skip-link{
  position:absolute;left:-9999px;
}
.skip-link:focus{
  left:1rem;top:1rem;z-index:999;
  background:var(--bone);padding:0.75rem 1rem;
}
.screen-reader-text{
  position:absolute;width:1px;height:1px;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap;
}

/* --- Contenedor principal --- */
.site-main{
  min-height:50vh;
}

/* --- Pagina generica (page.php) --- */
.pagina{padding:clamp(40px,5vw,80px) var(--pad)}
.pagina__head{margin-bottom:clamp(24px,3vw,44px)}
.pagina__title{font-size:var(--t-h1);font-weight:300;letter-spacing:-.022em;line-height:var(--lh-h1)}
.pagina__contenido{max-width:760px;font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-2)}
.pagina__contenido p{margin-bottom:1.2em}
.pagina__contenido img{margin-block:1.5em}
.pagina__contenido h2{font-size:var(--t-loc);font-weight:300;letter-spacing:-.025em;margin:2em 0 .6em}
.pagina__contenido h3{font-size:var(--t-lead);font-weight:500;margin:1.5em 0 .5em}


/* Las plantillas de proyecto (ficha, archivo y tarjeta) usaban aqui su propio
   juego de clases: .proyecto, .archivo-proyectos, .proyecto-card y
   .ficha-tecnica. Al rehacerlas segun el prototipo pasaron a usar .hero, .sec,
   .two, .mos y .fic, y ese bloque quedo muerto.

   No era inofensivo: post_class() anade al <article> la clase del tipo de
   contenido, o sea "proyecto", y la regla .proyecto{padding:...} seguia
   metiendo un marco alrededor de toda la ficha. */

/* --- 404 --- */
.error-404{padding:clamp(80px,10vw,160px) var(--pad);text-align:center}
.error-404__title{font-size:var(--t-pj);font-weight:300;letter-spacing:-.028em}
.error-404__texto{font-size:var(--t-lead);color:var(--ink-2);margin:20px auto;max-width:40ch}
.error-404__cta a{display:inline-block;padding:13px 26px;font-size:var(--t-micro);letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;background:var(--teal);color:var(--ink);transition:background .25s}
.error-404__cta a:hover{background:var(--teal-d)}

/* --- Listado generico (index.php) --- */
.listado{padding:clamp(40px,5vw,80px) var(--pad)}
.listado__item{padding:clamp(18px,2vw,30px) 0;border-bottom:1px solid var(--line)}
.listado__title{font-size:var(--t-lead);font-weight:500;letter-spacing:-.015em}
.listado__title a:hover{color:var(--teal-t)}
.listado__extracto{font-size:var(--t-body);color:var(--ink-2);margin-top:8px}

/* --- Paginacion de WordPress --- */
.navigation.pagination{padding:clamp(30px,3vw,50px) var(--pad);text-align:center}
.navigation.pagination .nav-links{display:flex;justify-content:center;gap:8px}
.navigation.pagination .page-numbers{
  display:inline-block;padding:8px 14px;border:1px solid var(--line);
  font-size:var(--t-micro);letter-spacing:.1em;font-weight:500;
  transition:background .25s,color .25s;
}
.navigation.pagination .page-numbers.current{background:var(--teal);color:var(--ink);border-color:var(--teal)}
.navigation.pagination .page-numbers:hover{background:var(--bone-2)}

/* --- Secciones reutilizables de paginas internas --- */
.sec{padding-block:clamp(56px,7vw,120px)}
.sec.sm{padding-block:clamp(40px,5vw,80px)}
.sec.alt{background:var(--bone-2)}
.sec.dark{background:var(--coal);color:#fff}
.sec.dark p{color:rgba(255,255,255,.82)}
.head{max-width:900px}
.head.c{margin-left:auto;margin-right:auto;text-align:center}
/* 940: es el ancho que acaba teniendo el prototipo. OJO: base-v13.css dice
   880, pero v2-skin.css lo sube a 940 y es el que manda. Leer solo base-v13
   lleva a un valor equivocado. La portada no usa .wrap-n. */
.wrap-n{max-width:940px;margin:0 auto;padding-inline:var(--pad)}
/* Mismo motivo que --t-lead: nunca por debajo del cuerpo de texto. */
.lead{font-size:clamp(17px,1.25vw,18px);font-weight:300;line-height:1.55;color:var(--ink-2)}

/* --- Eyebrow (paginas internas) --- */
.eyebrow{
  display:inline-block;margin-bottom:20px;padding:5px 12px 4px;
  border:1px solid var(--line);font-size:var(--t-micro);letter-spacing:.16em;
  text-transform:uppercase;font-weight:500;color:var(--ink-2);
}
.eyebrow.lt,.sec.dark .eyebrow{border-color:rgba(255,255,255,.45);color:rgba(255,255,255,.85)}

/* --- Botones del sistema antiguo (usados en internas) --- */
.btn{
  display:inline-block;padding:12px 24px;font-size:var(--t-micro);letter-spacing:.13em;
  text-transform:uppercase;font-weight:500;border:1px solid transparent;cursor:pointer;
  font-family:'Inter',system-ui,sans-serif;transition:background .25s,color .25s;
}
.b-teal,.b-sage{background:var(--teal);color:var(--ink);border-color:var(--teal)}
.b-teal:hover,.b-sage:hover{background:var(--teal-d);color:var(--ink)}
.b-line{border-color:#fff;color:#fff}
.b-line:hover{background:#fff;color:var(--coal)}
.b-dark{border-color:var(--ink);color:var(--ink)}
.b-dark:hover{background:var(--ink);color:var(--bone)}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.lnk{color:var(--ink);border-bottom:1px solid var(--teal);font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase}
.lnk:hover{color:var(--teal-t);border-color:var(--teal-t)}

/* --- Hero de paginas internas ---
   DOS COLUMNAS: la fotografia ocupa la mitad izquierda y el texto va sobre el
   fondo carbon, a la derecha. No es una foto a sangre con el texto encima.

   La foto va POR ENCIMA del degradado (.hero:after), no debajo: el degradado
   solo tiene que oscurecer la columna del texto. Si le bajas el z-index a .im,
   la fotografia se apaga y pierdes el contraste entre las dos mitades. */
.hero{position:relative;background:var(--coal);overflow:hidden;
  --hero-y:clamp(44px,4.4vw,64px);
  /* La altura la manda esta linea, no la foto: 80% de la ventana, para que el
     titular y el boton se vean sin hacer scroll. */
  min-height:80vh;
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.hero .im{position:relative;z-index:2;padding-block:var(--hero-y)}
/* La foto va en absoluto para NO aportar altura. Con height:100% dentro de una
   celda de alto automatico el navegador lo resuelve a "auto", asi que una foto
   vertical (1600x2400 en /reforma/) estiraba el hero a 1061px y dejaba el h1
   fuera de pantalla. Mismo caso, y misma solucion, que en .cta .bg img. */
.hero .im img{position:absolute;top:var(--hero-y);left:0;width:100%;
  height:calc(100% - var(--hero-y) * 2);object-fit:cover;filter:none;display:block}
.hero:after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(20,20,18,.76),rgba(20,20,18,.34))}
.hero .in{position:relative;z-index:2;padding:var(--hero-y) var(--pad);
  display:flex;align-items:flex-end}
.hero h1{color:#fff;font-size:var(--t-h1);font-weight:300;letter-spacing:-.022em;line-height:var(--lh-h1)}
.hero h1 b{font-weight:500}
.hero p,.hero .lead{color:rgba(255,255,255,.86)}
.hero .eyebrow{border-color:rgba(255,255,255,.45);color:rgba(255,255,255,.9)}
/* El boton va SIEMPRE debajo del texto, no a su derecha. Con flex-wrap se
   colocaba al lado en cuanto la columna era ancha, que es justo lo que no
   queremos: la llamada a la accion cierra el bloque de texto. */
.hero-row{display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(20px,2.4vw,34px);width:100%}
@media(max-width:820px){
  /* En movil se apilan: primero la foto, despues el texto. */
  .hero{grid-template-columns:1fr;min-height:0}
  .hero .im{padding-block:0}
  /* Apilado: la foto vuelve al flujo y manda su propia altura. */
  .hero .im img{position:static;width:100%;height:clamp(240px,52vw,380px)}
}

/* --- Layouts de paginas internas --- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
@media(max-width:820px){.two{grid-template-columns:1fr}}
/* Tres piezas en un .two dejan medio hueco en la segunda fila. Solo pasa en
   las fichas de socio de "Nosotros", que hoy son dos: el dia que sean tres, la
   plantilla anade esta clase sola. Mismo recurso que .proc.p3.
   Con cuatro no hace falta nada: .two ya las reparte en dos filas.
   La regla movil se repite porque esta va despues y con mas peso. */
.two.t3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.two.t3{grid-template-columns:1fr}}
.ratio-34{aspect-ratio:3/4;overflow:hidden}
.ratio-34 img{width:100%;height:100%;object-fit:cover}
.ratio-43{aspect-ratio:4/3;overflow:hidden}
.ratio-43 img{width:100%;height:100%;object-fit:cover}
/* Acotada a .sec: la portada tiene su propio .note dentro de .bigtype ("De la
   excavacion a los acabados"), que es texto suelto y NO una caja con borde. */
.sec .note{font-size:var(--t-small);line-height:1.55;color:var(--mute);padding:clamp(14px,1.5vw,22px);
  border:1px solid var(--line);background:var(--bone-3)}
/* El rotulo que abre la nota se marca en el HTML y va en su propia linea. Se
   pide a proposito: antes lo hacia cualquier negrita y la nota de la guia de
   precios —que lleva las cifras en negrita dentro del parrafo— salia partida
   en cinco lineas. Con :first-child tampoco valia, porque ahi la negrita es el
   primer ELEMENTO aunque delante haya texto suelto. */
.sec .note b{color:var(--ink)}
.sec .note b.rotulo{display:block;margin-bottom:6px}
/* Variante teal del prototipo: llamada de atencion, no caja de aviso. */
.sec .note.t{background:rgba(127,168,174,.14);border:0;border-left:2px solid var(--teal);
  color:var(--ink-2);font-size:var(--t-body)}
.sec .note.t b{color:var(--teal-t);font-weight:600}
.mini{font-size:12px;color:var(--mute);margin-top:14px;line-height:1.6;font-weight:300}

/* --- Rejilla de zonas (pagina "Donde trabajamos") ---
   Portada de base-v13.css:195 con la paleta del tema. No se reaprovecha
   .zn2-cards de la portada: aquella es la lista corta que acompana al mapa, va
   a dos columnas y se ilumina en teal porque el mapa la senala. Esta es la
   pagina entera, a tres columnas y sin mapa que sincronizar.
   El separador es el hueco de 1px sobre el fondo de la rejilla, no un borde:
   asi las lineas interiores no se doblan donde dos tarjetas se tocan. */
.zn{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
.zn>div{background:var(--bone-3);padding:clamp(22px,2.4vw,34px);transition:background .25s}
.zn>div:hover{background:#fff}
.zn h4{font-size:var(--t-lead);font-weight:500;color:var(--ink);
  letter-spacing:-.015em;line-height:1.15;margin-bottom:8px}
.zn p{font-size:var(--t-small);line-height:1.6;color:var(--ink-2);margin:0}
/* El aire de la nota vive aqui y no en un style= de la plantilla: solo hace
   falta cuando va detras de la rejilla. */
.zn+.note{margin-top:clamp(26px,3vw,40px)}
@media(max-width:1080px){.zn{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.zn{grid-template-columns:1fr}}

/* --- Fila de logotipos sobre fondo claro (pagina "Nosotros") ---
   OJO: NO es .colabs, aunque solo cambie una letra. Aquella vive en la banda
   oscura de la portada, pinta los logotipos en blanco con brightness(0)
   invert(1) y fx.js la sustituye por una marquesina con degradados de #35352F
   en los bordes. Aqui el fondo es hueso y la fila no se mueve.
   Del prototipo (base-v13.css:289) se conserva la fila centrada, pero NO su
   altura por logotipo ni la variante .tall: esa via ya se probo y se descarto
   en .colabs —la unica forma de que se perciban iguales es dar a todos el
   mismo rectangulo y encajar cada uno con object-fit:contain—. */
.colab{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
  gap:clamp(24px,4vw,70px)}
.colab img{width:clamp(110px,11vw,175px);height:clamp(38px,4vw,62px);
  object-fit:contain;object-position:center;
  filter:grayscale(1);opacity:.45;transition:opacity .3s,filter .3s}
.colab img:hover{filter:grayscale(0);opacity:1}

/* Nombre del socio. En el prototipo iba con un style= en cada uno. */
.nos-socio{margin:22px 0 8px}

/* --- Formulario de contacto (WPForms) ---
   El prototipo estiliza cada input con un style= propio: campos sin caja, solo
   un filete abajo. Aqui va como reglas, acotadas a .fcto —la columna del
   formulario— para no tocar ningun otro formulario del sitio.

   SE MANDA POR LAS VARIABLES DEL PLUGIN, NO PELEANDO CON SU HOJA.
   WPForms en marcado moderno publica su aspecto entero en propiedades
   personalizadas. Redefinirlas es una linea por decision y se lleva bien con
   las actualizaciones del plugin, en vez de reescribir sus reglas una a una.

   POR QUE LLEVAN !important. Las publica en DOS sitios: un bloque `:root` y
   otro acotado por ID (`#wpforms-81 { ... }`). Contra el segundo no hay
   selector de clase que gane, y meter el ID aqui ataria la hoja del tema al
   numero de un formulario concreto: el dia que se rehaga, deja de aplicar sin
   que nadie lo note. Es el caso para el que sirve !important.

   Lo unico que no cabe en una variable es el filete de abajo: el borde del
   plugin es uno solo para los cuatro lados, asi que ese se escribe aparte. */
.fcto .wpforms-container{
  --wpforms-field-border-radius:0 !important;
  --wpforms-field-border-size:0px !important;
  --wpforms-field-background-color:transparent !important;
  --wpforms-field-text-color:var(--ink) !important;
  --wpforms-field-size-font-size:16px !important;   /* 16 y no menos: por debajo, iOS hace zoom al enfocar */
  --wpforms-field-size-padding-h:0px !important;
  --wpforms-field-size-input-height:46px !important;
  --wpforms-field-size-input-spacing:26px !important;
  --wpforms-label-color:var(--mute) !important;
  --wpforms-label-size-font-size:var(--t-micro) !important;
  --wpforms-label-size-line-height:1.4 !important;
  --wpforms-label-error-color:#B3261E !important;   /* el #d63637 del plugin se queda en 3,9:1 sobre el hueso */
  /* Boton: mismo aspecto que .btn.b-teal, que es lo que pone ahi el prototipo. */
  --wpforms-button-background-color:var(--teal) !important;
  --wpforms-button-text-color:var(--ink) !important;
  --wpforms-button-border-color:var(--teal) !important;
  --wpforms-button-border-style:solid !important;
  --wpforms-button-border-size:1px !important;
  --wpforms-button-border-radius:0 !important;
  --wpforms-button-size-font-size:var(--t-micro) !important;
  --wpforms-button-size-height:44px !important;
  --wpforms-button-size-padding-h:24px !important;
  --wpforms-button-size-margin-top:30px !important;
  margin:0;
}
/* Con un selector mas corto el peso 700 del plugin ganaba. */
.fcto .wpforms-container .wpforms-field-label{
  letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:6px;
}
/* EL DESPLEGABLE Y SU FLECHA
   El plugin le quita la flecha del sistema (appearance:none) y pone la suya
   como IMAGEN DE FONDO. Mas abajo, la regla que deja los campos sin caja usa
   el atajo `background`, y ese atajo resetea tambien background-image: el
   desplegable se quedaba sin ningun indicador y con los 24px de hueco que el
   plugin reserva para la flecha, vacios. No se veia que fuera un desplegable.

   Se dibuja aqui, con el angulo del sistema de diseno y en el gris de las
   etiquetas, y en teal cuando el campo tiene el foco. Va en linea como SVG
   para no pedir un archivo mas.

   Del relleno solo se quita el de la IZQUIERDA, para que el texto del
   desplegable arranque en la misma linea que el de los demas campos; el de la
   derecha es el que deja sitio a la flecha. */
.fcto .wpforms-container .wpforms-field-select select{
  padding-left:0 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%235F5F59' stroke-width='1.3'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right center !important;
  background-size:11px 7px !important;
}
.fcto .wpforms-container .wpforms-field-select select:focus{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' fill='none' stroke='%2342646B' stroke-width='1.3'/%3E%3C/svg%3E") !important;
}
/* NOMBRE Y TELEFONO EN LA MISMA FILA, como en el prototipo. Las dos clases se
   ponen en el maquetador (Opciones de campo > Avanzado > Clases CSS).
   Es flex y no una rejilla con :nth-child a proposito: el senuelo antispam se
   cuela como un hijo mas del contenedor —entre Nombre y Telefono, de hecho— y
   cualquier cuenta por posicion sale mal. Al ir en absoluto, del flex se
   descuelga solo. */
@media(min-width:700px){
  .fcto .wpforms-field-container{display:flex;flex-wrap:wrap;column-gap:26px}
  .fcto .wpforms-field-container > .wpforms-field{flex:1 1 100%}
  .fcto .wpforms-field-container > .wpforms-one-half{flex:1 1 calc(50% - 13px)}
  /* El plugin trae su propio sistema de columnas, flotantes, y le anade 20px
     de margen izquierdo a esta clase. Aqui la calle la pone el column-gap, y
     ese margen de mas hace que los dos campos no quepan en la fila y el
     segundo caiga debajo. Se necesita esta especificidad porque la hoja de
     WPForms se encola DESPUES que la del tema y empata a selectores. */
  .fcto .wpforms-container .wpforms-field-container > .wpforms-one-half{margin-left:0}
}
/* Por debajo de ese ancho no hay dos columnas, pero la clase sigue puesta y
   con ella el ancho porcentual del plugin, que dejaba los dos campos a 160px
   en un movil. La fila doble es cosa de escritorio; aqui cada campo ocupa lo
   que ocupan los demas. */
@media(max-width:699px){
  .fcto .wpforms-container .wpforms-field-container > .wpforms-one-half{width:100%;margin-left:0;float:none}
}
/* El filete de abajo, que es lo que hace que el campo no parezca una caja. */
/* background-COLOR y no el atajo `background`: el atajo resetea tambien la
   imagen de fondo, y la flecha del desplegable es justo eso. Fue lo que la
   dejo invisible. */
.fcto .wpforms-container :is(input[type="text"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],select,textarea){
  border-bottom:1px solid var(--line);border-radius:0;background-color:transparent;
  font-family:'Inter',system-ui,sans-serif;
}
.fcto .wpforms-container :is(input,select,textarea):focus{outline:0;border-bottom-color:var(--teal-t)}
.fcto .wpforms-container textarea{min-height:120px;padding-block:13px}
/* Error: el plugin marca el campo con .wpforms-error. */
.fcto .wpforms-container .wpforms-error{border-bottom-color:#B3261E}
.fcto .wpforms-container label.wpforms-error{font-size:var(--t-small);color:#B3261E;margin-top:6px;display:block;
  letter-spacing:normal;text-transform:none;font-weight:400}
/* Lo del boton que no cabe en una variable. */
.fcto .wpforms-submit{
  letter-spacing:.13em;text-transform:uppercase;font-weight:500;cursor:pointer;
  font-family:'Inter',system-ui,sans-serif;transition:background .25s,color .25s;
}
.fcto .wpforms-submit:hover{background:var(--teal-d) !important;color:var(--ink) !important}
/* El boton secundario cuelga del formulario, no de dentro: el margen normal de
   .btns lo separaria el doble de lo que toca. */
.fcto .wpforms-container + .btns{margin-top:14px}
/* Mensaje de gracias, con el mismo trato que una nota destacada del tema.
   Van las dos clases: segun el ajuste de confirmacion, WPForms pinta
   .wpforms-confirmation-container o la variante -full. */
.fcto .wpforms-container :is(.wpforms-confirmation-container,.wpforms-confirmation-container-full){
  background:rgba(127,168,174,.14);border:0;border-left:2px solid var(--teal);
  color:var(--ink-2);font-size:var(--t-body);padding:clamp(14px,1.5vw,22px);margin:0;
}

/* Foto bajo la ficha de datos. En el prototipo iba con un style=. */
.con-foto{margin-top:30px}

/* Aqui vivia el MAPA DE TEMAS del blog (.three, .tag-s): seis tarjetas de
   categoria con su foto, su dato y sus ultimos titulares. Se sustituyo por el
   listado con buscador y filtros —ver el bloque BLOG al final de esta hoja— y
   con el se fue su CSS, que no lo usaba nadie mas. */

/* --- Tablas --- */
.tbw{overflow-x:auto}
.tb{width:100%;border-collapse:collapse;font-size:clamp(13px,1vw,14.5px)}
/* Cabecera de tabla en banda oscura, como el prototipo: es lo que separa la
   tabla de precios de una lista cualquiera. */
.tb th{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:#fff;background:var(--coal);text-align:left;padding:16px 18px}
.tb td{padding:16px 18px;border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:top}
.tb td.r{text-align:right;white-space:nowrap;font-weight:500;color:var(--teal-t)}
.tb td b{font-weight:500;color:var(--ink)}

/* --- Fichas/lista (como las de plazos) --- */
.fic{list-style:none}
.fic li{display:flex;justify-content:space-between;gap:20px;padding:clamp(12px,1.4vw,20px) 0;
  border-bottom:1px solid var(--line);font-size:var(--t-body);color:var(--ink-2)}
.fic li span:last-child{font-weight:500;color:var(--ink);white-space:nowrap}
/* La misma lista dentro de una banda oscura. En el prototipo cada <li> traia
   sus colores en un style; aqui es una clase y no se repite en cada linea. */
.fic.on-dark li{border-color:var(--line-l);color:rgba(255,255,255,.72)}
.fic.on-dark li span:last-child{color:#fff}

/* --- Acordeon de internas (details/summary) --- */
details{border-bottom:1px solid var(--line)}
summary{padding:clamp(18px,1.9vw,24px) 0;font-weight:400;letter-spacing:-.01em;
  cursor:pointer;font-size:clamp(15px,1.3vw,18px);list-style:none;display:flex;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:var(--t-icon);font-weight:300;color:var(--teal);flex:none;margin-left:20px;
  transition:transform .3s}
details[open] summary::after{content:"\2013"}
/* La pregunta reacciona al raton y se queda marcada mientras esta abierta: sin
   esto, lo unico que cambiaba era el signo de la derecha. Va en --teal-t y no
   en el teal de marca, que sobre el hueso se queda en 2:1. */
summary{transition:color .2s}
summary:hover{color:var(--teal-t)}
details[open] summary{color:var(--teal-t);font-weight:500}
details .a{padding:0 clamp(0px,4.2vw,60px) clamp(18px,1.8vw,26px) 0;
  font-size:clamp(13.5px,1vw,14.5px);line-height:1.55;font-weight:300;color:var(--ink-2)}
details .a p{margin-bottom:1em}
.acc{border-top:1px solid var(--line)}

/* --- Mosaico de internas (usado en servicios, otros servicios) --- */
.mos{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;background:var(--bone-2)}
.mos a,.mos figure{position:relative;overflow:hidden;display:block}
.mos a img,.mos figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
/* a[href]: el zoom solo si el enlace lleva a algun sitio. Las piezas de
   reserva se pintan como <a> sin href y no deben moverse. */
.mos a[href]:hover img{transform:scale(1.05)}
.mos .c12{grid-column:span 12}
.mos .c4{grid-column:span 4}
.mos .c3{grid-column:span 3}
.mos .c8{grid-column:span 8}
.mos .c6{grid-column:span 6}
.mos .h1x{height:clamp(230px,26vw,400px)}
.mos .h2x{height:clamp(330px,38vw,600px)}
.mos .lb{
  position:absolute;left:0;right:0;bottom:0;padding:clamp(46px,5vw,64px) clamp(12px,1.4vw,22px) 16px;color:#fff;
  background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.68) 65%,rgba(0,0,0,0) 100%);
  opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);
}
.mos.show .lb{opacity:1;transform:none}
.mos a:hover .lb{opacity:1;transform:none}
.mos .lb span{display:block;font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.mos .lb b{display:block;font-size:var(--t-lead);font-weight:400;letter-spacing:-.02em;margin-top:6px}

/* Sin raton no hay hover, asi que el rotulo tiene que estar puesto de entrada:
   si no, en un movil la obra se queda sin titulo ni datos. Misma condicion que
   usa el plano para decidir que no depende del raton. */
@media(hover:none),(max-width:700px){
  .mos .lb,.mos2 .lb{opacity:1;transform:none}
}
@media(max-width:860px){
  .mos{grid-template-columns:repeat(6,1fr)}
  .mos .c12,.mos .c8,.mos .c6{grid-column:span 6}
  .mos .c4,.mos .c3{grid-column:span 3}
}
/* Una sola columna en movil. A dos columnas, un mosaico de tres piezas —los
   dos casos que hay: tipologias y otros servicios— dejaba el cuarto hueco
   vacio. Las clases de reparto (c12, c8, c6, c4, c3) dejan de mandar. */
@media(max-width:700px){
  .mos{grid-template-columns:1fr}
  .mos .c12,.mos .c8,.mos .c6,.mos .c4,.mos .c3{grid-column:auto}
}

/* --- CTA de internas --- */
.cta-b,.sec.dark .cta{background:var(--coal)}
.cta-b h2,.sec.dark .cta h2{color:#fff}
.cta .t{font-size:var(--t-pj);font-weight:300;letter-spacing:-.028em;line-height:1;margin:20px 0 18px}
.cta .c{text-align:center;padding:clamp(70px,9vw,140px) var(--pad)}

/* --- Contenido libre del editor dentro de una seccion --- */
.content-wysiwyg{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-2)}
.content-wysiwyg > *+*{margin-top:var(--flow-sm)}
/* Hereda el tamano de .lead: antes lo fijaba a --t-lead y dejaba la
   entradilla de "Que incluye" tres puntos por debajo del resto. */
.content-wysiwyg p.lead{color:var(--ink);line-height:1.45}
.content-wysiwyg b,.content-wysiwyg strong{font-weight:500;color:var(--ink)}
.content-wysiwyg ul,.content-wysiwyg ol{padding-left:1.2em}
/* La ficha de datos no es una lista con vinetas: no lleva sangria. Va dentro
   del cuerpo del articulo, asi que hay que devolverle la que hereda de arriba. */
.content-wysiwyg ul.fic{padding-left:0}
.content-wysiwyg li+li{margin-top:.4em}
.content-wysiwyg a{color:var(--teal-t);border-bottom:1px solid var(--teal-t)}

/* --- Listado numerado de servicios (plantilla del listado) --- */
/* Portado del prototipo v13 (.rv-list) a los tokens de este sistema. */
.rv-list{list-style:none}
.rv-list li{border-bottom:1px solid var(--line)}
.rv-list li:first-child{border-top:1px solid var(--line)}
.rv-list a{display:grid;grid-template-columns:52px 1fr 22px;gap:16px;align-items:center;
  padding:clamp(16px,1.8vw,24px) 6px;transition:padding .25s,background .25s}
.rv-list a:hover{padding-left:16px;background:linear-gradient(90deg,rgba(127,168,174,.16),transparent)}
.rv-list .n{font-size:var(--t-micro);letter-spacing:.16em;color:var(--teal-t);font-weight:600}
.rv-list .t{font-size:var(--t-lead);font-weight:400;color:var(--ink);letter-spacing:-.01em}
.rv-list .t em{display:block;font-style:normal;font-size:var(--t-small);color:var(--mute);
  font-weight:300;margin-top:3px}
.rv-list .ar{color:var(--teal);opacity:0;transform:translateX(-6px);
  transition:opacity .25s,transform .25s;font-size:var(--t-icon);text-align:right}
.rv-list a:hover .ar{opacity:1;transform:none}

/* =========================================================
   PAGINAS INTERNAS — reglas que no se portaron del prototipo

   main.css se extrajo de la home (v2.css). Las 23 paginas internas del
   prototipo usaban base-v13.css + v2-skin.css, y parte de sus reglas se
   quedo por el camino: sin ellas los <h2> salian con el tamano por
   defecto del navegador (24 px negrita) y .proc no era una rejilla.

   Nota sobre .hero.md: en v2-skin la variante "md" quedo igualada al
   .hero normal (antes reservaba 120 px para una cabecera flotante que ya
   no existe). No lleva regla propia a proposito: si le pones uno distinto,
   las internas dejan de coincidir con el prototipo.
   ========================================================= */

/* --- Titulares ---
   La home NO depende de esto: cada componente (.price h2, .cta h2,
   .svc-r h3, .zn2-cards h3...) trae su propia regla y gana por
   especificidad. Esto solo cubre los <h2>/<h3> sueltos de las internas. */
/* ACOTADO A .sec A PROPOSITO. Estas reglas nacieron sin acotar y rompieron la
   portada: un `h2{color:var(--ink)}` suelto le gana a heredar el blanco de
   `.price{color:#fff}`, porque una regla directa sobre el elemento siempre
   pesa mas que la herencia. Resultado: el titular "Publicamos lo que cuesta"
   salia negro sobre la banda oscura. La portada no usa .sec en ninguna
   seccion, asi que este prefijo la deja fuera por completo. */
.sec h1,.sec h2,.sec h3{color:var(--ink);letter-spacing:-.02em;line-height:1.02;font-weight:300}
.sec h1{font-size:var(--t-h1)}
.sec h2{font-size:clamp(26px,3.35vw,68px)}
.sec h3{font-size:clamp(19px,1.8vw,27px);font-weight:400;letter-spacing:-.015em}
.sec h1 b,.sec h2 b{font-weight:500}
.sec.dark h2,.sec.dark h3{color:#fff}

/* --- Ancho de las internas ---
   .wrap a secas se queda a sangre completa porque la home lo usa asi.
   Dentro de .sec (solo internas) si se centra en el ancho maximo. */
.sec .wrap{max-width:var(--maxw);margin-inline:auto}
.head{margin-bottom:clamp(34px,4vw,60px)}

/* --- Hero de internas: medidas del texto ---
   La maquetacion en dos columnas esta mas arriba, junto al resto de .hero. */
.hero h1{max-width:14ch}
.hero p{font-size:clamp(14.5px,1.15vw,17px);font-weight:300;max-width:48ch;margin-top:16px}

/* --- Proceso en cuatro pasos ---
   Sin esta regla los cuatro pasos se apilaban en vertical. */
.proc{display:grid;grid-template-columns:repeat(4,1fr)}
/* Variante de tres columnas: el bloque no siempre es un proceso numerado; en
   fachadas y piscinas es una rejilla de soluciones. Estaba en el prototipo
   (base-v13.css:345) y no se habia portado. */
.proc.p3{grid-template-columns:repeat(3,1fr);row-gap:44px}
@media(max-width:860px){.proc.p3{grid-template-columns:1fr}}
/* Nota que cierra la franja del proceso. El aire va aqui y no en un style= de
   la plantilla, que es como lo traia el prototipo. */
.proc+.note{margin-top:clamp(30px,3.4vw,44px)}
.proc > div{padding:0 clamp(14px,2vw,32px);border-left:1px solid var(--line)}
.proc > div:first-child{border-left:none;padding-left:0}
.proc b{display:block;font-size:clamp(34px,4vw,54px);font-weight:300;color:var(--ink);
  letter-spacing:-.03em;line-height:1}
.proc span{display:block;font-size:var(--t-body);color:var(--ink);font-weight:500;margin-top:10px}
.proc em{display:block;font-style:normal;font-size:var(--t-small);color:var(--mute);
  font-weight:300;margin-top:6px;line-height:1.55}
@media(max-width:820px){
  .proc{grid-template-columns:1fr 1fr;row-gap:clamp(24px,4vw,40px)}
  .proc > div:nth-child(3){border-left:none;padding-left:0}
}

/* Las fotos de proyecto de la portada, cuando llevan enlace, van envueltas en
   un <a>. Sin display:block el enlace no rellena la celda de la rejilla y la
   foto se queda a su tamano intrinseco. */
.pj .ims > a{display:block;overflow:hidden;height:100%}

/* Tarjeta de proyecto con una sola foto: el proyecto no tiene mas imagenes
   adjuntas. Sin esto la rejilla dejaba media tarjeta en blanco. */
.pj.una .ims{grid-template-columns:1fr}

/* =========================================================
   RITMO VERTICAL
   El reset arranca con margin:0 en todo. Sin estas reglas, etiqueta, titular
   y texto quedan pegados: es lo que pasaba en "Que incluye", donde el titular
   y la entradilla se tocaban con 0 px de por medio. El prototipo arrastra el
   mismo defecto, asi que esto NO es una diferencia con el: es un anadido.

   DOS PRINCIPIOS
   1. La separacion la pone siempre el elemento de ABAJO (selector "+").
      Asi nunca se suman dos margenes ni hay que compensarlos con negativos.
   2. Cuanto mas pesa el elemento de arriba, mas aire pide debajo: un titular
      abre --flow-md; dos parrafos seguidos, --flow-sm.

   ACOTADO A .sec Y A .content-wysiwyg A PROPOSITO.
   La portada no usa .sec: cada uno de sus bloques trae sus propios margenes,
   medidos contra el PDF del disenador y verificados uno a uno. Soltar un
   ritmo global encima le cambiaria la maquetacion entera.
   ========================================================= */

/* Despues de un titular o de una entradilla, aire de titular. */
.sec :is(h1,h2,h3,.lead) + *{margin-top:var(--flow-md)}

/* Entre elementos del mismo rango, aire corto. */
.sec :is(p,ul,ol,dl,figure,blockquote,.tbw) + :is(p,ul,ol,dl,figure,blockquote,.tbw){
  margin-top:var(--flow-sm);
}

/* La etiqueta ya trae su propio margen inferior: que no se sume otro. */
.sec .eyebrow + :is(h1,h2,h3){margin-top:0}

/* Un grupo de botones cierra el bloque, y eso se marca con mas aire. */
.sec :is(p,ul,ol,.lead,.tbw,.mini) + .btns{margin-top:var(--flow-lg)}

/* =========================================================
   FICHA DE PROYECTO
   ========================================================= */

/* Texto a la izquierda y ficha tecnica a la derecha, alineados por arriba:
   .two centra en vertical y aqui la tabla debe arrancar a la altura del
   titular, no flotando a media pagina. */
.two.top{align-items:start}

/* Foto del siguiente proyecto. */
.ratio-169{aspect-ratio:16/9;overflow:hidden}
.ratio-169 a{display:block;height:100%}
.ratio-169 img{width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.ratio-169 a[href]:hover img{transform:scale(1.04)}

/* Galeria del editor clasico. El cliente la monta con "Anadir objeto" y sale
   con las clases gallery-columns-N del nucleo; aqui se le quita el ancho fijo
   que trae WordPress y se reparte en rejilla. */
.content-wysiwyg .gallery{display:grid;gap:clamp(6px,.9vw,14px);margin:var(--flow-md) 0 0}
.content-wysiwyg .gallery-columns-2{grid-template-columns:repeat(2,1fr)}
.content-wysiwyg .gallery-columns-3{grid-template-columns:repeat(3,1fr)}
.content-wysiwyg .gallery-columns-4{grid-template-columns:repeat(4,1fr)}
.content-wysiwyg .gallery-columns-5{grid-template-columns:repeat(5,1fr)}
.content-wysiwyg .gallery-item{width:auto!important;margin:0!important;overflow:hidden}
.content-wysiwyg .gallery-item img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;
  border:0!important;transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.content-wysiwyg .gallery-item a:hover img{transform:scale(1.05)}
.content-wysiwyg .gallery-caption{font-size:var(--t-micro);color:var(--mute);margin-top:6px}
@media(max-width:700px){
  .content-wysiwyg .gallery-columns-3,
  .content-wysiwyg .gallery-columns-4,
  .content-wysiwyg .gallery-columns-5{grid-template-columns:repeat(2,1fr)}
}

/* =========================================================
   CALCULADORA DE PRESUPUESTO (guia "Cuanto cuesta")

   Portada de base-v13.css, que la escribio con una paleta que este tema no
   tiene: --teal-dd para el panel y --sage para los controles. Aqui el panel
   es --coal, que es el oscuro del sitio, y el realce --teal-l con texto en
   tinta, que da 9,4:1. Nada de colores nuevos.
   ========================================================= */
.calc2{display:grid;grid-template-columns:1.04fr .96fr;background:var(--coal);color:#fff}
.c2-l,.c2-r{min-width:0}
.c2-l{padding:clamp(30px,4vw,56px)}
.c2-l h3{color:#fff;font-size:clamp(22px,2.3vw,31px);font-weight:400;margin-top:6px}
.c2-l > p{color:rgba(255,255,255,.72);font-size:var(--t-small);margin:10px 0 0;font-weight:300}
.c2-g{margin-top:clamp(24px,2.6vw,34px)}
.c2-g > label,.c2-m2 label{display:block;font-size:var(--t-micro);letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:600;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{
  font-family:inherit;font-size:var(--t-small);font-weight:500;letter-spacing:.02em;
  padding:11px 16px;background:transparent;border:1px solid rgba(255,255,255,.32);
  color:#fff;cursor:pointer;transition:background .18s,border-color .18s,color .18s;
}
.chips button:hover{border-color:#fff}
.chips button.on{background:var(--teal-l);border-color:var(--teal-l);color:var(--ink);font-weight:600}
.c2-m2{display:flex;justify-content:space-between;align-items:baseline}
.c2-m2 span{display:flex;align-items:baseline;gap:6px}
.c2-m2 input{width:78px;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.35);
  color:#fff;font-family:inherit;font-size:26px;font-weight:300;text-align:right;padding:2px 0}
.c2-m2 input:focus{outline:0;border-color:var(--teal-l)}
.c2-m2 i{font-style:normal;font-size:var(--t-small);color:rgba(255,255,255,.7)}
/* El deslizador se dibuja a mano: el nativo no acepta el color de marca. */
#c-m2{width:100%;margin:10px 0 0;appearance:none;-webkit-appearance:none;height:26px;
  background:transparent;cursor:pointer}
#c-m2::-webkit-slider-runnable-track{height:2px;
  background:linear-gradient(90deg,var(--teal-l) var(--p,15%),rgba(255,255,255,.28) var(--p,15%))}
#c-m2::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;
  background:#fff;border:5px solid var(--teal-l);margin-top:-10px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
#c-m2::-moz-range-track{height:2px;background:rgba(255,255,255,.28)}
#c-m2::-moz-range-progress{height:2px;background:var(--teal-l)}
#c-m2::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:5px solid var(--teal-l)}
.c2-sc{display:flex;justify-content:space-between;font-size:var(--t-micro);
  color:rgba(255,255,255,.6);margin-top:6px;font-weight:300}
.c2-sw{display:flex;gap:12px;align-items:center;margin-top:clamp(26px,3vw,38px);cursor:pointer;
  font-size:var(--t-small);color:rgba(255,255,255,.85);font-weight:300}
.c2-sw b{font-weight:600}
.c2-sw input{position:absolute;opacity:0;width:0;height:0}
.c2-sw i{flex:0 0 40px;height:22px;border-radius:22px;background:rgba(255,255,255,.25);
  position:relative;transition:background .2s}
.c2-sw i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;
  border-radius:50%;background:#fff;transition:left .2s}
.c2-sw input:checked + i{background:var(--teal-l)}
.c2-sw input:checked + i:after{left:21px}
.c2-sw input:focus-visible + i{outline:2px solid #fff;outline-offset:3px}
.c2-r{background:#fff;color:var(--ink);padding:clamp(30px,4vw,56px);display:flex;flex-direction:column}
.c2-lbl{font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;
  color:var(--teal-t);font-weight:600}
.c2-big{font-size:clamp(30px,3.4vw,48px);font-weight:300;letter-spacing:-.03em;color:var(--coal);
  line-height:1.08;margin:10px 0 8px;font-variant-numeric:tabular-nums}
.c2-sub{font-size:var(--t-small);color:var(--mute);font-weight:300;line-height:1.6}
.c2-sub b{color:var(--ink);font-weight:600}
.c2-bars{margin:clamp(20px,2.4vw,30px) 0 clamp(18px,2vw,26px);border-top:1px solid var(--line);padding-top:20px}
.c2-bars.off{display:none}
.c2-bars h5{font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;
  color:var(--mute);font-weight:600;margin-bottom:14px}
.c2-bar{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-bottom:11px}
.c2-bar > span:first-child{font-size:var(--t-small);color:var(--ink)}
.c2-bar i{font-style:normal;color:var(--mute);font-size:var(--t-micro);margin-left:8px;white-space:nowrap}
.c2-bar em{display:block;height:5px;background:var(--line);margin-top:6px;overflow:hidden;font-style:normal}
.c2-bar em b{display:block;height:100%;background:var(--teal-t)}
.c2-bar .eur{font-size:var(--t-small);color:var(--mute);font-variant-numeric:tabular-nums;
  white-space:nowrap;padding-bottom:1px}
.c2-r .btn{margin-top:auto;text-align:center}
.c2-r .mini{margin-top:14px;margin-bottom:0}
.c2-bnote{margin:10px 0 0}
@media(max-width:860px){.calc2{grid-template-columns:1fr}.c2-r{padding-top:34px}}

/* Filtro por tipo de obra del listado. */
.filtros{display:flex;flex-wrap:wrap;gap:8px 10px}
.filtros a{font-size:var(--t-micro);letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;color:var(--ink-2);border:1px solid var(--line);padding:6px 14px;
  transition:background .25s,color .25s,border-color .25s}
.filtros a:hover,.filtros a.on{background:var(--ink);border-color:var(--ink);color:var(--bone)}

/* Galeria de obra de la ficha de proyecto: el mismo mosaico del listado, pero
   con <figure> en vez de <a>, porque estas fotos no llevan a ninguna parte.
   Por eso tampoco hacen zoom: el zoom esta atado a a[href]. */
.pj-galeria{margin-top:clamp(16px,1.8vw,26px)}
.pj-galeria figcaption{font-weight:400}

/* --- Lightbox de la galeria de obra ---
   La capa la crea fx.js al pulsar una foto. No va en fx.css porque alli todo
   cuelga de la clase .fx, que es para lo que se puede ocultar sin JavaScript;
   esto no se oculta, sencillamente no existe hasta que se abre. */
.lbox{
  position:fixed;inset:0;z-index:100;display:none;
  align-items:center;justify-content:center;
  padding:clamp(16px,4vw,64px);
  background:rgba(20,20,18,.94);
}
.lbox.on{display:flex}
body.lbox-abierto{overflow:hidden}

.lbox-fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:14px}
.lbox-fig img{
  max-width:100%;max-height:calc(100vh - clamp(90px,12vw,190px));
  width:auto;height:auto;object-fit:contain;display:block;margin:0 auto;
}
.lbox-fig figcaption{
  color:rgba(255,255,255,.72);font-size:var(--t-small);text-align:center;
  letter-spacing:.02em;
}

.lbox-x,.lbox-nav{
  position:absolute;z-index:2;background:none;border:0;cursor:pointer;
  color:rgba(255,255,255,.7);line-height:1;padding:10px;
  transition:color .2s,transform .2s;
}
.lbox-x:hover,.lbox-nav:hover{color:#fff}
.lbox-x{top:clamp(10px,2vw,26px);right:clamp(10px,2vw,26px);font-size:var(--t-icon)}
.lbox-nav{top:50%;transform:translateY(-50%);font-size:clamp(34px,4vw,56px)}
.lbox-prev{left:clamp(4px,1.4vw,22px)}
.lbox-next{right:clamp(4px,1.4vw,22px)}
.lbox-prev:hover{transform:translateY(-50%) translateX(-3px)}
.lbox-next:hover{transform:translateY(-50%) translateX(3px)}

.lbox-n{
  position:absolute;bottom:clamp(12px,2vw,26px);left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.55);font-size:var(--t-micro);letter-spacing:.16em;
  font-variant-numeric:tabular-nums;
}

/* En tactil las flechas laterales estorban sobre la foto: abajo y en fila. */
@media(max-width:620px){
  .lbox-nav{top:auto;bottom:clamp(12px,2vw,26px);transform:none}
  .lbox-prev{left:22%}
  .lbox-next{right:22%}
  .lbox-prev:hover,.lbox-next:hover{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .lbox-x,.lbox-nav{transition:none}
  .lbox-prev:hover,.lbox-next:hover{transform:translateY(-50%)}
}

/* =========================================================
   BLOG — listado con buscador y filtros, y ficha de articulo

   La tarjeta es la misma pieza que la franja de blog de la portada
   (.jr-cards): aqui no hay tarjeta nueva, solo la barra que la filtra.
   ========================================================= */

/* --- Tarjeta fuera del filtro ---
   La ponen las dos mitades del mismo mecanismo: home.php al pintar, cuando la
   URL ya trae un filtro, y assets/js/blog.js al escribir o al pulsar un tema.
   Por eso el listado filtra igual sin JavaScript. */
.jr-cards > a.is-off{display:none}

/* --- Barra de filtros --- */
.blg-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;
  border-block:1px solid var(--line);padding:13px 0;margin-bottom:clamp(16px,1.8vw,26px)}
.blg-temas{display:flex;flex-wrap:wrap;gap:7px;flex:1 1 380px;min-width:0}
.blg-temas .chip{transition:background .25s,border-color .25s,color .25s}
.blg-temas .chip:hover{border-color:var(--ink);color:var(--ink)}
.blg-temas .chip.on{background:var(--teal);border-color:var(--teal);color:var(--ink)}

/* Buscador. La caja alta se queda en el texto de ayuda: en cuanto se escribe
   vuelve a caja normal, que es lo unico que se lee comodo tecleando. */
.blg-busca{display:flex;align-items:stretch;flex:0 1 320px;
  border:1px solid var(--line);background:var(--bone-3)}
.blg-busca:focus-within{border-color:var(--ink)}
.blg-busca input[type="search"]{flex:1;min-width:0;padding:9px 12px;border:0;background:none;
  font:inherit;font-size:var(--t-body);color:var(--ink);-webkit-appearance:none;appearance:none}
.blg-busca input[type="search"]:focus{outline:none}
.blg-busca input::placeholder{color:var(--mute);font-size:var(--t-micro);
  letter-spacing:.14em;text-transform:uppercase;opacity:1}
/* La cruz nativa de WebKit sobra: la nuestra sale tambien en Firefox y ademas
   es la que sabe rehacer el filtro. */
.blg-busca input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.blg-x,.blg-ir{flex:none;padding:0 12px;font-size:var(--t-micro);letter-spacing:.14em;
  text-transform:uppercase;color:var(--mute);transition:color .2s}
.blg-x:hover,.blg-ir:hover{color:var(--ink)}
.blg-ir{border-left:1px solid var(--line)}
.blg-x[hidden]{display:none}
/* Con JavaScript la lista se filtra sola segun se escribe: el boton de buscar
   solo esta ahi para quien no lo tenga. */
.js .blg-ir{display:none}
@media(max-width:620px){.blg-busca{flex:1 1 100%}}

/* --- Cuenta de resultados --- */
.blg-cuenta{font-size:var(--t-micro);letter-spacing:.16em;text-transform:uppercase;
  color:var(--mute);margin-bottom:clamp(22px,2.6vw,36px)}

/* --- Lista vacia, ver mas y nota --- */
.blg-vacio a{color:var(--teal-t);border-bottom:1px solid var(--teal-t)}
.blg-mas{margin-top:clamp(30px,3.4vw,54px);text-align:center}
.blg-nota{margin-top:clamp(34px,3.8vw,50px)}

/* --- Ficha de articulo --- */
/* El distintivo lleva a la pagina de su tema. En el hero (paginas de tema) va
   sobre foto oscura; en la cabecera del articulo, sobre el hueso. */
a.eyebrow{transition:background .25s,border-color .25s,color .25s}
a.eyebrow:hover{border-color:var(--ink);color:var(--ink)}
.hero a.eyebrow:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}

/* CABECERA DEL ARTICULO: NO ES UN .hero, Y ES A PROPOSITO.
   El hero de foto oscura a dos mitades es la cara de las fichas de servicio,
   las de proyecto, las zonas y las paginas de tema. Un articulo no es una de
   esas paginas: aqui manda el titular, en negro sobre el hueso, y la fotografia
   entra despues, a todo el ancho. */
/* 760px es el mismo ancho de lectura que .pagina__contenido, que es lo que el
   tema ya usaba para el texto largo de una pagina suelta. */
.art{--art-w:760px}
.art-head{padding:clamp(34px,4.6vw,82px) var(--pad) clamp(24px,2.8vw,42px)}
.art-head-in{max-width:var(--art-w);margin-inline:auto}
/* Un punto por debajo del --t-h1 del hero: en una columna de 780px, 72px no
   son un titular, son cuatro palabras por linea. */
.art-head h1{font-size:clamp(28px,2.9vw,52px);font-weight:300;letter-spacing:-.025em;
  line-height:1.06;color:var(--ink)}
.art-head h1 b{font-weight:500}
.art-head .lead{margin-top:var(--flow-md);max-width:58ch}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 22px;
  margin-top:clamp(20px,2.4vw,34px);padding-top:14px;border-top:1px solid var(--line);
  font-size:var(--t-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.art-meta > *{position:relative}
.art-meta > *:not(:last-child):after{content:"·";position:absolute;right:-13px;opacity:.6}

/* La fotografia, a todo el ancho y despues del titular. El pie se alinea con la
   columna de lectura: el ancho total lleva dentro los dos margenes de pagina. */
.art-foto{margin:0;background:var(--bone-2)}
.art-foto img{width:100%;height:clamp(220px,38vw,540px);object-fit:cover}
.art-foto figcaption{max-width:calc(var(--art-w) + var(--pad) * 2);margin-inline:auto;
  padding:12px var(--pad) 0;font-size:var(--t-small);line-height:1.5;color:var(--mute)}

/* LA COLUMNA DE LECTURA VA EN PIXELES Y NO EN ch: el cuerpo del articulo es
   fluido y el pie de la ficha no, asi que la misma medida en ch daria dos
   anchos distintos y el filete del pie no cuadraria con el texto. */
.art-in,.art-pie{max-width:var(--art-w);margin-inline:auto}
/* Menos aire por arriba que en una seccion normal: la cabecera y la fotografia
   ya han dado el respiro, y el texto tiene que empezar cerca de la foto. */
.art-cuerpo{padding-top:clamp(34px,4.2vw,68px)}
/* EL CUERPO NO LLEVA TAMANO PROPIO: hereda el --t-body de .content-wysiwyg,
   el mismo que el texto corrido de una ficha de servicio o de una pagina
   suelta. Llego a estar un par de puntos por encima "porque es lectura
   seguida" y el blog cantaba al lado del resto del sitio. Lo que separa un
   articulo de una franja de servicio es el ancho de columna y el aire entre
   parrafos, no el cuerpo de letra. */
.sec .art-in > *+*{margin-top:var(--flow-md)}
.sec .art-in h2{font-size:clamp(22px,1.9vw,32px);font-weight:400;line-height:1.15;
  letter-spacing:-.02em;color:var(--ink);margin-top:var(--flow-lg)}
.sec .art-in h3{font-size:clamp(18px,1.4vw,24px);font-weight:500;line-height:1.2;
  letter-spacing:-.015em;color:var(--ink);margin-top:var(--flow-lg)}
.sec .art-in h2+*,.sec .art-in h3+*{margin-top:var(--flow-sm)}
.art-in blockquote{border-left:2px solid var(--teal);padding-left:clamp(16px,1.6vw,24px);
  font-size:var(--t-lead);line-height:1.45;color:var(--ink);font-weight:300}
.art-in figure{margin-block:var(--flow-lg)}
.art-in figcaption{font-size:var(--t-small);color:var(--mute);margin-top:10px;text-align:center}

.art-pie{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;
  margin-top:clamp(34px,4vw,60px);padding-top:clamp(18px,2vw,28px);border-top:1px solid var(--line)}
.art-tags{display:flex;flex-wrap:wrap;gap:7px;flex:1}
/* "Sigue leyendo" comparte fila con un boton: no puede ir al cuerpo de un H2
   de seccion, que llega a 68px. Es el mismo caso que .jr-head en la portada. */
.art-rel .jr-head h2{font-size:var(--t-loc)}

/* Tramuntana · Reformas Mallorca · estilos específicos y acotados. */
/* Contraste AA, limitado a acciones dentro de la landing. */
.servicio-html .btn.b-sage,
.servicio-html .btn.b-teal{
  background:#426f76;
  border-color:#426f76;
  color:#fff;
}
.servicio-html .btn.b-sage:hover,
.servicio-html .btn.b-teal:hover{
  background:#31575d;
  border-color:#31575d;
  color:#fff;
}

/* Migas visibles dentro del hero; WordPress debe replicarlas con BreadcrumbList. */
.servicio-html .service-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin:0 0 16px;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.servicio-html .service-breadcrumb a{color:#fff;border-bottom:1px solid rgba(255,255,255,.48)}
.servicio-html .service-breadcrumb a:hover{border-color:#fff}

/* Prueba inmediata: cifras verificadas de la home. */
.servicio-html .reform-proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--line);
  background:var(--bone-3);
}
.servicio-html .reform-proof > div{
  min-height:164px;
  padding:clamp(24px,3vw,46px) var(--pad);
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}
.servicio-html .reform-proof > div:last-child{border-right:0}
.servicio-html .reform-proof b{
  display:block;
  font-size:clamp(34px,4.3vw,74px);
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:300;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.servicio-html .reform-proof span{
  display:block;
  max-width:20ch;
  color:var(--gr);
  font-size:12px;
  line-height:1.42;
}

/* Directorio de hijas: inspirado en las filas de servicios de la home. */
.servicio-html .service-directory{
  position:relative;
  padding:clamp(62px,7vw,116px) 0;
  background:var(--bone-3);
}
.servicio-html .service-directory__head{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
  gap:clamp(28px,6vw,100px);
  align-items:end;
  margin-bottom:clamp(34px,4vw,64px);
}
.servicio-html .service-directory__head > *{min-width:0}
.servicio-html .service-directory__head h2{max-width:15ch}
.servicio-html .service-directory__head .lead{
  max-width:48ch;
  margin:0;
}
.servicio-html .service-directory__jumps{
  display:flex;
  flex-wrap:wrap;
  min-width:0;
  max-width:100%;
  gap:8px;
  margin-top:24px;
}
.servicio-html .service-directory__jumps a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:8px 13px;
  border:1px solid var(--line);
  color:var(--ink);
  background:transparent;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:background .25s,border-color .25s,color .25s;
}
.servicio-html .service-directory__jumps a:hover,
.servicio-html .service-directory__jumps a:focus-visible{
  background:#426f76;
  border-color:#426f76;
  color:#fff;
  outline:2px solid #426f76;
  outline-offset:2px;
}
.servicio-html .service-directory__scroll-hint{display:none}
.servicio-html .service-directory__groups{border-top:1px solid var(--line)}
.servicio-html .service-group{
  display:grid;
  grid-template-columns:minmax(230px,32%) minmax(0,1fr);
  border-bottom:1px solid var(--line);
  scroll-margin-top:124px;
}
.servicio-html .service-group__intro{
  position:relative;
  padding:clamp(28px,3.4vw,54px) clamp(24px,3.4vw,54px) clamp(30px,4vw,62px) 0;
  border-right:1px solid var(--line);
}
.servicio-html .service-group__number{
  display:block;
  margin-bottom:clamp(26px,4vw,64px);
  color:#426f76;
  font-size:10.5px;
  letter-spacing:.18em;
  font-weight:600;
}
.servicio-html .service-group__intro h3{
  max-width:12ch;
  margin-bottom:15px;
  font-size:clamp(25px,2.5vw,46px);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:300;
}
.servicio-html .service-group__intro p{
  max-width:31ch;
  margin:0;
  font-size:13px;
  line-height:1.48;
}
.servicio-html .service-group__links{min-width:0}
.servicio-html .service-link{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(20px,4vw,72px);
  align-items:center;
  min-height:128px;
  padding:clamp(22px,2.6vw,40px) var(--pad) clamp(22px,2.6vw,40px) clamp(24px,3vw,52px);
  border-bottom:1px solid var(--line);
  transition:background .3s,padding-left .45s cubic-bezier(.22,1,.36,1);
}
.servicio-html .service-link:last-child{border-bottom:0}
.servicio-html .service-link:hover,
.servicio-html .service-link:focus-visible{
  padding-left:clamp(34px,4vw,70px);
  background:rgba(127,168,174,.11);
  outline:2px solid #426f76;
  outline-offset:-2px;
}
.servicio-html .service-link__type{
  display:block;
  margin-bottom:7px;
  color:#426f76;
  font-size:10.5px;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
}
.servicio-html .service-link__title{
  display:block;
  color:var(--ink);
  font-size:clamp(24px,2.7vw,50px);
  line-height:.98;
  letter-spacing:-.036em;
  font-weight:300;
}
.servicio-html .service-link__desc{
  display:block;
  max-width:48ch;
  margin-top:9px;
  color:var(--gr);
  font-size:13px;
  line-height:1.42;
}
.servicio-html .service-link__arrow{
  display:grid;
  place-items:center;
  width:44px;
  aspect-ratio:1;
  border:1px solid var(--line);
  color:#426f76;
  font-style:normal;
  font-size:18px;
  transition:transform .35s,background .25s,color .25s,border-color .25s;
}
.servicio-html .service-link:hover .service-link__arrow,
.servicio-html .service-link:focus-visible .service-link__arrow{
  transform:translateX(5px);
  background:#426f76;
  border-color:#426f76;
  color:#fff;
}
.servicio-html .service-group.is-secondary .service-link{min-height:106px}
.servicio-html .service-group.is-secondary .service-link__title{font-size:clamp(22px,2.2vw,39px)}

/* Fotografía flotante de la home aplicada solo al directorio. */
.servicio-html .svc-follow{
  position:fixed;
  top:0;
  left:0;
  z-index:40;
  pointer-events:none;
  width:clamp(210px,20vw,340px);
  aspect-ratio:4/3;
  overflow:hidden;
  opacity:0;
  box-shadow:0 20px 60px rgba(29,29,27,.18);
  transform:translate3d(-50%,-50%,0) scale(.94);
  transition:opacity .35s ease,transform .5s cubic-bezier(.22,1,.36,1);
}
.servicio-html .svc-follow.on{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}
.servicio-html .svc-follow img{width:100%;height:100%;object-fit:cover;display:block}

/* Contenido SEO útil: tipologías que comparten la intención de la madre. */
.servicio-html #pisos-apartamentos{scroll-margin-top:115px}
.servicio-html .content-points{
  list-style:none;
  margin:clamp(24px,3vw,38px) 0 0;
  border-top:1px solid var(--line);
}
.servicio-html .content-points li{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:15px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  color:var(--gr);
  font-size:13px;
  line-height:1.45;
}
.servicio-html .content-points b{
  color:#426f76;
  font-size:10px;
  letter-spacing:.13em;
}
.servicio-html .content-links{
  display:flex;
  flex-wrap:wrap;
  gap:9px 22px;
  margin-top:26px;
}

/* Caso local: prueba visual y factual, no otro bloque corporativo. */
.servicio-html .project-case{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  min-height:clamp(520px,58vw,760px);
  background:var(--coal);
  color:#fff;
}
.servicio-html .project-case__media{position:relative;min-height:480px;overflow:hidden}
.servicio-html .project-case__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 70%,rgba(29,29,27,.18));
  pointer-events:none;
}
.servicio-html .project-case__media img{width:100%;height:100%;object-fit:cover}
.servicio-html .project-case__copy{
  align-self:center;
  padding:clamp(44px,6vw,92px) var(--pad);
}
.servicio-html .project-case h2{max-width:13ch;margin:0 0 22px;color:#fff}
.servicio-html .project-case p{max-width:47ch;margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}
.servicio-html .project-case__facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:clamp(28px,4vw,46px) 0 30px;
  border-top:1px solid rgba(255,255,255,.25);
  border-left:1px solid rgba(255,255,255,.25);
}
.servicio-html .project-case__facts div{padding:17px 18px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.servicio-html .project-case__facts dt{margin-bottom:6px;color:rgba(255,255,255,.64);font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.servicio-html .project-case__facts dd{margin:0;color:#fff;font-size:12px;line-height:1.4}

/* Módulo técnico: bloque editorial, no acordeón. */
.servicio-html .tech-brief{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  background:#426f76;
  color:#fff;
}
.servicio-html .tech-brief__copy{
  padding:clamp(46px,6vw,104px) var(--pad);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.servicio-html .tech-brief h2{
  max-width:18ch;
  margin-bottom:22px;
  color:#fff;
}
.servicio-html .tech-brief__intro{
  max-width:50ch;
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:clamp(15px,1.2vw,18px);
  font-weight:300;
}
.servicio-html .tech-brief__points{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:clamp(30px,4vw,52px) 0 30px;
  border-top:1px solid rgba(255,255,255,.28);
  border-left:1px solid rgba(255,255,255,.28);
}
.servicio-html .tech-point{
  min-height:168px;
  padding:clamp(19px,2vw,30px);
  border-right:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28);
}
.servicio-html .tech-point__number{
  display:block;
  margin-bottom:25px;
  color:rgba(255,255,255,.9);
  font-size:10.5px;
  letter-spacing:.16em;
}
.servicio-html .tech-point b,
.servicio-html .tech-point h3{
  display:block;
  margin-top:0;
  margin-bottom:8px;
  color:#fff;
  font-size:clamp(16px,1.3vw,20px);
  line-height:1.16;
  font-weight:500;
}
.servicio-html .tech-point p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:12.5px;
  line-height:1.45;
}
.servicio-html .tech-brief__media{
  position:relative;
  min-height:560px;
  overflow:hidden;
}
.servicio-html .tech-brief__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Confianza y cobertura local: evita convertir Palma en otra landing. */
.servicio-html .company-proof{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(44px,8vw,130px);
  align-items:start;
}
.servicio-html .company-proof__intro h2{max-width:13ch}
.servicio-html .company-proof__intro .lead{max-width:44ch;margin-top:24px}
.servicio-html .company-proof__facts{border-top:1px solid var(--line)}
.servicio-html .company-fact{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:clamp(18px,2vw,34px);
  padding:clamp(24px,2.6vw,40px) 0;
  border-bottom:1px solid var(--line);
}
.servicio-html .company-fact > span{
  padding-top:4px;
  color:#426f76;
  font-size:10.5px;
  letter-spacing:.15em;
}
.servicio-html .company-fact h3{
  margin-bottom:9px;
  font-size:clamp(19px,1.6vw,27px);
}
.servicio-html .company-fact p{max-width:58ch;margin:0;font-size:13px;line-height:1.52}

@media(hover:none),(max-width:860px){.servicio-html .svc-follow{display:none}}
.servicio-html .mini{color:#5e5e59;font-size:12px;line-height:1.55}
.servicio-html .lnk:hover{color:#426f76;border-color:#426f76}

@media(max-width:980px){
  .servicio-html .reform-proof{grid-template-columns:1fr 1fr}
  .servicio-html .reform-proof > div:nth-child(2){border-right:0}
  .servicio-html .reform-proof > div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .servicio-html .service-directory__head,
  .servicio-html .company-proof{grid-template-columns:minmax(0,1fr)}
  .servicio-html .service-directory__head h2,
  .servicio-html .company-proof__intro h2{max-width:18ch}
  .servicio-html .tech-brief{grid-template-columns:1fr}
  .servicio-html .tech-brief__media{order:-1;min-height:clamp(300px,58vw,520px)}
  .servicio-html .project-case{grid-template-columns:1fr;min-height:0}
  .servicio-html .project-case__media{min-height:clamp(340px,67vw,600px)}
  .servicio-html .project-case__media::after{background:linear-gradient(180deg,transparent 76%,rgba(29,29,27,.18))}
  .servicio-html .project-case h2{max-width:18ch}
}

@media(max-width:760px){
  .servicio-html .service-directory__jumps{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-right:calc(var(--pad) * -1);
    padding-right:var(--pad);
    scrollbar-width:none;
    scroll-snap-type:x proximity;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 44px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 44px),transparent 100%);
  }
  .servicio-html .service-directory__jumps::-webkit-scrollbar{display:none}
  .servicio-html .service-directory__jumps a{flex:0 0 auto;scroll-snap-align:start}
  .servicio-html .service-directory__scroll-hint{
    display:block;
    margin-top:9px;
    color:#426f76;
    font-size:9px;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .servicio-html .service-group{grid-template-columns:1fr}
  .servicio-html .service-group__intro{
    padding:32px 0 27px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .servicio-html .service-group__number{margin-bottom:18px}
  .servicio-html .service-group__intro h3{max-width:18ch}
  .servicio-html .service-group__intro p{max-width:48ch}
  .servicio-html .service-link{
    min-height:0;
    padding:24px 0;
    gap:18px;
  }
  .servicio-html .service-link:hover,
  .servicio-html .service-link:focus-visible{
    padding-left:10px;
    padding-right:8px;
  }
  .servicio-html .service-link__title{font-size:clamp(25px,8vw,38px)}
  .servicio-html .service-link__arrow{width:38px}
  .servicio-html .service-group.is-secondary .service-link{min-height:0}
  .servicio-html .tech-brief__points{grid-template-columns:1fr}
  .servicio-html .tech-point{min-height:0}
}

@media(max-width:520px){
  .servicio-html .reform-proof > div{
    min-height:138px;
    padding:24px 20px;
  }
  .servicio-html .reform-proof b{font-size:clamp(34px,12vw,52px)}
  .servicio-html .reform-proof span{font-size:11px}
  .servicio-html .tech-brief__copy{padding-inline:22px}
  .servicio-html .tech-brief__media{min-height:280px}
  .servicio-html .project-case__media{min-height:310px}
  .servicio-html .project-case__copy{padding-inline:22px}
  .servicio-html .project-case__facts{grid-template-columns:1fr}
}

/* La tabla se convierte en fichas legibles en móvil; no exige desplazamiento lateral. */
@media(max-width:640px){
  .servicio-html .tbw{overflow:visible}
  .servicio-html .tbw .tb{display:block;min-width:0}
  .servicio-html .tb thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
  }
  .servicio-html .tb tbody,
  .servicio-html .tb tr,
  .servicio-html .tb td{display:block;width:100%}
  .servicio-html .tb tr{margin-bottom:12px;border:1px solid var(--line);background:var(--bone-3)}
  .servicio-html .tb td{
    display:grid;
    grid-template-columns:minmax(92px,.38fr) minmax(0,1fr);
    gap:14px;
    padding:13px 14px;
    border-bottom:1px solid var(--line);
    font-size:13px;
  }
  .servicio-html .tb td:last-child{border-bottom:0}
  .servicio-html .tb td::before{
    content:attr(data-label);
    color:#426f76;
    font-size:9px;
    font-weight:600;
    line-height:1.35;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
}

@media(prefers-reduced-motion:reduce){
  .servicio-html .up{opacity:1;transform:none;transition:none}
  .servicio-html .hero .im img{animation:none;transform:none}
  .servicio-html .service-link,
  .servicio-html .service-link__arrow,
  .servicio-html .svc-follow{transition:none}
}

/* Conversión compacta: una ayuda dentro de Presupuesto, no otra sección. */
.servicio-html .compact-estimator{
  display:grid;
  grid-template-columns:minmax(190px,.72fr) minmax(460px,1.65fr) minmax(230px,.83fr);
  margin:clamp(26px,3vw,38px) 0 20px;
  border:1px solid var(--line);
  background:var(--bone-3);
}
.servicio-html .compact-estimator__head,
.servicio-html .compact-estimator__controls,
.servicio-html .compact-estimator__result{min-width:0;padding:24px}
.servicio-html .compact-estimator__head,
.servicio-html .compact-estimator__controls{border-right:1px solid var(--line)}
.servicio-html .compact-estimator__head{display:flex;flex-direction:column;justify-content:center}
.servicio-html .compact-estimator__head .eyebrow{margin-bottom:12px}
.servicio-html .compact-estimator__head h3{
  max-width:15ch;
  margin:0 0 8px;
  font-size:clamp(22px,1.8vw,28px);
  line-height:1.04;
  color:var(--ink);
}
.servicio-html .compact-estimator__head p{
  max-width:28ch;
  margin:0;
  color:var(--gr);
  font-size:12px;
  line-height:1.45;
}
.servicio-html .compact-estimator__controls{
  display:grid;
  grid-template-columns:minmax(150px,.9fr) 104px minmax(240px,1.25fr);
  gap:18px;
  align-items:end;
}
.servicio-html .compact-estimator__field{min-width:0;margin:0;padding:0;border:0}
.servicio-html .compact-estimator__field > span,
.servicio-html .compact-estimator__field legend{
  display:block;
  width:100%;
  margin:0 0 8px;
  padding:0;
  color:var(--gr);
  font-size:10px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.servicio-html .compact-estimator__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.servicio-html .compact-estimator__options.is-finish{grid-template-columns:repeat(3,minmax(0,1fr))}
.servicio-html .compact-estimator__options button{
  min-width:0;
  min-height:44px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  font-size:11px;
  line-height:1.15;
  cursor:pointer;
  transition:background .18s,border-color .18s,color .18s;
}
.servicio-html .compact-estimator__options button:hover{border-color:var(--teal)}
.servicio-html .compact-estimator__options button.is-active{
  border-color:#426f76;
  background:#426f76;
  color:#fff;
}
.servicio-html .compact-estimator__options button:focus-visible{outline:2px solid #426f76;outline-offset:2px}
.servicio-html .compact-estimator__input{position:relative;display:block;margin:0}
.servicio-html .compact-estimator__input input{
  width:100%;
  min-height:44px;
  padding:8px 34px 8px 11px;
  border:1px solid var(--line);
  border-radius:0;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:15px;
  font-variant-numeric:tabular-nums;
}
.servicio-html .compact-estimator__input input::-webkit-outer-spin-button,
.servicio-html .compact-estimator__input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.servicio-html .compact-estimator__input input[type=number]{-moz-appearance:textfield}
.servicio-html .compact-estimator__input input[aria-invalid="true"]{border-color:#a14335;box-shadow:0 0 0 1px #a14335}
.servicio-html .compact-estimator__input i{
  position:absolute;
  top:50%;
  right:11px;
  transform:translateY(-50%);
  color:var(--gr);
  font-size:11px;
  font-style:normal;
  pointer-events:none;
}
.servicio-html .compact-estimator__result{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--coal);
  color:#fff;
}
.servicio-html .compact-estimator__result > span{
  max-width:26ch;
  color:rgba(255,255,255,.68);
  font-size:9.5px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.servicio-html .compact-estimator__result strong{
  display:block;
  margin:10px 0 12px;
  color:#fff;
  font-size:clamp(23px,2.1vw,32px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.035em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.servicio-html .compact-estimator__cta{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:9px;
  min-height:44px;
  padding:9px 0;
  border-bottom:1px solid var(--teal-l);
  color:#fff;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.servicio-html .compact-estimator__cta i{font-style:normal;transition:transform .18s}
.servicio-html .compact-estimator__cta:hover i{transform:translateX(4px)}
.servicio-html .compact-estimator__cta[aria-disabled="true"]{opacity:.48;cursor:not-allowed;border-bottom-color:transparent}
.servicio-html .compact-estimator__cta[aria-disabled="true"] i{transform:none}
.servicio-html .compact-estimator__status{
  grid-column:1/-1;
  min-height:0;
  margin:0;
  padding:0 18px;
  color:#8b3429;
  background:#fff4f1;
  font-size:11px;
  line-height:1.45;
}
.servicio-html .compact-estimator__status:not(:empty){padding-top:10px;padding-bottom:10px;border-top:1px solid #e8c7c1}
.servicio-html .compact-estimator__note{
  grid-column:1/-1;
  margin:0;
  padding:10px 18px 11px;
  border-top:1px solid var(--line);
  color:var(--gr);
  font-size:10.5px;
  line-height:1.45;
}

@media(max-width:1240px){
  .servicio-html .compact-estimator{grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}
  .servicio-html .compact-estimator__controls{border-right:0}
  .servicio-html .compact-estimator__result{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto auto;
    gap:24px;
    align-items:center;
    padding-block:18px;
  }
  .servicio-html .compact-estimator__result strong{margin:0}
  .servicio-html .compact-estimator__cta{align-self:center}
}

@media(max-width:1020px){
  .servicio-html .compact-estimator{grid-template-columns:1fr}
  .servicio-html .compact-estimator__head,
  .servicio-html .compact-estimator__controls{border-right:0;border-bottom:1px solid var(--line)}
  .servicio-html .compact-estimator__head h3{max-width:none}
  .servicio-html .compact-estimator__head p{max-width:44ch}
  .servicio-html .compact-estimator__controls{grid-template-columns:minmax(150px,1fr) 104px}
  .servicio-html .compact-estimator__controls .compact-estimator__field:last-child{grid-column:1/-1}
  .servicio-html .compact-estimator__result{
    grid-column:auto;
    grid-template-columns:1fr auto;
    gap:8px 18px;
  }
  .servicio-html .compact-estimator__result > span{max-width:28ch}
  .servicio-html .compact-estimator__cta{grid-column:1/-1;margin-top:5px}
}

@media(max-width:430px){
  .servicio-html .compact-estimator__head,
  .servicio-html .compact-estimator__controls,
  .servicio-html .compact-estimator__result{padding:20px}
  .servicio-html .compact-estimator__controls{grid-template-columns:1fr 108px;gap:16px 12px}
  .servicio-html .compact-estimator__options.is-finish{grid-template-columns:1fr}
  .servicio-html .compact-estimator__options.is-finish button{min-height:44px;text-align:left}
  .servicio-html .compact-estimator__result{grid-template-columns:1fr}
  .servicio-html .compact-estimator__result strong{white-space:normal}
}

@media(prefers-reduced-motion:reduce){
  .servicio-html .compact-estimator__options button,
  .servicio-html .compact-estimator__cta i{transition:none}
}

/* El estimador permanece cerrado: la composición aprobada no cambia hasta que el usuario lo pide. */
.servicio-html details.compact-estimator{display:block;margin:24px 0 18px}
.servicio-html .compact-estimator__summary{
  min-height:76px;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  list-style:none;
  cursor:pointer;
  transition:background .18s;
}
.servicio-html .compact-estimator__summary::-webkit-details-marker{display:none}
.servicio-html .compact-estimator__summary:hover{background:#fff}
.servicio-html .compact-estimator__summary > span:first-child{min-width:0}
.servicio-html .compact-estimator__summary .eyebrow{margin:0 0 5px;font-size:9px}
.servicio-html .compact-estimator__summary strong{
  display:block;
  color:var(--ink);
  font-size:clamp(18px,1.6vw,22px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.02em;
}
.servicio-html .compact-estimator__summary-action{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:13px;
  color:#426f76;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.servicio-html .compact-estimator__summary-action i{
  position:relative;
  width:28px;
  height:28px;
  border:1px solid #426f76;
  border-radius:50%;
}
.servicio-html .compact-estimator__summary-action i::before,
.servicio-html .compact-estimator__summary-action i::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:1px;
  background:#426f76;
  transform:translate(-50%,-50%);
  transition:transform .18s;
}
.servicio-html .compact-estimator__summary-action i::after{transform:translate(-50%,-50%) rotate(90deg)}
.servicio-html .compact-estimator[open] .compact-estimator__summary-action i::after{transform:translate(-50%,-50%) rotate(0)}
.servicio-html .compact-estimator__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);
  border-top:1px solid var(--line);
}
.servicio-html .compact-estimator__body .compact-estimator__controls{border-right:1px solid var(--line);border-bottom:0}
.servicio-html .compact-estimator__body .compact-estimator__result{
  grid-column:auto;
  display:flex;
  gap:0;
  align-items:stretch;
  padding:24px;
}

@media(max-width:1050px){
  .servicio-html .compact-estimator__body{grid-template-columns:1fr}
  .servicio-html .compact-estimator__body .compact-estimator__controls{border-right:0;border-bottom:1px solid var(--line)}
  .servicio-html .compact-estimator__body .compact-estimator__result{
    display:grid;
    grid-template-columns:minmax(180px,1fr) auto auto;
    gap:24px;
    align-items:center;
  }
  .servicio-html .compact-estimator__body .compact-estimator__result strong{margin:0}
}

@media(max-width:620px){
  .servicio-html .compact-estimator__summary{min-height:72px;padding:14px 16px;gap:12px}
  .servicio-html .compact-estimator__summary-action{font-size:0;gap:0}
  .servicio-html .compact-estimator__summary-action i{width:30px;height:30px}
  .servicio-html .compact-estimator__body .compact-estimator__result{grid-template-columns:1fr;gap:8px}
  .servicio-html .compact-estimator__body .compact-estimator__result strong{margin:4px 0 7px}
}

@media(prefers-reduced-motion:reduce){
  .servicio-html .compact-estimator__summary,
  .servicio-html .compact-estimator__summary-action i::after{transition:none}
}

/* TRAMUNTANA_VILLAS_CSS_START 2026-09-07 */
/* Tramuntana · Villas y chalets · estilos adicionales, aislados de otras landings. */
.servicio-html .villas-page{
  --villa-ink:#1d1d1b;
  --villa-coal:#35352f;
  --villa-teal:#426f76;
  --villa-accent:#7fa8ae;
  --villa-teal-soft:#dce7e8;
  --villa-bone:#e6e4df;
  --villa-bone-light:#f2f1ed;
  --villa-line:rgba(29,29,27,.16);
  display:block;
  min-width:0;
  background:var(--villa-bone);
  color:var(--villa-ink);
}

.servicio-html .villas-page *,
.servicio-html .villas-page *::before,
.servicio-html .villas-page *::after{box-sizing:border-box}

.servicio-html .villas-page img{max-width:100%}

.servicio-html .villas-page [hidden]{display:none!important}
.servicio-html .villas-page [id]{scroll-margin-top:140px}
.servicio-html .villas-page :is(a,button,summary,textarea):focus-visible{outline:2px solid var(--villa-teal);outline-offset:5px}

.servicio-html .villas-page .villa-text-link{
  display:inline-flex;
  align-items:center;
  gap:11px;
  width:max-content;
  max-width:100%;
  padding-bottom:5px;
  border-bottom:1px solid var(--villa-teal);
  color:var(--villa-ink);
  font-size:10px;
  font-weight:650;
  letter-spacing:.14em;
  line-height:1.5;
  text-transform:uppercase;
  transition:color .2s,border-color .2s,gap .2s;
}

.servicio-html .villas-page .villa-text-link:hover{
  gap:16px;
  border-color:var(--villa-ink);
  color:var(--villa-teal);
}

.servicio-html .villas-page .villa-text-link--light{
  border-color:rgba(255,255,255,.48);
  color:#fff;
}

.servicio-html .villas-page .villa-text-link--light:hover{
  border-color:#fff;
  color:#fff;
}

/* Hero, otros servicios y CTA final: componentes comunes del tema y servicios-base.css. */

/* Planificador: único módulo interactivo de la hija. */
.servicio-html .villas-page .villa-planner-section{background:var(--villa-bone)}

.servicio-html .villas-page .villa-planner-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  background:var(--villa-coal);
  color:#fff;
}

.servicio-html .villas-page .villa-planner-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:14px 38px;align-items:end;padding:clamp(24px,4vw,48px);border-bottom:1px solid rgba(255,255,255,.16)}
.servicio-html .villas-page .villa-planner-intro .eyebrow{grid-column:1/-1;width:max-content}

.servicio-html .villas-page .villa-planner-intro h2{max-width:19ch;margin:0;color:#fff}

.servicio-html .villas-page .villa-planner-intro p{max-width:42ch;margin:0;color:#d5d5cd}

.servicio-html .villas-page .villa-planner-intro__steps{
  display:grid;
  gap:0;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}

.servicio-html .villas-page .villa-planner-intro__steps li{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:14px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.7);
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.servicio-html .villas-page .villa-planner-intro__steps span{color:var(--teal-l,#a9c6cc);font-variant-numeric:tabular-nums}

.servicio-html .villas-page .villa-planner{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  min-width:0;
  padding:clamp(26px,4vw,58px);
}

.servicio-html .villas-page .villa-planner > *{min-width:0}
.servicio-html .villas-page .villa-route-card{min-width:0}

/* Keep the existing brand header usable on the narrowest service viewport. */
@media(max-width:400px){
  body.postid-27 .hd-in{gap:6px;padding-inline:14px}
  body.postid-27 .hd .menu-btn{margin-left:0;padding-inline:10px}
}

.servicio-html .villas-page .villa-planner__columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}

.servicio-html .villas-page .villa-planner__options{margin:20px 0 0;border:0;border-bottom:1px solid rgba(255,255,255,.2)}
.servicio-html .villas-page .villa-planner__options > summary{display:flex;align-items:center;gap:12px;min-height:54px;padding:14px 0;color:#fff;font-size:13px;line-height:1.45;cursor:pointer;list-style:none}
.servicio-html .villas-page .villa-planner__options > summary::-webkit-details-marker{display:none}
.servicio-html .villas-page .villa-planner__options > summary::after{content:"+";margin-left:auto;color:var(--villa-accent);font-size:24px;font-weight:300}
.servicio-html .villas-page .villa-planner__options[open] > summary::after{content:"−"}
.servicio-html .villas-page .villa-planner__options > summary > span{color:rgba(255,255,255,.64);font-size:10px}
.servicio-html .villas-page .villa-planner__options[open] > summary{margin-bottom:20px}
.servicio-html .villas-page .villa-planner__options .villa-planner__group:last-child{border-bottom:0}

.servicio-html .villas-page .villa-planner__group{
  min-width:0;
  margin:0;
  padding:25px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.16);
}

.servicio-html .villas-page .villa-planner__group:first-of-type{padding-top:0}

.servicio-html .villas-page .villa-planner__group legend{
  width:100%;
  margin:0 0 15px;
  padding:0;
  color:#fff;
  font-size:11px;
  font-weight:600;
  letter-spacing:.05em;
}

.servicio-html .villas-page .villa-planner__group legend span{margin-right:10px;color:var(--teal-l,#a9c6cc);font-size:9px;letter-spacing:.12em}

.servicio-html .villas-page .villa-choice-grid{display:grid;gap:7px}

.servicio-html .villas-page .villa-choice-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}

.servicio-html .villas-page .villa-choice{position:relative;display:block;min-width:0;cursor:pointer}

.servicio-html .villas-page .villa-choice input,
.servicio-html .villas-page .villa-scope-options input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.servicio-html .villas-page .villa-choice > span{
  display:flex;
  flex-direction:column;
  min-height:92px;
  padding:17px;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.72);
  transition:background .2s,border-color .2s,color .2s;
}

.servicio-html .villas-page .villa-choice b{color:inherit;font-size:12px;font-weight:550;line-height:1.35}

.servicio-html .villas-page .villa-choice small{margin-top:auto;padding-top:16px;color:inherit;font-size:13px;line-height:1.65}

.servicio-html .villas-page .villa-choice input:checked + span{
  border-color:var(--teal-l,#a9c6cc);
  background:rgba(127,168,174,.18);
  color:#fff;
}

.servicio-html .villas-page .villa-choice input:focus-visible + span{outline:2px solid #fff;outline-offset:2px}

.servicio-html .villas-page .villa-choice:hover > span{border-color:rgba(255,255,255,.44);color:#fff}

.servicio-html .villas-page .villa-choice--compact > span{min-height:49px;padding:14px}

.servicio-html .villas-page .villa-scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}

.servicio-html .villas-page .villa-scope-options label{position:relative;display:block;cursor:pointer}

.servicio-html .villas-page .villa-scope-options span{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:11px 14px 11px 38px;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1.35;
  transition:background .2s,border-color .2s,color .2s;
}

.servicio-html .villas-page .villa-scope-options span::before{
  content:"+";
  position:absolute;
  left:14px;
  color:var(--teal-l,#a9c6cc);
  font-size:17px;
  font-weight:300;
}

.servicio-html .villas-page .villa-scope-options input:checked + span{border-color:var(--teal-l,#a9c6cc);background:rgba(127,168,174,.18);color:#fff}

.servicio-html .villas-page .villa-scope-options input:checked + span::before{content:"✓";font-size:12px}

.servicio-html .villas-page .villa-scope-options input:focus-visible + span{outline:2px solid #fff;outline-offset:2px}

.servicio-html .villas-page .villa-planner__result{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.48fr);
  gap:10px 28px;
  margin-top:26px;
  padding:clamp(22px,2.5vw,34px);
  background:var(--villa-bone-light);
  color:var(--villa-ink);
}

.servicio-html .villas-page .villa-planner__result-kicker{
  grid-column:1/-1;
  color:var(--villa-teal);
  font-size:9px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.servicio-html .villas-page .villa-planner__result h3{margin:7px 0 5px;font-size:clamp(25px,2.6vw,40px);font-weight:300}

.servicio-html .villas-page .villa-planner__result p{max-width:52ch;margin:0;font-size:13px}

.servicio-html .villas-page .villa-planner__result ul{grid-row:2/5;grid-column:2;margin:8px 0 0;padding:0;list-style:none}

.servicio-html .villas-page .villa-planner__result li{padding:9px 0;border-top:1px solid var(--villa-line);color:#5e5e59;font-size:10px;line-height:1.4}

.servicio-html .villas-page .villa-route-link{
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding-bottom:4px;
  border-bottom:1px solid var(--villa-teal);
  color:var(--villa-ink);
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.servicio-html .villas-page .villa-planner__submit{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-top:24px;
}

.servicio-html .villas-page .villa-planner__submit p{max-width:55ch;margin:0;color:#d5d5cd;font-size:12px;line-height:1.5}

.servicio-html .villas-page .villa-planner__submit .btn{flex:0 0 auto}

.servicio-html .villas-page .villa-planner__summary{min-width:0;margin-top:20px}
.servicio-html .villas-page .villa-planner__summary > label{display:block;margin-bottom:10px;color:rgba(255,255,255,.82);font-size:11px;font-weight:600}
.servicio-html .villas-page .villa-planner__summary textarea{display:block;width:100%;max-width:100%;min-height:94px;margin:0;padding:13px 15px;border:1px solid rgba(255,255,255,.27);border-radius:0;background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:12px;line-height:1.6;resize:vertical}
.servicio-html .villas-page .villa-planner__summary-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.servicio-html .villas-page .villa-planner__summary-actions button{min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.38);border-radius:0;background:transparent;color:#fff;font:inherit;font-size:11px;cursor:pointer}
.servicio-html .villas-page .villa-planner__summary-actions button:hover{background:rgba(255,255,255,.1);border-color:var(--villa-accent)}
.servicio-html .villas-page .villa-planner :is(button,summary,textarea):focus-visible{outline-color:#fff}
.servicio-html .villas-page .villa-planner__status{margin:10px 0 0;color:#dce7e8;font-size:12px;line-height:1.5}
.servicio-html .villas-page .villa-planner__status:empty{display:none}


/* Editorial body and early project references, keeping the shared visual frames. */
.servicio-html .villas-page :is(h1,h2,h3,p,li){overflow-wrap:break-word}
.servicio-html .villas-page .villa-promise__grid,.servicio-html .villas-page .villa-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(28px,6vw,90px);align-items:center}
.servicio-html .villas-page .villa-promise h2,.servicio-html .villas-page .villa-section-head h2{max-width:20ch;margin:0}
.servicio-html .villas-page .villa-promise__grid>p,.servicio-html .villas-page .villa-section-head>p{max-width:61ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .villas-page .villa-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:25px 0 0;margin:30px 0 0;border-top:1px solid var(--villa-line);list-style:none}
.servicio-html .villas-page .villa-benefits b{display:block;font-weight:500;font-size:14px;line-height:1.5;margin-bottom:6px}
.servicio-html .villas-page .villa-benefits span{display:block;font-size:13px;line-height:1.6;color:#55554e}
.servicio-html .villas-page .villa-project-cover{display:block}
.servicio-html .villas-page .service-reference__copy h3{margin-top:0}
.servicio-html .villas-page .service-demo-note{margin:26px 0 0}
.servicio-html .villas-page .villa-section-head{align-items:end;margin-bottom:38px}
.servicio-html .villas-page .villa-scope-rows{border-top:1px solid var(--villa-line)}
.servicio-html .villas-page .villa-scope-rows article{display:grid;grid-template-columns:30px minmax(140px,.65fr) minmax(0,1fr);gap:clamp(22px,3vw,42px);padding:26px 0;border-bottom:1px solid var(--villa-line);align-items:start}
.servicio-html .villas-page .villa-scope-rows article>span{color:var(--villa-teal);font-size:11px;line-height:1.5;padding-top:6px;letter-spacing:.1em}
.servicio-html .villas-page .villa-scope-rows h3{max-width:16ch;margin:0;font-size:clamp(25px,2.5vw,36px);font-weight:350;line-height:1.1}
.servicio-html .villas-page .villa-scope-rows p{margin:0;max-width:64ch;font-size:14px;line-height:1.7}
.servicio-html .villas-page .villa-quality__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.servicio-html .villas-page .villa-quality figure{margin:0}
.servicio-html .villas-page .villa-quality img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.servicio-html .villas-page .villa-quality figcaption{font-size:11px;line-height:1.5;color:#55554e;margin-top:13px}
.servicio-html .villas-page .villa-quality h2{max-width:18ch;margin:0 0 26px}
.servicio-html .villas-page .villa-quality p{max-width:62ch;margin:0 0 20px;font-size:15px;line-height:1.7}
.servicio-html .villas-page .villa-quality ul{margin:24px 0;padding:0;list-style:none;border-top:1px solid var(--villa-line)}
.servicio-html .villas-page .villa-quality li{padding:16px 0;border-bottom:1px solid var(--villa-line);font-size:14px;line-height:1.6}
.servicio-html .villas-page .villa-quality li b{font-weight:500}
.servicio-html .villas-page .villa-budget{background:var(--villa-bone-light)}
.servicio-html .villas-page .villa-budget__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);padding-top:27px;border-top:1px solid var(--villa-line)}
.servicio-html .villas-page .villa-budget__grid h3{margin:0 0 16px;font-size:clamp(24px,2.3vw,34px);font-weight:350;line-height:1.12}
.servicio-html .villas-page .villa-budget__grid p{margin:0;font-size:14px;line-height:1.7}
.servicio-html .villas-page .villa-budget__local{max-width:82ch;margin:28px 0 24px;font-size:13px;line-height:1.7;color:#55554e}
.servicio-html .villas-page .villa-coordination__steps{list-style:none;counter-reset:villa-phase;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0}
.servicio-html .villas-page .villa-coordination__steps li{counter-increment:villa-phase;border-top:1px solid var(--villa-line);padding-top:20px}
.servicio-html .villas-page .villa-coordination__steps li::before{content:"0" counter(villa-phase);display:block;margin-bottom:16px;color:var(--villa-teal);font-size:11px;letter-spacing:.1em}
.servicio-html .villas-page .villa-coordination__steps b{display:block;font-size:17px;font-weight:450;line-height:1.4;margin-bottom:11px}
.servicio-html .villas-page .villa-coordination__steps p{margin:0;font-size:13px;line-height:1.7;color:#55554e}
.servicio-html .villas-page .villa-timing{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:36px;padding-top:30px;margin-top:34px;border-top:1px solid var(--villa-line)}
.servicio-html .villas-page .villa-timing h3{margin:0;max-width:21ch;font-size:clamp(25px,2.4vw,35px);font-weight:350;line-height:1.15}
.servicio-html .villas-page .villa-timing p{margin:0;font-size:14px;line-height:1.7}
.servicio-html .villas-page .villa-other-route{background:#dedcd6}
.servicio-html .villas-page .villa-other-route>.wrap{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(28px,5vw,75px);align-items:start}
.servicio-html .villas-page .villa-other-route h2{max-width:20ch;margin:0}
.servicio-html .villas-page .villa-other-route p{max-width:68ch;margin:0 0 15px;font-size:14px;line-height:1.7}
.servicio-html .villas-page .villa-other-route a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .villas-page .villa-faq__head{margin-bottom:34px}
.servicio-html .villas-page .villa-faq__head h2{max-width:22ch;margin:0}
.servicio-html .villas-page .villa-faq .a{max-width:76ch}

/* Planner: optional personal note, compact result and accessible summary disclosure. */
.servicio-html .villas-page .villa-planner__notes{padding-top:23px}
.servicio-html .villas-page .villa-planner__notes label{display:block;font-size:13px;line-height:1.5;margin-bottom:10px}
.servicio-html .villas-page .villa-planner__notes label span{font-size:11px;color:#ced5d3}
.servicio-html .villas-page .villa-planner__notes textarea{display:block;width:100%;max-width:100%;border:1px solid rgba(255,255,255,.35);padding:13px;border-radius:0;background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:16px;line-height:1.5;resize:vertical}
.servicio-html .villas-page .villa-planner__notes p{margin:8px 0 0;max-width:80ch;font-size:12px;line-height:1.6;color:#d5d5cd}
.servicio-html .villas-page .villa-planner__summary{border:0;border-top:1px solid rgba(255,255,255,.2)}
.servicio-html .villas-page .villa-planner__summary>summary{display:flex;align-items:center;min-height:50px;padding:13px 0;font-size:13px;line-height:1.5;color:#fff;cursor:pointer;list-style:none}
.servicio-html .villas-page .villa-planner__summary>summary::-webkit-details-marker{display:none}
.servicio-html .villas-page .villa-planner__summary>summary::after{content:"+";font-size:23px;margin-left:auto;padding-left:12px;color:var(--villa-accent)}
.servicio-html .villas-page .villa-planner__summary[open]>summary::after{content:"−"}
.servicio-html .villas-page .villa-planner__result .villa-route-link:focus-visible{outline-color:var(--villa-teal)}
.servicio-html .villas-page .villa-choice input:disabled+span{opacity:.55;cursor:not-allowed}
.servicio-html .villas-page .villa-planner-fallback{padding:25px clamp(20px,4vw,48px);margin:0;font-size:15px;line-height:1.7;color:#fff}
.servicio-html .villas-page .villa-planner-fallback a{color:#d0e4e6;text-decoration:underline}

@media(min-width:701px) and (max-width:860px){.servicio-html .villas-page .service-related .mos>a:last-child{grid-column:1/-1}}
@media(max-width:980px){
 .servicio-html .villas-page .villa-planner__result{grid-template-columns:minmax(0,1fr)}
 .servicio-html .villas-page .villa-planner__result ul{grid-column:auto;grid-row:auto}
 .servicio-html .villas-page .villa-planner__result h3{max-width:26ch}
}
@media(max-width:820px){
 .servicio-html .villas-page .villa-promise__grid,.servicio-html .villas-page .villa-section-head,.servicio-html .villas-page .villa-quality__grid,.servicio-html .villas-page .villa-other-route>.wrap{grid-template-columns:minmax(0,1fr);gap:28px}
 .servicio-html .villas-page .villa-quality img{aspect-ratio:3/2;object-position:center 40%}
 .servicio-html .villas-page .villa-planner-intro{grid-template-columns:minmax(0,1fr);gap:18px}
 .servicio-html .villas-page .villa-planner__columns{gap:20px}
 .servicio-html .villas-page .villa-scope-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .servicio-html .villas-page .villa-coordination__steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .servicio-html .villas-page .villa-scope-rows article{grid-template-columns:26px minmax(0,.7fr) minmax(0,1fr);gap:18px}
 .servicio-html .villas-page .villa-timing{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media(max-width:600px){
 .servicio-html .villas-page .villa-benefits,.servicio-html .villas-page .villa-budget__grid,.servicio-html .villas-page .villa-planner__columns,.servicio-html .villas-page .villa-choice-grid--three{grid-template-columns:minmax(0,1fr)}
 .servicio-html .villas-page .villa-benefits{gap:20px}
 .servicio-html .villas-page .villa-scope-rows article{grid-template-columns:25px minmax(0,1fr);gap:10px 15px}
 .servicio-html .villas-page .villa-scope-rows article p{grid-column:2}
 .servicio-html .villas-page .villa-scope-rows h3{max-width:25ch}
 .servicio-html .villas-page .villa-planner-intro,.servicio-html .villas-page .villa-planner{padding:24px 20px}
 .servicio-html .villas-page .villa-choice-grid--three .villa-choice>span{min-height:65px;padding:13px 15px}
 .servicio-html .villas-page .villa-choice small{margin-top:7px;padding-top:0;font-size:11px}
 .servicio-html .villas-page .villa-planner__columns{gap:0}
 .servicio-html .villas-page .villa-planner__submit{align-items:stretch;flex-direction:column}
 .servicio-html .villas-page .villa-planner__submit .btn{width:100%;text-align:center}
 .servicio-html .villas-page .villa-planner__options>summary{font-size:12px;gap:8px}
 .servicio-html .villas-page .villa-planner__options>summary>span{display:none}
 .servicio-html .villas-page .villa-planner__result{padding:20px}
 .servicio-html .villas-page .villa-planner__summary textarea{font-size:16px}
 .servicio-html .villas-page .villa-budget__grid article+article{border-top:1px solid var(--villa-line);padding-top:23px}
}
@media(max-width:390px){.servicio-html .villas-page .villa-scope-options{grid-template-columns:minmax(0,1fr)}.servicio-html .villas-page .villa-coordination__steps{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){
 .servicio-html .villas-page *{scroll-behavior:auto!important}
 .servicio-html .villas-page .villa-text-link,.servicio-html .villas-page .villa-choice>span,.servicio-html .villas-page .villa-scope-options span{transition:none}
 .servicio-html .villas-page .mos img,.servicio-html .villas-page .service-reference__media img{transform:none!important;transition:none!important}
}
/* TRAMUNTANA_VILLAS_CSS_END */

/* TRAMUNTANA_COCINAS_CSS_START 2026-09-07 */
/* Tramuntana · Cocinas. The WordPress template provides .servicio-html. */
.servicio-html .cocinas-page{--k-bone:#e6e4df;--k-paper:#f2f1ed;--k-coal:#35352f;--k-ink:#1d1d1b;--k-teal:#7fa8ae;--k-teal-text:#42646b;--k-line:rgba(29,29,27,.18);background:var(--k-bone);color:var(--k-ink);min-width:0;overflow:clip}
.servicio-html .cocinas-page *,.servicio-html .cocinas-page *::before,.servicio-html .cocinas-page *::after{box-sizing:border-box}
.servicio-html .cocinas-page [hidden]{display:none!important}
.servicio-html .cocinas-page [id]{scroll-margin-top:140px}
.servicio-html .cocinas-page img{display:block;max-width:100%}
.servicio-html .cocinas-page figure{margin:0}
.servicio-html .cocinas-page :is(a,button,input,summary,textarea):focus-visible{outline:2px solid var(--k-teal-text);outline-offset:5px}
.servicio-html .cocinas-page :is(h1,h2,h3,p,li,dd,dt){overflow-wrap:break-word}
.servicio-html .cocinas-page h2{font-size:clamp(30px,3.35vw,58px);font-weight:300;line-height:1.04;letter-spacing:-.025em}
.servicio-html .cocinas-page h2 b{font-weight:450}
.servicio-html .cocinas-page .eyebrow{color:var(--k-teal-text)}
.servicio-html .cocinas-page .eyebrow.lt{color:#b5d0d3}
.servicio-html .cocinas-page .btn.b-sage{background:var(--k-teal);border-color:var(--k-teal);color:var(--k-ink)}
.servicio-html .cocinas-page .btn.b-sage:hover{background:#a9c6cc;border-color:#a9c6cc;color:var(--k-ink)}
.servicio-html .cocinas-page .btn{min-height:46px;text-align:center}
.servicio-html .cocinas-page .kitchen-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:24px}
.servicio-html .cocinas-page .kitchen-link{display:inline-flex;align-items:center;gap:14px;max-width:100%;width:fit-content;min-height:40px;padding:7px 0;border-bottom:1px solid var(--k-teal-text);color:var(--k-ink);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;transition:color .2s,gap .2s}
.servicio-html .cocinas-page .kitchen-link:hover{gap:20px;color:var(--k-teal-text)}
.servicio-html .cocinas-page .kitchen-link--light{color:#fff;border-color:var(--k-teal)}
.servicio-html .cocinas-page .kitchen-link--light:hover{color:#b5d0d3}
.servicio-html .cocinas-page .kitchen-number{color:var(--k-teal-text);font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(30px,7vw,112px);align-items:end;margin-bottom:38px}
.servicio-html .cocinas-page .kitchen-section-head h2{max-width:16ch;margin:0}
.servicio-html .cocinas-page .kitchen-section-head .lead{max-width:58ch;margin:0}

/* A wide kitchen photograph follows a readable, light editorial heading. */
.servicio-html .cocinas-page .kitchen-hero{padding:38px 0 0}
.servicio-html .cocinas-page .kitchen-breadcrumb{display:flex;flex-wrap:wrap;gap:8px;color:#65655e;font-size:10px;line-height:1.6;letter-spacing:.06em}
.servicio-html .cocinas-page .kitchen-breadcrumb a{color:inherit;border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-hero__heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.7fr);gap:clamp(30px,7vw,100px);align-items:end;padding:46px 0 38px}
.servicio-html .cocinas-page .kitchen-hero h1{max-width:16ch;margin:0;color:var(--k-ink);font-size:clamp(46px,5.2vw,80px);font-weight:260;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.servicio-html .cocinas-page .kitchen-hero h1 b{font-weight:430}
.servicio-html .cocinas-page .kitchen-hero__intro p{max-width:47ch;margin:0;font-size:clamp(16px,1.35vw,20px);font-weight:350;line-height:1.55}
.servicio-html .cocinas-page .kitchen-hero__image{position:relative;height:clamp(340px,35vw,520px);overflow:hidden;background:#d3d1cb}
.servicio-html .cocinas-page .kitchen-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.servicio-html .cocinas-page .kitchen-hero__image:hover img{transform:scale(1.018)}
.servicio-html .cocinas-page .kitchen-hero__image figcaption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:20px;padding:24px 24px 16px;background:linear-gradient(0deg,rgba(29,29,27,.75),transparent);color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-jump{position:sticky;top:68px;z-index:16;background:rgba(230,228,223,.96);border-bottom:1px solid var(--k-line);backdrop-filter:blur(10px)}
.servicio-html .cocinas-page .kitchen-jump .wrap{display:flex;overflow-x:auto;scrollbar-width:none}
.servicio-html .cocinas-page .kitchen-jump .wrap::-webkit-scrollbar{display:none}
.servicio-html .cocinas-page .kitchen-jump a{flex:0 0 auto;padding:17px 22px;color:#51514b;font-size:10px;letter-spacing:.07em;text-transform:uppercase;border-right:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-jump a:first-child{border-left:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-jump a:hover{background:var(--k-paper);color:var(--k-ink)}
.servicio-html .cocinas-page .kitchen-scope__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-scope__grid article{padding:26px 32px 28px;border-right:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-scope__grid article:first-child{padding-left:0}
.servicio-html .cocinas-page .kitchen-scope__grid article:last-child{padding-right:0;border-right:0}
.servicio-html .cocinas-page .kitchen-scope__grid h3{margin:36px 0 13px;font-size:clamp(26px,2.7vw,39px);font-weight:350;line-height:1.1}
.servicio-html .cocinas-page .kitchen-scope__grid p{max-width:46ch;margin:0;font-size:14px;line-height:1.6}

/* A compact decision aid; content remains readable without JavaScript. */
.servicio-html .cocinas-page .kitchen-tool{width:calc(100% - 2 * var(--pad,24px));max-width:1560px;margin:0 auto;padding:clamp(26px,4vw,58px);background:var(--k-paper);border:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-tool__intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:12px 60px;align-items:end}
.servicio-html .cocinas-page .kitchen-tool__intro .eyebrow{grid-column:1/-1;margin-bottom:0;width:fit-content}
.servicio-html .cocinas-page .kitchen-tool__intro h2{max-width:20ch;margin:0;font-size:clamp(30px,3.7vw,52px);font-weight:350;line-height:1.02}
.servicio-html .cocinas-page .kitchen-tool__intro > p:last-child{max-width:56ch;margin:0;font-size:14px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-tool__routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:28px;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-tool:has(form[data-kitchen-ready="true"]) .kitchen-tool__routes{display:none}
.servicio-html .cocinas-page .kitchen-tool__route{position:relative;padding:20px 22px;border-right:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-tool__route:first-child{padding-left:0}
.servicio-html .cocinas-page .kitchen-tool__route:last-child{padding-right:0;border:0}
.servicio-html .cocinas-page .kitchen-tool__route > span{display:block;margin-bottom:12px;color:var(--k-teal-text);font-size:10px;font-weight:650;letter-spacing:.12em}
.servicio-html .cocinas-page .kitchen-tool__route h3{margin:0 0 10px;font-size:21px;line-height:1.15;font-weight:450}
.servicio-html .cocinas-page .kitchen-tool__route p{margin:0;font-size:12px;line-height:1.55}
.servicio-html .cocinas-page .kitchen-tool__form{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(0,1fr);gap:clamp(24px,4vw,58px);margin-top:30px}
.servicio-html .cocinas-page .kitchen-tool__controls{min-width:0}
.servicio-html .cocinas-page .kitchen-tool__fieldset{min-width:0;margin:0 0 18px;padding:0;border:0}
.servicio-html .cocinas-page .kitchen-tool__fieldset legend{width:100%;margin:0 0 12px;color:var(--k-ink);font-size:13px;font-weight:600}
.servicio-html .cocinas-page .kitchen-tool__choice{display:flex;align-items:center;gap:11px;min-height:48px;margin:6px 0;padding:12px;border:1px solid var(--k-line);font-size:13px;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s}
.servicio-html .cocinas-page .kitchen-tool__choice:has(input:checked){border-color:var(--k-teal-text);background:#dce7e8}
.servicio-html .cocinas-page .kitchen-tool__choice:hover{background:#e4ecec}
.servicio-html .cocinas-page .kitchen-tool__choice input{position:static;display:block;flex:0 0 17px;width:17px;height:17px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--k-teal-text)}
.servicio-html .cocinas-page .kitchen-tool__options,.servicio-html .cocinas-page .kitchen-tool__summary{border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page :is(.kitchen-tool__options,.kitchen-tool__summary) > summary{padding:15px 0;min-height:48px;color:var(--k-ink);font-size:12px;font-weight:550;line-height:1.5;cursor:pointer}
.servicio-html .cocinas-page .kitchen-tool__options > summary span{color:#62625b;font-size:11px}
.servicio-html .cocinas-page .kitchen-tool__options .kitchen-tool__fieldset{margin-top:16px}
.servicio-html .cocinas-page .kitchen-tool__reset,.servicio-html .cocinas-page .kitchen-tool__text-button{min-height:42px;border:0;border-bottom:1px solid var(--k-line);border-radius:0;background:transparent;color:var(--k-ink);font:inherit;font-size:11px;line-height:1.4;cursor:pointer;padding:8px 0}
.servicio-html .cocinas-page .kitchen-tool__reset{margin-bottom:15px}
.servicio-html .cocinas-page .kitchen-tool__result{min-width:0}
.servicio-html .cocinas-page .kitchen-tool__diagram{float:right;width:47%;margin:0 0 14px 24px}
.servicio-html .cocinas-page .kitchen-tool__diagram-scene{position:relative;display:grid;grid-template-columns:1.1fr .9fr;height:150px;border:1px solid #abaea5;background:#e1e1db}
.servicio-html .cocinas-page .kitchen-tool__space{position:relative;min-width:0}
.servicio-html .cocinas-page .kitchen-tool__space > span{position:absolute;right:12px;bottom:12px;color:#53564f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-tool__space--kitchen{background:#d8e5e5}
.servicio-html .cocinas-page .kitchen-tool__wall{position:absolute;top:0;bottom:0;left:55%;z-index:2;width:5px;background:#65685f;transition:height .35s,opacity .35s}
.servicio-html .cocinas-page .kitchen-tool__counter{position:absolute;display:block;background:#91b2b6;border:1px solid #66888d;transition:width .35s,height .35s,left .35s,top .35s}
.servicio-html .cocinas-page .kitchen-tool__counter--one{left:10px;top:10px;width:18px;height:90px}
.servicio-html .cocinas-page .kitchen-tool__counter--two{left:10px;top:10px;width:76%;height:18px}
.servicio-html .cocinas-page [data-kitchen-diagram="redistribuir"] .kitchen-tool__counter--one{left:calc(100% - 29px);height:94px}
.servicio-html .cocinas-page [data-kitchen-diagram="abrir"] .kitchen-tool__wall{bottom:auto;height:25px;opacity:.75}
.servicio-html .cocinas-page [data-kitchen-diagram="abrir"] .kitchen-tool__counter--one{left:calc(100% - 18px);top:50px;width:18px;height:64px}
.servicio-html .cocinas-page .kitchen-tool__diagram figcaption{margin-top:8px;color:#66665e;font-size:10px;line-height:1.45}
.servicio-html .cocinas-page .kitchen-tool__result-kicker{margin:0 0 11px;color:var(--k-teal-text);font-size:10px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-tool__result h3{margin:0 0 12px;font-size:clamp(23px,2.4vw,34px);font-weight:400;line-height:1.12}
.servicio-html .cocinas-page [data-kitchen-result-copy]{margin:0;font-size:13px;line-height:1.55}
.servicio-html .cocinas-page .kitchen-tool__checks{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin:20px 0 0;padding:0;list-style:none}
.servicio-html .cocinas-page .kitchen-tool__checks li{padding:11px 0;border-top:1px solid var(--k-line);font-size:12px;line-height:1.5}
.servicio-html .cocinas-page .kitchen-tool__prepare{margin:16px 0;font-size:12px;line-height:1.55}
.servicio-html .cocinas-page .kitchen-tool__prepare strong{font-weight:650}
.servicio-html .cocinas-page .kitchen-tool__summary label{display:block;margin:0 0 10px;font-size:12px}
.servicio-html .cocinas-page .kitchen-tool__summary textarea{display:block;width:100%;max-width:100%;min-height:160px;margin:0 0 15px;padding:12px;border:1px solid var(--k-line);border-radius:0;background:#fff;color:var(--k-ink);font:inherit;font-size:12px;line-height:1.6;resize:vertical}
.servicio-html .cocinas-page .kitchen-tool__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 19px;margin-top:20px}
.servicio-html .cocinas-page .kitchen-tool__status{margin:12px 0 0;color:var(--k-teal-text);font-size:12px;font-weight:550;line-height:1.5}
.servicio-html .cocinas-page .kitchen-tool__status:empty{display:none}
.servicio-html .cocinas-page .kitchen-tool__disclaimer{max-width:82ch;margin:15px 0 0;color:#64645d;font-size:10px;line-height:1.55}
.servicio-html .cocinas-page .kitchen-tool__nojs{margin:20px 0 0;font-size:13px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-tool__nojs a{text-decoration:underline}

.servicio-html .cocinas-page .kitchen-fit__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(38px,7vw,110px);align-items:center}
.servicio-html .cocinas-page .kitchen-fit__image img{width:100%;height:clamp(390px,46vw,650px);object-fit:cover;object-position:40% center}
.servicio-html .cocinas-page .kitchen-fit__image figcaption{max-width:58ch;margin:15px 0 0;padding-left:16px;border-left:2px solid var(--k-teal);color:#66665e;font-size:11px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-fit h2{max-width:14ch}
.servicio-html .cocinas-page .kitchen-fit .lead{margin-top:24px}
.servicio-html .cocinas-page .kitchen-fit__checks{margin:28px 0 0;padding:0;list-style:none;border-top:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-fit__checks li{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--k-line);font-size:12px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-fit__checks b{color:var(--k-teal-text);font-size:11px;font-weight:650}
.servicio-html .cocinas-page .kitchen-open{padding:clamp(64px,8vw,120px) 0;background:var(--k-coal);color:#fff}
.servicio-html .cocinas-page .kitchen-open__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(42px,9vw,145px)}
.servicio-html .cocinas-page .kitchen-open h2{max-width:14ch;color:#fff}
.servicio-html .cocinas-page .kitchen-open header p{max-width:48ch;margin:24px 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.65}
.servicio-html .cocinas-page .kitchen-open__list{margin:0;border-top:1px solid rgba(255,255,255,.24)}
.servicio-html .cocinas-page .kitchen-open__list > div{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.servicio-html .cocinas-page .kitchen-open__list dt{display:flex;gap:17px;color:#fff;font-size:22px;font-weight:350;line-height:1.2}
.servicio-html .cocinas-page .kitchen-open__list dt span{padding-top:5px;color:#b5d0d3;font-size:10px;font-weight:650}
.servicio-html .cocinas-page .kitchen-open__list dd{max-width:65ch;margin:12px 0 0 30px;color:rgba(255,255,255,.74);font-size:13px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-open :focus-visible{outline-color:#b5d0d3}
.servicio-html .cocinas-page .kitchen-use__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px)}
.servicio-html .cocinas-page .kitchen-use__grid article{padding-top:22px;border-top:2px solid var(--k-teal)}
.servicio-html .cocinas-page .kitchen-use__grid h3{margin:0 0 14px;font-size:clamp(24px,2.5vw,36px);font-weight:350;line-height:1.1}
.servicio-html .cocinas-page .kitchen-use__grid p{margin:0;font-size:14px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-budget__table{border-top:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-budget__row{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-budget__row h3{margin:0;font-size:clamp(20px,2.2vw,30px);font-weight:350;line-height:1.1}
.servicio-html .cocinas-page .kitchen-budget__row p{max-width:80ch;margin:0;font-size:14px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-budget__row--head{padding:13px 0;color:var(--k-teal-text);font-size:10px;font-weight:650;letter-spacing:.09em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-budget__note{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px;margin:26px 0;padding:22px;background:rgba(255,255,255,.45)}
.servicio-html .cocinas-page .kitchen-budget__note b{font-size:13px;font-weight:550}
.servicio-html .cocinas-page .kitchen-budget__note p{max-width:80ch;margin:0;font-size:13px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-process__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-process__steps li{min-width:0;padding:24px;border-right:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-process__steps li:first-child{padding-left:0}
.servicio-html .cocinas-page .kitchen-process__steps li:last-child{padding-right:0;border:0}
.servicio-html .cocinas-page .kitchen-process__steps span{color:var(--k-teal-text);font-size:10px;font-weight:650;letter-spacing:.1em}
.servicio-html .cocinas-page .kitchen-process__steps h3{max-width:12ch;margin:36px 0 13px;font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.05}
.servicio-html .cocinas-page .kitchen-process__steps p{max-width:35ch;margin:0;font-size:13px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-process__living{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:32px;padding:26px 0;margin-top:24px;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-process__living h3{margin:0;font-size:24px;font-weight:400;line-height:1.15}
.servicio-html .cocinas-page .kitchen-process__living p{max-width:76ch;margin:0;font-size:13px;line-height:1.65}
.servicio-html .cocinas-page .kitchen-local__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:clamp(36px,9vw,135px);align-items:start}
.servicio-html .cocinas-page .kitchen-local h2{max-width:15ch}
.servicio-html .cocinas-page .kitchen-local p{max-width:64ch;font-size:14px;line-height:1.65}
.servicio-html .cocinas-page .kitchen-local__checklist{padding:clamp(26px,3.5vw,50px);border:1px solid var(--k-line);background:var(--k-paper)}
.servicio-html .cocinas-page .kitchen-local__checklist h3{margin:24px 0;font-size:clamp(29px,3vw,43px);font-weight:350;line-height:1.04}
.servicio-html .cocinas-page .kitchen-local__checklist ul{margin:0 0 24px;padding:0;list-style:none;border-top:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-local__checklist li{position:relative;padding:14px 0 14px 19px;border-bottom:1px solid var(--k-line);font-size:13px;line-height:1.5}
.servicio-html .cocinas-page .kitchen-local__checklist li::before{content:"+";position:absolute;left:0;color:var(--k-teal-text)}
.servicio-html .cocinas-page .kitchen-faq header{margin-bottom:36px}
.servicio-html .cocinas-page .kitchen-faq h2{max-width:16ch}
.servicio-html .cocinas-page .kitchen-faq .acc summary{padding-block:24px;font-size:clamp(16px,1.55vw,21px);line-height:1.45}
.servicio-html .cocinas-page .kitchen-faq .acc .a{max-width:78ch;font-size:14px;line-height:1.7}
.servicio-html .cocinas-page .kitchen-related{padding:48px 0 64px;border-top:1px solid var(--k-line)}
.servicio-html .cocinas-page .kitchen-related h2{max-width:24ch;font-size:clamp(29px,3.5vw,48px);line-height:1.06}
.servicio-html .cocinas-page .kitchen-related__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:34px}
.servicio-html .cocinas-page .kitchen-related__links a{display:grid;grid-template-columns:1fr auto;gap:15px;padding:21px 0;border-top:1px solid var(--k-line);color:var(--k-ink)}
.servicio-html .cocinas-page .kitchen-related__links span{grid-column:1/-1;color:var(--k-teal-text);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.servicio-html .cocinas-page .kitchen-related__links b{font-size:21px;font-weight:450;line-height:1.2}
.servicio-html .cocinas-page .kitchen-related__links i{font-size:24px;font-style:normal;transition:transform .2s}
.servicio-html .cocinas-page .kitchen-related__links a:hover i{transform:translate(3px,-3px)}
.servicio-html .cocinas-page .kitchen-cta{padding:clamp(62px,8vw,118px) 0;background:var(--k-coal);color:#fff}
.servicio-html .cocinas-page .kitchen-cta > .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.servicio-html .cocinas-page .kitchen-cta h2{max-width:19ch;margin:0;color:#fff}
.servicio-html .cocinas-page .kitchen-cta p{max-width:60ch;margin:24px 0 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}
.servicio-html .cocinas-page .kitchen-cta .btn{justify-self:start}
.servicio-html .cocinas-page .kitchen-cta :focus-visible{outline-color:#b5d0d3}

@media(max-width:1100px){
 .servicio-html .cocinas-page .kitchen-tool__diagram{float:none;width:100%;margin:0 0 20px}
 .servicio-html .cocinas-page .kitchen-tool__diagram-scene{height:140px}
 .servicio-html .cocinas-page .kitchen-tool__checks{grid-template-columns:1fr}
 .servicio-html .cocinas-page .kitchen-hero__heading{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:32px}
 .servicio-html .cocinas-page .kitchen-cta > .wrap{grid-template-columns:1fr}
}
@media(max-width:860px){
 .servicio-html .cocinas-page .kitchen-hero__heading,.servicio-html .cocinas-page .kitchen-section-head,.servicio-html .cocinas-page .kitchen-fit__grid,.servicio-html .cocinas-page .kitchen-open__grid,.servicio-html .cocinas-page .kitchen-local__grid{grid-template-columns:1fr;gap:28px}
 .servicio-html .cocinas-page .kitchen-hero h1{font-size:clamp(45px,8vw,70px);max-width:19ch}
 .servicio-html .cocinas-page .kitchen-hero__intro p{max-width:64ch}
 .servicio-html .cocinas-page .kitchen-hero__heading{padding-top:30px}
 .servicio-html .cocinas-page .kitchen-section-head h2{max-width:20ch}
 .servicio-html .cocinas-page .kitchen-tool__intro{grid-template-columns:1fr;gap:18px}
 .servicio-html .cocinas-page .kitchen-tool__form{grid-template-columns:minmax(210px,.6fr) minmax(0,1fr);gap:25px}
 .servicio-html .cocinas-page .kitchen-tool__route{padding:17px 15px}
 .servicio-html .cocinas-page .kitchen-tool__route h3{font-size:18px}
 .servicio-html .cocinas-page .kitchen-fit__image img{height:clamp(350px,62vw,530px)}
 .servicio-html .cocinas-page .kitchen-scope__grid article{padding:24px 18px}
 .servicio-html .cocinas-page .kitchen-process__steps{grid-template-columns:1fr 1fr}
 .servicio-html .cocinas-page .kitchen-process__steps li{border-bottom:1px solid var(--k-line)}
 .servicio-html .cocinas-page .kitchen-process__steps li:nth-child(2n){border-right:0;padding-right:0}
 .servicio-html .cocinas-page .kitchen-process__steps li:nth-child(3){padding-left:0}
 .servicio-html .cocinas-page .kitchen-related__links{grid-template-columns:1fr;gap:5px}
}
@media(max-width:640px){
 .servicio-html .cocinas-page .kitchen-hero{padding-top:26px}
 .servicio-html .cocinas-page .kitchen-hero h1{font-size:clamp(41px,10vw,60px)}
 .servicio-html .cocinas-page .kitchen-hero__image{height:340px}
 .servicio-html .cocinas-page .kitchen-hero__image figcaption{padding:28px 16px 15px;font-size:9px}
 .servicio-html .cocinas-page .kitchen-hero__image figcaption span:last-child{display:none}
 .servicio-html .cocinas-page .kitchen-jump{top:62px}
 .servicio-html .cocinas-page .kitchen-jump a{padding:16px}
 .servicio-html .cocinas-page .kitchen-scope__grid,.servicio-html .cocinas-page .kitchen-use__grid{grid-template-columns:1fr;gap:0}
 .servicio-html .cocinas-page .kitchen-scope__grid article,.servicio-html .cocinas-page .kitchen-scope__grid article:first-child,.servicio-html .cocinas-page .kitchen-scope__grid article:last-child{padding:23px 0;border:0;border-bottom:1px solid var(--k-line)}
 .servicio-html .cocinas-page .kitchen-scope__grid article:last-child{border-bottom:0}
 .servicio-html .cocinas-page .kitchen-scope__grid h3{margin-top:16px}
 .servicio-html .cocinas-page .kitchen-tool{padding:24px 20px}
 .servicio-html .cocinas-page .kitchen-tool__form{grid-template-columns:1fr}
 .servicio-html .cocinas-page .kitchen-tool__routes{grid-template-columns:1fr;margin-top:22px}
 .servicio-html .cocinas-page .kitchen-tool__route,.servicio-html .cocinas-page .kitchen-tool__route:first-child,.servicio-html .cocinas-page .kitchen-tool__route:last-child{display:grid;grid-template-columns:24px 1fr;gap:8px 12px;padding:14px 0;border:0;border-bottom:1px solid var(--k-line)}
 .servicio-html .cocinas-page .kitchen-tool__route:last-child{border-bottom:0}
 .servicio-html .cocinas-page .kitchen-tool__route > span{padding-top:3px;margin:0}
 .servicio-html .cocinas-page .kitchen-tool__route h3{margin:0}
 .servicio-html .cocinas-page .kitchen-tool__route p{grid-column:2}
 .servicio-html .cocinas-page .kitchen-tool__diagram-scene{height:145px}
 .servicio-html .cocinas-page .kitchen-tool__actions{gap:12px 20px}
 .servicio-html .cocinas-page .kitchen-tool__actions .btn{width:100%}
 .servicio-html .cocinas-page .kitchen-fit__checks li{grid-template-columns:85px 1fr;gap:15px}
 .servicio-html .cocinas-page .kitchen-use__grid article{padding:23px 0}
 .servicio-html .cocinas-page .kitchen-budget__row{grid-template-columns:minmax(0,.66fr) minmax(0,1.34fr);gap:20px}
 .servicio-html .cocinas-page .kitchen-budget__row h3{font-size:21px}
 .servicio-html .cocinas-page .kitchen-budget__row p{font-size:12px}
 .servicio-html .cocinas-page .kitchen-budget__note,.servicio-html .cocinas-page .kitchen-process__living{grid-template-columns:1fr;gap:15px}
 .servicio-html .cocinas-page .kitchen-process__steps li{padding:20px 15px}
 .servicio-html .cocinas-page .kitchen-process__steps h3{font-size:25px;margin-top:25px}
 .servicio-html .cocinas-page .kitchen-local__checklist{padding:25px}
 .servicio-html .cocinas-page .kitchen-cta > .wrap{gap:28px}
}
@media(max-width:390px){
 .servicio-html .cocinas-page .kitchen-actions .btn{width:100%}
 .servicio-html .cocinas-page .kitchen-tool{width:calc(100% - 32px);padding:22px 16px}
 .servicio-html .cocinas-page .kitchen-tool__result h3{font-size:25px}
 .servicio-html .cocinas-page .kitchen-budget__row{grid-template-columns:1fr;gap:10px}
 .servicio-html .cocinas-page .kitchen-budget__row--head span:last-child{display:none}
 .servicio-html .cocinas-page .kitchen-budget__row h3{font-size:23px}
}
@media(max-width:400px){
 body.postid-138 .hd-in{gap:6px;padding-inline:14px}
 body.postid-138 .hd .menu-btn{margin-left:0;padding-inline:10px}
}
/* The fixed WordPress toolbar must not cover this service's sticky header. */
@media(min-width:783px){
 body.admin-bar.postid-138 .hd{top:32px}
 body.admin-bar.postid-138 .servicio-html .cocinas-page .kitchen-jump{top:100px}
 body.admin-bar.postid-138 .servicio-html .cocinas-page [id]{scroll-margin-top:172px}
}
@media(min-width:601px) and (max-width:782px){
 body.admin-bar.postid-138 .hd{top:46px}
 body.admin-bar.postid-138 .servicio-html .cocinas-page .kitchen-jump{top:114px}
 body.admin-bar.postid-138 .servicio-html .cocinas-page [id]{scroll-margin-top:186px}
}
@media(min-width:601px) and (max-width:640px){
 body.admin-bar.postid-138 .servicio-html .cocinas-page .kitchen-jump{top:108px}
 body.admin-bar.postid-138 .servicio-html .cocinas-page [id]{scroll-margin-top:180px}
}
@media(prefers-reduced-motion:reduce){
 .servicio-html .cocinas-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
 .servicio-html .cocinas-page .kitchen-hero__image:hover img{transform:none}
}
/* Cierre de Cocinas: cuerpo útil y fichas enlazadas; marcos nativos intactos. */
.servicio-html .cocinas-page .kitchen-scope{padding-block:clamp(38px,4.5vw,68px)}
.servicio-html .cocinas-page .kitchen-scope .kitchen-section-head{margin-bottom:26px}
.servicio-html .cocinas-page .kitchen-scope__grid h3{margin-top:18px}
.servicio-html .cocinas-page .service-reference{display:flex;flex-direction:column}
.servicio-html .cocinas-page .service-reference__media a{display:block;width:100%;height:100%}
.servicio-html .cocinas-page .service-reference__media a:focus-visible{outline-offset:-6px;outline:3px solid #fff}
.servicio-html .cocinas-page .service-reference__copy{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.servicio-html .cocinas-page .service-reference__actions{margin-top:auto;padding-top:24px}
.servicio-html .cocinas-page .service-reference .service-reference__actions a.btn{text-decoration:none;color:var(--k-ink);min-height:44px}
.servicio-html .cocinas-page .service-reference .service-reference__actions a.btn:hover{color:#fff}
.servicio-html .cocinas-page .kitchen-tool__form{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.servicio-html .cocinas-page .kitchen-tool__diagram{float:none;width:100%;margin:0 0 20px}
.servicio-html .cocinas-page .kitchen-tool__diagram-scene{height:128px}
.servicio-html .cocinas-page .kitchen-tool__checks{grid-template-columns:1fr;gap:0}
.servicio-html .cocinas-page .kitchen-clearance{margin-bottom:24px}
.servicio-html .cocinas-page .kitchen-clearance__help{margin:0 0 16px;font-size:12px;line-height:1.6;color:#55574f}
.servicio-html .cocinas-page .kitchen-clearance__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;margin-bottom:15px}
.servicio-html .cocinas-page .kitchen-clearance__fields label{min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:7px;font-size:12px;line-height:1.45}
.servicio-html .cocinas-page .kitchen-clearance__fields input{display:block;width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #8a928b;border-radius:0;background:#fff;color:var(--k-ink);padding:11px 9px;font:inherit;font-size:16px}
.servicio-html .cocinas-page .kitchen-clearance__fields input::placeholder{font-size:11px;color:#686b65;opacity:1}
.servicio-html .cocinas-page .kitchen-clearance__fields input:focus-visible{outline:2px solid var(--k-teal-text);outline-offset:3px}
.servicio-html .cocinas-page .kitchen-clearance__result{clear:both;padding:22px;background:#e1e9e6;border-left:3px solid #456568;margin:0 0 25px}
.servicio-html .cocinas-page .kitchen-clearance__result[data-state="conflict"],.servicio-html .cocinas-page .kitchen-clearance__result[data-state="invalid"]{background:#eee1d9;border-color:#824d31}
.servicio-html .cocinas-page [data-kitchen-clearance-message]{font-size:13px;line-height:1.55;margin:0 0 18px}
.servicio-html .cocinas-page .kitchen-clearance__result .kitchen-clearance__help{margin:15px 0 0;font-size:11px}
.servicio-html .cocinas-page .kitchen-clearance__visual{display:flex;width:100%;height:62px;border:1px solid #64736b;overflow:hidden;margin:20px 0}
.servicio-html .cocinas-page .kitchen-clearance__visual span{display:flex;align-items:center;justify-content:center;min-width:0;flex-grow:0;flex-shrink:0;overflow:hidden;color:#fff;background:#496970;font-size:11px}
.servicio-html .cocinas-page .kitchen-clearance__visual [data-kitchen-clearance-gap]{background:#fff;color:#354743}
.servicio-html .cocinas-page .kitchen-clearance__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.servicio-html .cocinas-page .kitchen-clearance__metrics p{margin:0;min-width:0}
.servicio-html .cocinas-page .kitchen-clearance__metrics strong{display:block;font-size:clamp(21px,2.3vw,32px);line-height:1.15;font-weight:450;overflow-wrap:anywhere}
.servicio-html .cocinas-page .kitchen-clearance__metrics span{display:block;margin-top:7px;font-size:11px;line-height:1.5}
.servicio-html .cocinas-page .kitchen-tool [hidden]{display:none!important}
.servicio-html .cocinas-page .kitchen-tool__text-button,.servicio-html .cocinas-page .kitchen-tool__reset{min-height:44px}
.servicio-html .cocinas-page .kitchen-tool__scope-summary{margin-top:20px}
@media(max-width:900px){.servicio-html .cocinas-page .kitchen-tool__form{grid-template-columns:minmax(0,1fr)}.servicio-html .cocinas-page .kitchen-tool__diagram-scene{height:140px}}
@media(max-width:420px){.servicio-html .cocinas-page .kitchen-clearance__fields{grid-template-columns:1fr}.servicio-html .cocinas-page .kitchen-clearance__result{padding:17px}.servicio-html .cocinas-page .kitchen-clearance__metrics{gap:10px}}

/* Revision 2026-09-07: independent measured comparator and coordinated visual */
/* Island comparison v2. Scoped and dependency-free; shares Tramuntana's bone/coal/teal palette. */
.ki2{--ki-paper:#f2f1ed;--ki-bone:#e6e4df;--ki-ink:#1d1d1b;--ki-coal:#35352f;--ki-teal:#7fa8ae;--ki-text:#42646b;--ki-line:rgba(29,29,27,.2);width:calc(100% - 2 * var(--pad,24px));max-width:1480px;margin:0 auto;padding:clamp(24px,4vw,55px);background:var(--ki-paper);border:1px solid var(--ki-line);color:var(--ki-ink);font:14px/1.55 Inter,system-ui,sans-serif;min-width:0;scroll-margin-top:130px}
.ki2 *,.ki2 *::before,.ki2 *::after{box-sizing:border-box}.ki2 [hidden]{display:none!important}
.ki2 :is(input,select,button,a,textarea,summary):focus-visible{outline:2px solid var(--ki-text);outline-offset:4px}
.ki2 :is(h2,h3,h4,p,li,label,button){overflow-wrap:anywhere}.ki2 h3[tabindex]{scroll-margin-top:130px}
.ki2__head{display:grid;grid-template-columns:1.1fr .8fr;gap:35px;align-items:end;margin-bottom:28px}
.ki2__head h2{max-width:22ch;margin:0;font-size:clamp(30px,3.5vw,50px);line-height:1.08;font-weight:300;letter-spacing:-.03em}
.ki2__head h2 b{font-weight:450}.ki2__head>p{max-width:48ch;margin:0;font-size:14px}
.ki2__eyebrow{margin:0 0 13px;color:var(--ki-text);font-size:10px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.ki2__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;border-block:1px solid var(--ki-line);padding:10px 0;margin-bottom:25px}
.ki2__toolbar>p{flex:1 1 250px;margin:0;font-size:12px;color:var(--ki-text)}
.ki2__workspace{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.1fr);gap:26px 40px;align-items:start}
.ki2__controls,.ki2__result{min-width:0}.ki2 fieldset{min-width:0;padding:0;margin:0 0 22px;border:0}.ki2 legend{font-size:13px;line-height:1.5;font-weight:650;margin:0 0 12px}
.ki2__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ki2 label{display:block;min-width:0;font-size:12px;line-height:1.5}
.ki2 label small{display:block;color:#596156;font-size:10px;line-height:1.4;margin-top:2px}
.ki2 input[type=number],.ki2 select,.ki2 textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;margin-top:7px;padding:10px;border:1px solid #899181;border-radius:0;background:white;color:var(--ki-ink);font:inherit;font-size:16px;line-height:1.4;opacity:1;pointer-events:auto}
.ki2 input::placeholder{color:#696e64;opacity:1}.ki2 [aria-invalid=true]{border-color:#923e31}
.ki2__help{margin:0 0 14px;color:#596156;font-size:11px;line-height:1.6}.ki2__fields+.ki2__help{margin-top:14px;margin-bottom:6px}
.ki2__error{display:block;color:#923e31;font-size:11px;line-height:1.45;margin-top:5px}.ki2__error:empty{display:none}
.ki2__options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ki2__options label{padding:12px 9px;border:1px solid var(--ki-line);cursor:pointer;min-height:145px}
.ki2__options label:has(input:checked){border-color:var(--ki-text);background:#dce7e8}
.ki2 input[type=radio],.ki2 input[type=checkbox]{position:static;display:inline-block;width:18px;height:18px;flex:0 0 18px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--ki-text);vertical-align:middle}
.ki2__options svg{display:block;width:100%;max-width:90px;margin:8px 0;fill:none;stroke:var(--ki-text);stroke-width:1.5}
.ki2__options svg rect{fill:var(--ki-teal)}.ki2__options b{display:block;font-size:12px;font-weight:650}.ki2__options small{display:block;font-size:10px}
.ki2__result{padding:22px;background:var(--ki-bone);border:1px solid var(--ki-line)}
.ki2__result h3{margin:0 0 16px;font-size:clamp(23px,2.3vw,33px);font-weight:400;line-height:1.15}
.ki2__plan{display:flex;align-items:center;justify-content:center;min-height:240px;background:var(--ki-paper);border:1px solid var(--ki-line)}
.ki2__plan>p{padding:20px;max-width:40ch;font-size:13px;text-align:center}.ki2__plan svg{display:block;width:100%;height:auto;max-height:490px}
.ki2__caption{margin:12px 0 16px;font-size:10px;color:#535c51;line-height:1.55}
.ki2__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}
.ki2__metric{padding:10px 0;border-top:1px solid var(--ki-line)}.ki2__metric span{display:block;font-size:10px;color:#596156}.ki2__metric b{display:block;font-size:21px;font-weight:450;line-height:1.3}
.ki2__messages{padding-left:17px;margin:14px 0;font-size:12px;line-height:1.6}.ki2__messages li{margin:7px 0}
.ki2__comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
.ki2__compare{min-width:0;padding:12px 9px;background:var(--ki-paper);border:1px solid var(--ki-line)}
.ki2__compare[data-selected=true]{border:2px solid var(--ki-text);padding:11px 8px}
.ki2__compare b,.ki2__compare span{display:block}.ki2__compare b{font-size:12px}.ki2__compare span{font-size:10px;line-height:1.5;margin-top:7px}.ki2__compare[data-state=conflict]{border-color:#923e31}
.ki2__suggestion{margin:17px 0 0;font-size:12px;padding-top:15px;border-top:1px solid var(--ki-line)}.ki2__suggestion:empty{display:none}
.ki2__advanced{grid-column:1/-1;border-block:1px solid var(--ki-line)}.ki2__advanced>summary,.ki2__summary>summary{padding:16px 0;font-size:12px;line-height:1.5;font-weight:650;cursor:pointer;min-height:48px}
.ki2 summary>span{color:#596156;font-weight:400;margin-left:8px}.ki2__advanced-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}
.ki2__advanced fieldset{padding:18px 0;border-top:1px solid var(--ki-line)}.ki2__advanced fieldset>label,.ki2 [data-ki2-group]>label{margin-bottom:15px}.ki2__toggle{display:flex;align-items:center;gap:9px;font-weight:650}
.ki2__summary{margin-top:26px;border-block:1px solid var(--ki-line)}.ki2__summary textarea{margin-bottom:18px;resize:vertical;min-height:170px;font-size:13px}
.ki2__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:23px}
.ki2__button{min-height:46px;max-width:100%;padding:13px 23px;border:1px solid var(--ki-teal);background:var(--ki-teal);color:var(--ki-ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.ki2__button:disabled{opacity:.5;cursor:not-allowed}.ki2__text{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--ki-line);background:transparent;color:var(--ki-ink);font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.ki2__text:disabled{opacity:.5;cursor:not-allowed}.ki2__limits{max-width:120ch;margin:18px 0;color:#596156;font-size:10px;line-height:1.6}
.ki2__status{color:var(--ki-text);font-size:12px}.ki2__status:empty{display:none}
.ki2__fallback{margin:18px 0 0;font-size:12px}.ki2__fallback a{color:var(--ki-text);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.ki2__workspace{grid-template-columns:minmax(240px,.85fr) minmax(0,1fr);gap:25px}.ki2__result{padding:17px}.ki2__comparison{grid-template-columns:1fr}.ki2__compare{display:grid;grid-template-columns:85px 1fr;gap:7px}.ki2__compare span{margin:0}}
@media(max-width:760px){.ki2__head{grid-template-columns:1fr;gap:18px}.ki2__workspace{grid-template-columns:1fr}.ki2__advanced{grid-column:auto}.ki2__comparison{grid-template-columns:repeat(3,minmax(0,1fr))}.ki2__compare{display:block}.ki2__compare span{margin-top:7px}.ki2__advanced-grid{grid-template-columns:1fr}.ki2__options label{min-height:125px}.ki2__options svg{width:70px;margin-block:3px}.ki2__summary textarea{font-size:16px}}
@media(max-width:420px){.ki2{width:calc(100% - 24px);padding:24px 15px}.ki2__head h2{font-size:32px}.ki2__fields{gap:12px 10px}.ki2__result{padding:14px}.ki2__comparison{grid-template-columns:1fr}.ki2__compare{display:grid;grid-template-columns:80px 1fr;gap:7px}.ki2__compare span{margin:0}.ki2__actions .ki2__button{width:100%}.ki2__options{gap:6px}.ki2__options label{padding:10px 7px}.ki2__plan{min-height:210px}}
@media(prefers-reduced-motion:reduce){.ki2 *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.servicio-html .cocinas-page .kitchen-fit__visual{margin:0;padding:30px;background:var(--coal,#35352f);color:#f2f1ed;display:flex;flex-direction:column;justify-content:center;min-width:0}
.servicio-html .cocinas-page .kitchen-fit__visual svg{display:block;width:100%;height:auto;margin:25px 0}
.servicio-html .cocinas-page .kitchen-fit__visual figcaption{max-width:45ch;font-size:13px;line-height:1.6;color:#e6e4df}
@media(max-width:600px){.servicio-html .cocinas-page .kitchen-fit__visual{padding:24px 18px}.servicio-html .cocinas-page .kitchen-fit__visual svg{margin:8px 0 20px}}
/* TRAMUNTANA_COCINAS_CSS_END */

/* TRAMUNTANA_SERVICIOS_BASE_CSS_START */
/* Shared service components. Geometry comes from the original .hero/.mos/.cta,
   not a new visual system. Apply only to explicitly migrated .service-shell. */
.servicio-html .service-shell .hero .eyebrow{color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.45)}
.servicio-html .service-shell .hero .btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:0}
.servicio-html .service-shell .service-hero-link{display:inline-flex;gap:15px;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.45);color:#fff;font-size:11px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.servicio-html .service-shell .service-hero-link:hover{color:var(--teal-l)}
.servicio-html .service-shell .hero :focus-visible,.servicio-html .service-shell .cta :focus-visible{outline:2px solid #b5d0d3;outline-offset:5px}
.servicio-html .service-shell .cta .eyebrow{color:rgba(255,255,255,.9)}
.servicio-html .service-shell .cta .btns{justify-content:center}
.servicio-html .service-shell .cta .b-line{border-color:rgba(255,255,255,.6);color:#fff}
.servicio-html .service-shell .cta .b-line:hover{background:#fff;color:var(--ink)}
.servicio-html .service-shell .service-related .head p{max-width:58ch;margin:20px auto 0;font-size:14px;line-height:1.6}
.servicio-html .service-shell .service-related .mos .lb{background:linear-gradient(0deg,rgba(20,20,18,.9),rgba(20,20,18,0));padding-top:75px}

/* Portfolio: the same photo-led cards and editorial rhythm across services. */
.servicio-html .service-shell .service-projects{background:var(--bone-2)}
.servicio-html .service-shell .service-projects__head{display:grid;grid-template-columns:1fr .7fr;align-items:end;gap:clamp(24px,6vw,90px);margin-bottom:30px}
.servicio-html .service-shell .service-projects__head h2{max-width:17ch;margin:0}
.servicio-html .service-shell .service-projects__head>p{max-width:50ch;margin:0;font-size:16px;line-height:1.55;font-weight:350}
.servicio-html .service-shell .service-demo-note{margin:0 0 28px;padding:14px 18px;border-left:2px solid var(--teal-t,#42646b);background:rgba(255,255,255,.34);color:var(--ink-2);font-size:12px;line-height:1.55}
.servicio-html .service-shell .service-projects__grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.servicio-html .service-shell .service-reference{min-width:0}
.servicio-html .service-shell .service-reference__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bone)}
.servicio-html .service-shell .service-reference__media img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.servicio-html .service-shell .service-reference:hover .service-reference__media img{transform:scale(1.025)}
.servicio-html .service-shell .service-reference__label{display:inline-block;padding:8px 11px;background:var(--coal);color:#fff;font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.servicio-html .service-shell .service-reference__media .service-reference__label{position:absolute;bottom:16px;left:16px;right:auto;max-width:calc(100% - 32px)}
.servicio-html .service-shell .service-reference__copy{padding:26px 0 8px}
.servicio-html .service-shell .service-reference__copy h3{max-width:24ch;margin:14px 0 18px;font-size:clamp(27px,2.9vw,43px);line-height:1.05;font-weight:300;letter-spacing:-.025em}
.servicio-html .service-shell .service-reference__copy h3 b{font-weight:450}
.servicio-html .service-shell .service-reference__copy p{max-width:62ch;margin:0;font-size:14px;line-height:1.6}
.servicio-html .service-shell .service-reference__actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:24px}
.servicio-html .service-shell .service-reference__actions .b-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.servicio-html .service-shell .service-reference__actions .b-line:hover{background:var(--coal);color:#fff}
.servicio-html .service-shell .service-reference__actions>a{display:inline-flex;align-items:center;min-height:44px;color:var(--teal-t,#42646b);font-size:12px;text-decoration:underline;text-underline-offset:5px}
.servicio-html .service-shell [data-project-open][hidden]{display:none!important}
.servicio-html .service-shell .service-project-dialog:not([open]){display:none}
.servicio-html .service-shell .service-project-dialog[open]{display:block}
.servicio-html .service-shell .service-project-dialog{position:fixed;inset:0;width:min(94vw,1120px);max-width:none;max-height:90dvh;margin:auto;padding:0;border:0;background:var(--bone);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.servicio-html .service-shell .service-project-dialog::backdrop{background:rgba(20,20,18,.85);backdrop-filter:blur(3px)}
.servicio-html .service-shell .service-project-dialog__close{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 0 auto;padding:14px 22px;min-height:48px;border:0;background:var(--coal);color:#fff;font:inherit;font-size:12px;cursor:pointer}
.servicio-html .service-shell .service-project-dialog__intro{padding:16px clamp(22px,4vw,54px) 34px}
.servicio-html .service-shell .service-project-dialog__intro h2{max-width:24ch;margin:24px 0 20px}
.servicio-html .service-shell .service-project-dialog__intro p{max-width:78ch;font-size:13px;line-height:1.6}
.servicio-html .service-shell .service-project-dialog>figure{margin:0;padding:0 clamp(22px,4vw,54px)}
.servicio-html .service-shell .service-project-dialog img{display:block;width:100%;height:auto;max-height:66dvh;object-fit:contain;background:var(--bone-2)}
.servicio-html .service-shell .service-project-dialog figcaption{padding:13px 0;font-size:12px;line-height:1.5;color:var(--mute)}
.servicio-html .service-shell .service-project-dialog__detail{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:24px clamp(22px,4vw,54px) 40px}
.servicio-html .service-shell .service-project-dialog__detail h3{margin:0 0 20px;font-size:26px;line-height:1.1;font-weight:350}
.servicio-html .service-shell .service-project-dialog__detail dl{margin:0 0 24px}
.servicio-html .service-shell .service-project-dialog__detail dl>div{padding:16px 0;border-top:1px solid var(--line)}
.servicio-html .service-shell .service-project-dialog__detail dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--teal-t,#42646b)}
.servicio-html .service-shell .service-project-dialog__detail dd{margin:7px 0 0;font-size:13px;line-height:1.55}
.servicio-html .service-shell .service-project-dialog__detail figure{margin:0}

/* Kitchen-specific decisions, reusing the existing control style. */
.servicio-html .cocinas-page .kitchen-tool__parts{margin-top:24px}
.servicio-html .cocinas-page .kitchen-tool__parts p{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--mute)}
.servicio-html .cocinas-page .kitchen-tool__parts-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.servicio-html .cocinas-page .kitchen-tool__parts-grid .kitchen-tool__choice{margin:0;min-height:46px;padding:9px;font-size:12px}
.servicio-html .cocinas-page .kitchen-tool__scope-summary{margin:18px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.servicio-html .cocinas-page .kitchen-tool__scope-summary>summary{padding:15px 0;min-height:48px;font-size:12px;font-weight:550;cursor:pointer}
.servicio-html .cocinas-page .kitchen-tool__scope-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:12px}
.servicio-html .cocinas-page .kitchen-tool__scope-columns h4{font-size:12px;font-weight:600;line-height:1.4;margin:0 0 12px}
.servicio-html .cocinas-page .kitchen-tool__scope-columns ul{margin:0;padding-left:17px;font-size:12px;line-height:1.55}
.servicio-html .cocinas-page .kitchen-tool__scope-columns li{margin-bottom:10px}
.servicio-html .cocinas-page .kitchen-tool__scope-summary .kitchen-tool__disclaimer{margin-bottom:18px}

@media(max-width:820px){
 .servicio-html .service-shell .service-projects__head{grid-template-columns:1fr;gap:22px}
 .servicio-html .service-shell .service-projects__grid{gap:24px}
 .servicio-html .service-shell .service-project-dialog__detail{grid-template-columns:1fr}
 .servicio-html .service-shell .service-reference__copy h3{font-size:28px}
}
@media(min-width:783px){
 body.admin-bar:has(.service-shell) .hd{top:32px}
 body.admin-bar .service-shell .villa-jumpbar{top:100px}
 body.admin-bar .service-shell.villas-page [id]{scroll-margin-top:191px}
}
@media(min-width:601px) and (max-width:782px){
 body.admin-bar:has(.service-shell) .hd{top:46px}
 body.admin-bar .service-shell .villa-jumpbar{top:114px}
 body.admin-bar .service-shell.villas-page [id]{scroll-margin-top:205px}
}
@media(min-width:601px) and (max-width:640px){
 body.admin-bar .service-shell .villa-jumpbar{top:108px}
 body.admin-bar .service-shell.villas-page [id]{scroll-margin-top:199px}
}
@media(max-width:600px){
 .servicio-html .service-shell .service-projects__grid{grid-template-columns:1fr;gap:38px}
 .servicio-html .service-shell .service-project-dialog{width:96vw;max-height:94dvh}
 .servicio-html .service-shell .service-project-dialog__intro h2{font-size:30px}
 .servicio-html .cocinas-page .kitchen-tool__scope-columns{grid-template-columns:1fr;gap:12px}
 .servicio-html .service-shell .service-reference__actions .btn{max-width:100%;white-space:normal}
}
@media(prefers-reduced-motion:reduce){
 .servicio-html .service-shell .service-reference__media img{transition:none!important;transform:none!important}
}

/* TRAMUNTANA_SERVICIOS_BASE_CSS_END */

/* TRAMUNTANA_BANOS_CSS_START */
/* Tramuntana · Baños. Fixed service frames come from the theme + servicios-base.css. */
.servicio-html .banos-page{--b-ink:#1d1d1b;--b-coal:#35352f;--b-bone:#e6e4df;--b-paper:#f2f1ed;--b-teal:#7fa8ae;--b-teal-text:#42646b;--b-line:rgba(29,29,27,.18);min-width:0;background:var(--b-bone);color:var(--b-ink)}
.servicio-html .banos-page *,.servicio-html .banos-page *::before,.servicio-html .banos-page *::after{box-sizing:border-box}
.servicio-html .banos-page [hidden]{display:none!important}
.servicio-html .banos-page [id]{scroll-margin-top:100px}
.servicio-html .banos-page img{display:block;max-width:100%}
.servicio-html .banos-page figure{margin:0}
.servicio-html .banos-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .banos-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--b-teal-text);outline-offset:5px}
.servicio-html .banos-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .banos-page .bano-link{display:inline-flex;align-items:center;gap:18px;width:fit-content;max-width:100%;min-height:44px;padding:8px 0;border-bottom:1px solid var(--b-teal-text);color:var(--b-ink);font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;transition:color .2s,gap .2s}
.servicio-html .banos-page .bano-link:hover{color:var(--b-teal-text);gap:24px}
.servicio-html .banos-page .bano-link--light{color:#fff;border-color:var(--b-teal)}
.servicio-html .banos-page .bano-link--light:hover{color:#b5d0d3}
.servicio-html .banos-page .bano-small{font-size:12px;line-height:1.55;color:#5d5d56}

/* Brief, user-led opening; no secondary navigation. */
.servicio-html .banos-page .bano-price{padding:24px 0;border-block:1px solid var(--b-line);margin:24px 0}
.servicio-html .banos-page .bano-price>span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .banos-page .bano-price>strong{display:block;font-size:clamp(36px,4.5vw,64px);font-weight:350;letter-spacing:-.035em;margin:12px 0}
.servicio-html .banos-page .bano-price p{margin-bottom:0!important;font-size:13px!important}
.servicio-html .banos-page .bano-promise__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,110px);align-items:center}
.servicio-html .banos-page .bano-promise h2{max-width:17ch;margin:0}
.servicio-html .banos-page .bano-promise__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--b-line)}
.servicio-html .banos-page .bano-promise__list li{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:18px;padding:19px 0;border-bottom:1px solid var(--b-line)}
.servicio-html .banos-page .bano-promise__list b{font-size:14px;font-weight:500;line-height:1.4}
.servicio-html .banos-page .bano-promise__list span{font-size:13px;line-height:1.55;color:#55554e}

/* Photo-led concepts reuse the shared gallery and dialog rather than a new card system. */
.servicio-html .banos-page .service-projects__head p{max-width:42ch}
.servicio-html .banos-page .service-project-dialog__intro h2{font-size:clamp(30px,3.35vw,58px);font-weight:300;line-height:1.04;letter-spacing:-.025em}
.servicio-html .banos-page .service-project-dialog>figure:last-child{padding-bottom:30px}
.servicio-html .banos-page .service-reference__copy h3{margin-top:0}
.servicio-html .banos-page .service-demo-note{margin-bottom:24px}

.servicio-html .banos-page .bano-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:end;gap:clamp(28px,6vw,90px);margin-bottom:42px}
.servicio-html .banos-page .bano-section-head h2{max-width:18ch;margin:0}
.servicio-html .banos-page .bano-section-head p{max-width:48ch;margin:0;font-size:16px;line-height:1.55;font-weight:350}
.servicio-html .banos-page .bano-integral__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-top:1px solid var(--b-line);border-bottom:1px solid var(--b-line)}
.servicio-html .banos-page .bano-integral__grid li{padding:24px 26px 30px;border-right:1px solid var(--b-line)}
.servicio-html .banos-page .bano-integral__grid li:first-child{padding-left:0}
.servicio-html .banos-page .bano-integral__grid li:last-child{padding-right:0;border-right:0}
.servicio-html .banos-page .bano-integral__grid li>span{font-size:11px;letter-spacing:.12em;color:var(--b-teal-text)}
.servicio-html .banos-page .bano-integral__grid h3{margin:30px 0 14px;font-size:clamp(25px,2.35vw,35px);font-weight:350;line-height:1.05}
.servicio-html .banos-page .bano-integral__grid p{margin:0;font-size:14px;line-height:1.6;color:#55554e}

/* A shower detail explains a real decision, with space for the photograph. */
.servicio-html .banos-page .bano-shower{background:var(--b-coal);color:#fff}
.servicio-html .banos-page .bano-shower__grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center}
.servicio-html .banos-page .bano-shower__image{min-width:0}
.servicio-html .banos-page .bano-shower__image img{width:100%;height:clamp(350px,40vw,580px);object-fit:cover;object-position:center 76%}
.servicio-html .banos-page .bano-shower__image figcaption{padding-top:14px;font-size:11px;line-height:1.5;color:rgba(255,255,255,.7)}
.servicio-html .banos-page .bano-shower h2{max-width:18ch;margin:0 0 26px;color:#fff}
.servicio-html .banos-page .bano-shower p{max-width:55ch;margin:0 0 20px;font-size:15px;line-height:1.6;font-weight:350;color:rgba(255,255,255,.86)}
.servicio-html .banos-page .bano-shower .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.45)}
.servicio-html .banos-page .bano-shower__checks{list-style:none;padding:0;margin:26px 0;border-top:1px solid rgba(255,255,255,.22)}
.servicio-html .banos-page .bano-shower__checks li{position:relative;padding:13px 0 13px 21px;border-bottom:1px solid rgba(255,255,255,.22);font-size:13px;line-height:1.55}
.servicio-html .banos-page .bano-shower__checks li::before{content:"";position:absolute;left:0;top:21px;width:5px;height:5px;background:var(--b-teal)}
.servicio-html .banos-page .bano-shower :focus-visible{outline-color:#b5d0d3}

.servicio-html .banos-page .bano-budget__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:clamp(32px,7vw,110px);align-items:center}
.servicio-html .banos-page .bano-budget h2{max-width:18ch;margin:0 0 24px}
.servicio-html .banos-page .bano-budget p:not(.bano-small){max-width:56ch;margin:0 0 24px;font-size:15px;line-height:1.6}
.servicio-html .banos-page .bano-budget__items{margin:0 0 22px;border-top:1px solid var(--b-line)}
.servicio-html .banos-page .bano-budget__items>div{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--b-line)}
.servicio-html .banos-page .bano-budget__items dt{font-size:13px;line-height:1.5;font-weight:500}
.servicio-html .banos-page .bano-budget__items dd{margin:0;font-size:13px;line-height:1.6;color:#55554e}
.servicio-html .banos-page .bano-budget .bano-small{max-width:64ch;margin:0 0 20px}
.servicio-html .banos-page .bano-budget__image img{width:100%;height:clamp(360px,43vw,620px);object-fit:cover;object-position:center}
.servicio-html .banos-page .bano-budget__image figcaption{max-width:40ch;padding-top:14px;font-size:11px;line-height:1.5;color:#66665e}

.servicio-html .banos-page .bano-timing__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,110px);align-items:start}
.servicio-html .banos-page .bano-timing h2{max-width:17ch;margin:0}
.servicio-html .banos-page .bano-timing p{max-width:58ch;margin:0 0 24px;font-size:15px;line-height:1.65}
.servicio-html .banos-page .bano-timing p:last-child{margin-bottom:0}
.servicio-html .banos-page .bano-timing b{font-weight:500}
.servicio-html .banos-page .bano-faq .head{margin-bottom:34px}
.servicio-html .banos-page .bano-faq details .a{max-width:75ch}

@media(max-width:1100px){
 .servicio-html .banos-page .bano-promise__list li{grid-template-columns:1fr;gap:6px}
 .servicio-html .banos-page .bano-integral__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .servicio-html .banos-page .bano-integral__grid li{padding:24px;border-bottom:1px solid var(--b-line)}
 .servicio-html .banos-page .bano-integral__grid li:nth-child(odd){padding-left:0}
 .servicio-html .banos-page .bano-integral__grid li:nth-child(even){border-right:0}
 .servicio-html .banos-page .bano-integral__grid li:nth-child(n+3){border-bottom:0}
 .servicio-html .banos-page .bano-budget__items>div{grid-template-columns:1fr;gap:5px}
}
@media(max-width:820px){
 .servicio-html .banos-page .bano-promise__grid,.servicio-html .banos-page .bano-section-head,.servicio-html .banos-page .bano-shower__grid,.servicio-html .banos-page .bano-budget__grid,.servicio-html .banos-page .bano-timing__grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .servicio-html .banos-page .bano-promise__list li{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:18px}
 .servicio-html .banos-page .bano-shower__image img{height:clamp(350px,67vw,520px)}
 .servicio-html .banos-page .bano-budget__image img{height:clamp(300px,64vw,470px);object-position:center 62%}
 .servicio-html .banos-page .bano-budget__image{max-width:640px;width:100%}
}
@media(max-width:520px){
 .servicio-html .banos-page .bano-promise__list li{grid-template-columns:1fr;gap:7px}
 .servicio-html .banos-page .bano-integral__grid{grid-template-columns:minmax(0,1fr)}
 .servicio-html .banos-page .bano-integral__grid li,.servicio-html .banos-page .bano-integral__grid li:nth-child(n+3){padding:21px 0;border-right:0;border-bottom:1px solid var(--b-line)}
 .servicio-html .banos-page .bano-integral__grid li:last-child{border-bottom:0}
 .servicio-html .banos-page .bano-integral__grid h3{margin-top:15px}
 .servicio-html .banos-page .bano-shower__image img{height:360px}
 .servicio-html .banos-page .bano-shower h2{max-width:18ch}
 .servicio-html .banos-page .bano-shower__grid{gap:24px}
}
@media(prefers-reduced-motion:reduce){
 .servicio-html .banos-page *{scroll-behavior:auto!important}
 .servicio-html .banos-page .bano-link{transition:none}
 .servicio-html .banos-page .mos img{transition:none!important;transform:none!important}
}
/* Narrow-screen fit only: preserve the shared header, no replacement markup. */
.servicio-html .banos-page .bano-project-cover{display:block}
@media(max-width:400px){
 body:is(.postid-41,.postid-220,.postid-222) .hd-in{gap:10px;padding-inline:14px}
 body:is(.postid-41,.postid-220,.postid-222) .hd .logo{gap:6px}
 body:is(.postid-41,.postid-220,.postid-222) .hd .logo .w{gap:4px}
 body:is(.postid-41,.postid-220,.postid-222) .hd .logo .w b{font-size:12px}
 body:is(.postid-41,.postid-220,.postid-222) .hd .logo .w i{font-size:8px}
 body:is(.postid-41,.postid-220,.postid-222) .hd .menu-btn{padding-inline:10px;flex-shrink:0}
}

/* Bathroom brief assistant. No CAD, no estimated prices, no global styles. */
.banos-page .bath-flow{--bf-paper:#f2f1ed;--bf-bone:#e6e4df;--bf-coal:#35352f;--bf-ink:#1d1d1b;--bf-teal:#7fa8ae;--bf-text:#42646b;--bf-line:rgba(29,29,27,.2);width:calc(100% - 2 * var(--pad,24px));max-width:1440px;margin:0 auto;padding:clamp(24px,4vw,54px);background:var(--bf-paper);border:1px solid var(--bf-line);color:var(--bf-ink);font-family:Inter,system-ui,sans-serif;min-width:0}
.banos-page .bath-flow *,.banos-page .bath-flow *::before,.banos-page .bath-flow *::after{box-sizing:border-box}
.banos-page .bath-flow [hidden]{display:none!important}
.banos-page .bath-flow :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--bf-text);outline-offset:4px}
.banos-page .bath-flow [data-bath-step-title]{scroll-margin-top:110px}
.banos-page .bath-flow__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:30px;align-items:end}
.banos-page .bath-flow__head h2{max-width:21ch;margin:0;font-size:clamp(30px,3.5vw,50px);line-height:1.07;font-weight:300;letter-spacing:-.025em}
.banos-page .bath-flow__head h2 b{font-weight:450}
.banos-page .bath-flow__head>p{max-width:49ch;margin:0;font-size:14px;line-height:1.6}
.banos-page .bath-flow__form{margin-top:30px;min-width:0}
.banos-page .bath-flow__progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0 0 30px;padding:0}
.banos-page .bath-flow__progress li{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 0;border-bottom:2px solid #a4a79d;color:#5d6259;font-size:12px;line-height:1.3}
.banos-page .bath-flow__progress span{font-size:10px}
.banos-page .bath-flow__progress [aria-current=step]{border-color:var(--bf-text);color:var(--bf-ink);font-weight:650}
.banos-page .bath-flow__step{min-width:0}
.banos-page .bath-flow__step>h3,.banos-page .bath-flow__review-head h3{margin:0 0 22px;max-width:34ch;font-size:clamp(23px,2.6vw,36px);line-height:1.15;font-weight:400;letter-spacing:-.02em}
.banos-page .bath-flow__fieldset{margin:0 0 23px;padding:0;min-width:0;border:0}
.banos-page .bath-flow legend{margin-bottom:12px;font-size:13px;font-weight:600;line-height:1.5}
.banos-page .bath-flow__situations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.banos-page .bath-flow__situation{position:relative;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px 12px;min-width:0;min-height:140px;padding:15px;border:1px solid var(--bf-line);cursor:pointer}
.banos-page .bath-flow__situation:has(input:checked),.banos-page .bath-flow__pills label:has(input:checked){background:#dce7e8;border-color:var(--bf-text)}
.banos-page .bath-flow__situation input,.banos-page .bath-flow__pills input{position:static;display:block;flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--bf-text)}
.banos-page .bath-flow__situation-art{grid-column:2;width:100%;max-width:100px}
.banos-page .bath-flow__situation>input{grid-column:1;grid-row:1/3}
.banos-page .bath-flow__situation>b{grid-column:2;font-size:13px;line-height:1.45;font-weight:550}
.banos-page .bath-flow svg{display:block;width:100%;height:auto;max-height:84px;overflow:visible}
.banos-page .bath-flow svg :is(rect,circle,ellipse){fill:#dce7e8;stroke:var(--bf-text);stroke-width:2}
.banos-page .bath-flow svg path{fill:none;stroke:var(--bf-text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.banos-page .bath-flow svg .bath-flow__icon-inner{fill:var(--bf-paper)}
.banos-page .bath-flow__pills{display:flex;flex-wrap:wrap;gap:10px}
.banos-page .bath-flow__pills label{display:flex;align-items:center;gap:10px;min-height:46px;padding:11px 17px;border:1px solid var(--bf-line);font-size:13px;line-height:1.4;cursor:pointer}
.banos-page .bath-flow__hint{max-width:85ch;margin:-8px 0 23px;font-size:12px;line-height:1.6;color:#596156}
.banos-page .bath-flow__pieces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.banos-page .bath-flow__piece{display:flex;flex-direction:column;gap:15px;min-width:0;padding:20px;border:1px solid var(--bf-line);background:var(--bf-bone)}
.banos-page .bath-flow__piece-art{width:100px;max-width:100%;margin:0 auto}
.banos-page .bath-flow__piece-control{min-width:0}
.banos-page .bath-flow__piece-control label,.banos-page .bath-flow__finishes>label{display:block;margin:0 0 9px;font-size:13px;line-height:1.45;font-weight:550}
.banos-page .bath-flow__piece-control small{display:block;font-size:11px;font-weight:400;color:#596156}
.banos-page .bath-flow select{display:block;width:100%;min-width:0;min-height:46px;padding:10px 30px 10px 10px;border:1px solid #969c90;border-radius:0;background:#fff;color:var(--bf-ink);font:inherit;font-size:15px;line-height:1.4;opacity:1;pointer-events:auto}
.banos-page .bath-flow__water-target{margin-top:15px}
.banos-page .bath-flow__finishes{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1fr);align-items:center;gap:10px 20px;max-width:700px;margin-top:25px}
.banos-page .bath-flow__finishes>label{margin:0}
.banos-page .bath-flow__finishes p{grid-column:1/-1;margin:0;max-width:79ch;font-size:11px;line-height:1.6;color:#596156}
.banos-page .bath-flow__navigation{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-top:28px}
.banos-page .bath-flow__step:first-of-type .bath-flow__navigation{justify-content:flex-end}
.banos-page .bath-flow .btn{max-width:100%;min-height:46px;white-space:normal;background:var(--bf-teal);border-color:var(--bf-teal);color:var(--bf-ink)}
.banos-page .bath-flow__back{min-height:44px;padding:9px 0;border:0;border-bottom:1px solid var(--bf-line);background:transparent;color:var(--bf-ink);font:inherit;font-size:12px;line-height:1.45;cursor:pointer}
.banos-page .bath-flow__error{margin:10px 0 0;color:#913e33;font-size:12px;line-height:1.5}
.banos-page .bath-flow__error:empty{display:none}
.banos-page .bath-flow__review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.banos-page .bath-flow__review-head .eyebrow{margin-bottom:13px}
.banos-page .bath-flow__review-head h3{margin-bottom:16px}
.banos-page .bath-flow__review-head .bath-flow__back{flex:0 0 auto}
.banos-page .bath-flow__result-intro{max-width:100ch;margin:0 0 24px;font-size:14px;line-height:1.6}
.banos-page .bath-flow__visual-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:25px}
.banos-page .bath-flow__decision{display:flex;align-items:center;gap:14px;min-width:0;padding:16px;border:1px solid var(--bf-line);background:var(--bf-bone)}
.banos-page .bath-flow__decision-art{flex:0 0 62px;max-width:62px}
.banos-page .bath-flow__decision b{display:block;font-size:12px;line-height:1.4}
.banos-page .bath-flow__decision span{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#42646b}
.banos-page .bath-flow__decision[data-action=move]{border-color:var(--bf-text);background:#dce7e8}
.banos-page .bath-flow__decision[data-action=unknown]{border-style:dashed}
.banos-page .bath-flow__result-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-top:22px;border-top:1px solid var(--bf-line)}
.banos-page .bath-flow__result-columns h4{margin:0 0 12px;font-size:13px;font-weight:600}
.banos-page .bath-flow__result-columns ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65}
.banos-page .bath-flow__result-columns li{margin-bottom:11px}
.banos-page .bath-flow__prepare{margin:22px 0;font-size:12px;line-height:1.6}
.banos-page .bath-flow__text-summary{border-block:1px solid var(--bf-line);margin-top:20px}
.banos-page .bath-flow__text-summary>summary{padding:15px 0;min-height:48px;font-size:12px;font-weight:550;line-height:1.5;cursor:pointer}
.banos-page .bath-flow__text-summary label{display:block;margin-bottom:10px;font-size:12px;line-height:1.5}
.banos-page .bath-flow__text-summary textarea{display:block;width:100%;max-width:100%;min-height:170px;resize:vertical;margin:0 0 15px;padding:12px;border:1px solid var(--bf-line);border-radius:0;background:#fff;color:var(--bf-ink);font:inherit;font-size:14px;line-height:1.6}
.banos-page .bath-flow__actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px 24px;margin-top:23px}
.banos-page .bath-flow__note{max-width:95ch;margin:17px 0 0;color:#596156;font-size:11px;line-height:1.6}
.banos-page .bath-flow__status{margin:15px 0 0;color:var(--bf-text);font-size:12px;line-height:1.5}
.banos-page .bath-flow__status:empty{display:none}
.banos-page .bath-flow__fallback{margin:20px 0 0;font-size:12px;line-height:1.6}
.banos-page .bath-flow__fallback a{color:var(--bf-text);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.banos-page .bath-flow__pieces{gap:12px}.banos-page .bath-flow__piece{padding:15px}.banos-page .bath-flow__visual-summary{grid-template-columns:1fr}.banos-page .bath-flow__decision-art{flex-basis:55px;max-width:55px}}
@media(max-width:760px){.banos-page .bath-flow__head{grid-template-columns:1fr;gap:18px}.banos-page .bath-flow__situations{gap:8px}.banos-page .bath-flow__situation{padding:12px;gap:8px;grid-template-columns:18px 1fr}.banos-page .bath-flow__pieces{grid-template-columns:1fr}.banos-page .bath-flow__piece{flex-direction:row;align-items:center;padding:15px;gap:18px}.banos-page .bath-flow__piece-art{flex:0 0 64px;width:64px;margin:0}.banos-page .bath-flow__piece-control{flex:1}.banos-page .bath-flow__result-columns{grid-template-columns:1fr;gap:18px}.banos-page .bath-flow__review-head{display:block}.banos-page .bath-flow__review-head .bath-flow__back{margin-bottom:18px}}
@media(max-width:520px){.banos-page .bath-flow{width:calc(100% - 32px);padding:24px 17px}.banos-page .bath-flow__head h2{font-size:31px}.banos-page .bath-flow__progress{gap:9px;margin-bottom:24px}.banos-page .bath-flow__progress li{display:block;font-size:11px;padding:11px 0}.banos-page .bath-flow__progress span{display:block;margin-bottom:5px}.banos-page .bath-flow__situations{grid-template-columns:1fr}.banos-page .bath-flow__situation{grid-template-columns:20px 66px 1fr;min-height:78px;padding:10px 13px;gap:12px}.banos-page .bath-flow__situation>input{grid-column:1;grid-row:1}.banos-page .bath-flow__situation-art{grid-column:2}.banos-page .bath-flow__situation>b{grid-column:3}.banos-page .bath-flow__pills{gap:8px}.banos-page .bath-flow__pills label{padding:10px 12px;font-size:12px}.banos-page .bath-flow select{font-size:16px;padding-right:25px}.banos-page .bath-flow__finishes{grid-template-columns:1fr}.banos-page .bath-flow__navigation>.btn{flex:1}.banos-page .bath-flow__actions>.btn{width:100%}.banos-page .bath-flow__piece-art{flex-basis:54px;width:54px}.banos-page .bath-flow__step>h3{font-size:26px}.banos-page .bath-flow__decision{padding:13px}.banos-page .bath-flow__text-summary textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.banos-page .bath-flow *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* TRAMUNTANA_BANOS_CSS_END */

/* TRAMUNTANA_LOCALES_CSS_START */
/* Locales: only the body of service 47. Native header, hero and final CTA stay shared. */
.servicio-html .locales-page{--loc-ink:#1d1d1b;--loc-coal:#35352f;--loc-bone:#e6e4df;--loc-paper:#f2f1ed;--loc-teal:#7fa8ae;--loc-line:rgba(29,29,27,.18);min-width:0;color:var(--loc-ink);background:var(--loc-bone)}
.servicio-html .locales-page *,.servicio-html .locales-page *::before,.servicio-html .locales-page *::after{box-sizing:border-box}
.servicio-html .locales-page [hidden]{display:none!important}
.servicio-html .locales-page [id]{scroll-margin-top:110px}
.servicio-html .locales-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .locales-page figure{margin:0;min-width:0}
.servicio-html .locales-page img{display:block;max-width:100%}
.servicio-html .locales-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid #42646b;outline-offset:5px}
.servicio-html .locales-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .locales-page .hero .im{position:relative}
.servicio-html .locales-page .loc-image-note{position:absolute;bottom:20px;left:20px;padding:7px 10px;background:rgba(29,29,27,.8);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .locales-page .loc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,7vw,110px);align-items:start}
.servicio-html .locales-page .loc-split h2{max-width:18ch;margin:0 0 24px}
.servicio-html .locales-page .loc-split p{font-size:15px;line-height:1.65;margin:0 0 22px;max-width:58ch}
.servicio-html .locales-page .loc-small{font-size:12px!important;line-height:1.6!important;color:#5d5d56}
.servicio-html .locales-page .loc-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-benefits li{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:20px;padding:19px 0;border-bottom:1px solid var(--loc-line);font-size:13px;line-height:1.55}
.servicio-html .locales-page .loc-benefits b{font-size:14px;font-weight:500}
.servicio-html .locales-page .loc-benefits span{color:#55554e}
.servicio-html .locales-page .loc-project-cover{display:block}
.servicio-html .locales-page .service-projects__head p{max-width:42ch}
.servicio-html .locales-page .service-demo-note{margin-top:24px}
.servicio-html .locales-page .loc-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:clamp(24px,6vw,85px);align-items:end;margin-bottom:42px}
.servicio-html .locales-page .loc-section-head h2{max-width:18ch;margin:0}
.servicio-html .locales-page .loc-section-head p{font-size:16px;line-height:1.6;max-width:47ch;margin:0}
.servicio-html .locales-page .loc-types__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,85px);border-block:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-types article{padding:30px 0 10px}
.servicio-html .locales-page .loc-number{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#42646b}
.servicio-html .locales-page .loc-types h3{font-size:clamp(28px,3vw,44px);font-weight:300;letter-spacing:-.02em;line-height:1.08;max-width:22ch;margin:24px 0}
.servicio-html .locales-page .loc-types article p{font-size:14px;line-height:1.65;max-width:57ch}
.servicio-html .locales-page .loc-types dl{margin-top:28px}
.servicio-html .locales-page .loc-types dl>div{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:18px;padding:16px 0;border-top:1px solid var(--loc-line);font-size:13px;line-height:1.55}
.servicio-html .locales-page .loc-types dt{font-weight:500}
.servicio-html .locales-page .loc-types dd{margin:0;color:#55554e}
.servicio-html .locales-page .loc-types__note{max-width:85ch;margin:22px 0 0}
.servicio-html .locales-page .loc-continuity{background:var(--loc-coal);color:#fff}
.servicio-html .locales-page .loc-split--photo{align-items:center;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}
.servicio-html .locales-page .loc-continuity img{width:100%;height:clamp(360px,42vw,610px);object-fit:cover;object-position:45% center}
.servicio-html .locales-page figcaption{font-size:11px;line-height:1.5;padding-top:12px;color:#626259}
.servicio-html .locales-page .loc-continuity figcaption{color:rgba(255,255,255,.65)}
.servicio-html .locales-page .loc-continuity h2{color:#fff}
.servicio-html .locales-page .loc-continuity p{color:rgba(255,255,255,.85)}
.servicio-html .locales-page .loc-continuity .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .locales-page .loc-continuity__list{list-style:none;padding:0;margin:28px 0;border-top:1px solid rgba(255,255,255,.2);counter-reset:steps}
.servicio-html .locales-page .loc-continuity__list li{position:relative;padding:17px 0 17px 38px;border-bottom:1px solid rgba(255,255,255,.2);counter-increment:steps}
.servicio-html .locales-page .loc-continuity__list li::before{content:"0" counter(steps);position:absolute;top:18px;left:0;font-size:11px;color:#a7cbd0}
.servicio-html .locales-page .loc-continuity__list b{display:block;font-size:14px;font-weight:500;margin-bottom:5px}
.servicio-html .locales-page .loc-continuity__list span{display:block;font-size:13px;line-height:1.6;color:rgba(255,255,255,.75)}
.servicio-html .locales-page .loc-link{display:inline-flex;gap:18px;align-items:center;min-height:46px;padding:9px 0;border-bottom:1px solid #42646b;color:var(--loc-ink);font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;transition:gap .2s}
.servicio-html .locales-page .loc-link:hover{gap:25px}
.servicio-html .locales-page .loc-link--light{color:#fff;border-color:#a7cbd0}
.servicio-html .locales-page .loc-continuity :focus-visible{outline-color:#b5d0d3}
.servicio-html .locales-page .loc-scope__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;border-block:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-scope__grid li{padding:25px;border-right:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-scope__grid li:first-child{padding-left:0}
.servicio-html .locales-page .loc-scope__grid li:last-child{border-right:0;padding-right:0}
.servicio-html .locales-page .loc-scope__grid span{font-size:11px;color:#42646b}
.servicio-html .locales-page .loc-scope__grid h3{font-size:clamp(26px,2.3vw,35px);font-weight:350;margin:28px 0 15px}
.servicio-html .locales-page .loc-scope__grid p{font-size:14px;line-height:1.6;margin:0;color:#55554e}
.servicio-html .locales-page .loc-price-list{margin:28px 0 20px;border-top:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-price-list>div{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--loc-line);padding:20px 0}
.servicio-html .locales-page .loc-price-list span{font-size:13px;line-height:1.5}
.servicio-html .locales-page .loc-price-list span small{font-size:11px;color:#626259}
.servicio-html .locales-page .loc-price-list b{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;white-space:nowrap}
.servicio-html .locales-page .loc-price-list b small{font-size:12px}
.servicio-html .locales-page .loc-budget__aside img{width:100%;height:clamp(280px,29vw,390px);object-fit:cover}
.servicio-html .locales-page .loc-budget__aside h3{font-size:clamp(25px,2.5vw,35px);font-weight:350;margin:32px 0 20px;line-height:1.1}
.servicio-html .locales-page .loc-checks{list-style:none;padding:0;margin:0 0 16px;border-top:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-checks li{font-size:13px;line-height:1.55;padding:13px 0;border-bottom:1px solid var(--loc-line)}
.servicio-html .locales-page .loc-faq .head{margin-bottom:34px}
.servicio-html .locales-page .loc-faq .a{max-width:75ch}
@media(max-width:1100px){.servicio-html .locales-page .loc-benefits li,.servicio-html .locales-page .loc-types dl>div{grid-template-columns:1fr;gap:6px}.servicio-html .locales-page .loc-scope__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .locales-page .loc-scope__grid li{border-bottom:1px solid var(--loc-line)}.servicio-html .locales-page .loc-scope__grid li:nth-child(odd){padding-left:0}.servicio-html .locales-page .loc-scope__grid li:nth-child(even){border-right:0}.servicio-html .locales-page .loc-scope__grid li:nth-child(n+3){border-bottom:0}.servicio-html .locales-page .loc-price-list>div{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:820px){.servicio-html .locales-page .loc-split,.servicio-html .locales-page .loc-split--photo,.servicio-html .locales-page .loc-section-head,.servicio-html .locales-page .loc-types__grid{grid-template-columns:minmax(0,1fr);gap:30px}.servicio-html .locales-page .loc-types__grid{gap:0}.servicio-html .locales-page .loc-types article+article{border-top:1px solid var(--loc-line)}.servicio-html .locales-page .loc-types dl>div{grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:20px}.servicio-html .locales-page .loc-continuity img{height:clamp(330px,65vw,470px)}.servicio-html .locales-page .loc-price-list>div{flex-direction:row;align-items:center}.servicio-html .locales-page .loc-budget__aside{max-width:650px}}
@media(max-width:520px){.servicio-html .locales-page .loc-types dl>div{grid-template-columns:1fr;gap:6px}.servicio-html .locales-page .loc-scope__grid{grid-template-columns:minmax(0,1fr)}.servicio-html .locales-page .loc-scope__grid li,.servicio-html .locales-page .loc-scope__grid li:nth-child(n+3){padding:22px 0;border-right:0;border-bottom:1px solid var(--loc-line)}.servicio-html .locales-page .loc-scope__grid li:last-child{border-bottom:0}.servicio-html .locales-page .loc-scope__grid h3{margin-top:14px}.servicio-html .locales-page .loc-price-list>div{flex-direction:column;align-items:start;gap:10px}.servicio-html .locales-page .loc-image-note{left:12px;bottom:12px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.servicio-html .locales-page *{scroll-behavior:auto!important}.servicio-html .locales-page .loc-link{transition:none}.servicio-html .locales-page .mos img{transition:none!important;transform:none!important}}
.servicio-html .locales-page .loc-shortcuts{display:flex;flex-wrap:wrap;gap:12px 36px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid rgba(36,37,30,.16)}
.servicio-html .locales-page .loc-shortcuts .loc-link{font-size:14px;margin-top:0;padding:10px 0}
.servicio-html .locales-page #locales-comerciales,.servicio-html .locales-page #oficinas{scroll-margin-top:135px}

/* Locales: preparation assistant. Scoped; native header and CTA remain untouched. */
.locales-page .local-flow{--lf-paper:#f2f1ed;--lf-bone:#e6e4df;--lf-ink:#1d1d1b;--lf-teal:#7fa8ae;--lf-dark:#42646b;--lf-line:rgba(29,29,27,.2);width:calc(100% - 2 * var(--pad,24px));max-width:1440px;min-width:0;margin:0 auto;padding:clamp(24px,4vw,54px);background:var(--lf-paper);border:1px solid var(--lf-line);color:var(--lf-ink);font-family:Inter,system-ui,sans-serif}
.locales-page .local-flow *,.locales-page .local-flow *::before,.locales-page .local-flow *::after{box-sizing:border-box}
.locales-page .local-flow [hidden]{display:none!important}
.locales-page .local-flow :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--lf-dark);outline-offset:4px}
.locales-page .local-flow [data-local-step-title]{scroll-margin-top:115px}
.locales-page .local-flow__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:30px;align-items:end}
.locales-page .local-flow__head h2{max-width:22ch;margin:0;font-size:clamp(30px,3.5vw,50px);line-height:1.07;font-weight:300;letter-spacing:-.025em}
.locales-page .local-flow__head h2 b{font-weight:450}
.locales-page .local-flow__head>p{max-width:48ch;margin:0;font-size:14px;line-height:1.6}
.locales-page .local-flow__form{min-width:0;margin-top:30px}
.locales-page .local-flow__progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0 0 28px;padding:0}
.locales-page .local-flow__progress li{display:flex;align-items:center;gap:10px;min-width:0;padding:13px 0;border-bottom:2px solid #a4a79d;color:#5d6259;font-size:12px;line-height:1.3}
.locales-page .local-flow__progress span{font-size:10px}
.locales-page .local-flow__progress [aria-current=step]{border-color:var(--lf-dark);color:var(--lf-ink);font-weight:650}
.locales-page .local-flow__step{min-width:0}
.locales-page .local-flow__step>h3,.locales-page .local-flow__result-head h3{max-width:35ch;margin:0 0 20px;font-size:clamp(24px,2.6vw,36px);line-height:1.15;font-weight:400;letter-spacing:-.02em}
.locales-page .local-flow__fieldset{min-width:0;margin:0 0 23px;padding:0;border:0}
.locales-page .local-flow legend{margin:0 0 12px;font-size:13px;font-weight:600;line-height:1.5}
.locales-page .local-flow__spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.locales-page .local-flow__space{display:grid;grid-template-columns:18px 1fr;align-items:center;gap:8px 12px;min-width:0;min-height:150px;padding:17px;border:1px solid var(--lf-line);cursor:pointer}
.locales-page .local-flow__space>input{grid-column:1;grid-row:1/3}
.locales-page .local-flow__art{grid-column:2;max-width:95px;width:100%}
.locales-page .local-flow__space>span:last-child{grid-column:2}
.locales-page .local-flow__space b,.locales-page .local-flow__changes b{display:block;font-size:13px;font-weight:550;line-height:1.4}
.locales-page .local-flow__space small,.locales-page .local-flow__changes small{display:block;margin-top:5px;font-size:11px;line-height:1.5;color:#566056}
.locales-page .local-flow__space:has(input:checked),.locales-page .local-flow__changes label:has(input:checked){background:#dce7e8;border-color:var(--lf-dark)}
.locales-page .local-flow input:is([type=radio],[type=checkbox]){position:static;display:block;flex:0 0 18px;width:18px;height:18px;min-width:18px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--lf-dark)}
.locales-page .local-flow svg{display:block;width:100%;height:auto;max-height:70px;overflow:visible}
.locales-page .local-flow svg rect{fill:#dce7e8;stroke:var(--lf-dark);stroke-width:2}
.locales-page .local-flow svg path{fill:none;stroke:var(--lf-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.locales-page .local-flow__situation{max-width:650px}
.locales-page .local-flow__situation>label,.locales-page .local-flow__notes>label{display:block;margin:0 0 9px;font-size:13px;font-weight:550;line-height:1.5}
.locales-page .local-flow select{display:block;width:100%;min-width:0;min-height:48px;padding:11px 30px 11px 12px;border:1px solid #969c90;border-radius:0;background:#fff;color:var(--lf-ink);font:inherit;font-size:15px;line-height:1.4;opacity:1;pointer-events:auto}
.locales-page .local-flow__hint{max-width:80ch;margin:-7px 0 23px;font-size:12px;line-height:1.6;color:#596156}
.locales-page .local-flow__changes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.locales-page .local-flow__changes label{display:flex;align-items:flex-start;gap:12px;min-width:0;min-height:92px;padding:17px;border:1px solid var(--lf-line);cursor:pointer}
.locales-page .local-flow__changes input{margin-top:2px!important}
.locales-page .local-flow__changes .local-flow__undecided{border-style:dashed}
.locales-page .local-flow__navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-top:28px}
.locales-page .local-flow__step:first-of-type .local-flow__navigation{justify-content:flex-end}
.locales-page .local-flow .btn{max-width:100%;min-height:46px;white-space:normal;background:var(--lf-teal);border-color:var(--lf-teal);color:var(--lf-ink)}
.locales-page .local-flow__secondary{min-height:44px;padding:9px 0;border:0;border-bottom:1px solid var(--lf-line);background:transparent;color:var(--lf-ink);font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.locales-page .local-flow__error{margin:10px 0 0;color:#913e33;font-size:12px;line-height:1.5}
.locales-page .local-flow__error:empty{display:none}
.locales-page .local-flow__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.locales-page .local-flow__result-head h3{margin-bottom:16px}
.locales-page .local-flow__result-head .eyebrow{margin-bottom:12px}
.locales-page .local-flow__result-head .local-flow__secondary{flex:0 0 auto}
.locales-page .local-flow__result-intro{max-width:90ch;margin:0 0 18px;font-size:14px;line-height:1.6}
.locales-page .local-flow__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.locales-page .local-flow__tags span{padding:7px 10px;border:1px solid var(--lf-line);font-size:11px;line-height:1.5}
.locales-page .local-flow__result-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;border-top:1px solid var(--lf-line);padding-top:24px}
.locales-page .local-flow__result-columns h4{margin:0 0 14px;font-size:15px;font-weight:550;line-height:1.4}
.locales-page .local-flow__decisions ul{margin:0;padding-left:18px;font-size:13px;line-height:1.65}
.locales-page .local-flow__decisions li{margin:0 0 13px;padding-left:3px}
.locales-page .local-flow__caution{margin:20px 0 0;padding:15px;background:var(--lf-bone);font-size:12px;line-height:1.65}
.locales-page .local-flow__preparation>p{margin:-4px 0 10px;color:#596156;font-size:11px;line-height:1.6}
.locales-page .local-flow__checklist label{display:flex;gap:12px;align-items:flex-start;min-height:45px;padding:12px 0;border-bottom:1px solid var(--lf-line);font-size:12px;line-height:1.55;cursor:pointer}
.locales-page .local-flow__checklist input{margin-top:1px!important}
.locales-page .local-flow__checklist label:has(input:checked){color:var(--lf-dark)}
.locales-page .local-flow__checklist label:has(input:checked) span{text-decoration:underline;text-decoration-color:var(--lf-teal);text-underline-offset:4px}
.locales-page .local-flow__notes{margin-top:24px}
.locales-page .local-flow__notes small{font-weight:400;color:#596156}
.locales-page .local-flow textarea{display:block;width:100%;min-width:0;max-width:100%;padding:12px;border:1px solid var(--lf-line);border-radius:0;resize:vertical;background:#fff;color:var(--lf-ink);font:inherit;font-size:14px;line-height:1.6}
.locales-page .local-flow textarea::placeholder{color:#697166;opacity:1}
.locales-page .local-flow__notes>p{margin:8px 0 0;font-size:11px;line-height:1.6;color:#596156}
.locales-page .local-flow__preview{margin-top:20px;border-block:1px solid var(--lf-line)}
.locales-page .local-flow__preview>summary{min-height:48px;padding:15px 0;font-size:12px;font-weight:550;line-height:1.5;cursor:pointer}
.locales-page .local-flow__preview>label{display:block;margin:0 0 10px;font-size:12px;line-height:1.5}
.locales-page .local-flow__preview textarea{min-height:180px;margin-bottom:15px}
.locales-page .local-flow__actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px 24px;margin-top:23px}
.locales-page .local-flow__note{max-width:100ch;margin:17px 0 0;font-size:11px;line-height:1.6;color:#596156}
.locales-page .local-flow__status{margin:15px 0 0;color:var(--lf-dark);font-size:12px;line-height:1.5}
.locales-page .local-flow__status:empty{display:none}
.locales-page .local-flow__fallback{margin:20px 0 0;font-size:12px;line-height:1.6}
.locales-page .local-flow__fallback a{color:var(--lf-dark);text-decoration:underline;text-underline-offset:4px}
@media(max-width:950px){.locales-page .local-flow__spaces{gap:9px}.locales-page .local-flow__space{padding:13px;gap:8px}.locales-page .local-flow__changes{grid-template-columns:repeat(2,minmax(0,1fr))}.locales-page .local-flow__result-columns{gap:22px}}
@media(max-width:760px){.locales-page .local-flow__head{grid-template-columns:1fr;gap:18px}.locales-page .local-flow__result-columns{grid-template-columns:1fr;gap:25px}.locales-page .local-flow__result-head{display:block}.locales-page .local-flow__result-head .local-flow__secondary{margin-bottom:18px}}
@media(max-width:520px){.locales-page .local-flow{width:calc(100% - 32px);padding:24px 17px}.locales-page .local-flow__head h2{font-size:31px}.locales-page .local-flow__progress{gap:9px;margin-bottom:24px}.locales-page .local-flow__progress li{display:block;font-size:11px;padding:11px 0}.locales-page .local-flow__progress span{display:block;margin-bottom:5px}.locales-page .local-flow__spaces{grid-template-columns:1fr}.locales-page .local-flow__space{grid-template-columns:18px 56px 1fr;min-height:90px;padding:12px;gap:10px}.locales-page .local-flow__space>input{grid-column:1;grid-row:1}.locales-page .local-flow__art{grid-column:2}.locales-page .local-flow__space>span:last-child{grid-column:3}.locales-page .local-flow__changes{grid-template-columns:1fr;gap:8px}.locales-page .local-flow__changes label{min-height:73px;padding:14px}.locales-page .local-flow select,.locales-page .local-flow textarea{font-size:16px}.locales-page .local-flow__navigation>.btn{flex:1}.locales-page .local-flow__actions>.btn{width:100%}.locales-page .local-flow__step>h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.locales-page .local-flow *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* TRAMUNTANA_LOCALES_CSS_END */
/* TRAMUNTANA_LUJO_CSS_START */
/* Body of Lujo only. Shared header, hero geometry, project cards and CTA remain untouched. */
.servicio-html .lujo-page{--lux-line:rgba(29,29,27,.18);--lux-paper:#f2f1ed;--lux-muted:#55554e;min-width:0;color:#1d1d1b;background:#e6e4df}
.servicio-html .lujo-page *,.servicio-html .lujo-page *::before,.servicio-html .lujo-page *::after{box-sizing:border-box}
.servicio-html .lujo-page [hidden]{display:none!important}
.servicio-html .lujo-page [id]{scroll-margin-top:120px}
.servicio-html .lujo-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .lujo-page figure{margin:0;min-width:0}
.servicio-html .lujo-page img{display:block;max-width:100%}
.servicio-html .lujo-page :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid #42646b;outline-offset:5px}
.servicio-html .lujo-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .lujo-page .lux-image-note{position:absolute;bottom:20px;left:20px;padding:7px 10px;background:rgba(29,29,27,.82);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .lujo-page .lux-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,7vw,100px);align-items:start}
.servicio-html .lujo-page .lux-split h2{max-width:18ch;margin:0 0 26px}
.servicio-html .lujo-page .lux-split p{font-size:15px;line-height:1.65;margin:0 0 20px;max-width:59ch}
.servicio-html .lujo-page .lux-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--lux-line)}
.servicio-html .lujo-page .lux-benefits li{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:22px;padding:20px 0;border-bottom:1px solid var(--lux-line);font-size:13px;line-height:1.55}
.servicio-html .lujo-page .lux-benefits b{font-size:14px;font-weight:500}
.servicio-html .lujo-page .lux-benefits span{color:var(--lux-muted)}
.servicio-html .lujo-page .lux-cover{display:block}
.servicio-html .lujo-page .service-demo-note{margin-top:24px}
.servicio-html .lujo-page .lux-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(24px,6vw,90px);align-items:end;margin-bottom:44px}
.servicio-html .lujo-page .lux-section-head h2{max-width:20ch;margin:0}
.servicio-html .lujo-page .lux-section-head p{font-size:15px;line-height:1.65;max-width:50ch;margin:0}
.servicio-html .lujo-page .lux-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px)}
.servicio-html .lujo-page .lux-detail-grid article{border-top:1px solid var(--lux-line);padding-top:24px}
.servicio-html .lujo-page .lux-number{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#42646b}
.servicio-html .lujo-page .lux-detail-grid h3{font-size:clamp(28px,2.8vw,42px);font-weight:300;line-height:1.06;letter-spacing:-.02em;margin:26px 0 22px;max-width:17ch}
.servicio-html .lujo-page .lux-detail-grid p{font-size:14px;line-height:1.65;color:var(--lux-muted)}
.servicio-html .lujo-page .lux-detail-tip{font-size:12px!important;background:var(--lux-paper);padding:19px;margin-top:24px}
.servicio-html .lujo-page .lux-detail-tip b{font-weight:500;color:#1d1d1b}
.servicio-html .lujo-page .lux-focus{background:#35352f;color:#fff}
.servicio-html .lujo-page .lux-split--photo{grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:center}
.servicio-html .lujo-page .lux-focus img{width:100%;height:clamp(400px,48vw,660px);object-fit:cover;object-position:40% center}
.servicio-html .lujo-page .lux-focus figcaption{font-size:11px;line-height:1.5;color:#c4c4bd;margin-top:12px}
.servicio-html .lujo-page .lux-focus h2{color:#fff}
.servicio-html .lujo-page .lux-focus .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .lujo-page .lux-focus p{color:#e0e0da}
.servicio-html .lujo-page .lux-focus-list{list-style:none;padding:0;margin:26px 0;border-top:1px solid rgba(255,255,255,.2)}
.servicio-html .lujo-page .lux-focus-list li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.servicio-html .lujo-page .lux-focus-list b{display:block;font-weight:500;font-size:14px;margin-bottom:7px}
.servicio-html .lujo-page .lux-focus-list span{display:block;font-size:13px;line-height:1.6;color:#d0d0c9}
.servicio-html .lujo-page .lux-focus-route{font-size:13px!important}
.servicio-html .lujo-page .lux-focus a{color:#c2e1e4;text-decoration:underline;text-underline-offset:4px}
.servicio-html .lujo-page .lux-focus :focus-visible{outline-color:#c2e1e4}
.servicio-html .lujo-page .lux-price{font-size:clamp(34px,4.7vw,68px)!important;font-weight:300;line-height:1.12!important;letter-spacing:-.03em;margin:30px 0 22px!important}
.servicio-html .lujo-page .lux-price span{font-size:18px;white-space:nowrap;letter-spacing:0}
.servicio-html .lujo-page .lux-small{font-size:12px!important;line-height:1.6!important;color:var(--lux-muted)}
.servicio-html .lujo-page .lux-link{display:inline-flex;align-items:center;gap:20px;min-height:46px;padding:10px 0;border-bottom:1px solid #42646b;color:#1d1d1b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .lujo-page .lux-budget-aside{background:var(--lux-paper);padding:clamp(24px,3.5vw,50px)}
.servicio-html .lujo-page .lux-budget-aside h3{font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.1;margin:0 0 22px}
.servicio-html .lujo-page .lux-budget-aside>p{font-size:14px}
.servicio-html .lujo-page .lux-budget-list{list-style:none;padding:0;margin:24px 0 0;counter-reset:lux-budget}
.servicio-html .lujo-page .lux-budget-list li{position:relative;border-top:1px solid var(--lux-line);padding:18px 0 18px 34px;counter-increment:lux-budget}
.servicio-html .lujo-page .lux-budget-list li::before{content:'0' counter(lux-budget);position:absolute;left:0;top:20px;font-size:11px;color:#42646b}
.servicio-html .lujo-page .lux-budget-list b{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.servicio-html .lujo-page .lux-budget-list span{display:block;font-size:13px;line-height:1.6;color:var(--lux-muted)}
.servicio-html .lujo-page .lux-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:0;margin:0;list-style:none}
.servicio-html .lujo-page .lux-process-grid li{border-top:1px solid var(--lux-line);padding-top:22px}
.servicio-html .lujo-page .lux-process-grid span{font-size:11px;color:#42646b}
.servicio-html .lujo-page .lux-process-grid h3{font-size:clamp(24px,2.1vw,32px);font-weight:350;line-height:1.1;margin:25px 0 17px}
.servicio-html .lujo-page .lux-process-grid p{font-size:14px;line-height:1.65;color:var(--lux-muted)}
.servicio-html .lujo-page .lux-faq .head{margin-bottom:34px}
.servicio-html .lujo-page .lux-faq .a{max-width:75ch}
@media(max-width:1100px){.servicio-html .lujo-page .lux-benefits li{grid-template-columns:1fr;gap:6px}.servicio-html .lujo-page .lux-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.servicio-html .lujo-page .lux-split,.servicio-html .lujo-page .lux-split--photo,.servicio-html .lujo-page .lux-section-head{grid-template-columns:minmax(0,1fr);gap:30px}.servicio-html .lujo-page .lux-detail-grid{grid-template-columns:1fr;gap:30px}.servicio-html .lujo-page .lux-detail-grid h3{max-width:none}.servicio-html .lujo-page .lux-focus img{height:clamp(330px,70vw,500px)}}
@media(max-width:520px){.servicio-html .lujo-page .lux-process-grid{grid-template-columns:1fr}.servicio-html .lujo-page .lux-image-note{font-size:9px;left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.servicio-html .lujo-page *{scroll-behavior:auto!important}.servicio-html .lujo-page .mos img{transform:none!important;transition:none!important}}
/* Only the two new concept project bodies: allow long metadata to wrap in the native grid. */
:is(.post-245,.post-247) .two.top>*{min-width:0}
:is(.post-245,.post-247) .content-wysiwyg,:is(.post-245,.post-247) .fic{overflow-wrap:anywhere}
:is(.post-245,.post-247) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.post-245,.post-247) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}:is(.post-245,.post-247) .fic li span{max-width:100%;text-align:left}}

/* Local body module only. Shared hero, header, related cards and CTA are untouched. */
.lujo-page .lujo-guide{--lg-line:#b9bbb3;--lg-dark:#42646b;--lg-paper:var(--bone-3,#f2f1ed);padding:clamp(22px,3.5vw,52px);border:1px solid var(--lg-line);background:var(--lg-paper);color:var(--ink,#1d1d1b);min-width:0}
.lujo-page .lujo-guide *,.lujo-page .lujo-guide *::before,.lujo-page .lujo-guide *::after{box-sizing:border-box}
.lujo-page .lujo-guide [hidden]{display:none!important}
.lujo-page .lujo-guide :is(input,textarea,button,a,summary):focus-visible{outline:2px solid var(--lg-dark);outline-offset:4px}
.lujo-page #lujo-guia{scroll-margin-top:110px}
.lujo-page .lujo-guide__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:end}
.lujo-page .lujo-guide__head .eyebrow{margin-bottom:16px}
.lujo-page .lujo-guide__head h2{max-width:22ch;font-size:clamp(29px,3.05vw,48px);line-height:1.09;margin:0;font-weight:300;letter-spacing:-.025em}
.lujo-page .lujo-guide__head>p{max-width:53ch;margin:0;font-size:14px;line-height:1.7}
.lujo-page .lujo-guide__form{margin:32px 0 0;min-width:0}
.lujo-page .lujo-guide__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.1vw,30px)}
.lujo-page .lujo-guide fieldset{padding:0;margin:0;border:0;min-width:0}
.lujo-page .lujo-guide legend{display:block;width:100%;padding:0 0 15px;font-size:13px;font-weight:550;line-height:1.5}
.lujo-page .lujo-guide legend>span{display:inline-block;margin-right:8px;color:var(--lg-dark);font-size:11px;letter-spacing:.08em}
.lujo-page .lujo-guide__options{display:grid;gap:8px}
.lujo-page .lujo-guide__options label{display:flex;align-items:center;gap:11px;min-height:68px;padding:11px 13px;border:1px solid var(--lg-line);background:transparent;cursor:pointer;font-size:13px;line-height:1.45;transition:background .18s ease,border-color .18s ease}
.lujo-page .lujo-guide__options label:has(input:checked){background:#dce7e8;border-color:var(--lg-dark)}
.lujo-page .lujo-guide__options label:hover{border-color:var(--lg-dark)}
.lujo-page .lujo-guide__options input{position:static;display:block;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--lg-dark)}
.lujo-page .lujo-guide__options span{display:block;min-width:0}
.lujo-page .lujo-guide__options small{display:block;margin-top:3px;font-size:11px;line-height:1.45;color:#596156}
.lujo-page .lujo-guide__help{margin:15px 0 0;font-size:11px;line-height:1.6;color:#596156}
.lujo-page .lujo-guide__prompt{margin:25px 0 0;padding:16px 0 0;border-top:1px solid var(--lg-line);font-size:13px;line-height:1.6}
.lujo-page .lujo-guide__result{margin-top:32px;padding-top:28px;border-top:1px solid var(--lg-line)}
.lujo-page .lujo-guide__result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.lujo-page .lujo-guide__result-head .eyebrow{margin-bottom:12px;font-size:10px}
.lujo-page .lujo-guide__result-head h3{margin:0;font-weight:400;font-size:clamp(23px,2.4vw,34px);line-height:1.18;letter-spacing:-.025em;max-width:32ch}
.lujo-page .lujo-guide__reset,.lujo-page .lujo-guide__text-button{min-height:44px;padding:10px 2px;border:0;background:transparent;color:var(--ink,#1d1d1b);font:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;cursor:pointer}
.lujo-page .lujo-guide__reset{flex-shrink:0}
.lujo-page .lujo-guide__context{font-size:13px;line-height:1.7;max-width:95ch;margin:16px 0 23px}
.lujo-page .lujo-guide__decisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lujo-page .lujo-guide__decision{min-width:0;padding:20px;background:var(--bone-2,#dedcd6);border-top:3px solid var(--teal,#7fa8ae)}
.lujo-page .lujo-guide__decision-number{display:block;margin-bottom:14px;font-size:10px;letter-spacing:.12em;color:var(--lg-dark)}
.lujo-page .lujo-guide__decision h4{font-size:17px;font-weight:500;line-height:1.25;margin:0 0 13px;letter-spacing:-.01em}
.lujo-page .lujo-guide__decision>p{margin:0 0 15px;font-size:13px;line-height:1.65}
.lujo-page .lujo-guide__decision dl{margin:0;padding-top:14px;border-top:1px solid var(--lg-line)}
.lujo-page .lujo-guide__decision dt{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin:0 0 5px}
.lujo-page .lujo-guide__decision dd{font-size:12px;line-height:1.65;margin:0 0 13px}
.lujo-page .lujo-guide__decision dd:last-child{margin-bottom:0}
.lujo-page .lujo-guide__bottom{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;margin-top:29px}
.lujo-page .lujo-guide__bottom h4{font-size:14px;font-weight:550;margin:0 0 15px}
.lujo-page .lujo-guide__checklist{padding-left:18px;margin:0;font-size:12px;line-height:1.7}
.lujo-page .lujo-guide__checklist li+li{margin-top:8px}
.lujo-page .lujo-guide__note label,.lujo-page .lujo-guide__summary label{display:block;margin-bottom:12px;font-size:13px;font-weight:550;line-height:1.5}
.lujo-page .lujo-guide__note label>span{font-size:11px;font-weight:400;display:block;color:#596156}
.lujo-page .lujo-guide textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:110px;resize:vertical;padding:13px;border:1px solid var(--lg-line);border-radius:0;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:14px;line-height:1.65;opacity:1}
.lujo-page .lujo-guide textarea::placeholder{color:#62685e;opacity:1}
.lujo-page .lujo-guide__note>p{margin:9px 0 0;font-size:11px;line-height:1.6;color:#596156}
.lujo-page .lujo-guide__summary{border-block:1px solid var(--lg-line);margin-top:26px;padding:0}
.lujo-page .lujo-guide__summary>summary{min-height:48px;padding:15px 0;font-size:12px;line-height:1.6;cursor:pointer}
.lujo-page .lujo-guide__summary[open]{padding-bottom:18px}
.lujo-page .lujo-guide__summary label{font-size:11px;font-weight:400}
.lujo-page .lujo-guide__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-top:24px}
.lujo-page .lujo-guide__actions>.btn{min-height:46px;max-width:100%;white-space:normal;color:var(--ink,#1d1d1b);background:var(--teal,#7fa8ae);border-color:var(--teal,#7fa8ae)}
.lujo-page .lujo-guide__disclaimer,.lujo-page .lujo-guide__fallback{font-size:11px;line-height:1.65;max-width:100ch;margin:15px 0 0;color:#596156}
.lujo-page .lujo-guide__fallback a{color:var(--lg-dark);text-decoration:underline}
.lujo-page .lujo-guide__status{font-size:12px;line-height:1.6;color:var(--lg-dark);margin:15px 0 0;min-height:0}
.lujo-page .lujo-guide__status:empty{display:none}
@media(max-width:1050px){.lujo-page .lujo-guide__decisions{grid-template-columns:1fr}.lujo-page .lujo-guide__decision{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);gap:0 24px}.lujo-page .lujo-guide__decision-number{grid-column:1}.lujo-page .lujo-guide__decision h4{grid-column:1}.lujo-page .lujo-guide__decision>p{grid-column:1;margin-bottom:0}.lujo-page .lujo-guide__decision dl{grid-column:2;grid-row:1/4;border:0;border-left:1px solid var(--lg-line);padding:0 0 0 23px}}
@media(max-width:850px){.lujo-page .lujo-guide__head{grid-template-columns:1fr;gap:18px}.lujo-page .lujo-guide__head>p{max-width:80ch}.lujo-page .lujo-guide__choices{grid-template-columns:1fr;gap:23px}.lujo-page .lujo-guide__options{grid-template-columns:repeat(3,minmax(0,1fr))}.lujo-page .lujo-guide__choices fieldset:last-child .lujo-guide__options{grid-template-columns:repeat(2,minmax(0,1fr))}.lujo-page .lujo-guide__options label{align-items:flex-start}.lujo-page .lujo-guide__options input{margin-top:3px}.lujo-page .lujo-guide__help{margin-top:10px}.lujo-page .lujo-guide__bottom{grid-template-columns:1fr;gap:25px}}
@media(max-width:560px){.lujo-page .lujo-guide{padding:23px 17px}.lujo-page .lujo-guide__options,.lujo-page .lujo-guide__choices fieldset:last-child .lujo-guide__options{grid-template-columns:1fr}.lujo-page .lujo-guide__options label{align-items:center;min-height:58px;padding:10px 12px}.lujo-page .lujo-guide__options input{margin-top:0}.lujo-page .lujo-guide__head h2{font-size:29px}.lujo-page .lujo-guide__form{margin-top:26px}.lujo-page .lujo-guide__result-head{display:block}.lujo-page .lujo-guide__reset{margin-top:10px}.lujo-page .lujo-guide__decision{display:block;padding:18px}.lujo-page .lujo-guide__decision dl{margin-top:15px;padding:14px 0 0;border:0;border-top:1px solid var(--lg-line)}.lujo-page .lujo-guide textarea{font-size:16px}.lujo-page .lujo-guide__actions{gap:7px 20px}.lujo-page .lujo-guide__actions>.btn{width:100%;text-align:center}.lujo-page .lujo-guide__actions>.lujo-guide__text-button{flex:1}}
@media(prefers-reduced-motion:reduce){.lujo-page .lujo-guide *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* TRAMUNTANA_LUJO_CSS_END */
/* TRAMUNTANA_EXTERIORES_CSS_START */
.servicio-html .exteriores-page{--ext-line:rgba(29,29,27,.18);--ext-muted:#55554e;min-width:0;color:#1d1d1b;background:#e6e4df}
.servicio-html .exteriores-page *,.servicio-html .exteriores-page *::before,.servicio-html .exteriores-page *::after{box-sizing:border-box}
.servicio-html .exteriores-page [hidden]{display:none!important}
.servicio-html .exteriores-page [id]{scroll-margin-top:120px}
.servicio-html .exteriores-page :is(h1,h2,h3,p,li){overflow-wrap:break-word}
.servicio-html .exteriores-page figure{margin:0;min-width:0}
.servicio-html .exteriores-page img{display:block;max-width:100%}
.servicio-html .exteriores-page :is(a,button,input,select,summary):focus-visible{outline:2px solid #42646b;outline-offset:5px}
.servicio-html .exteriores-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .exteriores-page .ext-image-note{position:absolute;bottom:20px;left:20px;padding:7px 10px;background:rgba(29,29,27,.82);color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .exteriores-page .ext-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,7vw,100px);align-items:start}
.servicio-html .exteriores-page .ext-split h2{max-width:19ch;margin:0 0 26px}
.servicio-html .exteriores-page .ext-split p{font-size:15px;line-height:1.65;margin:0 0 20px;max-width:60ch}
.servicio-html .exteriores-page .ext-link{display:inline-flex;align-items:center;gap:20px;min-height:46px;padding:10px 0;border-bottom:1px solid #42646b;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.servicio-html .exteriores-page .ext-cover{display:block}
.servicio-html .exteriores-page .service-demo-note{margin-top:24px}
.servicio-html .exteriores-page .ext-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.75fr);gap:clamp(24px,6vw,90px);align-items:end;margin-bottom:44px}
.servicio-html .exteriores-page .ext-section-head h2{max-width:20ch;margin:0}
.servicio-html .exteriores-page .ext-section-head p{font-size:15px;line-height:1.65;margin:0;max-width:50ch}
.servicio-html .exteriores-page .ext-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,60px)}
.servicio-html .exteriores-page .ext-swatch{height:130px;margin-bottom:25px;border:1px solid #bab5aa}
.servicio-html .exteriores-page .ext-swatch--ceramica{background:linear-gradient(90deg,transparent 49.7%,#8f8b83 49.8%,#8f8b83 50.2%,transparent 50.3%),linear-gradient(transparent 49.5%,#8f8b83 49.6%,#8f8b83 50.4%,transparent 50.5%),#d0c5b4}
.servicio-html .exteriores-page .ext-swatch--piedra{background:radial-gradient(ellipse at 20% 35%,#d4c4a5 0%,transparent 45%),radial-gradient(ellipse at 78% 80%,#b5a388 0%,transparent 40%),linear-gradient(112deg,#c1b299,#e0d5c2 45%,#c1b299)}
.servicio-html .exteriores-page .ext-swatch--madera{background:repeating-linear-gradient(90deg,#957252 0,#a98664 6px,#a58260 42px,#695039 43px,#695039 45px)}
.servicio-html .exteriores-page .ext-number{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#42646b}
.servicio-html .exteriores-page .ext-material-grid h3{font-size:clamp(26px,2.5vw,39px);font-weight:300;line-height:1.08;margin:24px 0 18px}
.servicio-html .exteriores-page .ext-material-grid p{font-size:14px;line-height:1.65;color:var(--ext-muted)}
.servicio-html .exteriores-page .ext-detail{border-top:1px solid var(--ext-line);padding-top:20px;margin-top:22px}
.servicio-html .exteriores-page .ext-detail b{font-weight:500;color:#1d1d1b}
.servicio-html .exteriores-page .ext-small{font-size:12px!important;line-height:1.6!important;color:var(--ext-muted)}
.servicio-html .exteriores-page .ext-materials .ext-small{margin-top:32px}
.servicio-html .exteriores-page .ext-focus{background:#35352f;color:white}
.servicio-html .exteriores-page .ext-split--photo{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center}
.servicio-html .exteriores-page .ext-focus img{width:100%;height:clamp(400px,48vw,660px);object-fit:cover;object-position:35% center}
.servicio-html .exteriores-page .ext-focus figcaption{font-size:11px;line-height:1.5;color:#c4c4bd;margin-top:12px}
.servicio-html .exteriores-page .ext-focus h2{color:#fff}
.servicio-html .exteriores-page .ext-focus .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .exteriores-page .ext-focus p{color:#e0e0da}
.servicio-html .exteriores-page .ext-focus-list{list-style:none;padding:0;margin:26px 0;border-top:1px solid rgba(255,255,255,.2)}
.servicio-html .exteriores-page .ext-focus-list li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.servicio-html .exteriores-page .ext-focus-list b{display:block;font-weight:500;font-size:14px;margin-bottom:7px}
.servicio-html .exteriores-page .ext-focus-list span{display:block;font-size:13px;line-height:1.6;color:#d0d0c9}
.servicio-html .exteriores-page .ext-focus-route{font-size:13px!important}
.servicio-html .exteriores-page .ext-focus a{color:#c2e1e4;text-decoration:underline;text-underline-offset:4px}
.servicio-html .exteriores-page .ext-focus :focus-visible{outline-color:#c2e1e4}
.servicio-html .exteriores-page .ext-price{font-size:clamp(34px,4.7vw,68px)!important;font-weight:300;line-height:1.12!important;letter-spacing:-.03em;margin:30px 0 22px!important}
.servicio-html .exteriores-page .ext-price span{font-size:26px}
.servicio-html .exteriores-page .ext-budget{background:#f2f1ed;padding:clamp(24px,3.5vw,50px)}
.servicio-html .exteriores-page .ext-budget h3{font-size:clamp(28px,3vw,42px);font-weight:300;line-height:1.1;margin:0 0 22px}
.servicio-html .exteriores-page .ext-budget ol{list-style:none;padding:0;margin:24px 0 0;counter-reset:ext-budget}
.servicio-html .exteriores-page .ext-budget li{position:relative;border-top:1px solid var(--ext-line);padding:18px 0 18px 34px;counter-increment:ext-budget}
.servicio-html .exteriores-page .ext-budget li::before{content:'0' counter(ext-budget);position:absolute;left:0;top:20px;font-size:11px;color:#42646b}
.servicio-html .exteriores-page .ext-budget b{display:block;font-size:14px;font-weight:500;margin-bottom:6px}
.servicio-html .exteriores-page .ext-budget span{display:block;font-size:13px;line-height:1.6;color:var(--ext-muted)}
.servicio-html .exteriores-page .ext-base{background:#dedcd6}
.servicio-html .exteriores-page .ext-base a{text-decoration:underline;text-underline-offset:3px}
.servicio-html .exteriores-page .ext-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:0;margin:0;list-style:none}
.servicio-html .exteriores-page .ext-process-grid li{border-top:1px solid var(--ext-line);padding-top:22px}
.servicio-html .exteriores-page .ext-process-grid span{font-size:11px;color:#42646b}
.servicio-html .exteriores-page .ext-process-grid h3{font-size:clamp(24px,2.1vw,32px);font-weight:350;line-height:1.1;margin:25px 0 17px}
.servicio-html .exteriores-page .ext-process-grid p{font-size:14px;line-height:1.65;color:var(--ext-muted)}
.servicio-html .exteriores-page .ext-faq .head{margin-bottom:34px}
.servicio-html .exteriores-page .ext-faq .a{max-width:75ch}
@media(min-width:701px) and (max-width:860px){.servicio-html .exteriores-page .service-related .mos>a:last-child{grid-column:1/-1}}
@media(max-width:1100px){.servicio-html .exteriores-page .ext-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.servicio-html .exteriores-page .ext-split,.servicio-html .exteriores-page .ext-split--photo,.servicio-html .exteriores-page .ext-section-head{grid-template-columns:minmax(0,1fr);gap:30px}.servicio-html .exteriores-page .ext-material-grid{grid-template-columns:1fr;gap:30px}.servicio-html .exteriores-page .ext-swatch{height:110px}.servicio-html .exteriores-page .ext-focus img{height:clamp(330px,70vw,500px)}}
@media(max-width:520px){.servicio-html .exteriores-page .ext-process-grid{grid-template-columns:1fr}.servicio-html .exteriores-page .ext-image-note{font-size:9px;left:12px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.servicio-html .exteriores-page *{scroll-behavior:auto!important}.servicio-html .exteriores-page .mos img{transform:none!important;transition:none!important}}
/* New concept project metadata only; do not alter other projects. */
:is(.post-250,.post-253) .two.top>*{min-width:0}
:is(.post-250,.post-253) .content-wysiwyg,:is(.post-250,.post-253) .fic{overflow-wrap:anywhere}
:is(.post-250,.post-253) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.post-250,.post-253) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}:is(.post-250,.post-253) .fic li span{max-width:100%;text-align:left}}

/* Only the terrace body tool; no shared hero, CTA or header overrides. */
.exteriores-page .terraza-tool{--tt-paper:var(--bone-3,#f2f1ed);--tt-line:#b4b9ae;--tt-dark:#42646b;--tt-accent:var(--teal,#7fa8ae);padding:clamp(22px,3.2vw,48px);background:var(--tt-paper);border:1px solid var(--tt-line);color:var(--ink,#1d1d1b);min-width:0}
.exteriores-page .terraza-tool *,.exteriores-page .terraza-tool *::before,.exteriores-page .terraza-tool *::after{box-sizing:border-box}
.exteriores-page .terraza-tool [hidden]{display:none!important}
.exteriores-page #terraza-planificador{scroll-margin-top:110px}
.exteriores-page .terraza-tool :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--tt-dark);outline-offset:4px}
.exteriores-page .terraza-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:end;margin-bottom:30px}
.exteriores-page .terraza-tool__head .eyebrow{margin-bottom:15px}
.exteriores-page .terraza-tool__head h2{font-size:clamp(29px,3.2vw,49px);line-height:1.08;font-weight:300;letter-spacing:-.025em;margin:0;max-width:20ch}
.exteriores-page .terraza-tool__head p{font-size:14px;line-height:1.7;max-width:55ch;margin:0}
.exteriores-page .terraza-tool__form{margin:0;min-width:0}
.exteriores-page .terraza-tool__workspace{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.3fr);gap:clamp(22px,3vw,44px);align-items:start}
.exteriores-page .terraza-tool__controls,.exteriores-page .terraza-tool__display{min-width:0}
.exteriores-page .terraza-tool fieldset{padding:0;margin:0 0 23px;border:0;min-width:0}
.exteriores-page .terraza-tool legend{font-size:13px;line-height:1.5;font-weight:550;margin:0 0 10px;padding:0}
.exteriores-page .terraza-tool__hint{font-size:11px;line-height:1.65;color:#596156;margin:0 0 12px;max-width:90ch}
.exteriores-page .terraza-tool__measurements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.exteriores-page .terraza-tool__measurements label{display:block;margin:0 0 8px;font-size:12px;line-height:1.5}
.exteriores-page .terraza-tool__measurements label span{color:#596156}
.exteriores-page .terraza-tool input[type=text]{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--tt-line);border-radius:0;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:17px;opacity:1;pointer-events:auto}
.exteriores-page .terraza-tool input[aria-invalid=true]{border-color:#913e33}
.exteriores-page .terraza-tool__error{font-size:11px;line-height:1.5;color:#913e33;margin:8px 0 0}
.exteriores-page .terraza-tool__error:empty{display:none}
.exteriores-page .terraza-tool__radios{display:flex;flex-wrap:wrap;gap:8px}
.exteriores-page .terraza-tool__radios label{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;flex:1;border:1px solid var(--tt-line);font-size:12px;line-height:1.5;cursor:pointer}
.exteriores-page .terraza-tool__radios label:has(input:checked){background:#dce7e8;border-color:var(--tt-dark)}
.exteriores-page .terraza-tool__radios input{position:static;display:block;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;opacity:1;accent-color:var(--tt-dark);pointer-events:auto}
.exteriores-page .terraza-tool__radios small{display:block;color:#596156;font-size:10px;line-height:1.5}
.exteriores-page .terraza-tool__seats label{justify-content:center;font-size:15px}
.exteriores-page .terraza-tool__control-actions,.exteriores-page .terraza-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}
.exteriores-page .terraza-tool .btn{min-height:46px;max-width:100%;white-space:normal;background:var(--tt-accent);border-color:var(--tt-accent);color:var(--ink,#1d1d1b)}
.exteriores-page .terraza-tool__text-button{min-height:44px;padding:10px 0;background:transparent;border:0;color:var(--ink,#1d1d1b);font:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.exteriores-page .terraza-tool__assumptions{margin-top:20px;border-top:1px solid var(--tt-line)}
.exteriores-page .terraza-tool summary{min-height:46px;padding:14px 0;font-size:12px;line-height:1.5;cursor:pointer}
.exteriores-page .terraza-tool__assumptions ul{margin:0 0 13px;padding-left:18px;font-size:11px;line-height:1.65}
.exteriores-page .terraza-tool__assumptions li+li{margin-top:7px}
.exteriores-page .terraza-tool__assumptions p{font-size:11px;line-height:1.65;color:#596156;margin:0}
.exteriores-page .terraza-tool__empty{display:grid;place-content:center;justify-items:center;min-height:380px;padding:28px;background:var(--bone-2,#dedcd6);border:1px solid var(--tt-line);text-align:center}
.exteriores-page .terraza-tool__empty-plan{display:block;width:120px;height:85px;border:1px solid var(--tt-dark);background:linear-gradient(90deg,#bed4d4 20%,transparent 20%);margin-bottom:24px}
.exteriores-page .terraza-tool__empty p{font-size:13px;line-height:1.7;margin:0}
.exteriores-page .terraza-tool__result-head{display:flex;align-items:baseline;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:15px}
.exteriores-page .terraza-tool__result-head h3{font-size:clamp(21px,2.2vw,29px);font-weight:400;line-height:1.2;margin:0;letter-spacing:-.02em;scroll-margin-top:110px}
.exteriores-page .terraza-tool__result-head p{margin:0;font-size:12px;line-height:1.5}
.exteriores-page .terraza-tool__alternatives{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.exteriores-page .terraza-tool__alternatives button{min-height:44px;padding:10px 13px;border:1px solid var(--tt-line);background:transparent;color:var(--ink,#1d1d1b);font:inherit;font-size:12px;line-height:1.5;cursor:pointer;flex:1}
.exteriores-page .terraza-tool__alternatives button[aria-pressed=true]{background:#dce7e8;border-color:var(--tt-dark)}
.exteriores-page .terraza-tool__plan{background:#e6e4df;border:1px solid var(--tt-line);min-width:0}
.exteriores-page .terraza-tool__plan svg{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:visible;font-family:Inter,system-ui,sans-serif}
.exteriores-page .terraza-tool__plan .tt-surface{fill:#f2f1ed;stroke:#35352f;stroke-width:1.5}
.exteriores-page .terraza-tool__plan .tt-pass{fill:#c5dada;stroke:#42646b;stroke-width:1;stroke-dasharray:5 4}
.exteriores-page .terraza-tool__plan .tt-use{fill:#e0d5c4;fill-opacity:.5;stroke:#736550;stroke-width:1.2;stroke-dasharray:5 3}
.exteriores-page .terraza-tool__plan .tt-furniture{fill:#aebead;stroke:#35352f;stroke-width:1.5}
.exteriores-page .terraza-tool__plan .tt-chair{fill:#e8e4db;stroke:#596156;stroke-width:1}
.exteriores-page .terraza-tool__plan .tt-label{fill:#35352f;font-size:15px}
.exteriores-page .terraza-tool__plan .tt-dimension{fill:#35352f;font-size:18px}
.exteriores-page .terraza-tool__plan .tt-measure{stroke:#697267;stroke-width:1;fill:none}
.exteriores-page .terraza-tool__legend{display:flex;flex-wrap:wrap;gap:10px 20px;padding:0;margin:15px 0;list-style:none;font-size:10px;line-height:1.5}
.exteriores-page .terraza-tool__legend li{display:flex;align-items:center;gap:7px}
.exteriores-page .terraza-tool__legend i{display:block;width:16px;height:13px;border:1px solid #697267}
.exteriores-page .terraza-tool__key--furniture{background:#aebead}
.exteriores-page .terraza-tool__key--use{background:#e0d5c4;border-style:dashed!important}
.exteriores-page .terraza-tool__key--pass{background:#c5dada;border-style:dashed!important}
.exteriores-page .terraza-tool__explanation{font-size:13px;line-height:1.7;margin:0}
.exteriores-page .terraza-tool__suggestion{font-size:12px;line-height:1.7;margin:12px 0 0;color:var(--tt-dark)}
.exteriores-page .terraza-tool__suggestion:empty{display:none}
.exteriores-page .terraza-tool__followup{margin-top:26px;border-top:1px solid var(--tt-line);padding-top:20px}
.exteriores-page .terraza-tool__limit{font-size:11px;line-height:1.7;color:#596156;margin:0 0 17px;max-width:110ch}
.exteriores-page .terraza-tool__summary{border-block:1px solid var(--tt-line);margin-bottom:20px}
.exteriores-page .terraza-tool__summary label{display:block;margin-bottom:10px;font-size:11px;line-height:1.5}
.exteriores-page .terraza-tool__summary textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:140px;padding:12px;border:1px solid var(--tt-line);border-radius:0;resize:vertical;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:14px;line-height:1.65;margin-bottom:18px}
.exteriores-page .terraza-tool__actions+.terraza-tool__hint{margin-top:13px;margin-bottom:0}
.exteriores-page .terraza-tool__status{font-size:12px;line-height:1.6;color:var(--tt-dark);margin:15px 0 0}
.exteriores-page .terraza-tool__status:empty{display:none}
@media(max-width:950px){.exteriores-page .terraza-tool__head{grid-template-columns:1fr;gap:18px}.exteriores-page .terraza-tool__workspace{grid-template-columns:1fr}.exteriores-page .terraza-tool__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.exteriores-page .terraza-tool__controls>fieldset:first-child{grid-row:1/3}.exteriores-page .terraza-tool__assumptions{grid-column:1/-1}.exteriores-page .terraza-tool__control-actions{grid-column:1/-1}.exteriores-page .terraza-tool__empty{min-height:260px}}
@media(max-width:580px){.exteriores-page .terraza-tool{padding:23px 17px}.exteriores-page .terraza-tool__controls{display:block}.exteriores-page .terraza-tool__head h2{font-size:29px}.exteriores-page .terraza-tool__control-actions>.btn{flex:1}.exteriores-page .terraza-tool__actions>.btn{width:100%;text-align:center}.exteriores-page .terraza-tool__actions>.terraza-tool__text-button{flex:1}.exteriores-page .terraza-tool__summary textarea{font-size:16px}.exteriores-page .terraza-tool__legend{gap:8px 13px}.exteriores-page .terraza-tool__alternatives button{font-size:11px;padding:10px 8px}.exteriores-page .terraza-tool__plan .tt-dimension{font-size:30px}.exteriores-page .terraza-tool__plan .tt-label{font-size:28px}.exteriores-page .terraza-tool__empty{min-height:220px}}
@media(prefers-reduced-motion:reduce){.exteriores-page .terraza-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* TRAMUNTANA_EXTERIORES_CSS_END */
/* TRAMUNTANA_HOTELES_CSS_START */
/* Tramuntana · Hoteles. Common hero, project cards, related mosaic and CTA remain native. */
.servicio-html .hoteles-page{--hp-line:rgba(29,29,27,.18);--hp-muted:#55554e;--hp-ink:#1d1d1b;--hp-coal:#35352f;--hp-teal-text:#42646b;min-width:0;background:#e6e4df;color:var(--hp-ink)}
.servicio-html .hoteles-page *,.servicio-html .hoteles-page *::before,.servicio-html .hoteles-page *::after{box-sizing:border-box}
.servicio-html .hoteles-page [hidden]{display:none!important}
.servicio-html .hoteles-page [id]{scroll-margin-top:120px}
.servicio-html .hoteles-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .hoteles-page figure{margin:0;min-width:0}
.servicio-html .hoteles-page img{display:block;max-width:100%}
.servicio-html .hoteles-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid var(--hp-teal-text);outline-offset:5px}
.servicio-html .hoteles-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .hoteles-page .hp-image-note{position:absolute;bottom:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .hoteles-page .hp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .hoteles-page .hp-split h2{max-width:18ch;margin:0 0 24px}
.servicio-html .hoteles-page .hp-split p{max-width:59ch;margin:0 0 20px;font-size:15px;line-height:1.65}
.servicio-html .hoteles-page .hp-split p:last-child{margin-bottom:0}
.servicio-html .hoteles-page .hp-intro .hp-split{align-items:center}
.servicio-html .hoteles-page .hp-link{display:inline-flex;align-items:center;gap:18px;max-width:100%;width:fit-content;min-height:46px;padding:9px 0;border-bottom:1px solid var(--hp-teal-text);color:var(--hp-ink);font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;transition:color .2s,gap .2s}
.servicio-html .hoteles-page .hp-link:hover{gap:24px;color:var(--hp-teal-text)}
.servicio-html .hoteles-page .hp-cover{display:block}
.servicio-html .hoteles-page .service-demo-note{margin-top:26px;margin-bottom:0}
.servicio-html .hoteles-page .service-reference__copy h3{margin-top:0}
.servicio-html .hoteles-page .hp-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:42px}
.servicio-html .hoteles-page .hp-section-head h2{max-width:20ch;margin:0}
.servicio-html .hoteles-page .hp-section-head p{max-width:52ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .hoteles-page .hp-number{font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-teal-text)}

/* Four compact zones share a single grid, not four new landing pages. */
.servicio-html .hoteles-page .hp-zones-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line)}
.servicio-html .hoteles-page .hp-zones-grid article{padding:26px 24px 30px;border-right:1px solid var(--hp-line)}
.servicio-html .hoteles-page .hp-zones-grid article:first-child{padding-left:0}
.servicio-html .hoteles-page .hp-zones-grid article:last-child{padding-right:0;border-right:0}
.servicio-html .hoteles-page .hp-zones-grid h3{max-width:17ch;margin:30px 0 18px;font-size:clamp(23px,2.15vw,33px);font-weight:350;line-height:1.1;letter-spacing:-.015em}
.servicio-html .hoteles-page .hp-zones-grid p{max-width:44ch;margin:0;font-size:14px;line-height:1.65;color:var(--hp-muted)}

/* Photo-led pilot room: materials, installation interfaces and daily operation. */
.servicio-html .hoteles-page .hp-focus{background:var(--hp-coal);color:#fff}
.servicio-html .hoteles-page .hp-focus-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(32px,6vw,92px);align-items:center}
.servicio-html .hoteles-page .hp-focus-image img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.servicio-html .hoteles-page .hp-focus-image figcaption{margin-top:13px;color:#c4c4bd;font-size:11px;line-height:1.5}
.servicio-html .hoteles-page .hp-focus .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .hoteles-page .hp-focus h2{max-width:18ch;margin:0 0 24px;color:#fff}
.servicio-html .hoteles-page .hp-focus p{max-width:57ch;margin:0 0 20px;color:#e0e0da;font-size:15px;line-height:1.65}
.servicio-html .hoteles-page .hp-pilot-checks{list-style:none;margin:26px 0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.servicio-html .hoteles-page .hp-pilot-checks li{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.servicio-html .hoteles-page .hp-pilot-checks b{display:block;margin-bottom:6px;font-size:14px;font-weight:500;line-height:1.5}
.servicio-html .hoteles-page .hp-pilot-checks span{display:block;font-size:13px;line-height:1.6;color:#d0d0c9}
.servicio-html .hoteles-page .hp-focus .hp-focus-note{font-size:12px;line-height:1.6;color:#c4c4bd;margin-bottom:0}
.servicio-html .hoteles-page .hp-focus :focus-visible{outline-color:#b5d0d3}

.servicio-html .hoteles-page .hp-budget-panel{min-width:0;background:#f2f1ed;padding:clamp(24px,3.5vw,50px)}
.servicio-html .hoteles-page .hp-budget-panel h3{max-width:19ch;margin:0 0 24px;font-size:clamp(28px,2.7vw,40px);font-weight:300;line-height:1.1;letter-spacing:-.02em}
.servicio-html .hoteles-page .hp-budget-panel dl{margin:0 0 24px}
.servicio-html .hoteles-page .hp-budget-panel dl>div{padding:17px 0;border-top:1px solid var(--hp-line)}
.servicio-html .hoteles-page .hp-budget-panel dl>div:last-child{border-bottom:1px solid var(--hp-line)}
.servicio-html .hoteles-page .hp-budget-panel dt{margin-bottom:6px;font-size:14px;font-weight:500;line-height:1.5}
.servicio-html .hoteles-page .hp-budget-panel dd{margin:0;font-size:13px;line-height:1.6;color:var(--hp-muted)}
.servicio-html .hoteles-page .hp-budget-panel p{font-size:12px;line-height:1.6;color:var(--hp-muted)}

.servicio-html .hoteles-page .hp-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,58px);margin:0;padding:0;list-style:none}
.servicio-html .hoteles-page .hp-process-grid li{padding-top:23px;border-top:1px solid var(--hp-line)}
.servicio-html .hoteles-page .hp-process-grid li>span{font-size:11px;color:var(--hp-teal-text);letter-spacing:.1em}
.servicio-html .hoteles-page .hp-process-grid h3{margin:27px 0 17px;font-size:clamp(25px,2.3vw,35px);font-weight:350;line-height:1.1;letter-spacing:-.015em}
.servicio-html .hoteles-page .hp-process-grid p{margin:0;font-size:14px;line-height:1.65;color:var(--hp-muted)}
.servicio-html .hoteles-page .hp-faq .head{margin-bottom:34px}
.servicio-html .hoteles-page .hp-faq .a{max-width:76ch}

@media(min-width:701px) and (max-width:860px){
 .servicio-html .hoteles-page .service-related .mos>a:last-child{grid-column:1/-1}
}
@media(max-width:1100px){
 .servicio-html .hoteles-page .hp-zones-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .servicio-html .hoteles-page .hp-zones-grid article{border-bottom:1px solid var(--hp-line)}
 .servicio-html .hoteles-page .hp-zones-grid article:nth-child(odd){padding-left:0}
 .servicio-html .hoteles-page .hp-zones-grid article:nth-child(even){border-right:0}
 .servicio-html .hoteles-page .hp-zones-grid article:nth-child(n+3){border-bottom:0}
}
@media(max-width:820px){
 .servicio-html .hoteles-page .hp-split,.servicio-html .hoteles-page .hp-section-head,.servicio-html .hoteles-page .hp-focus-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .servicio-html .hoteles-page .hp-image-note{bottom:12px;left:16px}
 .servicio-html .hoteles-page .hp-focus-image img{aspect-ratio:3/2}
 .servicio-html .hoteles-page .hp-process-grid{gap:22px}
 .servicio-html .hoteles-page .hp-process-grid h3{font-size:25px}
}
@media(max-width:600px){
 .servicio-html .hoteles-page .hp-process-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .servicio-html .hoteles-page .hp-process-grid h3{margin-top:16px}
 .servicio-html .hoteles-page .hp-zones-grid{grid-template-columns:minmax(0,1fr)}
 .servicio-html .hoteles-page .hp-zones-grid article,.servicio-html .hoteles-page .hp-zones-grid article:nth-child(n+3){padding:22px 0;border-right:0;border-bottom:1px solid var(--hp-line)}
 .servicio-html .hoteles-page .hp-zones-grid article:last-child{border-bottom:0}
 .servicio-html .hoteles-page .hp-zones-grid h3{max-width:24ch;margin-top:16px;font-size:27px}
 .servicio-html .hoteles-page .hp-budget-panel{padding:25px 22px}
}
@media(prefers-reduced-motion:reduce){
 .servicio-html .hoteles-page *{scroll-behavior:auto!important}
 .servicio-html .hoteles-page .hp-link{transition:none}
 .servicio-html .hoteles-page .mos img{transform:none!important;transition:none!important}
}

/* Hotel brief only. Shared hero, related services and final CTA are untouched. */
.hoteles-page .ht-tool{--ht-paper:var(--bone-3,#f2f1ed);--ht-line:#afb5ab;--ht-dark:#42646b;--ht-accent:var(--teal,#7fa8ae);padding:clamp(22px,3.2vw,48px);background:var(--ht-paper);border:1px solid var(--ht-line);color:var(--ink,#1d1d1b);min-width:0}
.hoteles-page .ht-tool *,.hoteles-page .ht-tool *::before,.hoteles-page .ht-tool *::after{box-sizing:border-box}
.hoteles-page .ht-tool [hidden]{display:none!important}
.hoteles-page #ht-planificador{scroll-margin-top:110px}
.hoteles-page .ht-tool :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ht-dark);outline-offset:4px}
.hoteles-page .ht-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:30px;margin-bottom:30px}
.hoteles-page .ht-head .eyebrow{margin-bottom:15px}
.hoteles-page .ht-head h2{font-size:clamp(29px,3.2vw,49px);font-weight:300;line-height:1.08;letter-spacing:-.025em;margin:0;max-width:22ch}
.hoteles-page .ht-head p{font-size:14px;line-height:1.7;margin:0;max-width:55ch}
.hoteles-page .ht-form{margin:0;min-width:0}
.hoteles-page .ht-workspace{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(24px,3.4vw,52px);align-items:start}
.hoteles-page .ht-controls,.hoteles-page .ht-display,.hoteles-page .ht-field{min-width:0}
.hoteles-page .ht-tool fieldset{padding:0;margin:0 0 23px;border:0;min-width:0}
.hoteles-page .ht-tool legend,.hoteles-page .ht-field>label{font-size:13px;line-height:1.5;font-weight:500;margin:0 0 8px;padding:0;display:block}
.hoteles-page .ht-hint{font-size:12px;line-height:1.6;color:#50594f;margin:8px 0 0}
.hoteles-page .ht-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.hoteles-page .ht-chips label{display:flex;align-items:center;gap:9px;min-height:48px;padding:11px;border:1px solid var(--ht-line);font-size:12px;line-height:1.45;cursor:pointer;background:transparent;transition:background .18s,border-color .18s}
.hoteles-page .ht-chips label:has(input:checked){background:#dce7e8;border-color:var(--ht-dark)}
.hoteles-page .ht-chips label:has(input:disabled){cursor:default}
.hoteles-page .ht-chips input{position:static;display:block;flex:0 0 18px;min-width:18px;width:18px;height:18px;margin:0;opacity:1;accent-color:var(--ht-dark);pointer-events:auto}
.hoteles-page .ht-selects{display:grid;grid-template-columns:1fr;gap:17px}
.hoteles-page .ht-tool :is(input[type=text],input[type=date],select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--ht-line);border-radius:0;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:16px;line-height:1.5;opacity:1;pointer-events:auto}
.hoteles-page .ht-tool select{padding-right:30px}
.hoteles-page .ht-tool input[type=date]{min-inline-size:0}
.hoteles-page .ht-tool textarea{resize:vertical}
.hoteles-page .ht-tool [aria-invalid=true]{border-color:#913e33}
.hoteles-page .ht-error{font-size:12px;line-height:1.5;color:#913e33;margin:8px 0 0}
.hoteles-page .ht-error:empty{display:none}
.hoteles-page .ht-extra{margin-top:22px;border-block:1px solid var(--ht-line)}
.hoteles-page .ht-tool summary{min-height:46px;padding:13px 0;font-size:12px;line-height:1.6;cursor:pointer}
.hoteles-page .ht-extra summary span{color:#50594f;margin-left:8px;font-size:11px}
.hoteles-page .ht-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:6px 0 16px}
.hoteles-page .ht-extra>.ht-field{margin-bottom:18px}
.hoteles-page .ht-text-button{min-height:44px;padding:10px 0;background:transparent;border:0;color:var(--ink,#1d1d1b);font:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.hoteles-page .ht-controls>.ht-text-button{margin-top:9px}
.hoteles-page .ht-empty{padding:clamp(24px,3vw,40px);background:var(--bone-2,#dedcd6);border:1px solid var(--ht-line);min-height:330px;display:flex;flex-direction:column;justify-content:center}
.hoteles-page .ht-sheet-icon{display:block;width:48px;height:58px;border:1px solid var(--ht-dark);background:repeating-linear-gradient(to bottom,transparent 0 8px,var(--ht-dark) 8px 9px,transparent 9px 14px) center/27px 31px no-repeat;margin-bottom:22px}
.hoteles-page .ht-empty h3,.hoteles-page .ht-result-head h3{font-size:clamp(22px,2.1vw,30px);line-height:1.18;font-weight:400;letter-spacing:-.02em;margin:0 0 13px}
.hoteles-page .ht-empty p,.hoteles-page .ht-empty ul{font-size:13px;line-height:1.7;margin:0}
.hoteles-page .ht-empty ul{padding-left:18px;margin-top:15px}
.hoteles-page .ht-empty li+li{margin-top:5px}
.hoteles-page .ht-result-head .eyebrow{margin-bottom:16px}
.hoteles-page .ht-result-head h3{scroll-margin-top:110px}
.hoteles-page .ht-facts{display:grid;grid-template-columns:minmax(90px,.35fr) minmax(0,1fr);gap:8px 15px;padding:16px 0;margin:0;border-block:1px solid var(--ht-line);font-size:12px;line-height:1.65}
.hoteles-page .ht-facts dt{color:#50594f;font-weight:400}
.hoteles-page .ht-facts dd{margin:0;overflow-wrap:anywhere}
.hoteles-page .ht-direction{font-size:13px;line-height:1.7;margin:16px 0}
.hoteles-page .ht-warning{padding:13px 15px;border-left:3px solid var(--ht-dark);background:#e3e8e4;font-size:12px;line-height:1.7}
.hoteles-page .ht-check-title{font-size:14px;line-height:1.5;font-weight:500;margin:22px 0 13px}
.hoteles-page .ht-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hoteles-page .ht-check-card{padding-top:12px;border-top:1px solid var(--ht-line);min-width:0}
.hoteles-page .ht-check-card h5{font-size:12px;line-height:1.5;font-weight:500;margin:0 0 7px}
.hoteles-page .ht-check-card ul{padding-left:16px;margin:0;font-size:12px;line-height:1.6}
.hoteles-page .ht-check-card li+li{margin-top:7px}
.hoteles-page .ht-summary{margin:21px 0 15px;border-block:1px solid var(--ht-line)}
.hoteles-page .ht-summary label{display:block;margin:0 0 8px;font-size:12px}
.hoteles-page .ht-summary textarea{min-height:200px;font-size:13px;line-height:1.65;margin-bottom:16px}
.hoteles-page .ht-actions{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap}
.hoteles-page .ht-actions>.btn{min-height:46px;max-width:100%;white-space:normal}
.hoteles-page .ht-contact-help{margin-top:12px}
.hoteles-page .ht-status{font-size:12px;line-height:1.6;color:var(--ht-dark);margin:16px 0 0}
.hoteles-page .ht-status:empty{display:none}
.hoteles-page .ht-limit{font-size:12px;line-height:1.7;color:#50594f;margin:24px 0 0;padding-top:18px;border-top:1px solid var(--ht-line)}
@media(max-width:950px){.hoteles-page .ht-head{grid-template-columns:1fr;gap:17px}.hoteles-page .ht-workspace{grid-template-columns:1fr}.hoteles-page .ht-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.hoteles-page .ht-empty{min-height:220px}}
@media(max-width:580px){.hoteles-page .ht-tool{padding:23px 17px}.hoteles-page .ht-head h2{font-size:29px}.hoteles-page .ht-chips,.hoteles-page .ht-selects,.hoteles-page .ht-extra-grid,.hoteles-page .ht-checklist{grid-template-columns:1fr}.hoteles-page .ht-chips label{min-height:46px;font-size:13px}.hoteles-page .ht-actions>.btn{width:100%;text-align:center}.hoteles-page .ht-actions>.ht-text-button{flex:1}.hoteles-page .ht-facts{grid-template-columns:1fr;gap:3px}.hoteles-page .ht-facts dd+dt{margin-top:8px}.hoteles-page .ht-summary textarea{font-size:16px}.hoteles-page .ht-empty{padding:23px 20px}}
@media(prefers-reduced-motion:reduce){.hoteles-page .ht-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Hotel concept project metadata only. */
:is(.post-258,.post-261) .two.top>*{min-width:0}
:is(.post-258,.post-261) .content-wysiwyg,:is(.post-258,.post-261) .fic{overflow-wrap:anywhere}
:is(.post-258,.post-261) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.post-258,.post-261) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}:is(.post-258,.post-261) .fic li span{max-width:100%;text-align:left}}
/* TRAMUNTANA_HOTELES_CSS_END */

/* TRAMUNTANA_GARAJES_CSS_START */
/* Garajes body only. Native hero, buttons, project cards, related mosaic and closing CTA remain shared. */
.servicio-html .garajes-page{--gp-line:rgba(29,29,27,.18);--gp-muted:#55554e;--gp-teal-text:#42646b;min-width:0;background:var(--bone,#e6e4df);color:var(--ink,#1d1d1b)}
.servicio-html .garajes-page *,.servicio-html .garajes-page *::before,.servicio-html .garajes-page *::after{box-sizing:border-box}
.servicio-html .garajes-page [hidden]{display:none!important}
.servicio-html .garajes-page [id]{scroll-margin-top:120px}
.servicio-html .garajes-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .garajes-page figure{margin:0;min-width:0}
.servicio-html .garajes-page img{display:block;max-width:100%}
.servicio-html .garajes-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid var(--gp-teal-text);outline-offset:5px}
.servicio-html .garajes-page .gp-image-note{position:absolute;bottom:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .garajes-page .gp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(30px,7vw,105px);align-items:center}
.servicio-html .garajes-page .gp-split h2{max-width:20ch;margin:0}
.servicio-html .garajes-page .gp-split p{max-width:60ch;margin:0 0 18px;font-size:15px;line-height:1.7}
.servicio-html .garajes-page .gp-split p:last-child{margin-bottom:0}
.servicio-html .garajes-page .gp-inline-link{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--gp-teal-text)}
.servicio-html .garajes-page .gp-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,58px);margin:36px 0 0;padding:24px 0 0;list-style:none;border-top:1px solid var(--gp-line)}
.servicio-html .garajes-page .gp-benefits b{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:5px}
.servicio-html .garajes-page .gp-benefits span{display:block;font-size:13px;line-height:1.6;color:var(--gp-muted)}
.servicio-html .garajes-page .gp-cover{display:block}
.servicio-html .garajes-page .service-demo-note{margin-top:26px;margin-bottom:0}
.servicio-html .garajes-page .service-reference__copy h3{margin-top:0}
.servicio-html .garajes-page .gp-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:42px}
.servicio-html .garajes-page .gp-section-head h2{max-width:20ch;margin:0}
.servicio-html .garajes-page .gp-section-head p{max-width:52ch;margin:0;font-size:15px;line-height:1.7}

/* Open editorial rows: technical detail is not a second FAQ accordion. */
.servicio-html .garajes-page .gp-scope-list{border-top:1px solid var(--gp-line)}
.servicio-html .garajes-page .gp-scope-row{display:grid;grid-template-columns:40px minmax(160px,.58fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);padding:29px 0;border-bottom:1px solid var(--gp-line);align-items:start}
.servicio-html .garajes-page .gp-number{padding-top:5px;font-size:11px;line-height:1.5;letter-spacing:.12em;color:var(--gp-teal-text)}
.servicio-html .garajes-page .gp-scope-row h3{max-width:16ch;margin:0;font-size:clamp(25px,2.4vw,36px);font-weight:350;line-height:1.1;letter-spacing:-.018em}
.servicio-html .garajes-page .gp-scope-row p{margin:0;max-width:67ch;font-size:14px;line-height:1.7}
.servicio-html .garajes-page .gp-scope-row .gp-scope-key{margin-top:12px;padding-left:14px;border-left:2px solid var(--gp-teal-text);color:var(--gp-muted);font-size:12px;line-height:1.65}
.servicio-html .garajes-page .gp-scope-key b{font-weight:500;color:var(--ink,#1d1d1b)}

/* Photo-led band: organizing the work in an occupied, shared setting. */
.servicio-html .garajes-page .gp-shared{background:var(--coal,#35352f);color:#fff}
.servicio-html .garajes-page .gp-shared-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(32px,6vw,92px);align-items:center}
.servicio-html .garajes-page .gp-shared-image img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}
.servicio-html .garajes-page .gp-shared-image figcaption{margin-top:13px;color:#c4c4bd;font-size:11px;line-height:1.5}
.servicio-html .garajes-page .gp-shared .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .garajes-page .gp-shared h2{max-width:19ch;margin:0 0 24px;color:#fff}
.servicio-html .garajes-page .gp-shared p{max-width:59ch;margin:0 0 20px;color:#e0e0da;font-size:15px;line-height:1.7}
.servicio-html .garajes-page .gp-work-sequence{list-style:none;counter-reset:garage-step;margin:26px 0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.servicio-html .garajes-page .gp-work-sequence li{position:relative;counter-increment:garage-step;padding:17px 0 17px 39px;border-bottom:1px solid rgba(255,255,255,.2)}
.servicio-html .garajes-page .gp-work-sequence li::before{content:"0" counter(garage-step);position:absolute;top:19px;left:0;color:#b5d0d3;font-size:10px;letter-spacing:.1em}
.servicio-html .garajes-page .gp-work-sequence b{display:block;margin-bottom:6px;font-size:14px;font-weight:500;line-height:1.5}
.servicio-html .garajes-page .gp-work-sequence span{display:block;font-size:13px;line-height:1.6;color:#d0d0c9}
.servicio-html .garajes-page .gp-shared .gp-shared-note{font-size:12px;line-height:1.65;color:#c4c4bd;margin-bottom:16px}
.servicio-html .garajes-page .gp-dark-link{display:inline-flex;gap:18px;align-items:center;min-height:46px;max-width:100%;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.5);color:#fff;font-size:11px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;transition:color .2s,border-color .2s}
.servicio-html .garajes-page .gp-dark-link:hover{color:#b5d0d3;border-color:#b5d0d3}
.servicio-html .garajes-page .gp-shared :focus-visible{outline-color:#b5d0d3}
.servicio-html .garajes-page .gp-faq .head{margin-bottom:34px}
.servicio-html .garajes-page .gp-faq .a{max-width:76ch}

@media(min-width:701px) and (max-width:860px){.servicio-html .garajes-page .service-related .mos>a:last-child{grid-column:1/-1}}
@media(max-width:820px){
 .servicio-html .garajes-page .gp-split,.servicio-html .garajes-page .gp-section-head,.servicio-html .garajes-page .gp-shared-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .servicio-html .garajes-page .gp-image-note{bottom:12px;left:16px}
 .servicio-html .garajes-page .gp-scope-row{grid-template-columns:28px minmax(130px,.65fr) minmax(0,1fr);gap:20px}
 .servicio-html .garajes-page .gp-scope-row h3{font-size:26px}
 .servicio-html .garajes-page .gp-shared-image img{aspect-ratio:3/2}
}
@media(max-width:600px){
 .servicio-html .garajes-page .gp-benefits{grid-template-columns:minmax(0,1fr);gap:19px;margin-top:28px;padding-top:22px}
 .servicio-html .garajes-page .gp-scope-row{grid-template-columns:25px minmax(0,1fr);gap:10px 15px;padding:24px 0}
 .servicio-html .garajes-page .gp-scope-row>div{grid-column:2}
 .servicio-html .garajes-page .gp-scope-row h3{max-width:23ch;font-size:27px}
 .servicio-html .garajes-page .gp-scope-row p{font-size:14px}
 .servicio-html .garajes-page .gp-number{padding-top:4px}
 .servicio-html .garajes-page .gp-section-head{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){
 .servicio-html .garajes-page *{scroll-behavior:auto!important}
 .servicio-html .garajes-page .gp-dark-link{transition:none}
 .servicio-html .garajes-page .mos img,.servicio-html .garajes-page .service-reference__media img{transform:none!important;transition:none!important}
}

.garage-tool{--gt-line:#b8bdb4;--gt-dark:#3f6268;padding:clamp(22px,3.2vw,48px);background:var(--bone-3,#f2f1ed);border:1px solid var(--gt-line);color:var(--ink,#1d1d1b);min-width:0;scroll-margin-top:110px}
.garage-tool *,.garage-tool *::before,.garage-tool *::after{box-sizing:border-box}
.garage-tool [hidden]{display:none!important}
.garage-tool :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--gt-dark);outline-offset:4px}
.garage-tool :is(h2,h3,p){margin-top:0}
.garage-tool .gt-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:30px;margin-bottom:24px}
.garage-tool .gt-head h2{font-size:clamp(29px,3.2vw,49px);line-height:1.08;font-weight:300;letter-spacing:-.025em;margin:14px 0 0;max-width:22ch}
.garage-tool .gt-head p,.garage-tool .gt-next p{font-size:14px;line-height:1.7;margin-bottom:0}
.garage-tool .gt-form{margin:0;min-width:0}
.garage-tool .gt-toolbar{display:flex;gap:12px 28px;flex-wrap:wrap;margin-bottom:22px}
.garage-tool .gt-text-button{min-height:44px;padding:10px 0;background:transparent;border:0;color:inherit;font:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.garage-tool .gt-demo-note{padding:16px 18px;border-left:3px solid var(--gt-dark);background:#e0e8e5;font-size:13px;line-height:1.65;margin:0 0 24px}
.garage-tool fieldset{border:0;padding:0;margin:0 0 25px;min-width:0}
.garage-tool legend,.garage-tool .gt-offers-head h3{font-size:17px;line-height:1.45;font-weight:500;padding:0;margin-bottom:10px}
.garage-tool .gt-help{font-size:12px!important;line-height:1.65!important;color:#515a50;margin:8px 0 0!important}
.garage-tool .gt-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.garage-tool .gt-scope-grid label{display:flex;align-items:center;gap:9px;min-height:50px;padding:11px;border:1px solid var(--gt-line);font-size:12px;line-height:1.5;cursor:pointer}
.garage-tool .gt-scope-grid label:has(input:checked){background:#dce7e8;border-color:var(--gt-dark)}
.garage-tool input[type=checkbox]{position:static;display:block;flex:0 0 18px;min-width:18px;width:18px;height:18px;margin:0;opacity:1;accent-color:var(--gt-dark);pointer-events:auto}
.garage-tool .gt-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start;border-bottom:1px solid var(--gt-line);padding-bottom:27px;margin-bottom:27px}
.garage-tool .gt-area-field>label,.garage-tool .gt-total-field>label,.garage-tool .gt-part label{display:block;font-size:12px;line-height:1.5;font-weight:500;margin-bottom:8px}
.garage-tool .gt-area-field>label span{font-weight:400}
.garage-tool .gt-unit-input{position:relative;max-width:260px}
.garage-tool .gt-unit-input>span{position:absolute;right:13px;top:13px;font-size:13px;pointer-events:none}
.garage-tool .gt-unit-input input{padding-right:48px!important}
.garage-tool :is(input[type=text],select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--gt-line);border-radius:0;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:16px;line-height:1.5;opacity:1;pointer-events:auto}
.garage-tool select{padding-right:27px}
.garage-tool textarea{resize:vertical}
.garage-tool .gt-third-toggle{display:flex;align-items:center;gap:10px;min-height:46px;font-size:13px;line-height:1.5;cursor:pointer;margin-top:23px}
.garage-tool .gt-error{font-size:12px;line-height:1.5;color:#903d32;margin:8px 0 0}
.garage-tool .gt-error:empty{display:none}
.garage-tool [aria-invalid=true]{border-color:#903d32}
.garage-tool .gt-offers-head{margin-bottom:21px}
.garage-tool .gt-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.garage-tool .gt-offers.gt-has-third{grid-template-columns:repeat(3,minmax(0,1fr))}
.garage-tool .gt-offer{padding:clamp(17px,2vw,25px);border:1px solid var(--gt-line);background:#fff;min-width:0}
.garage-tool .gt-offer h4{font-size:22px;font-weight:400;margin:0 0 18px;line-height:1.2}
.garage-tool .gt-total-field{margin-bottom:16px}
.garage-tool .gt-rate{min-height:22px;font-size:12px;line-height:1.6;color:var(--gt-dark);margin:9px 0 0}
.garage-tool .gt-part{border-top:1px solid #dde0da;padding-top:13px;margin-top:13px}
.garage-tool .gt-part label{min-height:36px}
.garage-tool .gt-offer-status{font-size:12px;line-height:1.7;padding-top:16px;margin:17px 0 0;border-top:1px solid var(--gt-line)}
.garage-tool .gt-findings{margin-top:25px;padding:clamp(20px,2.5vw,32px);background:#e3e8e4;border-left:3px solid var(--gt-dark)}
.garage-tool .gt-findings h3{font-weight:400;font-size:clamp(23px,2vw,30px);line-height:1.2;margin:12px 0 15px}
.garage-tool .gt-findings>p,.garage-tool .gt-findings li{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.garage-tool .gt-findings ul{padding-left:18px;margin:12px 0 0}
.garage-tool .gt-findings li+li{margin-top:8px}
.garage-tool .gt-next{margin-top:28px;padding-top:27px;border-top:1px solid var(--gt-line)}
.garage-tool .gt-next h3{font-size:23px;font-weight:400;line-height:1.25;margin-bottom:12px}
.garage-tool .gt-next details{border-block:1px solid var(--gt-line);margin:20px 0}
.garage-tool summary{min-height:46px;padding:13px 0;font-size:12px;line-height:1.6;cursor:pointer}
.garage-tool .gt-next details label{display:block;font-size:12px;margin-bottom:9px}
.garage-tool .gt-next textarea{font-size:13px;line-height:1.65;margin-bottom:16px;min-height:190px}
.garage-tool .gt-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}
.garage-tool .gt-actions>.btn{min-height:46px;max-width:100%;white-space:normal}
.garage-tool .gt-actions [aria-disabled=true],.garage-tool .gt-actions button:disabled{opacity:.5;cursor:not-allowed}
.garage-tool .gt-status{font-size:12px;line-height:1.6;color:var(--gt-dark);min-height:20px;margin:17px 0 0}
.garage-tool .gt-privacy{border-top:1px solid var(--gt-line);padding-top:19px;margin:20px 0 0;font-size:12px;line-height:1.7;color:#515a50}
@media(max-width:1000px){.garage-tool .gt-head{grid-template-columns:1fr;gap:18px}.garage-tool .gt-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.garage-tool .gt-offers.gt-has-third{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.garage-tool{padding:23px 17px}.garage-tool .gt-scope-grid,.garage-tool .gt-settings,.garage-tool .gt-offers,.garage-tool .gt-offers.gt-has-third{grid-template-columns:1fr}.garage-tool .gt-settings{gap:8px}.garage-tool .gt-third-toggle{margin-top:7px}.garage-tool .gt-scope-grid label{font-size:13px;min-height:46px}.garage-tool .gt-offer{padding:19px 16px}.garage-tool .gt-part label{min-height:0}.garage-tool .gt-actions>.btn{width:100%;text-align:center}.garage-tool .gt-actions>.gt-text-button{flex:1}.garage-tool .gt-next textarea{font-size:16px}.garage-tool .gt-findings{padding:22px 18px}}
@media(prefers-reduced-motion:reduce){.garage-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Garage concept metadata only. */
:is(.post-265,.post-266) .two.top>*{min-width:0}
:is(.post-265,.post-266) .content-wysiwyg,:is(.post-265,.post-266) .fic{overflow-wrap:anywhere}
:is(.post-265,.post-266) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.post-265,.post-266) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}:is(.post-265,.post-266) .fic li span{max-width:100%;text-align:left}}
/* TRAMUNTANA_GARAJES_CSS_END */
/* TRAMUNTANA_INTERIORISMO_CSS_START */
/* Interiorismo body only. The native hero, buttons, project cards, related mosaic and closing CTA stay shared. */
.servicio-html .interiorismo-page{--ip-line:rgba(29,29,27,.18);--ip-muted:#55554e;--ip-teal-text:#42646b;min-width:0;background:var(--bone,#e6e4df);color:var(--ink,#1d1d1b)}
.servicio-html .interiorismo-page *,.servicio-html .interiorismo-page *::before,.servicio-html .interiorismo-page *::after{box-sizing:border-box}
.servicio-html .interiorismo-page [hidden]{display:none!important}
.servicio-html .interiorismo-page [id]{scroll-margin-top:120px}
.servicio-html .interiorismo-page :is(h1,h2,h3,p,li){overflow-wrap:break-word}
.servicio-html .interiorismo-page figure{margin:0;min-width:0}
.servicio-html .interiorismo-page img{display:block;max-width:100%}
.servicio-html .interiorismo-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid var(--ip-teal-text);outline-offset:5px}
.servicio-html .interiorismo-page :is(.hero,.ip-editorial,.cta) a:focus-visible{outline-color:#b5d0d3}
.servicio-html .interiorismo-page .btn{min-height:44px}
.servicio-html .interiorismo-page .ip-image-note{position:absolute;bottom:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .interiorismo-page .ip-intro,.servicio-html .interiorismo-page .ip-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:clamp(30px,7vw,100px);align-items:center}
.servicio-html .interiorismo-page .ip-intro h2,.servicio-html .interiorismo-page .ip-section-head h2{max-width:20ch;margin:0}
.servicio-html .interiorismo-page .ip-intro p,.servicio-html .interiorismo-page .ip-section-head p{max-width:60ch;margin:0 0 18px;font-size:15px;line-height:1.7}
.servicio-html .interiorismo-page .ip-intro p:last-child,.servicio-html .interiorismo-page .ip-section-head p:last-child{margin-bottom:0}
.servicio-html .interiorismo-page .ip-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,58px);margin:36px 0 0;padding:24px 0 0;list-style:none;border-top:1px solid var(--ip-line)}
.servicio-html .interiorismo-page .ip-benefits b{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:5px}
.servicio-html .interiorismo-page .ip-benefits span{display:block;font-size:13px;line-height:1.6;color:var(--ip-muted)}
.servicio-html .interiorismo-page .ip-cover{display:block}
.servicio-html .interiorismo-page .service-demo-note{margin:26px 0 0}
.servicio-html .interiorismo-page .service-reference__copy h3{margin-top:0}
.servicio-html .interiorismo-page .service-reference{display:flex;flex-direction:column}
.servicio-html .interiorismo-page .service-reference__copy{display:flex;flex:1;flex-direction:column}
.servicio-html .interiorismo-page .service-reference__actions{margin-top:auto;padding-top:18px}

/* Photo-led editorial section, not another accordion or a wall of cards. */
.servicio-html .interiorismo-page .ip-editorial{background:var(--coal,#35352f);color:#fff}
.servicio-html .interiorismo-page .ip-editorial-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(34px,5vw,78px);align-items:center}
.servicio-html .interiorismo-page .ip-editorial-image img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover}
.servicio-html .interiorismo-page .ip-editorial-image figcaption{max-width:50ch;margin-top:13px;color:#c4c4bd;font-size:11px;line-height:1.5}
.servicio-html .interiorismo-page .ip-editorial .eyebrow{color:#b5d0d3;border-color:rgba(181,208,211,.4)}
.servicio-html .interiorismo-page .ip-editorial h2{max-width:20ch;margin:0 0 35px;color:#fff}
.servicio-html .interiorismo-page .ip-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 32px}
.servicio-html .interiorismo-page .ip-decisions article{border-top:1px solid rgba(255,255,255,.22);padding-top:17px;min-width:0}
.servicio-html .interiorismo-page .ip-number{display:block;margin-bottom:12px;font-size:11px;line-height:1.5;letter-spacing:.12em;color:var(--ip-teal-text)}
.servicio-html .interiorismo-page .ip-decisions .ip-number{color:#b5d0d3}
.servicio-html .interiorismo-page .ip-decisions h3{margin:0 0 12px;color:#fff;font-size:clamp(24px,2.1vw,32px);line-height:1.15;letter-spacing:-.018em;font-weight:350}
.servicio-html .interiorismo-page .ip-decisions p{margin:0;font-size:13px;line-height:1.7;color:#deded7}
.servicio-html .interiorismo-page .ip-editorial-link{color:#d0e4e6;text-decoration:underline;text-underline-offset:3px}
.servicio-html .interiorismo-page .ip-editorial :focus-visible{outline-color:#b5d0d3}
.servicio-html .interiorismo-page .ip-section-head{align-items:end;margin-bottom:40px}
.servicio-html .interiorismo-page .ip-budget-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ip-line);border-bottom:1px solid var(--ip-line)}
.servicio-html .interiorismo-page .ip-budget-parts article{padding:30px clamp(20px,3vw,42px);min-width:0}
.servicio-html .interiorismo-page .ip-budget-parts article:first-child{padding-left:0}
.servicio-html .interiorismo-page .ip-budget-parts article:last-child{padding-right:0}
.servicio-html .interiorismo-page .ip-budget-parts article+article{border-left:1px solid var(--ip-line)}
.servicio-html .interiorismo-page .ip-budget-parts h3{max-width:17ch;margin:0 0 17px;font-size:clamp(25px,2.5vw,37px);font-weight:350;line-height:1.12;letter-spacing:-.025em}
.servicio-html .interiorismo-page .ip-budget-parts p{margin:0;font-size:14px;line-height:1.7}
.servicio-html .interiorismo-page .ip-budget-end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px}
.servicio-html .interiorismo-page .ip-budget-end p{max-width:70ch;font-size:13px;line-height:1.65;margin:0;color:var(--ip-muted)}
.servicio-html .interiorismo-page .ip-budget-end>a{flex-shrink:0}
.servicio-html .interiorismo-page .ip-process{background:var(--bone2,#dedcd6)}
.servicio-html .interiorismo-page .ip-process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,58px);counter-reset:ip-step;list-style:none;padding:0;margin:0}
.servicio-html .interiorismo-page .ip-process-steps li{counter-increment:ip-step;padding-top:20px;border-top:1px solid var(--ip-line)}
.servicio-html .interiorismo-page .ip-process-steps li::before{content:"0" counter(ip-step);display:block;color:var(--ip-teal-text);font-size:11px;letter-spacing:.1em;margin-bottom:15px}
.servicio-html .interiorismo-page .ip-process-steps b{display:block;font-size:17px;line-height:1.4;font-weight:450;margin-bottom:10px}
.servicio-html .interiorismo-page .ip-process-steps p{margin:0;max-width:43ch;font-size:13px;line-height:1.7;color:var(--ip-muted)}
.servicio-html .interiorismo-page .ip-faq .head{margin-bottom:34px}
.servicio-html .interiorismo-page .ip-faq .a{max-width:76ch}

@media(min-width:701px) and (max-width:860px){.servicio-html .interiorismo-page .service-related .mos>a:last-child{grid-column:1/-1}}
@media(max-width:1050px){.servicio-html .interiorismo-page .ip-editorial-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:32px}.servicio-html .interiorismo-page .ip-decisions{gap:24px}}
@media(max-width:820px){
 .servicio-html .interiorismo-page .ip-intro,.servicio-html .interiorismo-page .ip-section-head,.servicio-html .interiorismo-page .ip-editorial-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .servicio-html .interiorismo-page .ip-image-note{bottom:12px;left:16px}
 .servicio-html .interiorismo-page .ip-editorial-image img{aspect-ratio:3/2}
 .servicio-html .interiorismo-page .ip-decisions p{font-size:14px}
 .servicio-html .interiorismo-page .ip-budget-end{align-items:flex-start;flex-direction:column}
 .servicio-html .interiorismo-page .ip-budget-parts article{padding:26px 20px}
}
@media(max-width:600px){
 .servicio-html .interiorismo-page .ip-benefits,.servicio-html .interiorismo-page .ip-budget-parts,.servicio-html .interiorismo-page .ip-process-steps{grid-template-columns:minmax(0,1fr)}
 .servicio-html .interiorismo-page .ip-benefits{gap:19px;margin-top:28px;padding-top:22px}
 .servicio-html .interiorismo-page .ip-decisions{grid-template-columns:minmax(0,1fr);gap:22px}
 .servicio-html .interiorismo-page .ip-decisions article{display:grid;grid-template-columns:25px minmax(0,1fr);gap:0 14px;padding-top:20px}
 .servicio-html .interiorismo-page .ip-decisions .ip-number{padding-top:5px;grid-row:1/3;margin:0}
 .servicio-html .interiorismo-page .ip-decisions h3{font-size:28px}
 .servicio-html .interiorismo-page .ip-decisions p{grid-column:2}
 .servicio-html .interiorismo-page .ip-budget-parts article{padding:25px 0!important}
 .servicio-html .interiorismo-page .ip-budget-parts article+article{border-left:0;border-top:1px solid var(--ip-line)}
 .servicio-html .interiorismo-page .ip-budget-parts h3{max-width:25ch;font-size:29px}
 .servicio-html .interiorismo-page .ip-section-head{margin-bottom:28px}
 .servicio-html .interiorismo-page .ip-process-steps{gap:22px}
}
@media(prefers-reduced-motion:reduce){.servicio-html .interiorismo-page *{scroll-behavior:auto!important}.servicio-html .interiorismo-page .mos img,.servicio-html .interiorismo-page .service-reference__media img{transform:none!important;transition:none!important}}

.interiorismo-page .int-tool{--int-line:#b3b9af;--int-dark:#42646b;--int-warning:#8d4335;padding:clamp(22px,3.2vw,48px);background:var(--bone-3,#f2f1ed);color:var(--ink,#1d1d1b);border:1px solid var(--int-line);min-width:0;scroll-margin-top:110px}
.interiorismo-page .int-tool *,.interiorismo-page .int-tool *::before,.interiorismo-page .int-tool *::after{box-sizing:border-box}
.interiorismo-page .int-tool [hidden]{display:none!important}
.interiorismo-page .int-tool :is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--int-dark);outline-offset:4px}
.interiorismo-page .int-tool .int-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:30px;margin-bottom:24px}
.interiorismo-page .int-tool .int-head h2{font-size:clamp(29px,3.2vw,49px);font-weight:300;line-height:1.08;letter-spacing:-.025em;margin:14px 0 0;max-width:24ch}
.interiorismo-page .int-tool .int-head p{font-size:14px;line-height:1.7;margin:0}
.interiorismo-page .int-tool form{margin:0;min-width:0}
.interiorismo-page .int-tool .int-example{font-size:12px;line-height:1.7;border-left:3px solid var(--int-dark);padding:12px 15px;background:#e2e8e3;margin:0 0 25px}
.interiorismo-page .int-tool .int-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,3.4vw,52px);align-items:start}
.interiorismo-page .int-tool .int-controls,.interiorismo-page .int-tool .int-display,.interiorismo-page .int-tool .int-field{min-width:0}
.interiorismo-page .int-tool fieldset{min-width:0;border:0;padding:0;margin:0 0 22px}
.interiorismo-page .int-tool legend{font-size:16px;font-weight:500;padding:0;line-height:1.5;margin-bottom:5px}
.interiorismo-page .int-tool .int-help{font-size:12px!important;line-height:1.65!important;color:#515a50;margin:7px 0 0!important}
.interiorismo-page .int-tool .int-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:13px}
.interiorismo-page .int-tool .int-field label{display:block;font-size:12px;line-height:1.55;font-weight:500;margin-bottom:8px}
.interiorismo-page .int-tool :is(input,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--int-line);border-radius:0;background:#fff;color:var(--ink,#1d1d1b);font:inherit;font-size:16px;line-height:1.5;opacity:1;pointer-events:auto}
.interiorismo-page .int-tool textarea{resize:vertical}
.interiorismo-page .int-tool .int-margin input{max-width:180px}
.interiorismo-page .int-tool .int-error{font-size:12px;line-height:1.55;color:var(--int-warning);margin:8px 0 0}
.interiorismo-page .int-tool .int-error:empty{display:none}
.interiorismo-page .int-tool [aria-invalid=true]{border-color:var(--int-warning)}
.interiorismo-page .int-tool .int-rotate{min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:10px 16px;font:inherit;font-size:13px;line-height:1.5;border:1px solid var(--int-dark);color:var(--ink,#1d1d1b);background:transparent;cursor:pointer;margin-top:21px}
.interiorismo-page .int-tool .int-rotate span{font-size:24px;line-height:1}
.interiorismo-page .int-tool .int-rotate[aria-pressed=true]{background:#dce7e8}
.interiorismo-page .int-tool .int-plan{min-width:0;background:var(--bone-2,#dedcd6);border:1px solid var(--int-line)}
.interiorismo-page .int-tool .int-plan svg{display:block;width:100%;height:auto;aspect-ratio:600/480;overflow:visible}
.interiorismo-page .int-tool .int-room{fill:#f2f1ed;stroke:#35352f;stroke-width:2;vector-effect:non-scaling-stroke}
.interiorismo-page .int-tool .int-margin-shape{fill:#7fa8ae;fill-opacity:.12;stroke:#42646b;stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.interiorismo-page .int-tool .int-table{fill:#7fa8ae;stroke:#42646b;stroke-width:1.5;vector-effect:non-scaling-stroke}
.interiorismo-page .int-tool .int-table-outside{fill:#d4a092;stroke:#8d4335}
.interiorismo-page .int-tool .int-room-outline{fill:none;stroke:#35352f;stroke-width:2;vector-effect:non-scaling-stroke}
.interiorismo-page .int-tool .int-gap-line{stroke:#42646b;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:3 4}
.interiorismo-page .int-tool .int-svg-label{font-family:inherit;font-size:24px;fill:#35352f}
.interiorismo-page .int-tool .int-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:13px}
.interiorismo-page .int-tool .int-legend span{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.5}
.interiorismo-page .int-tool .int-legend i{display:block;flex:0 0 13px;width:13px;height:13px}
.interiorismo-page .int-tool .int-key-room{border:1px solid #35352f;background:#f2f1ed}
.interiorismo-page .int-tool .int-key-table{border:1px solid #42646b;background:#7fa8ae}
.interiorismo-page .int-tool .int-key-margin{border:1px dashed #42646b;background:#dce7e8}
.interiorismo-page .int-tool .int-dimensions{font-size:12px;line-height:1.7;margin:12px 0 0}
.interiorismo-page .int-tool .int-verdict{margin-top:18px;padding-top:18px;border-top:1px solid var(--int-line)}
.interiorismo-page .int-tool .int-verdict h3,.interiorismo-page .int-tool .int-empty h3{font-size:23px;font-weight:400;line-height:1.2;margin:0 0 10px}
.interiorismo-page .int-tool .int-verdict p,.interiorismo-page .int-tool .int-empty p{font-size:13px;line-height:1.7;margin:0}
.interiorismo-page .int-tool .int-gaps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:19px 0 0}
.interiorismo-page .int-tool .int-gap{padding:12px 14px;background:#e3e8e4;border:1px solid var(--int-line);min-width:0}
.interiorismo-page .int-tool .int-gap dt{font-size:11px;line-height:1.5;color:#515a50}
.interiorismo-page .int-tool .int-gap dd{margin:5px 0 0;font-size:16px;line-height:1.4}
.interiorismo-page .int-tool .int-gap small{display:block;font-size:11px;line-height:1.5;margin-top:6px}
.interiorismo-page .int-tool .int-gap.is-short{border-color:#a98672;background:#ece1d9}
.interiorismo-page .int-tool .int-empty{padding:30px;background:var(--bone-2,#dedcd6);min-height:250px}
.interiorismo-page .int-tool .int-limit{font-size:12px;line-height:1.7;color:#515a50;border-top:1px solid var(--int-line);padding-top:19px;margin:25px 0 0}
.interiorismo-page .int-tool .int-followup{border-top:1px solid var(--int-line);padding-top:25px;margin-top:25px}
.interiorismo-page .int-tool .int-followup h3{font-size:23px;line-height:1.25;font-weight:400;margin:0 0 12px}
.interiorismo-page .int-tool .int-followup p{font-size:14px;line-height:1.7;margin:0}
.interiorismo-page .int-tool .int-followup details{border-block:1px solid var(--int-line);margin:20px 0}
.interiorismo-page .int-tool summary{min-height:46px;padding:13px 0;font-size:12px;line-height:1.6;cursor:pointer}
.interiorismo-page .int-tool .int-followup label{display:block;font-size:12px;margin-bottom:9px}
.interiorismo-page .int-tool .int-followup textarea{font-size:13px;line-height:1.65;margin-bottom:16px;min-height:190px}
.interiorismo-page .int-tool .int-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}
.interiorismo-page .int-tool .int-actions>.btn{min-height:46px;max-width:100%;white-space:normal}
.interiorismo-page .int-tool .int-text-button{min-height:44px;padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.interiorismo-page .int-tool .int-status{min-height:20px;font-size:12px;line-height:1.65;color:var(--int-dark);margin:15px 0 0}
@media(max-width:899px){.interiorismo-page .int-tool .int-head,.interiorismo-page .int-tool .int-workspace{grid-template-columns:1fr}.interiorismo-page .int-tool .int-head{gap:18px}.interiorismo-page .int-tool .int-plan{max-width:640px;margin-inline:auto}}
@media(max-width:580px){.interiorismo-page .int-tool{padding:23px 17px}.interiorismo-page .int-tool .int-fields{gap:10px}.interiorismo-page .int-tool .int-field label{min-height:37px}.interiorismo-page .int-tool .int-margin label{min-height:0}.interiorismo-page .int-tool .int-svg-label{font-size:28px}.interiorismo-page .int-tool .int-actions>.btn{width:100%;text-align:center}.interiorismo-page .int-tool .int-actions>.int-text-button{flex:1}.interiorismo-page .int-tool .int-followup textarea{font-size:16px}.interiorismo-page .int-tool .int-gap{padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.interiorismo-page .int-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Interiorismo concept metadata only. */
:is(.post-273,.post-277) .two.top>*{min-width:0}
:is(.post-273,.post-277) .content-wysiwyg,:is(.post-273,.post-277) .fic{overflow-wrap:anywhere}
:is(.post-273,.post-277) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.post-273,.post-277) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}:is(.post-273,.post-277) .fic li span{max-width:100%;text-align:left}}
/* TRAMUNTANA_INTERIORISMO_CSS_END */
/* TRAMUNTANA_MENU_PARENT_LINK_START */
#ov .ov-body h5>a.ov-group-link{display:inline;margin:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border:0;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#ov .ov-body h5>a.ov-group-link:hover{color:#fff}
#ov .ov-body h5>a.ov-group-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
/* TRAMUNTANA_MENU_PARENT_LINK_END */

/* TRAMUNTANA_CIERRE_REFORMAS_CONCEPTS_START */
:is(.post-291,.post-293,.post-295,.post-299) .two.top>*{min-width:0}
:is(.post-291,.post-293,.post-295,.post-299) .content-wysiwyg,
:is(.post-291,.post-293,.post-295,.post-299) .fic{overflow-wrap:anywhere}
:is(.post-291,.post-293,.post-295,.post-299) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){
  :is(.post-291,.post-293,.post-295,.post-299) .fic li{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
  :is(.post-291,.post-293,.post-295,.post-299) .fic li span{max-width:100%;text-align:left}
}
/* TRAMUNTANA_CIERRE_REFORMAS_CONCEPTS_END */

/* TRAMUNTANA_MENU_ADMIN_LAYER_START 2026-09-07 */
body.admin-bar #ov{z-index:100001}
/* TRAMUNTANA_MENU_ADMIN_LAYER_END */


/* tramuntana:rehabilitacion-landing-v1 */
/* tramuntana:rehabilitacion-madre-v1-start */
.reha-page{--rh-ink:var(--coal);--rh-paper:var(--bone-3);--rh-line:var(--line)}
.reha-page :is(section,[id]){scroll-margin-top:120px}
.reha-page .rh-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:28px 70px;align-items:end;margin-bottom:45px}
.reha-page .rh-head h2{margin:14px 0 0}
.reha-page .rh-head p{max-width:58ch;margin:0;line-height:1.65}
.reha-page .rh-head p+p{margin-top:16px}
.reha-page .rh-benefits{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--rh-line)}
.reha-page .rh-benefits li{padding:24px 30px 0 0}
.reha-page .rh-benefits li+li{border-left:1px solid var(--rh-line);padding-left:30px}
.reha-page .rh-benefits span,.reha-page .rh-family>header>span{display:block;font-size:10px;letter-spacing:.1em;color:var(--teal-t);margin-bottom:24px;font-weight:600}
.reha-page .rh-benefits h3{font-size:21px;margin:0 0 10px;font-weight:400}
.reha-page .rh-benefits p{font-size:14px;line-height:1.6;max-width:36ch;margin:0}
.reha-page .rh-projects{background:var(--bone)}
.reha-page .rh-project-cover{display:block;color:inherit;text-decoration:none}
.reha-page .service-reference__media img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.reha-page .rh-project-cover:hover img{transform:scale(1.035)}
.reha-page .rh-family{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);border-top:1px solid var(--rh-line)}
.reha-page .rh-family:last-child{border-bottom:1px solid var(--rh-line)}
.reha-page .rh-family>header{padding:34px 40px 34px 0}
.reha-page .rh-family__drawing{float:right;display:block;width:82px;height:66px;margin:0 0 18px 20px;color:var(--teal-t);fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.reha-page .rh-family>header h3{clear:both;font-size:clamp(24px,2.5vw,36px);font-weight:300;line-height:1.08;margin:0 0 16px}
.reha-page .rh-family>header p{max-width:26ch;font-size:14px;line-height:1.5;margin:0}
.reha-page .rh-family__items{border-left:1px solid var(--rh-line);min-width:0}
.reha-page .rh-family__items>details{border:0;border-bottom:1px solid var(--rh-line);padding:0;background:transparent}
.reha-page .rh-family__items>details:last-child{border-bottom:0}
.reha-page .rh-family__items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;padding:24px 30px;cursor:pointer;font-size:24px;font-weight:350;line-height:1.2;list-style:none;color:var(--ink);transition:background .2s,color .2s}
.reha-page .rh-family__items summary:hover{background:var(--bone-3)}
.reha-page .rh-family__items summary::-webkit-details-marker{display:none}
.reha-page .rh-family__items summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:23px;color:var(--teal-t);font-weight:300}
.reha-page .rh-family__items details[open] summary::after{content:'−'}
.reha-page .rh-family__items details[open]{background:var(--bone-3)}
.reha-page .rh-family__items details[open] summary{color:var(--ink)}
.reha-page .rh-family__items details>div{padding:0 30px 26px}
.reha-page .rh-family__items details p{max-width:66ch;margin:0 0 16px;line-height:1.65;font-size:14px}
.reha-page .rh-family__items details a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:500;color:var(--teal-t);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.reha-page :is(a,summary,button):focus-visible{outline:2px solid #42646b;outline-offset:5px}
.reha-page .rh-family__items summary:focus-visible{outline-offset:-4px}
.reha-page :is(.rh-budget,.cta,.hero) :is(a,summary,button):focus-visible{outline-color:#d5ecea}
.reha-page .rh-tool-section{padding-top:20px}
.reha-page .rh-sequence__visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:stretch}
.reha-page .rh-material{position:relative;margin:0;min-height:540px;overflow:hidden;background:var(--bone-2)}
.reha-page .rh-material img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.reha-page .rh-material:hover img{transform:scale(1.025)}
.reha-page .rh-material figcaption{position:absolute;inset:auto 0 0;padding:60px 30px 27px;background:linear-gradient(transparent 0%,rgba(29,29,27,.80) 30%,rgba(29,29,27,.93) 100%);color:var(--bone-3)}
.reha-page .rh-material figcaption span{display:block;font-size:clamp(22px,2vw,31px);line-height:1.2;font-weight:350;max-width:22ch}
.reha-page .rh-material figcaption small{display:block;font-size:11.5px;line-height:1.5;letter-spacing:.035em;margin-top:12px;color:var(--bone)}
.reha-page .rh-steps{list-style:none;display:flex;flex-direction:column;padding:0;margin:0;border-top:1px solid var(--rh-line)}
.reha-page .rh-steps li{display:grid;grid-template-columns:50px minmax(0,1fr);gap:22px;padding:27px 0;flex:1}
.reha-page .rh-steps li+li{border-top:1px solid var(--rh-line)}
.reha-page .rh-steps span{display:block;font-size:34px;line-height:1;font-weight:250;color:var(--teal-t)}
.reha-page .rh-steps h3{font-size:20px;font-weight:400;line-height:1.2;margin:0 0 14px}
.reha-page .rh-steps p{font-size:14px;line-height:1.65;margin:0}
.reha-page .rh-occupied{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:30px;margin-top:38px;padding:28px 32px;background:var(--bone-2)}
.reha-page .rh-occupied h3{margin:0;font-size:23px;font-weight:350;line-height:1.2}
.reha-page .rh-occupied p{margin:0;font-size:14px;line-height:1.65}
.reha-page .rh-budget{background:var(--coal);color:var(--bone-3)}
.reha-page .rh-budget :is(h2,h3){color:var(--bone-3)}
.reha-page .rh-budget__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}
.reha-page .rh-budget h2{margin:16px 0 24px}
.reha-page .rh-budget p{max-width:54ch;line-height:1.7;font-size:15px;margin:0 0 18px;color:var(--bone)}
.reha-page .rh-budget .btn{margin-top:14px}
.reha-page .rh-budget__check{border:1px solid var(--line-l);padding:30px}
.reha-page .rh-budget__check h3{font-size:25px;font-weight:350;margin:0 0 25px}
.reha-page .rh-budget__check ul{list-style:none;padding:0;margin:0}
.reha-page .rh-budget__check li{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:20px;border-top:1px solid var(--line-l);padding:19px 0;font-size:14px;line-height:1.55}
.reha-page .rh-budget__check li:last-child{padding-bottom:0}
.reha-page .rh-budget__check b{font-weight:500;color:var(--bone-3)}
.reha-page .rh-budget__check span{color:var(--bone)}
.reha-page .rh-local a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.reha-page .rh-faq{border-top:1px solid var(--rh-line)}
.reha-page .rh-faq .head{margin-bottom:35px}
@media(max-width:1000px){.reha-page .rh-head{gap:30px}.reha-page .rh-budget__grid{gap:35px}.reha-page .rh-budget__check li{grid-template-columns:1fr;gap:5px}.reha-page .rh-sequence__visual{gap:30px}.reha-page .rh-steps li{gap:15px;grid-template-columns:38px minmax(0,1fr);padding:22px 0}.reha-page .rh-material figcaption{padding:55px 22px 23px}.reha-page .rh-steps span{font-size:30px}}
@media(max-width:700px){.reha-page :is(section,[id]){scroll-margin-top:90px}.reha-page .rh-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.reha-page .rh-benefits{grid-template-columns:1fr}.reha-page .rh-benefits li,.reha-page .rh-benefits li+li{padding:20px 0;border-left:0;border-bottom:1px solid var(--rh-line)}.reha-page .rh-benefits span{margin-bottom:12px}.reha-page .rh-benefits p{max-width:none}.reha-page .rh-family{grid-template-columns:1fr}.reha-page .rh-family>header{padding:25px 0 20px}.reha-page .rh-family__drawing{width:74px;height:58px;margin-bottom:12px}.reha-page .rh-family>header>span{margin-bottom:13px}.reha-page .rh-family>header h3{clear:none;margin-bottom:8px;max-width:calc(100% - 90px)}.reha-page .rh-family>header p{clear:both;max-width:none;padding-top:4px}.reha-page .rh-family__items{border-left:0;border-top:1px solid var(--rh-line)}.reha-page .rh-family__items summary{font-size:21px;padding:23px 12px;min-height:78px}.reha-page .rh-family__items details>div{padding:0 12px 24px}.reha-page .rh-occupied{grid-template-columns:1fr;gap:16px;padding:24px 20px}.reha-page .rh-budget__grid{grid-template-columns:1fr;gap:30px}.reha-page .rh-budget__check{padding:24px 20px}.reha-page .rh-sequence__visual{grid-template-columns:1fr;gap:28px}.reha-page .rh-material{min-height:0;aspect-ratio:4/3}.reha-page .rh-steps h3{font-size:20px}.reha-page .rh-steps li{grid-template-columns:42px minmax(0,1fr);gap:20px}}
@media(max-width:700px){.reha-page .rh-material{aspect-ratio:auto;background:var(--coal)}.reha-page .rh-material img{position:relative;inset:auto;aspect-ratio:4/3;height:auto}.reha-page .rh-material figcaption{position:relative;inset:auto;padding:21px 22px 23px;background:var(--coal)}}
@media(prefers-reduced-motion:reduce){.reha-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* tramuntana:rehabilitacion-madre-v1-end */


/* Rehabilitación: preparation aid only. Scoped to the parent service landing. */
.reha-page .rh-tool{--rh-bone:#e6e4df;--rh-paper:#f2f1ed;--rh-ink:#1d1d1b;--rh-coal:#35352f;--rh-teal:#7fa8ae;--rh-text:#42646b;--rh-muted:#5f5f59;--rh-line:rgba(29,29,27,.2);width:calc(100% - 2 * var(--pad,24px));max-width:1480px;margin:0 auto;padding:clamp(24px,4vw,55px);border:1px solid var(--rh-line);background:var(--rh-paper);color:var(--rh-ink);font:14px/1.55 Inter,system-ui,sans-serif;min-width:0;scroll-margin-top:125px}
.reha-page .rh-tool *,.reha-page .rh-tool *::before,.reha-page .rh-tool *::after{box-sizing:border-box}
.reha-page .rh-tool [hidden]{display:none!important}
.reha-page .rh-tool :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--rh-text);outline-offset:4px}
.reha-page .rh-tool :is(h2,h3,h4,p,li,label,button){overflow-wrap:anywhere}
.reha-page .rh-tool__head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr);gap:28px 45px;align-items:end;margin-bottom:30px}
.reha-page .rh-tool__eyebrow{margin:0 0 12px;color:var(--rh-text);font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.reha-page .rh-tool__head h2{max-width:24ch;margin:0;font-size:clamp(30px,3.3vw,48px);font-weight:300;line-height:1.08;letter-spacing:-.025em}
.reha-page .rh-tool__head h2 b{font-weight:450}
.reha-page .rh-tool__head>p{margin:0;max-width:47ch;font-size:14px}
.reha-page .rh-tool__form{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(25px,4vw,55px);align-items:start}
.reha-page .rh-tool__controls,.reha-page .rh-tool__result{min-width:0}
.reha-page .rh-tool__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:22px}
.reha-page .rh-tool label{display:block;min-width:0;font-size:13px;line-height:1.5}
.reha-page .rh-tool select,.reha-page .rh-tool textarea{display:block;width:100%;min-width:0;max-width:100%;min-height:46px;margin-top:8px;padding:11px;border:1px solid #92988c;border-radius:0;background:#fff;color:var(--rh-ink);font:inherit;font-size:16px;line-height:1.4;opacity:1;pointer-events:auto}
.reha-page .rh-tool textarea{resize:vertical}
.reha-page .rh-tool input[type=checkbox]{position:static;display:block;width:18px;height:18px;flex:0 0 18px;min-width:18px;margin:0;opacity:1;pointer-events:auto;accent-color:var(--rh-text)}
.reha-page .rh-tool__signals{min-width:0;margin:0 0 22px;padding:0;border:0}
.reha-page .rh-tool legend{margin:0 0 8px;font-size:13px;font-weight:650;line-height:1.5}
.reha-page .rh-tool__help{margin:0 0 13px;font-size:12px;line-height:1.5;color:var(--rh-muted)}
.reha-page .rh-tool__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.reha-page .rh-tool__choices>label{display:flex;align-items:center;gap:10px;min-height:59px;padding:12px;border:1px solid var(--rh-line);cursor:pointer;font-size:12px}
.reha-page .rh-tool__choices>label:has(input:checked){background:#dce7e8;border-color:var(--rh-text)}
.reha-page .rh-tool__note{margin-top:21px;border-block:1px solid var(--rh-line)}
.reha-page .rh-tool__note>summary,.reha-page .rh-tool__summary>summary{padding:15px 0;min-height:48px;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}
.reha-page .rh-tool__note>summary span{font-weight:400;color:var(--rh-muted);margin-left:7px}
.reha-page .rh-tool__note textarea{margin-bottom:9px}
.reha-page .rh-tool__note .rh-tool__help{margin-bottom:3px}
.reha-page .rh-tool__count{display:block;text-align:right;font-size:11px;color:var(--rh-muted);padding-bottom:12px}
.reha-page .rh-tool__control-actions{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px}
.reha-page .rh-tool__result{padding:clamp(20px,2.7vw,36px);background:var(--rh-bone);border:1px solid var(--rh-line)}
.reha-page .rh-tool__result h3{margin:0 0 15px;font-size:clamp(25px,2.5vw,35px);font-weight:400;line-height:1.1;scroll-margin-top:125px}
.reha-page .rh-tool__intro{margin:0 0 20px;font-size:13px;line-height:1.6}
.reha-page .rh-tool__result h4{margin:0 0 12px;font-size:13px;font-weight:650}
.reha-page .rh-tool__result ul{margin:0;padding-left:17px;font-size:13px;line-height:1.6}
.reha-page .rh-tool__result li{margin:0 0 11px}
.reha-page .rh-tool__warnings{margin:0 0 20px;padding:15px;border-left:3px solid #966246;background:#efe1cf}
.reha-page .rh-tool__warnings li:last-child{margin-bottom:0}
.reha-page .rh-tool__review,.reha-page .rh-tool__prepare{padding-top:20px;border-top:1px solid var(--rh-line);margin-top:18px}
.reha-page .rh-tool__visit{margin:20px 0;font-size:12px;line-height:1.6}
.reha-page .rh-tool__summary{margin-top:20px;border-block:1px solid var(--rh-line)}
.reha-page .rh-tool__summary label{font-size:12px}
.reha-page .rh-tool__summary textarea{min-height:180px;margin-bottom:16px;font-size:13px;line-height:1.55}
.reha-page .rh-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:22px}
.reha-page .rh-tool__button{min-height:46px;max-width:100%;padding:13px 21px;border:1px solid var(--rh-teal);background:var(--rh-teal);color:var(--rh-ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.reha-page .rh-tool__text{min-height:44px;max-width:100%;padding:9px 0;border:0;border-bottom:1px solid var(--rh-line);background:transparent;color:var(--rh-ink);font:inherit;font-size:12px;line-height:1.5;cursor:pointer}
.reha-page .rh-tool__limits{margin:18px 0 0;font-size:11px;line-height:1.6;color:var(--rh-muted)}
.reha-page .rh-tool__status{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--rh-text)}
.reha-page .rh-tool__status:empty{display:none}
.reha-page .rh-tool__fallback{padding:20px;border:1px solid var(--rh-line)}
.reha-page .rh-tool__fallback h3{font-size:23px;font-weight:400;margin:0 0 15px}
.reha-page .rh-tool__fallback ul{padding-left:20px;margin:0 0 14px}
.reha-page .rh-tool__fallback p{margin:0;font-size:13px}
.reha-page .rh-tool__direct{margin:20px 0 0;font-size:12px}
.reha-page .rh-tool__direct a{color:var(--rh-text);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.reha-page .rh-tool__form{gap:24px}.reha-page .rh-tool__fields{grid-template-columns:1fr}.reha-page .rh-tool__choices{grid-template-columns:1fr}}
@media(max-width:760px){.reha-page .rh-tool__head{grid-template-columns:1fr;gap:18px}.reha-page .rh-tool__form{grid-template-columns:1fr}.reha-page .rh-tool__fields,.reha-page .rh-tool__choices{grid-template-columns:repeat(2,minmax(0,1fr))}.reha-page .rh-tool__summary textarea{font-size:16px}}
@media(max-width:460px){.reha-page .rh-tool{width:calc(100% - 28px);padding:24px 17px}.reha-page .rh-tool__fields{grid-template-columns:1fr}.reha-page .rh-tool__choices{gap:8px}.reha-page .rh-tool__choices>label{padding:11px 9px;gap:8px;min-height:68px}.reha-page .rh-tool__result{padding:20px 16px}.reha-page .rh-tool__actions>.rh-tool__button{width:100%}}
@media(prefers-reduced-motion:reduce){.reha-page .rh-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* tramuntana:casas-fincas-v1-start */
.casas-page{--cf-ink:var(--ink);--cf-paper:var(--bone-3)}
.casas-page [id]{scroll-margin-top:125px}
.casas-page :is(a,button,summary,input,select):focus-visible{outline:2px solid var(--teal-t,#42646b);outline-offset:5px}
.casas-page :is(.hero,.cta,.cf-technical) :focus-visible{outline-color:#d5ecea}
.casas-page .hero .im{position:relative}
.casas-page .cf-image-note{position:absolute;bottom:16px;left:16px;background:var(--coal);color:var(--bone-3);font-size:10px;letter-spacing:.05em;padding:7px 10px}
.casas-page .cf-intro,.casas-page .cf-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:30px 70px;align-items:start}
.casas-page .cf-intro h2,.casas-page .cf-section-head h2{margin:16px 0 0}
.casas-page .cf-intro p,.casas-page .cf-section-head>p{margin:0;line-height:1.65;max-width:57ch;font-size:16px}
.casas-page .cf-intro p+p{margin-top:20px}
.casas-page .cf-section-head{align-items:end;margin-bottom:42px}
.casas-page .cf-cover{display:block;color:inherit;text-decoration:none}
.casas-page .service-reference{display:flex;flex-direction:column}
.servicio-html .casas-page .service-reference__media{aspect-ratio:3/2}
.casas-page .service-reference__copy{display:flex;flex:1;flex-direction:column}
.servicio-html .casas-page .service-reference__copy h3{margin-top:0}
.servicio-html .casas-page .service-reference__actions{margin-top:auto;padding-top:22px}
.casas-page .service-reference__actions a.btn{text-decoration:none;min-height:44px}
.casas-page .cf-concept-note{font-size:12px;line-height:1.5;color:var(--mute);margin:28px 0 0}
.casas-page .cf-types{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.casas-page .cf-types article{min-width:0;padding:30px 42px 30px 0}
.casas-page .cf-types article+article{padding-left:42px;border-left:1px solid var(--line)}
.casas-page .cf-index{display:block;color:var(--teal-t);font-size:11px;font-weight:600;letter-spacing:.09em;margin-bottom:25px}
.casas-page .cf-types h3{font-size:clamp(24px,2.25vw,34px);font-weight:350;line-height:1.15;margin:0 0 20px;max-width:22ch}
.casas-page .cf-types p{font-size:15px;line-height:1.65;margin:0;max-width:55ch}
.casas-page .cf-types .cf-type-key{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:13px}
.casas-page .cf-local{margin:25px 0 0;max-width:90ch;font-size:14px;line-height:1.6}
.casas-page .cf-technical{background:var(--coal);color:var(--bone-3)}
.casas-page .cf-technical :is(h2,h3){color:var(--bone-3)}
.casas-page .cf-technical p{color:var(--bone)}
.casas-page .cf-technical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.casas-page .cf-technical-grid article{border-top:1px solid var(--line-l);padding-top:25px}
.casas-page .cf-technical-grid .cf-index{color:var(--teal-l)}
.casas-page .cf-technical-grid h3{font-size:24px;line-height:1.1;font-weight:400;margin:0 0 18px}
.casas-page .cf-technical-grid p{font-size:14px;line-height:1.65;margin:0}
.casas-page .cf-budget{background:var(--bone-2)}
.casas-page .cf-budget-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px}
.casas-page .cf-price{padding:32px;background:var(--bone-3);border-top:2px solid var(--teal-t)}
.casas-page .cf-price>span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.casas-page .cf-price .cf-price-range{font-size:clamp(37px,4.2vw,62px);font-weight:300;line-height:1.12;letter-spacing:-.045em;margin:20px 0 25px;color:var(--ink)}
.casas-page .cf-price-range small{font-size:.38em;letter-spacing:0;white-space:nowrap}
.casas-page .cf-price p{font-size:14px;line-height:1.65;margin:0 0 18px}
.casas-page .cf-price .cf-price-note{font-size:12px;color:var(--mute)}
.casas-page .cf-price .btn{margin-top:6px}
.casas-page .cf-budget-list h3{font-size:26px;line-height:1.15;font-weight:350;margin:0 0 24px}
.casas-page .cf-budget-list dl{margin:0}
.casas-page .cf-budget-list dl>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;border-top:1px solid var(--line);padding:20px 0}
.casas-page .cf-budget-list dt{font-size:14px;font-weight:500;line-height:1.5}
.casas-page .cf-budget-list dd{font-size:14px;line-height:1.6;margin:0}
.casas-page .cf-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.casas-page .cf-steps li{padding:25px 24px 0 0}
.casas-page .cf-steps li+li{border-left:1px solid var(--line);padding-left:24px}
.casas-page .cf-steps span{display:block;font-size:38px;color:var(--teal-t);font-weight:250;line-height:1;margin-bottom:24px}
.casas-page .cf-steps h3{font-size:20px;font-weight:400;line-height:1.2;margin:0 0 15px}
.casas-page .cf-steps p{font-size:14px;line-height:1.6;margin:0}
.casas-page .cf-faq{border-top:1px solid var(--line)}
.casas-page .cf-faq .head{margin-bottom:34px}
.casas-page .cf-faq .a a{color:var(--teal-t);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.casas-page .cf-intro,.casas-page .cf-section-head{gap:30px}.casas-page .cf-types article{padding-right:28px}.casas-page .cf-types article+article{padding-left:28px}.casas-page .cf-budget-grid{gap:30px}.casas-page .cf-price{padding:25px}.casas-page .cf-budget-list dl>div{grid-template-columns:1fr;gap:6px}.casas-page .cf-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.casas-page .cf-steps li:nth-child(3){border-left:0;padding-left:0}}
.casas-page .cf-context-link{color:var(--teal-t);text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.casas-page [id]{scroll-margin-top:105px}.casas-page .cf-intro,.casas-page .cf-section-head,.casas-page .cf-types,.casas-page .cf-technical-grid,.casas-page .cf-budget-grid{grid-template-columns:1fr}.casas-page .cf-section-head{margin-bottom:30px;gap:22px}.casas-page .cf-intro p,.casas-page .cf-section-head>p{font-size:15px}.casas-page .cf-types article,.casas-page .cf-types article+article{padding:26px 0;border-left:0}.casas-page .cf-types article+article{border-top:1px solid var(--line)}.casas-page .cf-index{margin-bottom:16px}.casas-page .cf-types h3{max-width:none}.casas-page .cf-technical-grid{gap:28px}.casas-page .cf-technical-grid h3{font-size:23px}.casas-page .cf-steps{grid-template-columns:1fr;gap:0}.casas-page .cf-steps li,.casas-page .cf-steps li+li{display:grid;grid-template-columns:46px minmax(0,1fr);gap:0 18px;padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}.casas-page .cf-steps span{grid-row:1/3;margin:0;font-size:31px}.casas-page .cf-steps h3{margin-bottom:10px}.casas-page .cf-price{padding:24px 20px}.casas-page .cf-price .cf-price-range{font-size:42px}.casas-page .cf-cover:focus-visible{outline-offset:-4px}.casas-page .service-reference__media .service-reference__label{font-size:9px;bottom:12px;left:12px}.casas-page .cf-image-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.casas-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.casas-page .mos img,.casas-page .service-reference__media img{transform:none!important}}
/* Only these two concept fichas: keep long metadata inside the native grid. */
:is(.postid-328,.postid-330) .two.top>*{min-width:0}
:is(.postid-328,.postid-330) .content-wysiwyg,:is(.postid-328,.postid-330) .fic{overflow-wrap:anywhere}
:is(.postid-328,.postid-330) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.postid-328,.postid-330) .fic li{flex-direction:column;align-items:flex-start;gap:7px}:is(.postid-328,.postid-330) .fic li span{max-width:100%;text-align:left}}
/* tramuntana:casas-fincas-v1-end */

/* tramuntana:casas-mapa-css-v1-start */
.casas-page .cf-tool{--cf-ink:var(--ink,#1d1d1b);--cf-teal:var(--teal-t,#42646b);--cf-rule:var(--line,rgba(29,29,27,.16));padding:clamp(24px,3.8vw,56px);background:var(--bone-3,#f2f1ed);color:var(--cf-ink);border:1px solid var(--cf-rule);min-width:0;scroll-margin-top:115px}
.casas-page .cf-tool *,.casas-page .cf-tool *::before,.casas-page .cf-tool *::after{box-sizing:border-box}
.casas-page .cf-tool [hidden]{display:none!important}
.casas-page .cf-tool :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--cf-teal);outline-offset:4px}
.casas-page .cf-tool :is(h2,h3,h4,p,li,label,button){overflow-wrap:break-word}
.casas-page .cf-tool .cf-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:30px;align-items:end;margin-bottom:30px}
.casas-page .cf-tool .cf-tool__head h2{margin:15px 0 0;font-size:clamp(30px,3.3vw,50px);line-height:1.04;font-weight:300;color:var(--cf-ink)}
.casas-page .cf-tool .cf-tool__head p{font-size:15px;line-height:1.65;margin:0}
.casas-page .cf-tool form,.casas-page .cf-tool fieldset{border:0;padding:0;margin:0;min-width:0}
.casas-page .cf-tool .cf-tool__context{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;padding:24px 0;border-block:1px solid var(--cf-rule);margin-bottom:30px}
.casas-page .cf-tool .cf-tool__type,.casas-page .cf-tool legend{font-size:14px;line-height:1.5;font-weight:500}
.casas-page .cf-tool select,.casas-page .cf-tool textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid var(--cf-teal);border-radius:0;background:#fff;color:var(--cf-ink);font:inherit;font-size:16px;line-height:1.5;padding:10px 12px;min-height:46px}
.casas-page .cf-tool select{margin-top:8px}
.casas-page .cf-tool textarea{resize:vertical;font-size:13px;line-height:1.65;min-height:250px;margin-top:10px}
.casas-page .cf-tool .cf-tool__flags{display:flex;flex-wrap:wrap;gap:0 20px;align-content:start}
.casas-page .cf-tool .cf-tool__flags legend{margin-bottom:6px}
.casas-page .cf-tool .cf-tool__flags label,.casas-page .cf-tool .cf-tool__keep{display:flex;align-items:center;gap:11px;min-height:44px;font-size:14px;line-height:1.5;cursor:pointer}
.casas-page .cf-tool input[type=checkbox]{appearance:auto;width:20px;height:20px;flex:none;accent-color:var(--cf-teal);margin:0;padding:0;opacity:1;position:static}
.casas-page .cf-tool .cf-tool__workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(26px,3vw,46px);align-items:start}
.casas-page .cf-tool .cf-tool__diagram{margin:0 0 17px;background:var(--bone,#e6e4df);border:1px solid var(--cf-rule)}
.casas-page .cf-tool svg{display:block;width:100%;height:auto;aspect-ratio:560/350}
.casas-page .cf-tool .cf-tool__ground,.casas-page .cf-tool .cf-tool__line{fill:none;stroke:var(--cf-teal);stroke-width:1.3;vector-effect:non-scaling-stroke}
.casas-page .cf-tool .cf-tool__house{fill:var(--bone-3,#f2f1ed);stroke:var(--coal,#35352f);stroke-width:1.5;vector-effect:non-scaling-stroke}
.casas-page .cf-tool .cf-tool__zone{fill:var(--bone-2,#dedcd6);stroke:var(--cf-teal);stroke-width:1.2;transition:fill .2s}
.casas-page .cf-tool .cf-tool__zone.is-active{fill:var(--teal,#7fa8ae)}
.casas-page .cf-tool .cf-tool__dashed{stroke-dasharray:5 5}
.casas-page .cf-tool .cf-tool__marks circle{fill:var(--coal,#35352f);stroke:var(--bone-3,#f2f1ed);stroke-width:2}
.casas-page .cf-tool .cf-tool__marks text{fill:var(--bone-3,#f2f1ed);font:500 25px Inter,system-ui,sans-serif;text-anchor:middle;stroke:none}
.casas-page .cf-tool .cf-tool__diagram figcaption{font-size:11.5px;line-height:1.5;padding:0 16px 13px;color:var(--mute,#5f5f59)}
.casas-page .cf-tool .cf-tool__zones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.casas-page .cf-tool .cf-tool__zones button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:2px 7px;align-items:center;min-height:57px;border:1px solid var(--cf-rule);padding:11px 12px;color:var(--cf-ink);background:transparent;font:inherit;text-align:left;line-height:1.35;cursor:pointer}
.casas-page .cf-tool .cf-tool__zones button:last-child{grid-column:1/-1}
.casas-page .cf-tool .cf-tool__zones button[aria-pressed=true]{background:var(--coal,#35352f);color:var(--bone-3,#f2f1ed);border-color:var(--coal,#35352f)}
.casas-page .cf-tool .cf-tool__zones button>span{font-size:13px;opacity:.9}
.casas-page .cf-tool .cf-tool__zones b{font-size:13px;font-weight:500}
.casas-page .cf-tool .cf-tool__zones small{grid-column:2;font-size:11px;line-height:1.5;text-decoration:underline;text-underline-offset:3px}
.casas-page .cf-tool .cf-tool__panel{min-width:0;border-top:3px solid var(--cf-teal);padding-top:19px}
.casas-page .cf-tool .cf-tool__kicker{font-size:11.5px;color:var(--mute,#5f5f59);line-height:1.5}
.casas-page .cf-tool .cf-tool__panel h3{margin:9px 0 24px;font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.12;color:var(--cf-ink)}
.casas-page .cf-tool h4{font-size:14px;font-weight:600;line-height:1.5;margin:22px 0 9px;color:var(--cf-ink)}
.casas-page .cf-tool .cf-tool__panel ul,.casas-page .cf-tool .cf-tool__prepare ul,.casas-page .cf-tool .cf-tool__prepare ol{padding-left:20px;margin:0;font-size:14px;line-height:1.65}
.casas-page .cf-tool li+li{margin-top:8px}
.casas-page .cf-tool .cf-tool__panel p,.casas-page .cf-tool .cf-tool__prepare>p{font-size:14px;line-height:1.65;margin:0 0 15px}
.casas-page .cf-tool .cf-tool__keep{padding:13px 0;border-block:1px solid var(--cf-rule);margin-top:22px;font-weight:500}
.casas-page .cf-tool .cf-tool__panel .cf-tool__help{margin-top:10px}
.casas-page .cf-tool .cf-tool__panel .cf-tool__selected{font-size:12px;margin-top:20px;color:var(--cf-teal)}
.casas-page .cf-tool .cf-tool__result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;border-top:1px solid var(--cf-rule);padding-top:30px;margin-top:34px}
.casas-page .cf-tool .cf-tool__result h3{font-size:25px;line-height:1.15;font-weight:350;margin:0 0 15px;color:var(--cf-ink)}
.casas-page .cf-tool .cf-tool__summary>label{font-size:16px;font-weight:500;line-height:1.5}
.casas-page .cf-tool .cf-tool__help,.casas-page .cf-tool .cf-tool__prepare .cf-tool__safety{font-size:12px;line-height:1.6;color:var(--mute,#5f5f59);margin:12px 0}
.casas-page .cf-tool .cf-tool__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.casas-page .cf-tool .cf-tool__actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 16px}
.casas-page .cf-tool .cf-tool__actions .b-line{color:var(--cf-teal);border-color:var(--cf-teal)}
.casas-page .cf-tool .cf-tool__footer{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--cf-rule);padding-top:20px;margin-top:27px}
.casas-page .cf-tool .cf-tool__footer p{font-size:12px;line-height:1.6;color:var(--mute,#5f5f59);margin:0;max-width:75ch}
.casas-page .cf-tool .cf-tool__reset{flex:none;min-height:44px;padding:10px 0;background:transparent;border:0;color:var(--cf-teal);font:inherit;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.casas-page .cf-tool .cf-tool__status{font-size:12px;line-height:1.5;min-height:18px;margin:10px 0 0;color:var(--cf-teal)}
.casas-page .cf-tool .cf-tool__fallback h3{font-size:23px;font-weight:400;margin:0 0 15px}.casas-page .cf-tool .cf-tool__fallback p{font-size:15px;line-height:1.65;margin:0 0 18px}
@media(max-width:900px){.casas-page .cf-tool .cf-tool__head{grid-template-columns:1fr;gap:20px}.casas-page .cf-tool .cf-tool__workspace{grid-template-columns:1fr;gap:27px}.casas-page .cf-tool .cf-tool__explore{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:center}.casas-page .cf-tool .cf-tool__diagram{margin:0}.casas-page .cf-tool .cf-tool__zones{grid-template-columns:1fr}.casas-page .cf-tool .cf-tool__zones button:last-child{grid-column:auto}}
@media(max-width:650px){.casas-page .cf-tool{padding:23px 18px;scroll-margin-top:90px}.casas-page .cf-tool .cf-tool__context,.casas-page .cf-tool .cf-tool__result{grid-template-columns:1fr;gap:23px}.casas-page .cf-tool .cf-tool__explore{display:block}.casas-page .cf-tool .cf-tool__diagram{margin-bottom:17px}.casas-page .cf-tool .cf-tool__zones{grid-template-columns:repeat(2,minmax(0,1fr))}.casas-page .cf-tool .cf-tool__zones button{padding:10px 9px;grid-template-columns:17px minmax(0,1fr);min-height:62px}.casas-page .cf-tool .cf-tool__zones button:last-child{grid-column:1/-1}.casas-page .cf-tool .cf-tool__marks text{font-size:29px}.casas-page .cf-tool .cf-tool__footer{display:block}.casas-page .cf-tool .cf-tool__reset{margin-top:9px}.casas-page .cf-tool .cf-tool__actions>a{flex-basis:100%}.casas-page .cf-tool .cf-tool__actions button{flex:1}.casas-page .cf-tool textarea{font-size:16px;min-height:265px}}
@media(prefers-reduced-motion:reduce){.casas-page .cf-tool *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* tramuntana:casas-mapa-css-v1-end */


/* tramuntana:fachadas-v1-start */
.fachadas-page [id]{scroll-margin-top:125px}
.fachadas-page :is(a,button,summary,input,select):focus-visible{outline:2px solid var(--teal-t);outline-offset:5px}
.fachadas-page :is(.hero,.cta,.fa-dark) :focus-visible{outline-color:#d5ecea}
.fachadas-page .hero .im{position:relative}
.fachadas-page .fa-image-note{position:absolute;bottom:16px;left:16px;background:var(--coal);color:var(--bone-3);font-size:10px;letter-spacing:.05em;padding:7px 10px}
.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:30px 70px;align-items:start}
.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next) h2{margin:16px 0 0}
.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next) p{margin:0;line-height:1.65;max-width:58ch;font-size:16px}
.fachadas-page :is(.fa-intro,.fa-next) p+p{margin-top:20px}
.fachadas-page .fa-section-head{align-items:end;margin-bottom:42px}
.fachadas-page .fa-cover{display:block;color:inherit;text-decoration:none}
.fachadas-page .service-reference{display:flex;flex-direction:column}
.servicio-html .fachadas-page .service-reference__media{aspect-ratio:3/2}
.fachadas-page .service-reference__copy{display:flex;flex:1;flex-direction:column}
.servicio-html .fachadas-page .service-reference__copy h3{margin-top:0}
.servicio-html .fachadas-page .service-reference__actions{margin-top:auto;padding-top:22px}
.fachadas-page .service-reference__actions a.btn{text-decoration:none;min-height:44px}
.fachadas-page .fa-concept-note{font-size:12px;line-height:1.5;color:var(--mute);margin:28px 0 0}
.fachadas-page :is(.fa-scope-grid,.fa-logistics,.fa-prices){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.fachadas-page .fa-scope-grid article{border-top:1px solid var(--line);padding-top:25px}
.fachadas-page .fa-index{display:block;color:var(--teal-t);font-size:11px;font-weight:600;letter-spacing:.09em;margin-bottom:25px}
.fachadas-page :is(.fa-scope-grid,.fa-logistics) h3{font-size:clamp(23px,2.15vw,32px);font-weight:350;line-height:1.15;margin:0 0 20px}
.fachadas-page :is(.fa-scope-grid,.fa-logistics) p{font-size:15px;line-height:1.65;margin:0}
.fachadas-page .fa-scope-grid .fa-key{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:13px}
.fachadas-page .fa-safety{border-left:2px solid var(--teal-t);background:var(--bone-2);padding:22px 26px;margin-top:35px;font-size:14px;line-height:1.6}
.fachadas-page .fa-safety p{margin:7px 0 0;max-width:90ch}
.fachadas-page .fa-dark{background:var(--coal);color:var(--bone-3)}
.fachadas-page .fa-dark :is(h2,h3){color:var(--bone-3)}
.fachadas-page .fa-dark p{color:var(--bone)}
.fachadas-page .fa-logistics article{border-top:1px solid var(--line-l);padding-top:25px}
.fachadas-page .fa-logistics .fa-index{color:var(--teal-l);font-size:35px;font-weight:250;line-height:1}
.fachadas-page .fa-logistics h3{font-size:24px}
.fachadas-page .fa-budget{background:var(--bone-2)}
.fachadas-page .fa-prices{gap:1px;background:var(--line);border:1px solid var(--line)}
.fachadas-page .fa-prices article{padding:30px;background:var(--bone-3);min-width:0}
.fachadas-page .fa-prices article>span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.fachadas-page .fa-prices .fa-range{font-size:clamp(37px,4vw,58px);font-weight:300;line-height:1.12;letter-spacing:-.045em;margin:23px 0;color:var(--ink)}
.fachadas-page .fa-range small{font-size:.36em;letter-spacing:0;white-space:nowrap}
.fachadas-page .fa-prices p{font-size:14px;line-height:1.65;margin:0}
.fachadas-page .fa-prices h3{font-size:32px;font-weight:350;line-height:1.12;margin:23px 0}
.fachadas-page .fa-price-note{font-size:12px;color:var(--mute);line-height:1.65;margin:24px 0;max-width:115ch}
.fachadas-page .fa-text-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;margin-top:20px;color:var(--teal-t);text-decoration:underline;text-underline-offset:5px;font-size:14px}
.fachadas-page .fa-faq{border-top:1px solid var(--line)}
.fachadas-page .fa-faq .head{margin-bottom:34px}
.fachadas-page .fa-faq .a a{color:var(--teal-t);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next){gap:30px}.fachadas-page :is(.fa-scope-grid,.fa-logistics){gap:25px}.fachadas-page .fa-prices article{padding:24px}.fachadas-page .fa-prices .fa-range{font-size:38px}}
@media(max-width:700px){.fachadas-page [id]{scroll-margin-top:105px}.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next,.fa-scope-grid,.fa-logistics,.fa-prices){grid-template-columns:1fr}.fachadas-page .fa-section-head{margin-bottom:30px;gap:22px}.fachadas-page :is(.fa-intro,.fa-section-head,.fa-next) p{font-size:15px}.fachadas-page :is(.fa-scope-grid,.fa-logistics){gap:28px}.fachadas-page .fa-index{margin-bottom:16px}.fachadas-page .fa-prices article{padding:25px 22px}.fachadas-page .fa-prices .fa-range{font-size:46px;margin:16px 0}.fachadas-page .fa-cover:focus-visible{outline-offset:-4px}.fachadas-page .service-reference__media .service-reference__label{font-size:9px;bottom:12px;left:12px}.fachadas-page .fa-image-note{font-size:9px}.fachadas-page .fa-safety{padding:20px}.fachadas-page .fa-logistics article{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.fachadas-page *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.fachadas-page .mos img,.fachadas-page .service-reference__media img{transform:none!important}}
/* tramuntana:fachadas-v1-end */

/* tramuntana:fachadas-comparador-css-v1-start */
.fachadas-page [data-fa-tool]{--fa-ink:var(--ink,#1d1d1b);--fa-teal:var(--teal-t,#42646b);--fa-rule:var(--line,rgba(29,29,27,.18));padding:clamp(24px,3.8vw,54px);background:var(--bone-3,#f2f1ed);color:var(--fa-ink);border:1px solid var(--fa-rule);min-width:0;scroll-margin-top:110px}
.fachadas-page [data-fa-tool] *,.fachadas-page [data-fa-tool] *::before,.fachadas-page [data-fa-tool] *::after{box-sizing:border-box}
.fachadas-page [data-fa-tool] [hidden]{display:none!important}
.fachadas-page [data-fa-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--fa-teal);outline-offset:4px}
.fachadas-page [data-fa-tool] :is(h2,h3,h4,p,li,label,button,legend){overflow-wrap:break-word}
.fachadas-page [data-fa-tool] .fa-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:30px;align-items:end;margin-bottom:30px}
.fachadas-page [data-fa-tool] .fa-tool__head h2{margin:15px 0 0;font-size:clamp(30px,3.2vw,47px);line-height:1.06;font-weight:300;color:var(--fa-ink)}
.fachadas-page [data-fa-tool] .fa-tool__head p{font-size:15px;line-height:1.7;margin:0}
.fachadas-page [data-fa-tool] form,.fachadas-page [data-fa-tool] fieldset{border:0;padding:0;margin:0;min-width:0}
.fachadas-page [data-fa-tool] .fa-tool__disclosure{border:0;padding:0;margin:0;background:transparent;min-width:0}
.fachadas-page [data-fa-tool] .fa-tool__disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;min-height:52px;padding:14px 18px;border:1px solid var(--fa-teal);background:transparent;color:var(--fa-teal);font:inherit;font-size:15px;font-weight:500;line-height:1.5;cursor:pointer}
.fachadas-page [data-fa-tool] .fa-tool__disclosure>summary::-webkit-details-marker{display:none}
.fachadas-page [data-fa-tool] .fa-tool__disclosure>summary::marker{content:""}
.fachadas-page [data-fa-tool] .fa-tool__disclosure>summary::after{content:none}
.fachadas-page [data-fa-tool] .fa-tool__disclosure>summary:hover{background:var(--bone,#e6e4df)}
.fachadas-page [data-fa-tool] .fa-tool__disclosure[open]>summary{background:var(--coal,#35352f);border-color:var(--coal,#35352f);color:var(--bone-3,#f2f1ed);margin-bottom:24px}
.fachadas-page [data-fa-tool] .fa-tool__disclosure-icon{flex:none;font-size:24px;font-weight:300;line-height:1}
.fachadas-page [data-fa-tool] .fa-tool__open-icon,.fachadas-page [data-fa-tool] .fa-tool__disclosure[open] .fa-tool__closed-icon{display:none}
.fachadas-page [data-fa-tool] .fa-tool__disclosure[open] .fa-tool__open-icon{display:inline}
.fachadas-page [data-fa-tool] .fa-tool__context{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:30px;padding:24px 0;border-block:1px solid var(--fa-rule);align-items:center}
.fachadas-page [data-fa-tool] label{font-size:14px;line-height:1.5;font-weight:500;min-width:0}
.fachadas-page [data-fa-tool] select,.fachadas-page [data-fa-tool] textarea{display:block;width:100%;min-width:0;max-width:100%;border:1px solid var(--fa-teal);border-radius:0;background:#fff;color:var(--fa-ink);font:inherit;font-size:16px;line-height:1.5;padding:10px;min-height:46px;margin-top:7px}
.fachadas-page [data-fa-tool] textarea{resize:vertical;font-size:13px;line-height:1.65;min-height:295px}
.fachadas-page [data-fa-tool] .fa-tool__toggle{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}
.fachadas-page [data-fa-tool] input[type=checkbox]{appearance:auto;width:20px;height:20px;flex:none;accent-color:var(--fa-teal);margin:0;padding:0;opacity:1;position:static}
.fachadas-page [data-fa-tool] .fa-tool__instruction{font-size:13px;line-height:1.6;margin:20px 0;color:var(--mute,#5f5f59);max-width:86ch}
.fachadas-page [data-fa-tool] .fa-tool__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}
.fachadas-page [data-fa-tool] .fa-tool__item{border-top:1px solid var(--fa-rule);padding:20px 0 0;min-width:0;display:grid;grid-template-rows:auto 1fr auto;align-content:start}
.fachadas-page [data-fa-tool] .fa-tool__item legend{float:left;width:100%;display:block;padding:0;margin:0 0 9px;font-size:17px;line-height:1.35;font-weight:500;color:var(--fa-ink)}
.fachadas-page [data-fa-tool] .fa-tool__item legend span{display:inline-block;color:var(--fa-teal);font-size:11px;vertical-align:middle;margin-right:8px;letter-spacing:.05em}
.fachadas-page [data-fa-tool] .fa-tool__item>p{clear:both;font-size:13px;line-height:1.6;margin:0 0 15px;color:var(--ink-2,#3c3c3b)}
.fachadas-page [data-fa-tool] .fa-tool__choices{display:grid;grid-template-columns:1fr;gap:12px;align-self:end}
.fachadas-page [data-fa-tool][data-fa-comparing=true] .fa-tool__choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.fachadas-page [data-fa-tool] .fa-tool__choices label{font-size:12px}
.fachadas-page [data-fa-tool] .fa-tool__choices select{font-weight:400}
.fachadas-page [data-fa-tool] .fa-tool__result{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;margin-top:34px;padding-top:30px;border-top:2px solid var(--fa-teal);align-items:start}
.fachadas-page [data-fa-tool] .fa-tool__kicker{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fa-teal);line-height:1.5}
.fachadas-page [data-fa-tool] .fa-tool__result h3{font-size:clamp(24px,2.4vw,32px);line-height:1.12;font-weight:350;color:var(--fa-ink);margin:9px 0 16px}
.fachadas-page [data-fa-tool] .fa-tool__overview{font-size:14px;line-height:1.65;margin:0 0 15px}
.fachadas-page [data-fa-tool] .fa-tool__issues{padding:0;list-style:none;margin:0}
.fachadas-page [data-fa-tool] .fa-tool__issues li{font-size:13px;line-height:1.6;padding:12px 0;border-top:1px solid var(--fa-rule)}
.fachadas-page [data-fa-tool] .fa-tool__issues li strong{display:block;font-weight:600;margin-bottom:4px}
.fachadas-page [data-fa-tool] .fa-tool__prepare{padding:18px;background:var(--bone,#e6e4df);margin-top:20px}
.fachadas-page [data-fa-tool] .fa-tool__prepare h4{font-size:15px;font-weight:500;line-height:1.5;margin:0 0 8px;color:var(--fa-ink)}
.fachadas-page [data-fa-tool] .fa-tool__prepare p{font-size:13px;line-height:1.65;margin:0}
.fachadas-page [data-fa-tool] .fa-tool__summary>label{font-size:16px;line-height:1.5}
.fachadas-page [data-fa-tool] .fa-tool__help{font-size:12px;line-height:1.6;color:var(--mute,#5f5f59);margin:10px 0}
.fachadas-page [data-fa-tool] .fa-tool__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.fachadas-page [data-fa-tool] .fa-tool__actions .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;text-align:center}
.fachadas-page [data-fa-tool] .fa-tool__actions .b-line{color:var(--fa-teal);border-color:var(--fa-teal)}
.fachadas-page [data-fa-tool] .fa-tool__actions .b-sage{color:#fff;background:#426f76;border-color:#426f76}
.fachadas-page [data-fa-tool] .fa-tool__actions .b-sage:hover{background:#31575d;border-color:#31575d}
.fachadas-page [data-fa-tool] .fa-tool__footer{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--fa-rule);padding-top:20px;margin-top:27px}
.fachadas-page [data-fa-tool] .fa-tool__footer p{font-size:12px;line-height:1.6;color:var(--mute,#5f5f59);margin:0;max-width:70ch}
.fachadas-page [data-fa-tool] .fa-tool__reset{flex:none;min-height:44px;padding:10px 0;background:transparent;border:0;color:var(--fa-teal);font:inherit;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.fachadas-page [data-fa-tool] .fa-tool__status{font-size:12px;line-height:1.5;min-height:18px;margin:10px 0 0;color:var(--fa-teal)}
.fachadas-page [data-fa-tool] .fa-tool__fallback h3{font-size:23px;font-weight:400;margin:0 0 15px;color:var(--fa-ink)}
.fachadas-page [data-fa-tool] .fa-tool__fallback p{font-size:15px;line-height:1.65;margin:0 0 18px}
@media(max-width:950px){.fachadas-page [data-fa-tool] .fa-tool__head{grid-template-columns:1fr;gap:20px}.fachadas-page [data-fa-tool] .fa-tool__result{grid-template-columns:1fr;gap:26px}.fachadas-page [data-fa-tool] .fa-tool__items{gap:23px}}
@media(max-width:650px){.fachadas-page [data-fa-tool]{padding:23px 18px;scroll-margin-top:90px}.fachadas-page [data-fa-tool] .fa-tool__context{grid-template-columns:1fr;gap:17px}.fachadas-page [data-fa-tool] .fa-tool__items{grid-template-columns:1fr;gap:20px}.fachadas-page [data-fa-tool] .fa-tool__item{padding-top:20px}.fachadas-page [data-fa-tool] .fa-tool__choices{gap:10px}.fachadas-page [data-fa-tool] .fa-tool__choices select{padding:10px 6px}.fachadas-page [data-fa-tool] .fa-tool__footer{display:block}.fachadas-page [data-fa-tool] .fa-tool__reset{margin-top:9px}.fachadas-page [data-fa-tool] .fa-tool__actions>a{flex-basis:100%}.fachadas-page [data-fa-tool] .fa-tool__actions button{flex:1}.fachadas-page [data-fa-tool] textarea{font-size:16px;min-height:310px}}
@media(prefers-reduced-motion:reduce){.fachadas-page [data-fa-tool] *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* tramuntana:fachadas-comparador-css-v1-end */

/* Facade concept project metadata: native layout, scoped mobile fix. */
:is(.postid-335,.postid-336) .two.top>*{min-width:0}
:is(.postid-335,.postid-336) .content-wysiwyg,:is(.postid-335,.postid-336) .fic{overflow-wrap:anywhere}
:is(.postid-335,.postid-336) .fic li span{min-width:0;white-space:normal}
@media(max-width:600px){:is(.postid-335,.postid-336) .fic li{flex-direction:column;align-items:flex-start;gap:7px}:is(.postid-335,.postid-336) .fic li span{max-width:100%;text-align:left}}


/* tramuntana:construccion-landing-v1 */
/* tramuntana:construccion-madre-v1-start */
.constru-page{--cn-ink:var(--coal);--cn-paper:var(--bone-3);--cn-line:var(--line)}
.constru-page :is(section,[id]){scroll-margin-top:120px}
.constru-page .cn-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:28px 70px;align-items:end;margin-bottom:45px}
.constru-page .cn-head h2{margin:14px 0 0}
.constru-page .cn-head p{max-width:58ch;margin:0;line-height:1.65}
.constru-page .cn-head p+p{margin-top:16px}
.constru-page .cn-benefits{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--cn-line)}
.constru-page .cn-benefits li{padding:24px 30px 0 0}
.constru-page .cn-benefits li+li{border-left:1px solid var(--cn-line);padding-left:30px}
.constru-page .cn-benefits span,.constru-page .cn-family>header>span{display:block;font-size:10px;letter-spacing:.1em;color:var(--teal-t);margin-bottom:24px;font-weight:600}
.constru-page .cn-benefits h3{font-size:21px;margin:0 0 10px;font-weight:400}
.constru-page .cn-benefits p{font-size:14px;line-height:1.6;max-width:36ch;margin:0}
.constru-page .cn-project-cover{display:block;color:inherit;text-decoration:none}
.constru-page .service-reference__media{margin:0}
.constru-page .service-reference__media img{display:block;transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.constru-page .cn-project-cover:hover img{transform:scale(1.035)}
.constru-page .service-reference{display:flex;flex-direction:column}
.constru-page .service-reference__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.constru-page.service-shell .service-reference__copy h3{margin-top:0}
.constru-page.service-shell .service-reference__actions{margin-top:auto;padding-top:24px}
.constru-page .service-reference .service-reference__actions .btn{text-decoration:none}
.constru-page.service-shell .service-demo-note{margin-top:25px}
.constru-page .cn-family{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);border-top:1px solid var(--cn-line)}
.constru-page .cn-family:last-child{border-bottom:1px solid var(--cn-line)}
.constru-page .cn-family>header{padding:28px 40px 28px 0}
.constru-page .cn-family__drawing{float:right;display:block;width:82px;height:66px;margin:0 0 18px 20px;color:var(--teal-t);fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease}
.constru-page .cn-family:focus-within .cn-family__drawing,.constru-page .cn-family:hover .cn-family__drawing{transform:translateY(-3px)}
.constru-page .cn-family>header h3{clear:both;font-size:clamp(24px,2.5vw,36px);font-weight:300;line-height:1.08;margin:0 0 13px;max-width:17ch}
.constru-page .cn-family>header p{max-width:28ch;font-size:14px;line-height:1.5;margin:0}
.constru-page .cn-family__items{border-left:1px solid var(--cn-line);min-width:0;display:flex;flex-direction:column}
.constru-page .cn-family__items>details{flex:1;border:0;padding:0;background:transparent}
.constru-page .cn-family__items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;padding:30px;cursor:pointer;font-size:clamp(24px,2.2vw,30px);font-weight:350;line-height:1.2;list-style:none;color:var(--ink);transition:background .2s,color .2s}
.constru-page .cn-family__items summary:hover{background:var(--bone-3)}
.constru-page .cn-family__items summary::-webkit-details-marker{display:none}
.constru-page .cn-family__items summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;color:var(--teal-t);font-weight:300}
.constru-page .cn-family__items details[open] summary::after{content:'−'}
.constru-page .cn-family__items details[open]{background:var(--bone-3)}
.constru-page .cn-family__items details[open] summary{color:var(--ink)}
.constru-page .cn-family__items details>div{padding:0 30px 28px}
.constru-page .cn-family__items details p{max-width:64ch;margin:0 0 12px;line-height:1.65;font-size:14px}
.constru-page .cn-family__items details a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:500;color:var(--teal-t);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.constru-page :is(a,summary,button):focus-visible{outline:2px solid var(--teal-t,#42646b);outline-offset:5px}
.constru-page .cn-family__items summary:focus-visible{outline-offset:-4px}
.constru-page :is(.cn-budget,.cta,.hero) :is(a,summary,button):focus-visible{outline-color:var(--teal-l,#d5ecea)}
.constru-page .cn-budget{background:var(--coal);color:var(--bone-3)}
.constru-page .cn-budget :is(h2,h3){color:var(--bone-3)}
.constru-page .cn-budget__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.constru-page .cn-budget h2{margin:16px 0 24px}
.constru-page .cn-budget p{max-width:54ch;line-height:1.7;font-size:15px;margin:0 0 18px;color:var(--bone)}
.constru-page .cn-budget .btn{margin-top:14px}
.constru-page .cn-budget__check{border:1px solid var(--line-l);padding:30px}
.constru-page .cn-budget__check h3{font-size:25px;font-weight:350;margin:0 0 25px}
.constru-page .cn-budget__check ul{list-style:none;padding:0;margin:0}
.constru-page .cn-budget__check li{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:20px;border-top:1px solid var(--line-l);padding:19px 0;font-size:14px;line-height:1.55}
.constru-page .cn-budget__check li:last-child{padding-bottom:0}
.constru-page .cn-budget__check b{font-weight:500;color:var(--bone-3)}
.constru-page .cn-budget__check span{color:var(--bone)}
.constru-page .cn-tool-section{padding-bottom:20px}
.constru-page .cn-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--cn-line)}
.constru-page .cn-steps li{position:relative;min-width:0;padding:28px 24px 0 0}
.constru-page .cn-steps li+li{border-left:1px solid var(--cn-line);padding-left:24px}
.constru-page .cn-steps>li>span{display:block;margin:0 0 32px;font-size:clamp(38px,4.7vw,66px);line-height:1;font-weight:250;letter-spacing:-.05em;color:var(--teal-t)}
.constru-page .cn-steps h3{font-size:21px;font-weight:400;line-height:1.2;margin:0 0 14px}
.constru-page .cn-steps p{font-size:14px;line-height:1.65;margin:0}
.constru-page .cn-local{background:var(--bone-2)}
.constru-page .cn-local .cn-head{margin-bottom:0}
.constru-page .cn-local a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.constru-page .cn-faq .head{margin-bottom:35px}
@media(max-width:1000px){.constru-page .cn-head{gap:30px}.constru-page .cn-budget__grid{gap:35px}.constru-page .cn-budget__check li{grid-template-columns:1fr;gap:5px}.constru-page .cn-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}.constru-page .cn-steps li:nth-child(3){border-left:0;padding-left:0}.constru-page .cn-steps li:nth-child(n+3){border-top:1px solid var(--cn-line)}.constru-page .cn-family>header{padding-right:25px}}
@media(max-width:700px){.constru-page :is(section,[id]){scroll-margin-top:90px}.constru-page .cn-head{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.constru-page .cn-benefits{grid-template-columns:1fr}.constru-page .cn-benefits li,.constru-page .cn-benefits li+li{padding:20px 0;border-left:0;border-bottom:1px solid var(--cn-line)}.constru-page .cn-benefits span{margin-bottom:12px}.constru-page .cn-benefits p{max-width:none}.constru-page .cn-family{grid-template-columns:1fr}.constru-page .cn-family>header{padding:25px 0 20px}.constru-page .cn-family__drawing{width:74px;height:58px;margin-bottom:12px}.constru-page .cn-family>header>span{margin-bottom:13px}.constru-page .cn-family>header h3{clear:none;margin-bottom:8px;max-width:calc(100% - 90px)}.constru-page .cn-family>header p{clear:both;max-width:none;padding-top:4px}.constru-page .cn-family__items{border-left:0;border-top:1px solid var(--cn-line)}.constru-page .cn-family__items summary{font-size:21px;padding:23px 12px;min-height:78px}.constru-page .cn-family__items details>div{padding:0 12px 24px}.constru-page .cn-budget__grid{grid-template-columns:1fr;gap:30px}.constru-page .cn-budget__check{padding:24px 20px}.constru-page .cn-steps>li>span{margin-bottom:22px}}
@media(max-width:440px){.constru-page .cn-steps{grid-template-columns:1fr;gap:0}.constru-page .cn-steps li,.constru-page .cn-steps li+li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 18px;padding:24px 0;border-left:0}.constru-page .cn-steps li+li{border-top:1px solid var(--cn-line)}.constru-page .cn-steps>li>span{grid-row:span 2;font-size:36px;margin:0}.constru-page .cn-steps h3{font-size:20px;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.constru-page *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* tramuntana:construccion-madre-v1-end */


/* tramuntana:construccion-tool-css-v1-start */
.constru-page .cn-tool{--cn-ink:var(--ink,#1d1d1b);--cn-teal:var(--teal-t,#42646b);--cn-line:var(--line,rgba(29,29,27,.18));background:var(--bone-3,#f2f1ed);color:var(--cn-ink);border:1px solid var(--cn-line);padding:clamp(22px,3.5vw,48px);min-width:0;scroll-margin-top:110px}
.constru-page .cn-tool *,.constru-page .cn-tool *::before,.constru-page .cn-tool *::after{box-sizing:border-box}
.constru-page .cn-tool [hidden]{display:none!important}
.constru-page .cn-tool :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cn-teal);outline-offset:4px}
.constru-page .cn-tool :is(h2,h3,h4,p,li,label,button,legend){overflow-wrap:break-word}
.constru-page .cn-tool__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:30px;align-items:end;margin-bottom:28px}
.constru-page .cn-tool__head h2{margin:14px 0 0;color:var(--cn-ink);font-size:clamp(30px,3.2vw,45px);font-weight:300;line-height:1.08}
.constru-page .cn-tool__head p{margin:0;font-size:15px;line-height:1.7}
.constru-page .cn-tool :is(form,fieldset,details){min-width:0}
.constru-page .cn-tool :is(form,fieldset){margin:0;padding:0;border:0}
.constru-page .cn-tool__disclosure{border:0;padding:0;margin:0;background:transparent}
.constru-page .cn-tool__disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:54px;border:1px solid var(--cn-teal);padding:13px 18px;list-style:none;font-size:16px;font-weight:500;line-height:1.5;color:var(--cn-teal);cursor:pointer}
.constru-page .cn-tool__disclosure>summary::marker{content:""}
.constru-page .cn-tool__disclosure>summary::-webkit-details-marker{display:none}
.constru-page .cn-tool__disclosure>summary::after{content:none}
.constru-page .cn-tool__sign{flex:none;font-size:25px;line-height:1;font-weight:300}
.constru-page .cn-tool__minus,.constru-page .cn-tool__disclosure[open] .cn-tool__plus{display:none}
.constru-page .cn-tool__disclosure[open] .cn-tool__minus{display:inline}
.constru-page .cn-tool__disclosure[open]>summary{margin-bottom:26px;background:var(--coal,#35352f);border-color:var(--coal,#35352f);color:var(--bone-3,#f2f1ed)}
.constru-page .cn-tool__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.constru-page .cn-tool label{display:block;font-size:14px;font-weight:500;line-height:1.5;min-width:0}
.constru-page .cn-tool :is(select,textarea){display:block;width:100%;max-width:100%;min-width:0;margin-top:8px;min-height:48px;border:1px solid var(--cn-teal);border-radius:0;padding:10px;background:#fff;color:var(--cn-ink);font:inherit;font-size:16px;line-height:1.5}
.constru-page .cn-tool textarea{resize:vertical;min-height:230px;font-size:14px;line-height:1.7}
.constru-page .cn-tool .cn-tool__docs{padding-top:26px;margin-top:26px;border-top:1px solid var(--cn-line)}
.constru-page .cn-tool__docs legend{float:left;display:block;width:100%;padding:0;margin:0 0 8px;font-size:19px;font-weight:400;color:var(--cn-ink)}
.constru-page .cn-tool__docs>p{clear:both;font-size:13px;line-height:1.65;margin:0 0 16px;max-width:88ch}
.constru-page .cn-tool__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 25px}
.constru-page .cn-tool__choices label{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;font-weight:400}
.constru-page .cn-tool input[type=checkbox]{appearance:auto;display:block;position:static;width:20px;height:20px;opacity:1;flex:none;margin:0;padding:0;accent-color:var(--cn-teal)}
.constru-page .cn-tool__controls,.constru-page .cn-tool__exports{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:26px}
.constru-page .cn-tool .cn-tool__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;background:var(--teal-t,#42646b);color:#fff;border:1px solid var(--teal-t,#42646b);border-radius:0;text-decoration:none;font:inherit;font-size:14px;line-height:1.45;font-weight:500;text-align:center;cursor:pointer;transition:background .18s}
.constru-page .cn-tool .cn-tool__button:hover{background:var(--coal,#35352f);border-color:var(--coal,#35352f)}
.constru-page .cn-tool .cn-tool__text{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--cn-teal);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;line-height:1.5}
.constru-page .cn-tool .cn-tool__exports :is(button,a):disabled,.constru-page .cn-tool__exports [aria-disabled=true]{opacity:.55;cursor:not-allowed}
.constru-page .cn-tool__hint,.constru-page .cn-tool__limits{font-size:12px;line-height:1.65;color:var(--ink-2,#3c3c3b);margin:16px 0 0}
.constru-page .cn-tool__result{border-top:2px solid var(--cn-teal);padding-top:30px;margin-top:30px;min-width:0}
.constru-page .cn-tool__eyebrow{display:block;color:var(--cn-teal);font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}
.constru-page .cn-tool__next h3{margin:10px 0 14px;font-size:clamp(26px,2.4vw,35px);line-height:1.15;font-weight:350;color:var(--cn-ink);max-width:36ch}
.constru-page .cn-tool__next p{font-size:15px;line-height:1.7;max-width:85ch;margin:0}
.constru-page .cn-tool h4{color:var(--cn-ink);font-size:18px;line-height:1.35;font-weight:500;margin:0 0 12px}
.constru-page .cn-tool__boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.constru-page .cn-tool__boundaries>div{padding:20px;background:var(--bone,#e6e4df)}
.constru-page .cn-tool__boundaries ul{padding-left:18px;margin:0}
.constru-page .cn-tool :is(li,p){font-size:14px;line-height:1.65}
.constru-page .cn-tool li+li{margin-top:8px}
.constru-page .cn-tool__actions-plan{margin-top:27px}
.constru-page .cn-tool__actions-plan ol{list-style:none;counter-reset:cn-step;margin:0;padding:0}
.constru-page .cn-tool__actions-plan li{counter-increment:cn-step;display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid var(--cn-line);margin:0}
.constru-page .cn-tool__actions-plan li::before{content:"0" counter(cn-step);color:var(--cn-teal);font-size:13px;font-weight:500}
.constru-page .cn-tool__context{border-left:2px solid var(--cn-teal);padding:8px 0 8px 15px;margin:20px 0 0;font-size:13px}
.constru-page .cn-tool__review{margin-top:25px;border-block:1px solid var(--cn-line);padding:0;background:transparent}
.constru-page .cn-tool__review>summary{min-height:48px;padding:14px 0;cursor:pointer;color:var(--cn-teal);font-size:14px;line-height:1.5}
.constru-page .cn-tool__review[open]{padding-bottom:18px}
.constru-page .cn-tool__review p{font-size:12px;margin:10px 0}
.constru-page .cn-tool__count{color:var(--cn-teal)}
.constru-page .cn-tool__status{min-height:1.6em;font-size:13px;line-height:1.6;margin:15px 0 0;color:var(--cn-teal)}
.constru-page .cn-tool__direct{margin:20px 0 0}
.constru-page .cn-tool__direct a,.constru-page .cn-tool__fallback a{display:inline-flex;align-items:center;min-height:44px;color:var(--cn-teal);text-underline-offset:4px;font-size:14px}
@media(max-width:1000px){.constru-page .cn-tool__fields{grid-template-columns:1fr}.constru-page .cn-tool__head{gap:22px}}
@media(max-width:650px){.constru-page .cn-tool{padding:22px 18px;scroll-margin-top:90px}.constru-page .cn-tool__head,.constru-page .cn-tool__choices,.constru-page .cn-tool__boundaries{grid-template-columns:1fr}.constru-page .cn-tool__disclosure>summary{font-size:15px;padding:13px 14px}.constru-page .cn-tool__boundaries{gap:14px}.constru-page .cn-tool__controls>.cn-tool__button,.constru-page .cn-tool__exports>.cn-tool__button{width:100%}.constru-page .cn-tool__next h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.constru-page .cn-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:construccion-tool-css-v1-end */


/* tramuntana:construccion-casas-landing-v1 */
/* tramuntana:construccion-casas-css-v1-start */
/* The shared theme owns header, hero frame, projects, footer and CTA. No substitutes. */
.servicio-html .cvh-page{--cvh-ink:var(--ink,#1d1d1b);--cvh-paper:var(--bone-3,#f2f1ed);--cvh-line:var(--line,rgba(29,29,27,.18));--cvh-accent:var(--teal-t,#42646b);min-width:0;color:var(--cvh-ink)}
.servicio-html .cvh-page *,.servicio-html .cvh-page *::before,.servicio-html .cvh-page *::after{box-sizing:border-box}
.servicio-html .cvh-page [hidden]{display:none!important}
.servicio-html .cvh-page [id]{scroll-margin-top:110px}
.servicio-html .cvh-page :is(h1,h2,h3,h4,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .cvh-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cvh-accent);outline-offset:5px}
.servicio-html .cvh-page :is(.hero,.cta,.cvh-dark) :focus-visible{outline-color:var(--teal-l,#a9c6cc)}
.servicio-html .cvh-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .cvh-page img{display:block;max-width:100%}
.servicio-html .cvh-page figure{margin:0}
.servicio-html .cvh-page .cvh-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .cvh-page .cvh-head h2{margin:14px 0 0;max-width:20ch}
.servicio-html .cvh-page .cvh-head p{max-width:56ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .cvh-page .cvh-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,105px);align-items:center}
.servicio-html .cvh-page .cvh-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-benefits b{font-size:14px;line-height:1.45;font-weight:500}
.servicio-html .cvh-page .cvh-benefits span{font-size:14px;line-height:1.6}
.servicio-html .cvh-page .cvh-project-cover{display:block;color:inherit;text-decoration:none}
.servicio-html .cvh-page .service-reference{display:flex;flex-direction:column}
.servicio-html .cvh-page .service-reference__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.servicio-html .cvh-page .service-reference__copy h3{margin-top:0}
.servicio-html .cvh-page .service-reference__actions{margin-top:auto;padding-top:24px}
.servicio-html .cvh-page .service-reference__actions .btn{text-decoration:none}
.servicio-html .cvh-page .service-demo-note{margin-top:25px}
.servicio-html .cvh-page .cvh-dark{background:var(--coal,#35352f);color:var(--cvh-paper)}
.servicio-html .cvh-page .cvh-dark :is(h2,h3,h4){color:var(--cvh-paper)}
.servicio-html .cvh-page .cvh-dark p{color:var(--bone,#e6e4df)}
.servicio-html .cvh-page .cvh-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .cvh-page .cvh-price-figure{padding:24px 0;margin:24px 0;border-block:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-price-figure strong{display:block;font-size:clamp(36px,4.5vw,64px);line-height:1.08;font-weight:350;letter-spacing:-.035em}
.servicio-html .cvh-page .cvh-price-figure p{font-size:13px;line-height:1.65;max-width:60ch;margin:16px 0 0}
.servicio-html .cvh-page .cvh-facts{margin:0;border-top:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-facts>div{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-facts dt{font-size:14px;line-height:1.5;font-weight:500}
.servicio-html .cvh-page .cvh-facts dd{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cvh-page .cvh-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-steps li{min-width:0;padding:25px 24px;border-right:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-steps li:first-child{padding-left:0}
.servicio-html .cvh-page .cvh-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .cvh-page .cvh-steps>li>span{display:block;font-size:12px;color:var(--cvh-accent);letter-spacing:.1em}
.servicio-html .cvh-page .cvh-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .cvh-page .cvh-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cvh-page .cvh-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cvh-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.55;padding:8px 0}
.servicio-html .cvh-page .cvh-faq .head{margin-bottom:34px}
.servicio-html .cvh-page .cvh-budget{background:var(--bone-3,#f2f1ed)}
.servicio-html .cvh-page .cvh-budget h2{margin:15px 0 24px}
.servicio-html .cvh-page .cvh-budget p{font-size:15px;line-height:1.7;max-width:62ch}
.servicio-html .cvh-page .cvh-price-ranges{margin:26px 0 20px;border-top:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-price-ranges>div{padding:21px 0;border-bottom:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-price-ranges dt{font-size:12px;line-height:1.5;color:var(--cvh-accent)}
.servicio-html .cvh-page .cvh-price-ranges dd{font-size:clamp(30px,3vw,46px);line-height:1.15;font-weight:350;letter-spacing:-.035em;margin:8px 0 0}
.servicio-html .cvh-page .cvh-price-ranges dd span{font-size:.48em;letter-spacing:0;white-space:nowrap}
.servicio-html .cvh-page .cvh-budget .cvh-small{font-size:12px;line-height:1.6}
.servicio-html .cvh-page .cvh-budget-context{border:1px solid var(--cvh-line);padding:clamp(22px,3vw,38px)}
.servicio-html .cvh-page .cvh-budget-context h3{font-size:clamp(25px,2.4vw,35px);font-weight:350;line-height:1.15;margin:0 0 25px}
.servicio-html .cvh-page .cvh-time-figure{font-size:clamp(45px,6vw,84px);font-weight:300;line-height:1.1;letter-spacing:-.045em;margin-top:26px}
.servicio-html .cvh-page .cvh-time-figure span{display:block;font-size:14px;line-height:1.6;letter-spacing:0;max-width:28ch;margin-top:12px;color:var(--bone,#e6e4df)}
.servicio-html .cvh-page .cvh-dark p{font-size:15px;line-height:1.7;margin:0 0 22px}
.servicio-html .cvh-page .cvh-related{background:var(--bone-2,#dedcd6)}
.servicio-html .cvh-page .cvh-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--cvh-line)}
.servicio-html .cvh-page .cvh-related-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;font-size:15px;line-height:1.55;color:var(--cvh-ink);text-decoration:underline;text-underline-offset:5px;padding:18px 0}
.servicio-html .cvh-page .cvh-related-links span{flex:none;color:var(--cvh-accent)}
@media(max-width:1100px){.servicio-html .cvh-page .cvh-benefits li{grid-template-columns:1fr;gap:7px}.servicio-html .cvh-page .cvh-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .cvh-page .cvh-steps li:nth-child(odd){padding-left:0}.servicio-html .cvh-page .cvh-steps li:nth-child(even){border-right:0}.servicio-html .cvh-page .cvh-steps li:nth-child(n+3){border-top:1px solid var(--cvh-line)}}
@media(max-width:820px){.servicio-html .cvh-page [id]{scroll-margin-top:95px}.servicio-html .cvh-page .cvh-head,.servicio-html .cvh-page .cvh-overview,.servicio-html .cvh-page .cvh-two{grid-template-columns:1fr;gap:30px}.servicio-html .cvh-page .cvh-benefits li{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.servicio-html .cvh-page .cvh-facts>div{grid-template-columns:1fr;gap:7px}}
@media(max-width:520px){.servicio-html .cvh-page .cvh-benefits li{grid-template-columns:1fr}.servicio-html .cvh-page .cvh-steps{grid-template-columns:1fr}.servicio-html .cvh-page .cvh-steps li,.servicio-html .cvh-page .cvh-steps li:nth-child(n+3){padding:23px 0;border-right:0;border-top:1px solid var(--cvh-line)}.servicio-html .cvh-page .cvh-steps li:first-child{border-top:0}.servicio-html .cvh-page .cvh-steps h3{margin-top:16px}}
@media(max-width:820px){.servicio-html .cvh-page .cvh-related-links{grid-template-columns:1fr;gap:0}.servicio-html .cvh-page .cvh-related-links a+a{border-top:1px solid var(--cvh-line)}}
@media(prefers-reduced-motion:reduce){.servicio-html .cvh-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.servicio-html .cvh-page .service-reference__media img{transform:none!important}}
/* tramuntana:construccion-casas-css-v1-end */


/* tramuntana:casas-comparador-css-v1-start */
.cvh-page .cvh-compare{--cvh-c-ink:var(--ink,#1d1d1b);--cvh-c-teal:var(--teal-t,#42646b);--cvh-c-line:rgba(29,29,27,.19);background:var(--bone-3,#f2f1ed);color:var(--cvh-c-ink);scroll-margin-top:100px}
.cvh-page .cvh-compare *,.cvh-page .cvh-compare *::before,.cvh-page .cvh-compare *::after{box-sizing:border-box}
.cvh-page .cvh-compare [hidden]{display:none!important}
.cvh-page .cvh-compare :is(h2,h3,h4,p,li,label,button,a,legend){overflow-wrap:break-word}
.cvh-page .cvh-compare :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cvh-c-teal);outline-offset:4px}
.cvh-page .cvh-compare .cvh-compare__sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cvh-page .cvh-compare__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:30px}
.cvh-page .cvh-compare__head h2{margin:14px 0 0;font-weight:300;font-size:clamp(32px,3.5vw,48px);line-height:1.08;color:var(--cvh-c-ink)}
.cvh-page .cvh-compare :is(p,li){font-size:14px;line-height:1.7}
.cvh-page .cvh-compare__head>p{font-size:16px;margin:0}
.cvh-page .cvh-compare__app{padding:clamp(20px,3vw,38px);border:1px solid var(--cvh-c-line);background:var(--bone-3,#f2f1ed);min-width:0}
.cvh-page .cvh-compare__progress{display:flex;gap:clamp(14px,3vw,36px);padding:0 0 23px;margin:0 0 26px;list-style:none;border-bottom:1px solid var(--cvh-c-line)}
.cvh-page .cvh-compare__progress li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--cvh-c-ink);margin:0}
.cvh-page .cvh-compare__progress li span{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border:1px solid var(--cvh-c-line);border-radius:50%;font-size:12px;flex:none}
.cvh-page .cvh-compare__progress [aria-current=step]{font-weight:600;color:var(--cvh-c-teal)}
.cvh-page .cvh-compare__progress [aria-current=step] span{background:var(--cvh-c-teal);border-color:var(--cvh-c-teal);color:#fff}
.cvh-page .cvh-compare :is(form,fieldset){border:0;padding:0;margin:0;min-width:0}
.cvh-page .cvh-compare h3{font-size:clamp(25px,2.5vw,34px);font-weight:350;line-height:1.2;margin:0 0 20px;color:var(--cvh-c-ink)}
.cvh-page .cvh-compare__modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cvh-page .cvh-compare__modes label{display:flex;gap:13px;padding:20px;min-height:108px;border:1px solid var(--cvh-c-line);cursor:pointer;align-items:flex-start}
.cvh-page .cvh-compare__modes label:has(input:checked){border-color:var(--cvh-c-teal);box-shadow:inset 0 0 0 1px var(--cvh-c-teal);background:var(--bone,#e6e4df)}
.cvh-page .cvh-compare input[type=radio]{appearance:auto;position:static;opacity:1;display:block;width:20px;height:20px;min-width:20px;margin:2px 0 0;padding:0;accent-color:var(--cvh-c-teal)}
.cvh-page .cvh-compare__modes strong{display:block;font-weight:500;font-size:16px;line-height:1.4}
.cvh-page .cvh-compare__modes small{display:block;font-size:13px;line-height:1.55;margin-top:6px}
.cvh-page .cvh-compare__controls{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:26px}
.cvh-page .cvh-compare .cvh-compare__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border:1px solid var(--cvh-c-teal);border-radius:0;background:var(--cvh-c-teal);color:#fff;font:inherit;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
.cvh-page .cvh-compare .cvh-compare__button:hover{background:var(--coal,#35352f);border-color:var(--coal,#35352f)}
.cvh-page .cvh-compare .cvh-compare__text{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;border-radius:0;font:inherit;font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px;color:var(--cvh-c-teal);cursor:pointer}
.cvh-page .cvh-compare__section-head{display:flex;justify-content:space-between;gap:16px;align-items:start}
.cvh-page .cvh-compare__section-head h3{margin-bottom:10px}
.cvh-page .cvh-compare__section-head button{flex:none}
.cvh-page .cvh-compare__help{margin:0 0 24px;max-width:86ch}
.cvh-page .cvh-compare :is(.cvh-compare__group,.cvh-compare__metadata,.cvh-compare__summary-box){background:transparent;padding:0;border:0;border-top:1px solid var(--cvh-c-line);margin:0}
.cvh-page .cvh-compare :is(.cvh-compare__group,.cvh-compare__metadata,.cvh-compare__summary-box)>summary{display:flex;align-items:center;gap:12px;list-style:none;min-height:58px;padding:15px 0;cursor:pointer;font-weight:500;font-size:17px;line-height:1.4;color:var(--cvh-c-ink)}
.cvh-page .cvh-compare :is(.cvh-compare__group,.cvh-compare__metadata,.cvh-compare__summary-box)>summary::marker{content:""}
.cvh-page .cvh-compare :is(.cvh-compare__group,.cvh-compare__metadata,.cvh-compare__summary-box)>summary::-webkit-details-marker{display:none}
.cvh-page .cvh-compare :is(.cvh-compare__group,.cvh-compare__metadata,.cvh-compare__summary-box)>summary::after{content:none}
.cvh-page .cvh-compare .cvh-compare__sign{margin-left:auto;flex:none;font-size:25px;font-weight:300;line-height:1}
.cvh-page .cvh-compare .cvh-compare__sign::before{content:"+"}
.cvh-page .cvh-compare details[open]>summary .cvh-compare__sign::before{content:"−"}
.cvh-page .cvh-compare details[open]>summary{color:var(--cvh-c-teal)}
.cvh-page .cvh-compare__metadata>summary>span:not(.cvh-compare__sign){font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--cvh-c-line);padding:3px 7px;font-weight:400}
.cvh-page .cvh-compare__metadata>p{margin:0 0 16px;font-size:13px}
.cvh-page .cvh-compare__quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-bottom:22px}
.cvh-page .cvh-compare[data-cvh-mode=one] .cvh-compare__quotes{grid-template-columns:1fr}
.cvh-page .cvh-compare .cvh-compare__quote{border-left:2px solid var(--cvh-c-teal);padding-left:18px}
.cvh-page .cvh-compare__quote legend{font-size:15px;font-weight:500;padding:0 0 12px}
.cvh-page .cvh-compare__meta-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cvh-page .cvh-compare label{font-size:13px;line-height:1.45;min-width:0}
.cvh-page .cvh-compare :is(select,input[type=number],textarea){display:block;appearance:auto;position:static;width:100%;min-width:0;max-width:100%;min-height:46px;margin:7px 0 0;padding:10px;border:1px solid var(--cvh-c-line);border-radius:0;background:#fff;color:var(--cvh-c-ink);font:inherit;font-size:16px;line-height:1.4;opacity:1}
.cvh-page .cvh-compare__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:center;padding:18px 0;border-top:1px solid var(--cvh-c-line)}
.cvh-page .cvh-compare__chapter h4{margin:0;font-size:16px;line-height:1.4;font-weight:500;color:var(--cvh-c-ink)}
.cvh-page .cvh-compare__chapter p{font-size:12px;line-height:1.6;margin:6px 0 0}
.cvh-page .cvh-compare__states{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cvh-page .cvh-compare[data-cvh-mode=one] .cvh-compare__states{grid-template-columns:1fr}
.cvh-page .cvh-compare .cvh-compare__note{font-size:12px;line-height:1.6;margin:16px 0 0;max-width:95ch}
.cvh-page .cvh-compare__result>h3{margin:10px 0 14px}
.cvh-page .cvh-compare__result>p{max-width:92ch}
.cvh-page .cvh-compare__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;border-block:1px solid var(--cvh-c-line);margin:25px 0;padding:20px 0}
.cvh-page .cvh-compare__metrics>div{display:flex;flex-direction:column-reverse;gap:6px}
.cvh-page .cvh-compare__metrics dt{font-size:12px;line-height:1.5;max-width:22ch}
.cvh-page .cvh-compare__metrics dd{margin:0;font-size:30px;font-weight:300;line-height:1.1;color:var(--cvh-c-teal)}
.cvh-page .cvh-compare__questions{list-style:none;counter-reset:cvh-question;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:26px 0 0;padding:0}
.cvh-page .cvh-compare__questions>li{counter-increment:cvh-question;display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;padding:18px 0;border-top:1px solid var(--cvh-c-line);margin:0}
.cvh-page .cvh-compare__questions>li::before{content:counter(cvh-question,decimal-leading-zero);font-size:11px;font-weight:500;color:var(--cvh-c-teal);padding-top:3px}
.cvh-page .cvh-compare__questions h4{margin:0 0 7px;font-size:16px;font-weight:500;line-height:1.4;color:var(--cvh-c-ink)}
.cvh-page .cvh-compare__questions p{font-size:13px;line-height:1.65;margin:0}
.cvh-page .cvh-compare__limit{padding:16px 18px;background:var(--bone,#e6e4df);font-size:12px!important;margin:22px 0!important}
.cvh-page .cvh-compare__summary-box{margin-top:24px}
.cvh-page .cvh-compare__summary-box>summary{font-size:14px!important}
.cvh-page .cvh-compare textarea{min-height:240px;font-size:13px;line-height:1.65;resize:vertical}
.cvh-page .cvh-compare__summary-box p{font-size:12px;line-height:1.6;margin:12px 0}
.cvh-page .cvh-compare__status{min-height:1.6em;font-size:13px!important;line-height:1.6;margin:18px 0 0;color:var(--cvh-c-teal)}
.cvh-page .cvh-compare__fallback ol{padding-left:22px;margin:0 0 25px}
.cvh-page .cvh-compare__fallback li+li{margin-top:10px}
@media(max-width:900px){.cvh-page .cvh-compare__head{grid-template-columns:1fr;gap:20px}.cvh-page .cvh-compare__head>p{max-width:65ch}.cvh-page .cvh-compare__modes{grid-template-columns:1fr}.cvh-page .cvh-compare__modes label{min-height:74px;padding:16px}.cvh-page .cvh-compare__modes small{margin-top:3px}.cvh-page .cvh-compare__row{grid-template-columns:1fr;gap:12px}.cvh-page .cvh-compare__states{max-width:600px}.cvh-page .cvh-compare[data-cvh-mode=one] .cvh-compare__states{max-width:340px}}
@media(max-width:600px){.cvh-page .cvh-compare__app{padding:21px 16px}.cvh-page .cvh-compare__progress{gap:12px;padding-bottom:18px;margin-bottom:22px;justify-content:space-between}.cvh-page .cvh-compare__progress li{gap:5px;font-size:11px}.cvh-page .cvh-compare__progress li span{width:22px;height:22px;font-size:10px}.cvh-page .cvh-compare__head h2{font-size:31px}.cvh-page .cvh-compare__head h2 br{display:none}.cvh-page .cvh-compare__section-head{display:block}.cvh-page .cvh-compare__section-head button{margin-bottom:12px}.cvh-page .cvh-compare__quotes,.cvh-page .cvh-compare__questions{grid-template-columns:1fr}.cvh-page .cvh-compare__metadata>summary{flex-wrap:wrap;font-size:15px}.cvh-page .cvh-compare__metadata>summary>.cvh-compare__sign{align-self:center}.cvh-page .cvh-compare__states{gap:10px}.cvh-page .cvh-compare__states select{font-size:16px;padding:10px 6px;min-height:48px}.cvh-page .cvh-compare__meta-fields{grid-template-columns:1fr}.cvh-page .cvh-compare__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cvh-page .cvh-compare__controls>.cvh-compare__button{width:100%}.cvh-page .cvh-compare__controls{gap:10px 18px}.cvh-page .cvh-compare__questions{margin-top:22px}.cvh-page .cvh-compare{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){.cvh-page .cvh-compare *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:casas-comparador-css-v1-end */


/* tramuntana:construccion-piscinas-landing-v1 */
/* tramuntana:construccion-piscinas-css-v1-start */
/* Shared service frame owns header, hero, project cards, native CTA and footer. */
.servicio-html .cpi-page{--cpi-ink:var(--ink,#1d1d1b);--cpi-paper:var(--bone-3,#f2f1ed);--cpi-line:var(--line,rgba(29,29,27,.18));--cpi-accent:var(--teal-t,#42646b);min-width:0;color:var(--cpi-ink)}
.servicio-html .cpi-page *,.servicio-html .cpi-page *::before,.servicio-html .cpi-page *::after{box-sizing:border-box}
.servicio-html .cpi-page [hidden]{display:none!important}
.servicio-html .cpi-page [id]{scroll-margin-top:110px}
.servicio-html .cpi-page :is(h1,h2,h3,h4,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .cpi-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cpi-accent);outline-offset:5px}
.servicio-html .cpi-page :is(.hero,.cta,.cpi-dark) :focus-visible{outline-color:var(--teal-l,#a9c6cc)}
.servicio-html .cpi-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .cpi-page img{display:block;max-width:100%}
.servicio-html .cpi-page figure{margin:0}
.servicio-html .cpi-page .cpi-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .cpi-page .cpi-head h2{margin:14px 0 0;max-width:20ch}
.servicio-html .cpi-page .cpi-head p{max-width:56ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .cpi-page .cpi-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,105px);align-items:center}
.servicio-html .cpi-page .cpi-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-benefits b{font-size:14px;line-height:1.45;font-weight:500}
.servicio-html .cpi-page .cpi-benefits span{font-size:14px;line-height:1.6}
.servicio-html .cpi-page .cpi-project-cover{display:block;color:inherit;text-decoration:none}
.servicio-html .cpi-page .service-reference{display:flex;flex-direction:column}
.servicio-html .cpi-page .service-reference__copy{display:flex;flex:1;flex-direction:column;align-items:flex-start}
.servicio-html .cpi-page .service-reference__copy h3{margin-top:0}
.servicio-html .cpi-page .service-reference__actions{margin-top:auto;padding-top:24px}
.servicio-html .cpi-page .service-reference__actions .btn{text-decoration:none}
.servicio-html .cpi-page .service-demo-note{margin-top:25px}
.servicio-html .cpi-page .cpi-decisions-list{margin:0;border-top:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-decisions-list>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(25px,5vw,80px);align-items:start;padding:29px 0;border-bottom:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-decisions-list dt{margin:0;display:flex;flex-direction:column;gap:12px}
.servicio-html .cpi-page .cpi-decisions-list dt span{font-size:11px;line-height:1.5;color:var(--cpi-accent);letter-spacing:.07em;text-transform:uppercase}
.servicio-html .cpi-page .cpi-decisions-list dt b{font-size:clamp(23px,2.7vw,35px);font-weight:350;line-height:1.15}
.servicio-html .cpi-page .cpi-decisions-list dd{font-size:15px;line-height:1.7;margin:0;max-width:65ch}
.servicio-html .cpi-page .cpi-local{font-size:14px;line-height:1.65;margin:24px 0 0;max-width:75ch}
.servicio-html .cpi-page .cpi-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .cpi-page .cpi-dark{background:var(--coal,#35352f);color:var(--cpi-paper)}
.servicio-html .cpi-page .cpi-dark :is(h2,h3,h4){color:var(--cpi-paper)}
.servicio-html .cpi-page .cpi-dark p{color:var(--bone,#e6e4df)}
.servicio-html .cpi-page .cpi-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-steps li{min-width:0;padding:25px 24px;border-right:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-steps li:first-child{padding-left:0}
.servicio-html .cpi-page .cpi-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .cpi-page .cpi-steps>li>span{display:block;font-size:12px;color:var(--cpi-accent);letter-spacing:.1em}
.servicio-html .cpi-page .cpi-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .cpi-page .cpi-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cpi-page .cpi-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cpi-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.55;padding:8px 0}
.servicio-html .cpi-page .cpi-faq .head{margin-bottom:34px}
.servicio-html .cpi-page .cpi-budget{background:var(--bone-3,#f2f1ed)}
.servicio-html .cpi-page .cpi-budget h2{margin:15px 0 24px}
.servicio-html .cpi-page .cpi-budget p{font-size:15px;line-height:1.7;max-width:62ch}
.servicio-html .cpi-page .cpi-price-reference{padding:24px 0;margin:26px 0 20px;border-block:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-price-reference>span{display:block;font-size:13px;line-height:1.5;color:var(--cpi-accent);margin-bottom:13px}
.servicio-html .cpi-page .cpi-price-reference strong{display:block;font-size:clamp(34px,4vw,56px);line-height:1.15;font-weight:350;letter-spacing:-.035em;overflow-wrap:break-word}
.servicio-html .cpi-page .cpi-price-reference small{font-size:.5em;letter-spacing:0}
.servicio-html .cpi-page .cpi-budget .cpi-small{font-size:12px;line-height:1.6}
.servicio-html .cpi-page .cpi-budget-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:25px}
.servicio-html .cpi-page .cpi-budget-check{border:1px solid var(--cpi-line);padding:clamp(22px,3vw,38px)}
.servicio-html .cpi-page .cpi-budget-check h3{font-size:clamp(25px,2.4vw,35px);font-weight:350;line-height:1.15;margin:0 0 25px}
.servicio-html .cpi-page .cpi-budget-check dl{margin:0}
.servicio-html .cpi-page .cpi-budget-check dl>div{border-top:1px solid var(--cpi-line);padding:19px 0}
.servicio-html .cpi-page .cpi-budget-check dl>div:last-child{padding-bottom:0}
.servicio-html .cpi-page .cpi-budget-check dt{font-size:14px;line-height:1.5;font-weight:500;margin:0 0 8px}
.servicio-html .cpi-page .cpi-budget-check dd{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cpi-page .cpi-related{background:var(--bone-2,#dedcd6)}
.servicio-html .cpi-page .cpi-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--cpi-line)}
.servicio-html .cpi-page .cpi-related-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;font-size:15px;line-height:1.55;color:var(--cpi-ink);text-decoration:underline;text-underline-offset:5px;padding:18px 0}
.servicio-html .cpi-page .cpi-related-links span{flex:none;color:var(--cpi-accent)}
@media(max-width:1100px){.servicio-html .cpi-page .cpi-benefits li{grid-template-columns:1fr;gap:7px}.servicio-html .cpi-page .cpi-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .cpi-page .cpi-steps li:nth-child(odd){padding-left:0}.servicio-html .cpi-page .cpi-steps li:nth-child(even){border-right:0}.servicio-html .cpi-page .cpi-steps li:nth-child(n+3){border-top:1px solid var(--cpi-line)}}
@media(max-width:820px){.servicio-html .cpi-page [id]{scroll-margin-top:95px}.servicio-html .cpi-page .cpi-head,.servicio-html .cpi-page .cpi-overview,.servicio-html .cpi-page .cpi-two{grid-template-columns:1fr;gap:30px}.servicio-html .cpi-page .cpi-benefits li{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.servicio-html .cpi-page .cpi-decisions-list>div{grid-template-columns:1fr;gap:18px}.servicio-html .cpi-page .cpi-related-links{grid-template-columns:1fr;gap:0}.servicio-html .cpi-page .cpi-related-links a+a{border-top:1px solid var(--cpi-line)}}
@media(max-width:520px){.servicio-html .cpi-page .cpi-benefits li{grid-template-columns:1fr}.servicio-html .cpi-page .cpi-steps{grid-template-columns:1fr}.servicio-html .cpi-page .cpi-steps li,.servicio-html .cpi-page .cpi-steps li:nth-child(n+3){padding:23px 0;border-right:0;border-top:1px solid var(--cpi-line)}.servicio-html .cpi-page .cpi-steps li:first-child{border-top:0}.servicio-html .cpi-page .cpi-steps h3{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.servicio-html .cpi-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.servicio-html .cpi-page .service-reference__media img{transform:none!important}}
/* tramuntana:construccion-piscinas-css-v1-end */


/* tramuntana:piscinas-tool-css-v1-start */
.cpi-page .cpi-tool{--cpi-ink:var(--ink,#1d1d1b);--cpi-teal:var(--teal-t,#42646b);--cpi-line:rgba(29,29,27,.2);background:var(--bone-3,#f2f1ed);color:var(--cpi-ink);scroll-margin-top:100px}
.cpi-page .cpi-tool *,.cpi-page .cpi-tool *::before,.cpi-page .cpi-tool *::after{box-sizing:border-box}
.cpi-page .cpi-tool [hidden]{display:none!important}
.cpi-page .cpi-tool .cpi-tool__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cpi-page .cpi-tool :is(h2,h3,p,label,button,a,legend,dt,dd){overflow-wrap:break-word}
.cpi-page .cpi-tool :is(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--cpi-teal);outline-offset:4px}
.cpi-page .cpi-tool__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:30px}
.cpi-page .cpi-tool__head h2{font-size:clamp(32px,3.5vw,48px);font-weight:300;line-height:1.08;margin:14px 0 0;color:var(--cpi-ink)}
.cpi-page .cpi-tool__head>p{font-size:16px;line-height:1.7;margin:0}
.cpi-page .cpi-tool__app{border:1px solid var(--cpi-line);padding:clamp(20px,3vw,36px);min-width:0}
.cpi-page .cpi-tool :is(form,fieldset){border:0;margin:0;padding:0;min-width:0}
.cpi-page .cpi-tool legend{font-size:15px;font-weight:500;line-height:1.5;color:var(--cpi-ink);margin:0 0 12px;padding:0}
.cpi-page .cpi-tool .cpi-tool__presets{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--cpi-line)}
.cpi-page .cpi-tool__presets>div{display:flex;flex-wrap:wrap;gap:10px}
.cpi-page .cpi-tool__presets button{display:inline-flex;align-items:center;justify-content:center;min-width:94px;min-height:46px;padding:11px 16px;border:1px solid var(--cpi-line);border-radius:0;background:transparent;color:var(--cpi-ink);font:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.cpi-page .cpi-tool__presets button[aria-pressed=true]{background:var(--coal,#35352f);border-color:var(--coal,#35352f);color:#fff}
.cpi-page .cpi-tool__layout{display:grid;grid-template-columns:minmax(240px,.82fr) minmax(0,1.4fr);gap:clamp(24px,4vw,55px);align-items:start}
.cpi-page .cpi-tool__inputs{min-width:0}
.cpi-page .cpi-tool__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cpi-page .cpi-tool label{display:block;font-size:14px;line-height:1.55;font-weight:500;color:var(--cpi-ink);min-width:0}
.cpi-page .cpi-tool input,.cpi-page .cpi-tool textarea{appearance:auto;position:static;display:block;width:100%;max-width:100%;min-width:0;min-height:48px;margin:7px 0 0;padding:11px 12px;background:#fff;color:var(--cpi-ink);border:1px solid var(--cpi-line);border-radius:0;font:inherit;font-size:18px;line-height:1.4;opacity:1}
.cpi-page .cpi-tool input[aria-invalid=true]{border-width:2px;border-color:var(--coal,#35352f)}
.cpi-page .cpi-tool__optional{font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:3px 6px;border:1px solid var(--cpi-line);margin-left:5px;font-weight:400;white-space:nowrap}
.cpi-page .cpi-tool .cpi-tool__help{font-size:12px;line-height:1.6;margin:9px 0 21px}
.cpi-page .cpi-tool__help strong{font-weight:600}
.cpi-page .cpi-tool .cpi-tool__error{display:block;margin-top:7px;font-size:12px;line-height:1.5;font-weight:600;color:var(--coal,#35352f)}
.cpi-page .cpi-tool__visual{min-width:0}
.cpi-page .cpi-tool__figure{margin:0}
.cpi-page .cpi-tool__drawing{display:flex;align-items:center;justify-content:center;min-width:0;height:clamp(230px,25vw,290px);background:var(--bone,#e6e4df)}
.cpi-page .cpi-tool__plan{display:block;width:100%;height:100%;overflow:visible}
.cpi-page .cpi-tool__outer{fill:var(--bone-3,#f2f1ed);stroke:var(--cpi-teal);stroke-width:1.5;stroke-dasharray:4 4}
.cpi-page .cpi-tool__water{fill:var(--cpi-teal);stroke:var(--cpi-teal);stroke-width:1.5}
.cpi-page .cpi-tool__dimensions path{fill:none;stroke:var(--cpi-ink);stroke-width:1.2}
.cpi-page .cpi-tool__dimensions text{font-family:inherit;font-size:21px;fill:var(--cpi-ink);font-weight:500}
.cpi-page .cpi-tool__water-label{font-family:inherit;font-size:22px;fill:#fff;font-weight:400}
.cpi-page .cpi-tool__empty{font-size:15px;line-height:1.7;padding:24px;text-align:center;max-width:30ch;margin:0;color:var(--cpi-ink)}
.cpi-page .cpi-tool__figure figcaption{display:grid;gap:9px;margin:13px 0 0;font-size:11px;line-height:1.55}
.cpi-page .cpi-tool__legend{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:12px}
.cpi-page .cpi-tool__legend>span{display:flex;align-items:center;gap:8px}
.cpi-page .cpi-tool__legend i{display:inline-block;width:14px;height:14px;border:1px solid var(--cpi-teal);flex:none}
.cpi-page .cpi-tool__swatch-water{background:var(--cpi-teal)}
.cpi-page .cpi-tool__swatch-band{background:var(--bone-3,#f2f1ed);border-style:dashed!important}
.cpi-page .cpi-tool__results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;border-top:1px solid var(--cpi-line);margin:20px 0 0;padding:19px 0 0}
.cpi-page .cpi-tool__results dt{font-size:12px;line-height:1.5;color:var(--cpi-ink)}
.cpi-page .cpi-tool__results dd{margin:6px 0 0;font-weight:350;font-size:clamp(23px,2.4vw,31px);line-height:1.2;color:var(--cpi-teal)}
.cpi-page .cpi-tool__results small{display:block;font-size:12px;font-weight:400;line-height:1.5;margin-top:4px;color:var(--cpi-ink)}
.cpi-page .cpi-tool__volume-note{font-size:11px;line-height:1.65;margin:15px 0 0}
.cpi-page .cpi-tool__limits{margin-top:27px;padding:17px 20px;border-left:2px solid var(--cpi-teal);background:var(--bone,#e6e4df)}
.cpi-page .cpi-tool__limits strong{font-size:14px;font-weight:500;line-height:1.5}
.cpi-page .cpi-tool__limits p{font-size:12px;line-height:1.65;margin:6px 0 0}
.cpi-page .cpi-tool__actions{display:flex;flex-wrap:wrap;gap:12px 23px;align-items:center;margin-top:24px}
.cpi-page .cpi-tool .cpi-tool__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border:1px solid var(--cpi-teal);border-radius:0;background:var(--cpi-teal);color:#fff;text-decoration:none;font:inherit;font-size:14px;font-weight:500;line-height:1.4;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
.cpi-page .cpi-tool .cpi-tool__button:hover{background:var(--coal,#35352f);border-color:var(--coal,#35352f)}
.cpi-page .cpi-tool .cpi-tool__text{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;border-radius:0;font:inherit;font-size:14px;line-height:1.5;color:var(--cpi-teal);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cpi-page .cpi-tool button:disabled,.cpi-page .cpi-tool a[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.cpi-page .cpi-tool__summary-box{border:0;border-top:1px solid var(--cpi-line);background:transparent;padding:0;margin-top:24px}
.cpi-page .cpi-tool__summary-box>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:50px;padding:13px 0;list-style:none;font-size:14px;line-height:1.5;color:var(--cpi-teal);cursor:pointer}
.cpi-page .cpi-tool__summary-box>summary::after{content:none}
.cpi-page .cpi-tool__summary-box>summary::marker{content:""}
.cpi-page .cpi-tool__summary-box>summary::-webkit-details-marker{display:none}
.cpi-page .cpi-tool__summary-box>summary>span::before{content:"+";font-size:24px;font-weight:300}
.cpi-page .cpi-tool__summary-box[open]>summary>span::before{content:"−"}
.cpi-page .cpi-tool textarea{font-size:13px;line-height:1.65;min-height:210px;resize:vertical}
.cpi-page .cpi-tool__summary-box p{font-size:12px;line-height:1.6;margin:12px 0}
.cpi-page .cpi-tool__status{min-height:1.6em;margin:16px 0 0;font-size:13px;line-height:1.6;color:var(--cpi-teal)}
.cpi-page .cpi-tool__fallback p{font-size:15px;line-height:1.7;max-width:82ch;margin:0 0 24px}
@media(max-width:950px){.cpi-page .cpi-tool__head{grid-template-columns:1fr;gap:20px}.cpi-page .cpi-tool__head>p{max-width:65ch}.cpi-page .cpi-tool__layout{gap:25px;grid-template-columns:minmax(210px,.85fr) minmax(0,1fr)}.cpi-page .cpi-tool__drawing{height:245px}.cpi-page .cpi-tool__dimensions text{font-size:23px}}
@media(max-width:720px){.cpi-page .cpi-tool__layout{grid-template-columns:1fr}.cpi-page .cpi-tool__inputs>fieldset{max-width:none}.cpi-page .cpi-tool__inputs>label{max-width:360px}.cpi-page .cpi-tool__drawing{height:260px}.cpi-page .cpi-tool__presets>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.cpi-page .cpi-tool__presets button{min-width:0;padding:10px 5px}.cpi-page .cpi-tool__inputs>.cpi-tool__text{margin-top:-6px}.cpi-page .cpi-tool__head h2 br{display:none}}
@media(max-width:440px){.cpi-page .cpi-tool__app{padding:20px 15px}.cpi-page .cpi-tool__presets>div{gap:7px}.cpi-page .cpi-tool__presets button{font-size:12px}.cpi-page .cpi-tool__drawing{height:240px}.cpi-page .cpi-tool__dimensions text{font-size:25px}.cpi-page .cpi-tool__water-label{font-size:25px}.cpi-page .cpi-tool__head h2{font-size:32px}.cpi-page .cpi-tool__limits{padding:16px}.cpi-page .cpi-tool__actions>.cpi-tool__button{width:100%}.cpi-page .cpi-tool{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){.cpi-page .cpi-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:piscinas-tool-css-v1-end */


/* tramuntana:construccion-passivhaus-landing-v1 */
/* tramuntana:construccion-passivhaus-css-v1-start */
/* The shared service frame owns the header, hero, native CTA and footer. */
.servicio-html .cph-page{--cph-ink:var(--ink,#1d1d1b);--cph-paper:var(--bone-3,#f2f1ed);--cph-line:var(--line,rgba(29,29,27,.18));--cph-accent:var(--teal-t,#42646b);min-width:0;color:var(--cph-ink)}
.servicio-html .cph-page *,.servicio-html .cph-page *::before,.servicio-html .cph-page *::after{box-sizing:border-box}
.servicio-html .cph-page [hidden]{display:none!important}
.servicio-html .cph-page [id]{scroll-margin-top:110px}
.servicio-html .cph-page :is(h1,h2,h3,h4,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .cph-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cph-accent);outline-offset:5px}
.servicio-html .cph-page :is(.hero,.cta,.cph-dark) :focus-visible{outline-color:var(--teal-l,#a9c6cc)}
.servicio-html .cph-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .cph-page img{display:block;max-width:100%}
.servicio-html .cph-page figure{margin:0}
.servicio-html .cph-page .cph-tool .cph-tool__season{margin:0}
.servicio-html .cph-page .cph-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .cph-page .cph-head h2{margin:14px 0 0;max-width:21ch}
.servicio-html .cph-page .cph-head p{max-width:58ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .cph-page .cph-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,105px);align-items:center}
.servicio-html .cph-page .cph-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-benefits b{font-size:14px;line-height:1.45;font-weight:500}
.servicio-html .cph-page .cph-benefits span{font-size:14px;line-height:1.6}
.servicio-html .cph-page .cph-project-cover{display:block;color:inherit;text-decoration:none;min-width:0}
.servicio-html .cph-page .cph-concept{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:stretch}
.servicio-html .cph-page .cph-concept .service-reference__media{width:100%;max-width:100%;min-width:0;height:100%;min-height:420px;aspect-ratio:auto}
.servicio-html .cph-page .cph-concept .service-reference__media img{height:100%;width:100%;object-fit:cover}
.servicio-html .cph-page .cph-concept .service-reference__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,4vw,58px);min-width:0}
.servicio-html .cph-page .cph-concept h3{margin:17px 0 22px;font-size:clamp(29px,3.3vw,45px);line-height:1.1}
.servicio-html .cph-page .cph-concept p{font-size:15px;line-height:1.7}
.servicio-html .cph-page .cph-concept .cph-concept-note{font-size:12px;line-height:1.6;margin-top:18px}
.servicio-html .cph-page .cph-concept .service-reference__actions{margin-top:24px}
.servicio-html .cph-page .cph-concept .service-reference__actions .btn{text-decoration:none}
.servicio-html .cph-page .cph-principles-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-principles-list li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:20px;padding:30px 35px 30px 0;border-bottom:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-principles-list li:nth-child(even){padding-left:35px;padding-right:0;border-left:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-principles-list li:last-child{grid-column:1/-1;max-width:none}
.servicio-html .cph-page .cph-principles-list li>span{color:var(--cph-accent);font-size:clamp(27px,3vw,38px);font-weight:300;line-height:1.1}
.servicio-html .cph-page .cph-principles-list h3{font-weight:350;font-size:clamp(23px,2.4vw,32px);line-height:1.15;margin:0 0 17px}
.servicio-html .cph-page .cph-principles-list p{font-size:15px;line-height:1.7;margin:0;max-width:75ch}
.servicio-html .cph-page .cph-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .cph-page .cph-dark{background:var(--coal,#35352f);color:var(--cph-paper)}
.servicio-html .cph-page .cph-dark :is(h2,h3,h4){color:var(--cph-paper)}
.servicio-html .cph-page .cph-dark p{color:var(--bone,#e6e4df);font-size:15px;line-height:1.7}
.servicio-html .cph-page .cph-dark h2{margin:16px 0 25px}
.servicio-html .cph-page .cph-dark .cph-text-link{color:var(--teal-l,#a9c6cc)}
.servicio-html .cph-page .cph-climate-notes{border-block:1px solid rgba(242,241,237,.3)}
.servicio-html .cph-page .cph-climate-notes>div{padding:26px 0}
.servicio-html .cph-page .cph-climate-notes>div+div{border-top:1px solid rgba(242,241,237,.3)}
.servicio-html .cph-page .cph-climate-notes h3{font-size:clamp(24px,2.4vw,33px);font-weight:350;line-height:1.15;margin:0 0 17px}
.servicio-html .cph-page .cph-climate-notes p{margin:0}
.servicio-html .cph-page .cph-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-steps li{min-width:0;padding:25px 24px;border-right:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-steps li:first-child{padding-left:0}
.servicio-html .cph-page .cph-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .cph-page .cph-steps>li>span{display:block;font-size:12px;color:var(--cph-accent);letter-spacing:.1em}
.servicio-html .cph-page .cph-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .cph-page .cph-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cph-page .cph-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cph-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.55;padding:8px 0}
.servicio-html .cph-page .cph-faq .head{margin-bottom:34px}
.servicio-html .cph-page .cph-budget{background:var(--bone-3,#f2f1ed)}
.servicio-html .cph-page .cph-budget h2{margin:15px 0 24px}
.servicio-html .cph-page .cph-budget p{font-size:15px;line-height:1.7;max-width:62ch}
.servicio-html .cph-page .cph-budget .btn{margin-top:15px}
.servicio-html .cph-page .cph-budget-check{border:1px solid var(--cph-line);padding:clamp(22px,3vw,38px)}
.servicio-html .cph-page .cph-budget-check h3{font-size:clamp(25px,2.4vw,35px);font-weight:350;line-height:1.15;margin:0 0 25px}
.servicio-html .cph-page .cph-budget-check dl{margin:0}
.servicio-html .cph-page .cph-budget-check dl>div{border-top:1px solid var(--cph-line);padding:19px 0}
.servicio-html .cph-page .cph-budget-check dl>div:last-child{padding-bottom:0}
.servicio-html .cph-page .cph-budget-check dt{font-size:14px;line-height:1.5;font-weight:500;margin:0 0 8px}
.servicio-html .cph-page .cph-budget-check dd{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cph-page .cph-related{background:var(--bone-2,#dedcd6)}
.servicio-html .cph-page .cph-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--cph-line)}
.servicio-html .cph-page .cph-related-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;font-size:15px;line-height:1.55;color:var(--cph-ink);text-decoration:underline;text-underline-offset:5px;padding:18px 0}
.servicio-html .cph-page .cph-related-links span{flex:none;color:var(--cph-accent)}
@media(max-width:1100px){.servicio-html .cph-page .cph-benefits li{grid-template-columns:1fr;gap:7px}.servicio-html .cph-page .cph-concept{grid-template-columns:1fr 1fr}.servicio-html .cph-page .cph-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .cph-page .cph-steps li:nth-child(odd){padding-left:0}.servicio-html .cph-page .cph-steps li:nth-child(even){border-right:0}.servicio-html .cph-page .cph-steps li:nth-child(n+3){border-top:1px solid var(--cph-line)}}
@media(max-width:820px){.servicio-html .cph-page [id]{scroll-margin-top:95px}.servicio-html .cph-page .cph-head,.servicio-html .cph-page .cph-overview,.servicio-html .cph-page .cph-two,.servicio-html .cph-page .cph-concept{grid-template-columns:1fr;gap:30px}.servicio-html .cph-page .cph-concept{gap:0}.servicio-html .cph-page .cph-concept .service-reference__media{height:auto;min-height:0;aspect-ratio:3/2}.servicio-html .cph-page .cph-benefits li{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.servicio-html .cph-page .cph-principles-list{grid-template-columns:1fr}.servicio-html .cph-page .cph-principles-list li,.servicio-html .cph-page .cph-principles-list li:nth-child(even){padding:26px 0;border-left:0}.servicio-html .cph-page .cph-related-links{grid-template-columns:1fr;gap:0}.servicio-html .cph-page .cph-related-links a+a{border-top:1px solid var(--cph-line)}}
@media(max-width:520px){.servicio-html .cph-page .cph-benefits li{grid-template-columns:1fr}.servicio-html .cph-page .cph-principles-list li{grid-template-columns:36px minmax(0,1fr);gap:16px}.servicio-html .cph-page .cph-steps{grid-template-columns:1fr}.servicio-html .cph-page .cph-steps li,.servicio-html .cph-page .cph-steps li:nth-child(n+3){padding:23px 0;border-right:0;border-top:1px solid var(--cph-line)}.servicio-html .cph-page .cph-steps li:first-child{border-top:0}.servicio-html .cph-page .cph-steps h3{margin-top:16px}.servicio-html .cph-page .cph-concept .service-reference__copy{padding:26px 20px}}
@media(max-width:520px){.servicio-html .cph-page .cph-tool .cph-tool__seasons{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.servicio-html .cph-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.servicio-html .cph-page .service-reference__media img{transform:none!important}}
/* tramuntana:construccion-passivhaus-css-v1-end */


/* tramuntana:passivhaus-tool-css-v1-start */
.cph-page .cph-tool{--cph-ink:var(--ink,#1d1d1b);--cph-teal:var(--teal-t,#42646b);--cph-line:rgba(29,29,27,.22);background:var(--bone-3,#f2f1ed);color:var(--cph-ink);scroll-margin-top:100px}
.cph-page .cph-tool *,.cph-page .cph-tool *::before,.cph-page .cph-tool *::after{box-sizing:border-box}
.cph-page .cph-tool [hidden]{display:none!important}
.cph-page .cph-tool .cph-tool__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cph-page .cph-tool :is(h2,h3,p,label,button,a,legend,figcaption){overflow-wrap:break-word}
.cph-page .cph-tool :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cph-teal);outline-offset:4px}
.cph-page .cph-tool__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:35px;align-items:end;margin-bottom:30px}
.cph-page .cph-tool__head h2{font-size:clamp(32px,3.5vw,48px);font-weight:300;line-height:1.08;margin:14px 0 0;color:var(--cph-ink)}
.cph-page .cph-tool__head>p{font-size:16px;line-height:1.7;margin:0;max-width:54ch}
.cph-page .cph-tool__app{border:1px solid var(--cph-line);padding:clamp(20px,3vw,36px);min-width:0}
.cph-page .cph-tool :is(form,fieldset){border:0;margin:0;padding:0;min-width:0}
.cph-page .cph-tool legend{font-size:12px;font-weight:500;line-height:1.5;color:var(--cph-ink);margin:0 0 15px;padding:0}
.cph-page .cph-tool__layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.55fr);gap:clamp(24px,4vw,50px);align-items:start}
.cph-page .cph-tool label{display:block;font-size:13px;line-height:1.55;font-weight:500;color:var(--cph-ink);min-width:0}
.cph-page .cph-tool input,.cph-page .cph-tool select,.cph-page .cph-tool textarea{appearance:auto;position:static;display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin:7px 0 0;padding:10px 12px;background:#fff;color:var(--cph-ink);border:1px solid var(--cph-line);border-radius:0;font:inherit;font-size:17px;line-height:1.4;opacity:1}
.cph-page .cph-tool select{font-size:15px;padding-right:28px}
.cph-page .cph-tool :is(input,select)[aria-invalid=true]{border:2px solid var(--cph-ink)}
.cph-page .cph-tool fieldset:disabled{opacity:.55}
.cph-page .cph-tool input:disabled{cursor:not-allowed}
.cph-page .cph-tool .cph-tool__help{font-size:11px;line-height:1.6;margin:7px 0 18px}
.cph-page .cph-tool .cph-tool__error{display:block;margin-top:7px;font-size:12px;line-height:1.5;font-weight:600;color:var(--cph-ink)}
.cph-page .cph-tool__visual{min-width:0}
.cph-page .cph-tool__context{font-size:12px;line-height:1.55;margin:0 0 16px;color:var(--cph-ink)}
.cph-page .cph-tool__context span{display:block;font-size:11px;margin-top:3px}
.cph-page .cph-tool__seasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cph-page .cph-tool__season{margin:0;padding:17px 0 0;background:rgba(255,255,255,.5);border:1px solid var(--cph-line);min-width:0}
.cph-page .cph-tool__season figcaption{display:grid;gap:4px;padding:0 15px;font-size:11px;line-height:1.5}
.cph-page .cph-tool__season figcaption>span:first-child{font-size:14px;font-weight:500}
.cph-page .cph-tool__season strong{font-size:clamp(30px,3.2vw,44px);font-weight:350;line-height:1.2;color:var(--cph-teal);margin-top:7px}
.cph-page .cph-tool__season small{font-size:11px;line-height:1.6;min-height:1.6em}
.cph-page .cph-tool__diagram{display:block;width:100%;height:auto;aspect-ratio:350/260;overflow:hidden}
.cph-page .cph-tool__wall{fill:none;stroke:var(--cph-ink);stroke-width:5}
.cph-page .cph-tool__overhang{fill:none;stroke:var(--cph-ink);stroke-width:7;stroke-linecap:butt}
.cph-page .cph-tool__glass{fill:var(--bone-3,#f2f1ed);stroke:var(--cph-ink);stroke-width:1.5}
.cph-page .cph-tool__shade{fill:var(--cph-teal)}
.cph-page .cph-tool__ray{fill:none;stroke:var(--cph-ink);stroke-width:1.8;stroke-dasharray:6 4}
.cph-page .cph-tool__arrow{fill:none;stroke:var(--cph-ink);stroke-width:1.8}
.cph-page .cph-tool__measure{fill:none;stroke:var(--cph-ink);stroke-width:1}
.cph-page .cph-tool__measure-label{font:500 20px sans-serif;fill:var(--cph-ink)}
.cph-page .cph-tool__legend{display:flex;flex-wrap:wrap;gap:8px 17px;margin:15px 0 0;font-size:11px;line-height:1.5}
.cph-page .cph-tool__legend>span{display:flex;align-items:center;gap:6px}
.cph-page .cph-tool__legend i{display:inline-block;width:12px;height:12px;border:1px solid var(--cph-ink);flex:none}
.cph-page .cph-tool__key-shade{background:var(--cph-teal)}
.cph-page .cph-tool__key-glass{background:var(--bone-3,#f2f1ed)}
.cph-page .cph-tool__legend .cph-tool__key-ray{height:0;border:0;border-top:2px dashed var(--cph-ink);width:18px}
.cph-page .cph-tool__reading{padding-top:16px;border-top:1px solid var(--cph-line);margin:18px 0 0;font-size:13px;line-height:1.65}
.cph-page .cph-tool__empty{padding:30px;border:1px solid var(--cph-line);background:rgba(255,255,255,.4);min-height:260px;display:flex;flex-direction:column;justify-content:center}
.cph-page .cph-tool__empty h3{font-size:29px;line-height:1.15;font-weight:350;color:var(--cph-ink);margin:20px 0 12px}
.cph-page .cph-tool__empty p{font-size:15px;line-height:1.7;margin:0;max-width:50ch}
.cph-page .cph-tool__assumptions,.cph-page .cph-tool__summary-box{border:0;border-top:1px solid var(--cph-line);background:transparent;padding:0;margin-top:24px}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding:12px 0;list-style:none;font-size:13px;line-height:1.5;color:var(--cph-teal);cursor:pointer}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>summary::after{content:none}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>summary::marker{content:""}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>summary::-webkit-details-marker{display:none}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>summary>span::before{content:"+";font-size:23px;font-weight:300}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)[open]>summary>span::before{content:"−"}
.cph-page .cph-tool :is(.cph-tool__assumptions,.cph-tool__summary-box)>p{font-size:12px;line-height:1.65;margin:10px 0 15px;max-width:100ch}
.cph-page .cph-tool .cph-tool__limit{font-size:12px;line-height:1.65;margin:6px 0 0}
.cph-page .cph-tool__actions{display:flex;flex-wrap:wrap;gap:12px 23px;align-items:center;margin-top:23px}
.cph-page .cph-tool .cph-tool__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid var(--cph-teal);border-radius:0;background:var(--cph-teal);color:#fff;text-decoration:none;font:inherit;font-size:14px;font-weight:500;line-height:1.4;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
.cph-page .cph-tool .cph-tool__button:hover{background:var(--coal,#35352f);border-color:var(--coal,#35352f)}
.cph-page .cph-tool .cph-tool__text{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;border-radius:0;font:inherit;font-size:13px;line-height:1.5;color:var(--cph-teal);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cph-page .cph-tool button:disabled,.cph-page .cph-tool a[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.cph-page .cph-tool textarea{font-size:13px;line-height:1.65;min-height:210px;resize:vertical}
.cph-page .cph-tool__status{min-height:1.6em;margin:15px 0 0;font-size:13px;line-height:1.6;color:var(--cph-teal)}
.cph-page .cph-tool__fallback p{font-size:15px;line-height:1.7;max-width:82ch;margin:0 0 24px}
@media(max-width:1000px){.cph-page .cph-tool__head{grid-template-columns:1fr;gap:20px}.cph-page .cph-tool__layout{grid-template-columns:minmax(210px,.8fr) minmax(0,1.3fr);gap:24px}.cph-page .cph-tool__seasons{gap:10px}.cph-page .cph-tool__season figcaption{padding:0 10px}.cph-page .cph-tool__season figcaption>span:first-child{font-size:12px}}
@media(max-width:820px){.cph-page .cph-tool__layout{grid-template-columns:1fr}.cph-page .cph-tool__controls>label{max-width:420px}.cph-page .cph-tool__controls>fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px}.cph-page .cph-tool__controls>fieldset legend{float:none;grid-column:1/-1}.cph-page .cph-tool__controls>fieldset label{grid-row:1}.cph-page .cph-tool__controls>fieldset .cph-tool__help{grid-row:2}.cph-page .cph-tool__season figcaption{padding:0 17px}.cph-page .cph-tool__season figcaption>span:first-child{font-size:14px}.cph-page .cph-tool__season strong{font-size:40px}.cph-page .cph-tool__controls>.cph-tool__text{margin-top:-5px}.cph-page .cph-tool select,.cph-page .cph-tool textarea{font-size:16px}}
@media(max-width:520px){.cph-page .cph-tool__app{padding:20px 15px}.cph-page .cph-tool__controls>fieldset{display:block}.cph-page .cph-tool__controls>fieldset label{max-width:none}.cph-page .cph-tool__seasons{gap:9px}.cph-page .cph-tool__season figcaption{padding:0 10px}.cph-page .cph-tool__season figcaption>span:first-child{font-size:12px}.cph-page .cph-tool__season strong{font-size:32px}.cph-page .cph-tool__season figcaption>span{font-size:10px}.cph-page .cph-tool__season small{font-size:10px}.cph-page .cph-tool__measure-label{font-size:26px}.cph-page .cph-tool__empty{padding:23px}.cph-page .cph-tool__head h2{font-size:32px}.cph-page .cph-tool__actions>.cph-tool__button{width:100%}.cph-page .cph-tool{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){.cph-page .cph-tool *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:passivhaus-tool-css-v1-end */


/* tramuntana:ampliacion-landing-v1 */
/* tramuntana:ampliacion-viviendas-css-v1-start */
/* The shared service frame owns the header, hero, native CTA and footer. */
.servicio-html .cva-page{--cva-ink:var(--ink,#1d1d1b);--cva-paper:var(--bone-3,#f2f1ed);--cva-line:var(--line,rgba(29,29,27,.18));--cva-accent:var(--teal-t,#42646b);min-width:0;color:var(--cva-ink)}
.servicio-html .cva-page *,.servicio-html .cva-page *::before,.servicio-html .cva-page *::after{box-sizing:border-box}
.servicio-html .cva-page [hidden]{display:none!important}
.servicio-html .cva-page [id]{scroll-margin-top:110px}
.servicio-html .cva-page :is(h1,h2,h3,h4,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .cva-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--cva-accent);outline-offset:5px}
.servicio-html .cva-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .cva-page img{display:block;max-width:100%}
.servicio-html .cva-page figure{margin:0}
.servicio-html .cva-page .cva-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .cva-page .cva-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .cva-page .cva-head h2{margin:14px 0 0;max-width:21ch}
.servicio-html .cva-page .cva-head p{max-width:58ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .cva-page .cva-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(30px,7vw,105px);align-items:center}
.servicio-html .cva-page .cva-benefits{list-style:none;padding:0;margin:0;border-top:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-benefits b{font-size:14px;line-height:1.45;font-weight:500}
.servicio-html .cva-page .cva-benefits span{font-size:14px;line-height:1.6}
.servicio-html .cva-page .cva-project-cover{display:block;color:inherit;text-decoration:none;min-width:0}
.servicio-html .cva-page .cva-concept{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);align-items:stretch}
.servicio-html .cva-page .cva-concept .service-reference__media{width:100%;max-width:100%;min-width:0;height:100%;min-height:420px;aspect-ratio:auto}
.servicio-html .cva-page .cva-concept .service-reference__media img{height:100%;width:100%;object-fit:cover}
.servicio-html .cva-page .cva-concept .service-reference__copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(26px,4vw,58px);min-width:0}
.servicio-html .cva-page .cva-concept h3{margin:17px 0 22px;font-size:clamp(29px,3.3vw,45px);line-height:1.1}
.servicio-html .cva-page .cva-concept p{font-size:15px;line-height:1.7}
.servicio-html .cva-page .cva-concept .cva-concept-note{font-size:12px;line-height:1.6;margin-top:18px}
.servicio-html .cva-page .cva-concept .service-reference__actions{margin-top:24px}
.servicio-html .cva-page .cva-concept .service-reference__actions .btn{text-decoration:none}
.servicio-html .cva-page .cva-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .cva-page .cva-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-steps li{min-width:0;padding:25px 24px;border-right:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-steps li:first-child{padding-left:0}
.servicio-html .cva-page .cva-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .cva-page .cva-steps>li>span{display:block;font-size:12px;color:var(--cva-accent);letter-spacing:.1em}
.servicio-html .cva-page .cva-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .cva-page .cva-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cva-page .cva-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--cva-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.55;padding:8px 0}
.servicio-html .cva-page .cva-faq .head{margin-bottom:34px}
.servicio-html .cva-page .cva-budget{background:var(--bone-3,#f2f1ed)}
.servicio-html .cva-page .cva-budget h2{margin:15px 0 24px}
.servicio-html .cva-page .cva-budget p{font-size:15px;line-height:1.7;max-width:62ch}
.servicio-html .cva-page .cva-budget .btn{margin-top:15px}
.servicio-html .cva-page .cva-budget-check{border:1px solid var(--cva-line);padding:clamp(22px,3vw,38px)}
.servicio-html .cva-page .cva-budget-check h3{font-size:clamp(25px,2.4vw,35px);font-weight:350;line-height:1.15;margin:0 0 25px}
.servicio-html .cva-page .cva-budget-check dl{margin:0}
.servicio-html .cva-page .cva-budget-check dl>div{border-top:1px solid var(--cva-line);padding:19px 0}
.servicio-html .cva-page .cva-budget-check dl>div:last-child{padding-bottom:0}
.servicio-html .cva-page .cva-budget-check dt{font-size:14px;line-height:1.5;font-weight:500;margin:0 0 8px}
.servicio-html .cva-page .cva-budget-check dd{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cva-page .cva-related{background:var(--bone-2,#dedcd6)}
.servicio-html .cva-page .cva-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-related-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;font-size:15px;line-height:1.55;color:var(--cva-ink);text-decoration:underline;text-underline-offset:5px;padding:18px 0}
.servicio-html .cva-page .cva-related-links span{flex:none;color:var(--cva-accent)}
@media(max-width:1100px){.servicio-html .cva-page .cva-benefits li{grid-template-columns:1fr;gap:7px}.servicio-html .cva-page .cva-concept{grid-template-columns:1fr 1fr}.servicio-html .cva-page .cva-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .cva-page .cva-steps li:nth-child(odd){padding-left:0}.servicio-html .cva-page .cva-steps li:nth-child(even){border-right:0}.servicio-html .cva-page .cva-steps li:nth-child(n+3){border-top:1px solid var(--cva-line)}}
@media(prefers-reduced-motion:reduce){.servicio-html .cva-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.servicio-html .cva-page .service-reference__media img{transform:none!important}}
.servicio-html .cva-page :is(.hero,.cta) :focus-visible{outline-color:var(--teal-l,#a9c6cc)}
.servicio-html .cva-page .cva-options{background:var(--bone-3,#f2f1ed)}
.servicio-html .cva-page .cva-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.servicio-html .cva-page .cva-options-grid article{min-width:0;border-top:1px solid var(--cva-line)}
.servicio-html .cva-page .cva-option-graphic{padding:20px 0 10px;color:var(--cva-ink)}
.servicio-html .cva-page .cva-option-graphic svg{display:block;width:100%;height:auto;max-height:200px}
.servicio-html .cva-page .cva-option-kicker{display:block;font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--cva-accent);margin-top:14px}
.servicio-html .cva-page .cva-options h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.15;margin:18px 0}
.servicio-html .cva-page .cva-options-grid p{font-size:15px;line-height:1.7;margin:0;max-width:55ch}
.servicio-html .cva-page .cva-options-grid .cva-text-link{margin-top:14px;gap:9px}
.servicio-html .cva-page .cva-source-note{font-size:12px;line-height:1.65;margin:20px 0 0;max-width:75ch}
.servicio-html .cva-page .cva-source-note a{color:var(--cva-accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.servicio-html .cva-page .cva-options-grid{gap:22px}}
@media(max-width:820px){.servicio-html .cva-page [id]{scroll-margin-top:95px}.servicio-html .cva-page .cva-head,.servicio-html .cva-page .cva-overview,.servicio-html .cva-page .cva-two,.servicio-html .cva-page .cva-concept{grid-template-columns:1fr;gap:30px}.servicio-html .cva-page .cva-concept{gap:0}.servicio-html .cva-page .cva-concept .service-reference__media{height:auto;min-height:0;aspect-ratio:3/2}.servicio-html .cva-page .cva-benefits li{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.servicio-html .cva-page .cva-related-links,.servicio-html .cva-page .cva-options-grid{grid-template-columns:1fr;gap:0}.servicio-html .cva-page .cva-related-links a+a{border-top:1px solid var(--cva-line)}.servicio-html .cva-page .cva-options-grid article{padding-bottom:28px}.servicio-html .cva-page .cva-options-grid article+article{padding-top:12px}.servicio-html .cva-page .cva-option-graphic svg{max-width:340px;max-height:180px}.servicio-html .cva-page .cva-option-kicker{margin-top:0}}
@media(max-width:520px){.servicio-html .cva-page .cva-benefits li{grid-template-columns:1fr}.servicio-html .cva-page .cva-steps{grid-template-columns:1fr}.servicio-html .cva-page .cva-steps li,.servicio-html .cva-page .cva-steps li:nth-child(n+3){padding:23px 0;border-right:0;border-top:1px solid var(--cva-line)}.servicio-html .cva-page .cva-steps li:first-child{border-top:0}.servicio-html .cva-page .cva-steps h3{margin-top:16px}.servicio-html .cva-page .cva-concept .service-reference__copy{padding:26px 20px}}
@media(max-width:820px){.servicio-html .cva-page .cva-hero-note{top:12px}}
/* tramuntana:ampliacion-viviendas-css-v1-end */



/* tramuntana:ampliacion-tool-css-v1-start */
.cva-page [data-cva-tool]{--cva-ink:var(--ink,#1d1d1b);--cva-teal:var(--teal-t,#42646b);--cva-line:rgba(29,29,27,.22);background:var(--bone-3,#f2f1ed);color:var(--cva-ink);scroll-margin-top:100px}
.cva-page [data-cva-tool] *,.cva-page [data-cva-tool] *::before,.cva-page [data-cva-tool] *::after{box-sizing:border-box}
.cva-page [data-cva-tool] [hidden]{display:none!important}
.cva-page [data-cva-tool] .cva-tool__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cva-page [data-cva-tool] :is(h2,h3,p,label,button,a,legend,figcaption,dt,dd){overflow-wrap:break-word}
.cva-page [data-cva-tool] :is(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--cva-teal);outline-offset:4px}
.cva-page [data-cva-tool] .cva-tool__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:35px;align-items:end;margin-bottom:30px}
.cva-page [data-cva-tool] .cva-tool__head h2{font-size:clamp(32px,3.5vw,48px);font-weight:300;line-height:1.08;margin:14px 0 0;color:var(--cva-ink)}
.cva-page [data-cva-tool] .cva-tool__head>p{font-size:16px;line-height:1.7;margin:0;max-width:54ch}
.cva-page [data-cva-tool] .cva-tool__app{border:1px solid var(--cva-line);padding:clamp(20px,3vw,36px);min-width:0}
.cva-page [data-cva-tool] :is(form,fieldset){border:0;margin:0;padding:0;min-width:0}
.cva-page [data-cva-tool] legend{font-size:12px;font-weight:500;line-height:1.5;margin:0 0 15px;padding:0}
.cva-page [data-cva-tool] .cva-tool__layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.55fr);gap:clamp(24px,4vw,50px);align-items:start}
.cva-page [data-cva-tool] label{display:block;font-size:13px;line-height:1.55;font-weight:500;min-width:0}
.cva-page [data-cva-tool] :is(input,textarea){appearance:auto;position:static;display:block;width:100%;max-width:100%;min-width:0;min-height:46px;margin:7px 0 0;padding:10px 12px;background:#fff;color:var(--cva-ink);border:1px solid var(--cva-line);border-radius:0;font:inherit;font-size:17px;line-height:1.4;opacity:1}
.cva-page [data-cva-tool] input[aria-invalid=true]{border:2px solid var(--cva-ink)}
.cva-page [data-cva-tool] .cva-tool__help{font-size:11px;line-height:1.6;margin:7px 0 18px}
.cva-page [data-cva-tool] .cva-tool__error{display:block;margin-top:7px;font-size:12px;line-height:1.5;font-weight:600}
.cva-page [data-cva-tool] .cva-tool__visual{min-width:0}
.cva-page [data-cva-tool] .cva-tool__context{font-size:12px;line-height:1.55;margin:0 0 16px}
.cva-page [data-cva-tool] .cva-tool__context span{display:block;font-size:11px;margin-top:3px}
.cva-page [data-cva-tool] .cva-tool__plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cva-page [data-cva-tool] .cva-tool__plan{margin:0;padding:17px 0 0;background:rgba(255,255,255,.5);border:1px solid var(--cva-line);min-width:0}
.cva-page [data-cva-tool] figcaption{display:grid;gap:4px;padding:0 15px;font-size:11px;line-height:1.5}
.cva-page [data-cva-tool] figcaption>span:first-child{font-size:14px;font-weight:500}
.cva-page [data-cva-tool] figcaption strong{font-size:clamp(28px,3vw,42px);font-weight:350;line-height:1.2;color:var(--cva-teal);margin-top:7px}
.cva-page [data-cva-tool] .cva-tool__diagram{display:block;width:100%;height:auto;aspect-ratio:350/260;overflow:hidden}
.cva-page [data-cva-tool] .cva-tool__house{fill:#d9d8d1}
.cva-page [data-cva-tool] .cva-tool__footprint{fill:var(--cva-teal);fill-opacity:.22}
.cva-page [data-cva-tool] .cva-tool__exterior{fill:none;stroke:var(--cva-ink);stroke-width:2;vector-effect:non-scaling-stroke}
.cva-page [data-cva-tool] .cva-tool__contact{fill:none;stroke:var(--cva-teal);stroke-width:3;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}
.cva-page [data-cva-tool] .cva-tool__metrics{font-size:11px;line-height:1.45;margin:0;padding:0 15px 16px}
.cva-page [data-cva-tool] .cva-tool__metrics>div{display:flex;justify-content:space-between;gap:8px;margin-top:8px}
.cva-page [data-cva-tool] .cva-tool__metrics dt{font-weight:400}
.cva-page [data-cva-tool] .cva-tool__metrics dd{margin:0;text-align:right;font-weight:500;flex-shrink:0}
.cva-page [data-cva-tool] .cva-tool__legend{display:flex;flex-wrap:wrap;gap:8px 17px;margin:15px 0 0;font-size:11px;line-height:1.5}
.cva-page [data-cva-tool] .cva-tool__legend>span{display:flex;align-items:center;gap:6px}
.cva-page [data-cva-tool] .cva-tool__legend i{display:inline-block;width:14px;height:12px;flex:none}
.cva-page [data-cva-tool] .cva-tool__key-house{background:#d9d8d1;border:1px solid #85847d}
.cva-page [data-cva-tool] .cva-tool__key-footprint{background:rgba(66,100,107,.22);border:1px solid var(--cva-teal)}
.cva-page [data-cva-tool] .cva-tool__legend .cva-tool__key-exterior{height:0;border-top:2px solid var(--cva-ink);width:18px}
.cva-page [data-cva-tool] .cva-tool__legend .cva-tool__key-contact{height:0;border-top:3px dashed var(--cva-teal);width:18px}
.cva-page [data-cva-tool] .cva-tool__reading{padding-top:16px;border-top:1px solid var(--cva-line);margin:18px 0 0;font-size:13px;line-height:1.65}
.cva-page [data-cva-tool] .cva-tool__empty{padding:30px;border:1px solid var(--cva-line);background:rgba(255,255,255,.4);min-height:260px;display:flex;flex-direction:column;justify-content:center}
.cva-page [data-cva-tool] .cva-tool__empty h3{font-size:29px;line-height:1.15;font-weight:350;margin:20px 0 12px}
.cva-page [data-cva-tool] .cva-tool__empty p{font-size:15px;line-height:1.7;margin:0;max-width:50ch}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box){border:0;border-top:1px solid var(--cva-line);background:transparent;padding:0;margin-top:24px}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:48px;padding:12px 0;list-style:none;font-size:13px;line-height:1.5;color:var(--cva-teal);cursor:pointer}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>summary::after{content:none}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>summary::marker{content:""}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>summary::-webkit-details-marker{display:none}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>summary>span::before{content:"+";font-size:23px;font-weight:300}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)[open]>summary>span::before{content:"−"}
.cva-page [data-cva-tool] :is(.cva-tool__assumptions,.cva-tool__summary-box)>p{font-size:12px;line-height:1.65;margin:10px 0 15px;max-width:100ch}
.cva-page [data-cva-tool] .cva-tool__limit{font-size:12px;line-height:1.65;margin:6px 0 0}
.cva-page [data-cva-tool] .cva-tool__actions{display:flex;flex-wrap:wrap;gap:12px 23px;align-items:center;margin-top:23px}
.cva-page [data-cva-tool] .cva-tool__button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid var(--cva-teal);border-radius:0;background:var(--cva-teal);color:#fff;text-decoration:none;font:inherit;font-size:14px;font-weight:500;line-height:1.4;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
.cva-page [data-cva-tool] .cva-tool__button:hover{background:var(--coal,#35352f);border-color:var(--coal,#35352f)}
.cva-page [data-cva-tool] .cva-tool__text{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;border-radius:0;font:inherit;font-size:13px;line-height:1.5;color:var(--cva-teal);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cva-page [data-cva-tool] button:disabled,.cva-page [data-cva-tool] a[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.cva-page [data-cva-tool] textarea{font-size:13px;line-height:1.65;min-height:190px;resize:vertical}
.cva-page [data-cva-tool] .cva-tool__status{min-height:1.6em;margin:15px 0 0;font-size:13px;line-height:1.6;color:var(--cva-teal)}
.cva-page [data-cva-tool] .cva-tool__fallback p{font-size:15px;line-height:1.7;max-width:82ch;margin:0 0 24px}
@media(max-width:1000px){.cva-page [data-cva-tool] .cva-tool__head{grid-template-columns:1fr;gap:20px}.cva-page [data-cva-tool] .cva-tool__layout{grid-template-columns:minmax(210px,.8fr) minmax(0,1.3fr);gap:24px}.cva-page [data-cva-tool] .cva-tool__plans{gap:10px}}
@media(max-width:820px){.cva-page [data-cva-tool] .cva-tool__layout{grid-template-columns:1fr}.cva-page [data-cva-tool] .cva-tool__controls{max-width:460px}.cva-page [data-cva-tool] textarea{font-size:16px}}
@media(max-width:520px){.cva-page [data-cva-tool] .cva-tool__app{padding:20px 15px}.cva-page [data-cva-tool] .cva-tool__plans{gap:9px}.cva-page [data-cva-tool] figcaption{padding:0 10px}.cva-page [data-cva-tool] figcaption strong{font-size:27px}.cva-page [data-cva-tool] .cva-tool__metrics{padding:0 10px 13px;font-size:10px}.cva-page [data-cva-tool] .cva-tool__metrics>div{display:block}.cva-page [data-cva-tool] .cva-tool__metrics dd{text-align:left;margin-top:3px;font-size:12px}.cva-page [data-cva-tool] .cva-tool__head h2{font-size:32px}.cva-page [data-cva-tool] .cva-tool__actions>.cva-tool__button{width:100%}.cva-page [data-cva-tool]{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){.cva-page [data-cva-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:ampliacion-tool-css-v1-end */

/* tramuntana:gestion-tecnica-css-v1-start */
.servicio-html .gti-page{--gti-ink:var(--ink,#1d1d1b);--gti-paper:var(--bone-3,#f2f1ed);--gti-line:var(--line,rgba(29,29,27,.18));--gti-accent:var(--teal-t,#42646b);min-width:0;color:var(--gti-ink)}
.servicio-html .gti-page *,.servicio-html .gti-page *::before,.servicio-html .gti-page *::after{box-sizing:border-box}
.servicio-html .gti-page [hidden]{display:none!important}
.servicio-html .gti-page [id]{scroll-margin-top:110px}
.servicio-html .gti-page :is(h1,h2,h3,p,a,summary,li,span){overflow-wrap:break-word}
.servicio-html .gti-page :is(section,article,header,figure,div,li){min-width:0}
.servicio-html .gti-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--gti-accent);outline-offset:5px}
.servicio-html .gti-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .gti-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .gti-page .gti-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .gti-page .gti-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .gti-page .gti-head h2{margin:14px 0 0;max-width:22ch}
.servicio-html .gti-page .gti-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .gti-page .gti-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0;border-top:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-benefits li{display:flex;flex-direction:column;gap:10px;padding:25px 0 0}
.servicio-html .gti-page .gti-benefits b{font-size:19px;font-weight:450;line-height:1.3}
.servicio-html .gti-page .gti-benefits span{max-width:35ch;font-size:14px;line-height:1.6}
.servicio-html .gti-page .gti-roles{background:var(--gti-paper)}
.servicio-html .gti-page .gti-role-map{margin-top:48px}
.servicio-html .gti-page .gti-role-owner{width:min(100%,440px);margin:0 auto;text-align:center;border:1px solid var(--gti-line);padding:24px;background:var(--bone,#e6e4df)}
.servicio-html .gti-page .gti-kicker{display:block;font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--gti-accent)}
.servicio-html .gti-page .gti-role-owner h3{font-size:23px;font-weight:350;line-height:1.2;margin:12px 0 0}
.servicio-html .gti-page .gti-role-connector{height:64px;color:var(--gti-accent)}
.servicio-html .gti-page .gti-role-connector svg{display:block;width:100%;height:100%;overflow:visible}
.servicio-html .gti-page .gti-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.servicio-html .gti-page .gti-role-grid article{border:1px solid var(--gti-line);padding:28px 25px}
.servicio-html .gti-page .gti-role-grid h3{font-size:clamp(24px,2.3vw,32px);font-weight:350;line-height:1.1;margin:24px 0 18px}
.servicio-html .gti-page .gti-role-grid p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .gti-page .gti-role-note{max-width:90ch;font-size:13px;line-height:1.7;margin:24px 0 0}
.servicio-html .gti-page .gti-catalogue{border-top:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-catalogue>details{border:0;border-bottom:1px solid var(--gti-line);padding:0;background:transparent}
.servicio-html .gti-page .gti-catalogue summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:100px;padding:30px;cursor:pointer;font-size:clamp(24px,2.4vw,32px);font-weight:350;line-height:1.2;list-style:none;color:var(--gti-ink)}
.servicio-html .gti-page .gti-catalogue summary:hover{background:var(--gti-paper)}
.servicio-html .gti-page .gti-catalogue summary::-webkit-details-marker{display:none}
.servicio-html .gti-page .gti-catalogue summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;color:var(--gti-accent);font-weight:300}
.servicio-html .gti-page .gti-catalogue details[open] summary::after{content:'−'}
.servicio-html .gti-page .gti-catalogue details[open]{background:var(--gti-paper)}
.servicio-html .gti-page .gti-catalogue details>div{padding:0 30px 28px}
.servicio-html .gti-page .gti-catalogue p{max-width:80ch;margin:0 0 12px;line-height:1.65;font-size:14px}
.servicio-html .gti-page .gti-catalogue a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:500;line-height:1.5;color:var(--gti-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .gti-page .gti-catalogue summary:focus-visible{outline-offset:-4px}
.servicio-html .gti-page .gti-deliverables{background:var(--gti-paper)}
.servicio-html .gti-page .gti-deliverable-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--gti-line);border-bottom:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-deliverable-grid article{padding:28px 30px;border-right:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-deliverable-grid article:first-child{padding-left:0}
.servicio-html .gti-page .gti-deliverable-grid article:last-child{padding-right:0;border-right:0}
.servicio-html .gti-page .gti-deliverable-grid h3{font-size:clamp(24px,2.3vw,32px);font-weight:350;line-height:1.1;margin:26px 0 18px}
.servicio-html .gti-page .gti-deliverable-grid p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .gti-page .gti-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--gti-line);border-bottom:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-steps li{padding:25px 24px;border-right:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-steps li:first-child{padding-left:0}
.servicio-html .gti-page .gti-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .gti-page .gti-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--gti-accent)}
.servicio-html .gti-page .gti-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .gti-page .gti-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .gti-page .gti-process-note{max-width:90ch;font-size:14px;line-height:1.65;margin:24px 0 0}
.servicio-html .gti-page .gti-sources{font-size:11px;line-height:1.7;margin:12px 0 0}
.servicio-html .gti-page .gti-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .gti-page .gti-faq .a p{margin:0;line-height:1.7}
.servicio-html .gti-page .gti-related{background:var(--bone-2,#dedcd6)}
.servicio-html .gti-page .gti-related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--gti-line)}
.servicio-html .gti-page .gti-related-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;color:var(--gti-ink);font-size:15px;line-height:1.55;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){
  .servicio-html .gti-page .gti-role-grid{gap:14px}
  .servicio-html .gti-page .gti-role-grid article{padding:24px 18px}
  .servicio-html .gti-page .gti-deliverable-grid article{padding:25px 20px}
  .servicio-html .gti-page .gti-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .gti-page .gti-hero-note{top:12px}
  .servicio-html .gti-page .gti-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .gti-page .gti-head h2{max-width:24ch}
  .servicio-html .gti-page .gti-role-grid h3{font-size:25px}
  .servicio-html .gti-page .gti-benefits{gap:22px}
  .servicio-html .gti-page .gti-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .gti-page .gti-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .gti-page .gti-steps li:nth-child(3){border-top:1px solid var(--gti-line);padding-left:0}
  .servicio-html .gti-page .gti-steps li:nth-child(4){border-top:1px solid var(--gti-line)}
}
@media(max-width:600px){
  .servicio-html .gti-page [id]{scroll-margin-top:95px}
  .servicio-html .gti-page .gti-benefits{grid-template-columns:minmax(0,1fr);gap:0}
  .servicio-html .gti-page .gti-benefits li{padding:20px 0;border-bottom:1px solid var(--gti-line)}
  .servicio-html .gti-page .gti-benefits span{max-width:none}
  .servicio-html .gti-page .gti-role-map{margin-top:30px}
  .servicio-html .gti-page .gti-role-owner{padding:23px 18px}
  .servicio-html .gti-page .gti-role-connector{height:30px;width:1px;margin:0 auto;background:var(--gti-accent)}
  .servicio-html .gti-page .gti-role-connector svg{display:none}
  .servicio-html .gti-page .gti-role-grid{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--gti-line)}
  .servicio-html .gti-page .gti-role-grid article{border-top:0;padding:24px}
  .servicio-html .gti-page .gti-role-grid h3{margin:14px 0 13px;font-size:27px}
  .servicio-html .gti-page .gti-catalogue summary{font-size:23px;padding:23px 12px;min-height:82px}
  .servicio-html .gti-page .gti-catalogue details>div{padding:0 12px 24px}
  .servicio-html .gti-page .gti-deliverable-grid{grid-template-columns:minmax(0,1fr)}
  .servicio-html .gti-page .gti-deliverable-grid article{padding:25px 0;border-right:0;border-bottom:1px solid var(--gti-line)}
  .servicio-html .gti-page .gti-deliverable-grid article:last-child{border-bottom:0}
  .servicio-html .gti-page .gti-deliverable-grid h3{margin:15px 0 12px;font-size:27px}
  .servicio-html .gti-page .gti-steps li{padding:23px 14px}
  .servicio-html .gti-page .gti-steps h3{font-size:26px;margin:22px 0 13px}
  .servicio-html .gti-page .gti-related-links{grid-template-columns:minmax(0,1fr);gap:0}
  .servicio-html .gti-page .gti-related-links a{border-bottom:1px solid var(--gti-line);min-height:65px}
}
/* tramuntana:gestion-tecnica-css-v1-end */

/* tramuntana:gestion-tool-css-v1-start */
.gti-page [data-gti-tool]{--gt-ink:var(--ink,#1d1d1b);--gt-paper:var(--bone-3,#f2f1ed);--gt-line:var(--line,rgba(29,29,27,.18));--gt-accent:var(--teal-t,#42646b);background:var(--gt-paper);color:var(--gt-ink);min-width:0}
.gti-page [data-gti-tool] *,.gti-page [data-gti-tool] *::before,.gti-page [data-gti-tool] *::after{box-sizing:border-box}
.gti-page [data-gti-tool] [hidden]{display:none!important}
.gti-page [data-gti-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,button,a){overflow-wrap:anywhere}
.gti-page [data-gti-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--gt-accent);outline-offset:4px}
.gti-page [data-gti-tool] .gti-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:30px}
.gti-page [data-gti-tool] .gti-tool__head h2{max-width:22ch;margin:14px 0 0}
.gti-page [data-gti-tool] .gti-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.gti-page [data-gti-tool] .gti-tool__fallback{border:1px solid var(--gt-line);padding:26px;max-width:85ch}
.gti-page [data-gti-tool] .gti-tool__fallback p{font-size:14px;line-height:1.65;margin:0 0 22px}
.gti-page [data-gti-tool] .gti-tool__bases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gti-page [data-gti-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.gti-page [data-gti-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 12px}
.gti-page [data-gti-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.gti-page [data-gti-tool] input,.gti-page [data-gti-tool] select,.gti-page [data-gti-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--gt-ink);font:16px/1.35 Inter,Arial,sans-serif}
.gti-page [data-gti-tool] input[aria-invalid=true],.gti-page [data-gti-tool] select[aria-invalid=true]{border-color:#8b4234}
.gti-page [data-gti-tool] .gti-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.gti-page [data-gti-tool] .gti-tool__error:empty{display:none}
.gti-page [data-gti-tool] .gti-tool__help{font-size:12px;line-height:1.6;color:var(--mute,#5f5f59);margin:17px 0 26px;max-width:100ch}
.gti-page [data-gti-tool] .gti-tool__rows{border-top:1px solid var(--gt-line)}
.gti-page [data-gti-tool] .gti-tool__row{display:grid;grid-template-columns:minmax(0,.95fr) repeat(2,minmax(0,1fr));gap:24px;padding:24px 0;border-bottom:1px solid var(--gt-line)}
.gti-page [data-gti-tool] .gti-tool__row legend{float:left;grid-column:1/-1;width:100%;padding-top:24px;margin:0;color:var(--gt-accent);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.gti-page [data-gti-tool] .gti-tool__row>div{min-width:0;clear:both}
.gti-page [data-gti-tool] [data-gti-extra-wrap]{margin-top:16px}
.gti-page [data-gti-tool] .gti-tool__reset-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 25px;margin:18px 0}
.gti-page [data-gti-tool] .gti-tool__reset-row span{font-size:11px;line-height:1.5;color:var(--mute,#5f5f59)}
.gti-page [data-gti-tool] .gti-tool__text-button{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--gt-line);background:transparent;color:var(--gt-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.gti-page [data-gti-tool] .gti-tool__empty{padding:22px;border-left:3px solid var(--gt-accent);background:var(--bone,#e6e4df)}
.gti-page [data-gti-tool] .gti-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.gti-page [data-gti-tool] .gti-tool__results{margin-top:28px;padding:clamp(20px,3vw,38px);border:1px solid var(--gt-line);background:var(--bone,#e6e4df)}
.gti-page [data-gti-tool] .gti-tool__results h3{font-size:clamp(25px,2.8vw,38px);font-weight:350;line-height:1.15;margin:0 0 28px}
.gti-page [data-gti-tool] .gti-tool__totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.gti-page [data-gti-tool] .gti-tool__total{min-width:0}
.gti-page [data-gti-tool] .gti-tool__total h4{font-size:16px;font-weight:500;margin:0 0 17px}
.gti-page [data-gti-tool] .gti-tool__total dl{margin:0}
.gti-page [data-gti-tool] .gti-tool__total dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid var(--gt-line);padding:12px 0}
.gti-page [data-gti-tool] .gti-tool__total dt{font-size:12px;line-height:1.5}
.gti-page [data-gti-tool] .gti-tool__total dd{font-size:15px;font-weight:500;line-height:1.5;margin:0;text-align:right}
.gti-page [data-gti-tool] .gti-tool__total .gti-tool__known{display:block}
.gti-page [data-gti-tool] .gti-tool__known dd{font-size:clamp(25px,2.8vw,38px);font-weight:400;text-align:left;margin-top:8px}
.gti-page [data-gti-tool] .gti-tool__total p,.gti-page [data-gti-tool] .gti-tool__total ul{font-size:12px;line-height:1.55;margin:12px 0 0}
.gti-page [data-gti-tool] .gti-tool__total ul{padding-left:18px}
.gti-page [data-gti-tool] .gti-tool__difference{margin-top:28px;padding:24px 0;border-block:1px solid var(--gt-line)}
.gti-page [data-gti-tool] .gti-tool__difference p{font-size:12px;line-height:1.5;margin:0 0 12px}
.gti-page [data-gti-tool] .gti-tool__difference strong{font-size:clamp(27px,3vw,40px);font-weight:400;line-height:1.2}
.gti-page [data-gti-tool] .gti-tool__difference span{display:block;font-size:12px;line-height:1.5;margin-top:10px}
.gti-page [data-gti-tool] .gti-tool__notice,.gti-page [data-gti-tool] .gti-tool__limits{font-size:12px;line-height:1.65;max-width:110ch;margin:20px 0 0}
.gti-page [data-gti-tool] .gti-tool__summary{border-block:1px solid var(--gt-line);margin-top:25px}
.gti-page [data-gti-tool] .gti-tool__summary summary{cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.gti-page [data-gti-tool] .gti-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.gti-page [data-gti-tool] .gti-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:24px}
.gti-page [data-gti-tool] .gti-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.gti-page [data-gti-tool] .gti-tool__actions :disabled,.gti-page [data-gti-tool] .gti-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.gti-page [data-gti-tool] [data-gti-status]{width:100%;font-size:12px;line-height:1.55;color:var(--gt-accent)}
.gti-page [data-gti-tool] [data-gti-status]:empty{display:none}
@media(max-width:800px){.gti-page [data-gti-tool] .gti-tool__head{grid-template-columns:1fr;gap:20px}.gti-page [data-gti-tool] .gti-tool__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gti-page [data-gti-tool] .gti-tool__name{grid-column:1/-1}}
@media(max-width:520px){.gti-page [data-gti-tool] .gti-tool__bases,.gti-page [data-gti-tool] .gti-tool__row,.gti-page [data-gti-tool] .gti-tool__totals{grid-template-columns:1fr}.gti-page [data-gti-tool] .gti-tool__row{gap:20px}.gti-page [data-gti-tool] .gti-tool__name{grid-column:auto}.gti-page [data-gti-tool] .gti-tool__offer-cell+.gti-tool__offer-cell{padding-top:20px;border-top:1px solid var(--gt-line)}.gti-page [data-gti-tool] .gti-tool__total+.gti-tool__total{padding-top:25px;border-top:1px solid var(--gt-line)}.gti-page [data-gti-tool] .gti-tool__summary textarea{font-size:16px}.gti-page [data-gti-tool] .gti-tool__actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.gti-page [data-gti-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:gestion-tool-css-v1-end */


/* tramuntana:direccion-ejecucion-css-v1-start */
.servicio-html .deo-page{--deo-ink:var(--ink,#1d1d1b);--deo-paper:var(--bone-3,#f2f1ed);--deo-line:var(--line,rgba(29,29,27,.18));--deo-accent:var(--teal-t,#42646b);min-width:0;color:var(--deo-ink)}
.servicio-html .deo-page *,.servicio-html .deo-page *::before,.servicio-html .deo-page *::after{box-sizing:border-box}
.servicio-html .deo-page [hidden]{display:none!important}
.servicio-html .deo-page [id]{scroll-margin-top:110px}
.servicio-html .deo-page :is(h1,h2,h3,p,a,summary,li,span,dt,dd){overflow-wrap:break-word}
.servicio-html .deo-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .deo-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--deo-accent);outline-offset:5px}
.servicio-html .deo-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .deo-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .deo-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .deo-page .deo-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .deo-page .deo-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .deo-page .deo-head h2{margin:14px 0 0;max-width:23ch}
.servicio-html .deo-page .deo-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .deo-page .deo-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .deo-page .deo-intro h2{margin:16px 0 0;max-width:23ch}
.servicio-html .deo-page .deo-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 26px;max-width:61ch}
.servicio-html .deo-page .deo-benefits{list-style:none;margin:0;padding:0;border-top:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-benefits b{font-size:15px;font-weight:450;line-height:1.45}
.servicio-html .deo-page .deo-benefits span{font-size:13px;line-height:1.6}
.servicio-html .deo-page .deo-controls{background:var(--deo-paper)}
.servicio-html .deo-page .deo-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.servicio-html .deo-page .deo-control-grid article{border-top:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-control-drawing{display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--deo-accent)}
.servicio-html .deo-page .deo-control-drawing svg{display:block;width:100%;max-width:300px;height:auto}
.servicio-html .deo-page .deo-kicker{display:block;color:var(--deo-accent);font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.servicio-html .deo-page .deo-control-grid h3{font-size:clamp(25px,2.3vw,34px);font-weight:350;line-height:1.1;margin:22px 0 18px}
.servicio-html .deo-page .deo-control-grid p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .deo-page .deo-caption{max-width:100ch;font-size:12px;line-height:1.65;margin:28px 0 0;padding-top:18px;border-top:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .deo-page .deo-two h2{margin:16px 0 24px;max-width:24ch}
.servicio-html .deo-page .deo-two>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:60ch}
.servicio-html .deo-page .deo-two>div>p:last-child{margin-bottom:0}
.servicio-html .deo-page .deo-scope-note{border:1px solid var(--deo-line);padding:clamp(24px,3vw,38px)}
.servicio-html .deo-page .deo-scope-note h3{font-size:clamp(27px,2.6vw,38px);font-weight:350;line-height:1.1;margin:20px 0}
.servicio-html .deo-page .deo-scope-note p{font-size:14px;line-height:1.7;margin:0 0 18px}
.servicio-html .deo-page .deo-text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:500;line-height:1.6;color:var(--deo-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .deo-page .deo-measure{background:var(--bone-2,#dedcd6)}
.servicio-html .deo-page .deo-measure-list{margin:0;border-top:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-measure-list>div{padding:24px 0;border-bottom:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-measure-list dt{font-size:22px;font-weight:350;line-height:1.25;margin:0 0 10px}
.servicio-html .deo-page .deo-measure-list dd{font-size:14px;line-height:1.65;margin:0}
.servicio-html .deo-page .deo-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--deo-line);border-bottom:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-steps li{padding:25px 24px;border-right:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-steps li:first-child{padding-left:0}
.servicio-html .deo-page .deo-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .deo-page .deo-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--deo-accent)}
.servicio-html .deo-page .deo-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .deo-page .deo-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .deo-page .deo-process-note{max-width:100ch;font-size:14px;line-height:1.7;margin:24px 0 0}
.servicio-html .deo-page .deo-sources{font-size:11px;line-height:1.7;margin:12px 0 0}
.servicio-html .deo-page .deo-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .deo-page .deo-faq .a p{margin:0;line-height:1.7}
.servicio-html .deo-page .deo-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-faq .acc>details>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .deo-page .deo-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .deo-page .deo-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--deo-accent)}
.servicio-html .deo-page .deo-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .deo-page .deo-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
.servicio-html .deo-page .deo-related{background:var(--deo-paper)}
.servicio-html .deo-page .deo-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;border-top:1px solid var(--deo-line)}
.servicio-html .deo-page .deo-related-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:70px;color:var(--deo-ink);font-size:15px;line-height:1.55;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){
  .servicio-html .deo-page .deo-benefits li{grid-template-columns:minmax(0,1fr);gap:7px}
  .servicio-html .deo-page .deo-control-grid{gap:22px}
  .servicio-html .deo-page .deo-control-drawing{min-height:150px}
  .servicio-html .deo-page .deo-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .deo-page .deo-hero-note{top:12px}
  .servicio-html .deo-page .deo-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .deo-page .deo-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .deo-page .deo-intro>div>p{max-width:none}
  .servicio-html .deo-page .deo-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-bottom:1px solid var(--deo-line)}
  .servicio-html .deo-page .deo-benefits li{display:flex;flex-direction:column;border-bottom:0;padding:22px 0}
  .servicio-html .deo-page .deo-two{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .deo-page .deo-control-grid h3{font-size:25px}
  .servicio-html .deo-page .deo-control-drawing{min-height:130px}
  .servicio-html .deo-page .deo-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .deo-page .deo-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .deo-page .deo-steps li:nth-child(3){border-top:1px solid var(--deo-line);padding-left:0}
  .servicio-html .deo-page .deo-steps li:nth-child(4){border-top:1px solid var(--deo-line)}
}
@media(max-width:600px){
  .servicio-html .deo-page [id]{scroll-margin-top:95px}
  .servicio-html .deo-page .deo-benefits{display:block;border-bottom:0}
  .servicio-html .deo-page .deo-benefits li{border-bottom:1px solid var(--deo-line);padding:18px 0}
  .servicio-html .deo-page .deo-control-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .deo-page .deo-control-drawing{min-height:165px;padding-top:14px}
  .servicio-html .deo-page .deo-control-grid h3{font-size:29px;margin:17px 0 14px}
  .servicio-html .deo-page .deo-scope-note{padding:24px}
  .servicio-html .deo-page .deo-measure-list>div{padding:22px 0}
  .servicio-html .deo-page .deo-steps li{padding:23px 14px}
  .servicio-html .deo-page .deo-steps h3{font-size:26px;margin:22px 0 13px}
  .servicio-html .deo-page .deo-faq .acc>details>.a{padding-right:0}
  .servicio-html .deo-page .deo-related-links{grid-template-columns:minmax(0,1fr);gap:0}
  .servicio-html .deo-page .deo-related-links a{border-bottom:1px solid var(--deo-line);min-height:65px}
}
/* tramuntana:direccion-ejecucion-css-v1-end */

/* tramuntana:direccion-ejecucion-tool-css-v1-start */
.deo-page [data-deo-tool]{--dt-ink:var(--ink,#1d1d1b);--dt-paper:var(--bone-3,#f2f1ed);--dt-line:var(--line,rgba(29,29,27,.18));--dt-accent:var(--teal-t,#42646b);background:var(--dt-paper);color:var(--dt-ink);min-width:0}
.deo-page [data-deo-tool] *,.deo-page [data-deo-tool] *::before,.deo-page [data-deo-tool] *::after{box-sizing:border-box}
.deo-page [data-deo-tool] [hidden]{display:none!important}
.deo-page [data-deo-tool] :is(h2,h3,h4,p,label,legend,dt,dd,span,strong,button,a){overflow-wrap:anywhere}
.deo-page [data-deo-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--dt-accent);outline-offset:4px}
.deo-page [data-deo-tool] .deo-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:28px}
.deo-page [data-deo-tool] .deo-tool__head h2{max-width:22ch;margin:14px 0 0}
.deo-page [data-deo-tool] .deo-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.deo-page [data-deo-tool] .deo-tool__fallback{border:1px solid var(--dt-line);padding:26px;max-width:85ch}
.deo-page [data-deo-tool] .deo-tool__fallback p{font-size:14px;line-height:1.65;margin:0 0 22px}
.deo-page [data-deo-tool] .deo-tool__fallback .btn{max-width:100%;white-space:normal}
.deo-page [data-deo-tool] .deo-tool__example{margin:0 0 25px;padding:14px 17px;border-left:3px solid var(--dt-accent);font-size:12px;line-height:1.65;background:var(--bone,#e6e4df)}
.deo-page [data-deo-tool] .deo-tool__layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,4vw,55px);align-items:start}
.deo-page [data-deo-tool] .deo-tool__layout>*,.deo-page [data-deo-tool] .deo-tool__form{min-width:0}
.deo-page [data-deo-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.deo-page [data-deo-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 18px}
.deo-page [data-deo-tool] .deo-tool__field{min-width:0;margin-bottom:18px}
.deo-page [data-deo-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.deo-page [data-deo-tool] input,.deo-page [data-deo-tool] select,.deo-page [data-deo-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--dt-ink);font:16px/1.35 Inter,Arial,sans-serif}
.deo-page [data-deo-tool] input[aria-invalid=true],.deo-page [data-deo-tool] select[aria-invalid=true]{border-color:#8b4234}
.deo-page [data-deo-tool] .deo-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.deo-page [data-deo-tool] .deo-tool__error:empty{display:none}
.deo-page [data-deo-tool] .deo-tool__measurements{padding-top:8px;margin-top:15px}
.deo-page [data-deo-tool] .deo-tool__help{font-size:11px;line-height:1.65;color:var(--mute,#5f5f59);margin:8px 0 12px}
.deo-page [data-deo-tool] .deo-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--dt-line);background:transparent;color:var(--dt-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.deo-page [data-deo-tool] .deo-tool__empty{padding:22px;border-left:3px solid var(--dt-accent);background:var(--bone,#e6e4df)}
.deo-page [data-deo-tool] .deo-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.deo-page [data-deo-tool] .deo-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--dt-line);background:var(--bone,#e6e4df)}
.deo-page [data-deo-tool] .deo-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0}
.deo-page [data-deo-tool] .deo-tool__item{font-size:13px;line-height:1.6;margin:0 0 26px}
.deo-page [data-deo-tool] .deo-tool__item strong{display:block;font-weight:500}
.deo-page [data-deo-tool] .deo-tool__item span{display:block;font-size:12px;margin-top:3px}
.deo-page [data-deo-tool] .deo-tool__totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border-block:1px solid var(--dt-line);padding:20px 0}
.deo-page [data-deo-tool] .deo-tool__totals>div{min-width:0}
.deo-page [data-deo-tool] .deo-tool__totals h4{font-size:12px;font-weight:500;line-height:1.5;margin:0 0 10px}
.deo-page [data-deo-tool] .deo-tool__totals strong{display:block;font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.25;font-variant-numeric:tabular-nums}
.deo-page [data-deo-tool] .deo-tool__totals span{display:block;font-size:13px;line-height:1.5;margin-top:8px}
.deo-page [data-deo-tool] .deo-tool__progress{font-size:13px;font-weight:500;line-height:1.6;margin:14px 0 22px;color:var(--dt-accent)}
.deo-page [data-deo-tool] .deo-tool__planned{font-size:12px;line-height:1.6;margin:0 0 28px}
.deo-page [data-deo-tool] .deo-tool__planned>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 15px}
.deo-page [data-deo-tool] .deo-tool__planned dd{display:flex;flex-wrap:wrap;gap:8px 15px;margin:0;font-weight:500}
.deo-page [data-deo-tool] .deo-tool__bars h4{font-size:13px;line-height:1.5;font-weight:500;margin:0 0 8px}
.deo-page [data-deo-tool] .deo-tool__scale{font-size:11px;line-height:1.65;margin:0 0 18px;color:var(--mute,#5f5f59)}
.deo-page [data-deo-tool] .deo-tool__bar-row{margin-top:18px}
.deo-page [data-deo-tool] .deo-tool__bar-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 15px;font-size:12px;line-height:1.55;margin:0 0 8px}
.deo-page [data-deo-tool] .deo-tool__bar-label>:first-child{flex:1 1 110px;font-weight:500}
.deo-page [data-deo-tool] .deo-tool__bar-label>span{min-width:0}
.deo-page [data-deo-tool] .deo-tool__track{width:100%;height:10px;background:#fff;border:1px solid var(--dt-line)}
.deo-page [data-deo-tool] .deo-tool__fill{display:block;height:100%;width:0;max-width:100%;background:var(--dt-accent)}
.deo-page [data-deo-tool] .deo-tool__fill--previous{background:#818d87}
.deo-page [data-deo-tool] .deo-tool__fill--remaining{background:#c7ccc4}
.deo-page [data-deo-tool] .deo-tool__excess{margin-top:24px;padding-top:20px;border-top:1px dashed #8c6540;color:#634b32}
.deo-page [data-deo-tool] .deo-tool__fill--excess{background:#8c6540}
.deo-page [data-deo-tool] .deo-tool__notice,.deo-page [data-deo-tool] .deo-tool__limits{font-size:12px;line-height:1.65;margin:20px 0 0}
.deo-page [data-deo-tool] .deo-tool__limits{font-size:11px;color:var(--mute,#5f5f59)}
.deo-page [data-deo-tool] .deo-tool__summary{border-block:1px solid var(--dt-line);margin-top:25px}
.deo-page [data-deo-tool] .deo-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.deo-page [data-deo-tool] .deo-tool__summary summary::-webkit-details-marker{display:none}
.deo-page [data-deo-tool] .deo-tool__summary summary::marker{content:""}
.deo-page [data-deo-tool] .deo-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--dt-accent)}
.deo-page [data-deo-tool] .deo-tool__summary[open] summary::after{content:"−"}
.deo-page [data-deo-tool] .deo-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.deo-page [data-deo-tool] .deo-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.deo-page [data-deo-tool] .deo-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.deo-page [data-deo-tool] .deo-tool__actions :disabled,.deo-page [data-deo-tool] .deo-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.deo-page [data-deo-tool] [data-deo-status]{width:100%;font-size:12px;line-height:1.55;color:var(--dt-accent)}
.deo-page [data-deo-tool] [data-deo-status]:empty{display:none}
.deo-page [data-deo-tool] .deo-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.deo-page [data-deo-tool] .deo-tool__head{grid-template-columns:1fr;gap:20px}.deo-page [data-deo-tool] .deo-tool__layout{grid-template-columns:1fr}.deo-page [data-deo-tool] .deo-tool__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.deo-page [data-deo-tool] .deo-tool__measurements{padding-top:0;margin-top:0}.deo-page [data-deo-tool] .deo-tool__help{grid-column:1/-1}.deo-page [data-deo-tool] .deo-tool__reset{justify-self:start}}
@media(max-width:520px){.deo-page [data-deo-tool] .deo-tool__form,.deo-page [data-deo-tool] .deo-tool__totals{grid-template-columns:1fr}.deo-page [data-deo-tool] .deo-tool__totals>div+div{padding-top:18px;border-top:1px solid var(--dt-line)}.deo-page [data-deo-tool] .deo-tool__summary textarea{font-size:16px}.deo-page [data-deo-tool] .deo-tool__actions .btn{width:100%}.deo-page [data-deo-tool] .deo-tool__bar-label>:first-child{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.deo-page [data-deo-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:direccion-ejecucion-tool-css-v1-end */

/* tramuntana:ite-iee-css-v1-start */
.servicio-html .ite-page{--ite-ink:var(--ink,#1d1d1b);--ite-paper:var(--bone-3,#f2f1ed);--ite-line:var(--line,rgba(29,29,27,.18));--ite-accent:var(--teal-t,#42646b);min-width:0;color:var(--ite-ink)}
.servicio-html .ite-page *,.servicio-html .ite-page *::before,.servicio-html .ite-page *::after{box-sizing:border-box}
.servicio-html .ite-page [hidden]{display:none!important}
.servicio-html .ite-page [id]{scroll-margin-top:110px}
.servicio-html .ite-page :is(h1,h2,h3,p,a,summary,li,span,dt,dd){overflow-wrap:break-word}
.servicio-html .ite-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .ite-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--ite-accent);outline-offset:5px}
.servicio-html .ite-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .ite-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .ite-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .ite-page .ite-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .ite-page .ite-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .ite-page .ite-head h2{margin:14px 0 0;max-width:23ch}
.servicio-html .ite-page .ite-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.65}
.servicio-html .ite-page .ite-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .ite-page .ite-intro h2{margin:16px 0 0;max-width:23ch}
.servicio-html .ite-page .ite-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 26px;max-width:61ch}
.servicio-html .ite-page .ite-benefits{list-style:none;margin:0;padding:0;border-top:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-benefits li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-benefits b{font-size:15px;font-weight:450;line-height:1.45}
.servicio-html .ite-page .ite-benefits span{font-size:13px;line-height:1.6}
.servicio-html .ite-page .ite-controls{background:var(--ite-paper)}
.servicio-html .ite-page .ite-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.servicio-html .ite-page .ite-control-grid article{border-top:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-control-drawing{display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--ite-accent)}
.servicio-html .ite-page .ite-control-drawing svg{display:block;width:100%;max-width:300px;height:auto}
.servicio-html .ite-page .ite-kicker{display:block;color:var(--ite-accent);font-size:11px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase}
.servicio-html .ite-page .ite-control-grid h3{font-size:clamp(25px,2.3vw,34px);font-weight:350;line-height:1.1;margin:22px 0 18px}
.servicio-html .ite-page .ite-control-grid p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .ite-page .ite-caption{max-width:100ch;font-size:12px;line-height:1.65;margin:28px 0 0;padding-top:18px;border-top:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,80px);align-items:start}
.servicio-html .ite-page .ite-two h2{margin:16px 0 24px;max-width:24ch}
.servicio-html .ite-page .ite-two>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:60ch}
.servicio-html .ite-page .ite-two>div>p:last-child{margin-bottom:0}
.servicio-html .ite-page .ite-scope-note{border:1px solid var(--ite-line);padding:clamp(24px,3vw,38px)}
.servicio-html .ite-page .ite-scope-note h3{font-size:clamp(27px,2.6vw,38px);font-weight:350;line-height:1.1;margin:20px 0}
.servicio-html .ite-page .ite-scope-note p{font-size:14px;line-height:1.7;margin:0 0 18px}
.servicio-html .ite-page .ite-text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:13px;font-weight:500;line-height:1.6;color:var(--ite-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .ite-page .ite-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--ite-line);border-bottom:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-steps li{padding:25px 24px;border-right:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-steps li:first-child{padding-left:0}
.servicio-html .ite-page .ite-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .ite-page .ite-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--ite-accent)}
.servicio-html .ite-page .ite-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .ite-page .ite-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .ite-page .ite-process-note{max-width:100ch;font-size:14px;line-height:1.7;margin:24px 0 0}
.servicio-html .ite-page .ite-sources{font-size:11px;line-height:1.7;margin:12px 0 0}
.servicio-html .ite-page .ite-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .ite-page .ite-faq .a p{margin:0;line-height:1.7}
.servicio-html .ite-page .ite-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--ite-line)}
.servicio-html .ite-page .ite-faq .acc>details>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .ite-page .ite-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .ite-page .ite-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--ite-accent)}
.servicio-html .ite-page .ite-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .ite-page .ite-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
@media(max-width:1000px){
  .servicio-html .ite-page .ite-benefits li{grid-template-columns:minmax(0,1fr);gap:7px}
  .servicio-html .ite-page .ite-control-grid{gap:22px}
  .servicio-html .ite-page .ite-control-drawing{min-height:150px}
  .servicio-html .ite-page .ite-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .ite-page .ite-hero-note{top:12px}
  .servicio-html .ite-page .ite-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .ite-page .ite-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .ite-page .ite-intro>div>p{max-width:none}
  .servicio-html .ite-page .ite-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-bottom:1px solid var(--ite-line)}
  .servicio-html .ite-page .ite-benefits li{display:flex;flex-direction:column;border-bottom:0;padding:22px 0}
  .servicio-html .ite-page .ite-two{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .ite-page .ite-control-grid h3{font-size:25px}
  .servicio-html .ite-page .ite-control-drawing{min-height:130px}
  .servicio-html .ite-page .ite-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .ite-page .ite-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .ite-page .ite-steps li:nth-child(3){border-top:1px solid var(--ite-line);padding-left:0}
  .servicio-html .ite-page .ite-steps li:nth-child(4){border-top:1px solid var(--ite-line)}
}
@media(max-width:600px){
  .servicio-html .ite-page [id]{scroll-margin-top:95px}
  .servicio-html .ite-page .ite-benefits{display:block;border-bottom:0}
  .servicio-html .ite-page .ite-benefits li{border-bottom:1px solid var(--ite-line);padding:18px 0}
  .servicio-html .ite-page .ite-control-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .ite-page .ite-control-drawing{min-height:165px;padding-top:14px}
  .servicio-html .ite-page .ite-control-grid h3{font-size:29px;margin:17px 0 14px}
  .servicio-html .ite-page .ite-scope-note{padding:24px}
  .servicio-html .ite-page .ite-steps li{padding:23px 14px}
  .servicio-html .ite-page .ite-steps h3{font-size:26px;margin:22px 0 13px}
  .servicio-html .ite-page .ite-faq .acc>details>.a{padding-right:0}
}
.servicio-html .ite-page .ite-followup{background:var(--ite-paper)}
/* tramuntana:ite-iee-css-v1-end */


/* tramuntana:ite-iee-tool-css-v1-start */
.ite-page [data-ite-tool]{--it-ink:var(--ink,#1d1d1b);--it-paper:var(--bone-3,#f2f1ed);--it-line:var(--line,rgba(29,29,27,.18));--it-accent:var(--teal-t,#42646b);background:var(--it-paper);color:var(--it-ink);min-width:0}
.ite-page [data-ite-tool] *,.ite-page [data-ite-tool] *::before,.ite-page [data-ite-tool] *::after{box-sizing:border-box}
.ite-page [data-ite-tool] [hidden]{display:none!important}
.ite-page [data-ite-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,span,strong,button,a){overflow-wrap:anywhere}
.ite-page [data-ite-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--it-accent);outline-offset:4px}
.ite-page [data-ite-tool] .ite-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.ite-page [data-ite-tool] .ite-tool__head h2{max-width:22ch;margin:14px 0 0}
.ite-page [data-ite-tool] .ite-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.ite-page [data-ite-tool] .ite-tool__intro{max-width:110ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--it-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.ite-page [data-ite-tool] .ite-tool__fallback{border:1px solid var(--it-line);padding:26px;max-width:85ch}
.ite-page [data-ite-tool] .ite-tool__fallback p,.ite-page [data-ite-tool] .ite-tool__fallback li{font-size:14px;line-height:1.65;margin:0 0 12px}
.ite-page [data-ite-tool] .ite-tool__fallback ul{margin:18px 0;padding-left:20px}
.ite-page [data-ite-tool] .ite-tool__fallback .btn{max-width:100%;white-space:normal;margin-top:10px}
.ite-page [data-ite-tool] .ite-tool__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,55px);align-items:start}
.ite-page [data-ite-tool] .ite-tool__layout>*,.ite-page [data-ite-tool] .ite-tool__form{min-width:0}
.ite-page [data-ite-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.ite-page [data-ite-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 18px}
.ite-page [data-ite-tool] .ite-tool__field{min-width:0;margin-bottom:20px}
.ite-page [data-ite-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.ite-page [data-ite-tool] input,.ite-page [data-ite-tool] select,.ite-page [data-ite-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--it-ink);font:16px/1.35 Inter,Arial,sans-serif}
.ite-page [data-ite-tool] input[aria-invalid=true],.ite-page [data-ite-tool] select[aria-invalid=true]{border-color:#8b4234}
.ite-page [data-ite-tool] .ite-tool__help{font-size:11px;line-height:1.65;margin:7px 0 0;color:var(--mute,#5f5f59)}
.ite-page [data-ite-tool] .ite-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.ite-page [data-ite-tool] .ite-tool__error:empty{display:none}
.ite-page [data-ite-tool] .ite-tool__documents{padding-top:10px;margin-top:18px}
.ite-page [data-ite-tool] .ite-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--it-line);background:transparent;color:var(--it-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.ite-page [data-ite-tool] .ite-tool__empty{padding:22px;border-left:3px solid var(--it-accent);background:var(--bone,#e6e4df)}
.ite-page [data-ite-tool] .ite-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.ite-page [data-ite-tool] .ite-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--it-line);background:var(--bone,#e6e4df)}
.ite-page [data-ite-tool] .ite-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0 22px}
.ite-page [data-ite-tool] .ite-tool__context{margin:0;font-size:12px;line-height:1.6}
.ite-page [data-ite-tool] .ite-tool__context>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:10px;margin-top:8px}
.ite-page [data-ite-tool] .ite-tool__context dt{font-weight:500}
.ite-page [data-ite-tool] .ite-tool__context dd{margin:0;min-width:0}
.ite-page [data-ite-tool] .ite-tool__context-message{font-size:12px;line-height:1.65;margin:20px 0 26px}
.ite-page [data-ite-tool] .ite-tool__group{border-top:1px solid var(--it-line);padding:20px 0 0;margin:22px 0 0;min-width:0}
.ite-page [data-ite-tool] .ite-tool__group h4{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 14px}
.ite-page [data-ite-tool] .ite-tool__group ul{list-style:none;padding:0;margin:0}
.ite-page [data-ite-tool] .ite-tool__group li{font-size:12px;line-height:1.65;margin:0 0 17px}
.ite-page [data-ite-tool] .ite-tool__group li strong{display:block;font-weight:500}
.ite-page [data-ite-tool] .ite-tool__group li span{display:block;margin-top:4px}
.ite-page [data-ite-tool] .ite-tool__group-empty{font-size:12px;line-height:1.65;color:var(--mute,#5f5f59);margin:0}
.ite-page [data-ite-tool] .ite-tool__note{font-size:11px;line-height:1.65;margin:25px 0 0;color:var(--mute,#5f5f59)}
.ite-page [data-ite-tool] .ite-tool__summary{border-block:1px solid var(--it-line);margin-top:25px}
.ite-page [data-ite-tool] .ite-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.ite-page [data-ite-tool] .ite-tool__summary summary::-webkit-details-marker{display:none}
.ite-page [data-ite-tool] .ite-tool__summary summary::marker{content:""}
.ite-page [data-ite-tool] .ite-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--it-accent)}
.ite-page [data-ite-tool] .ite-tool__summary[open] summary::after{content:"−"}
.ite-page [data-ite-tool] .ite-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.ite-page [data-ite-tool] .ite-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.ite-page [data-ite-tool] .ite-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.ite-page [data-ite-tool] a.btn.b-line{color:var(--it-ink,#1d1d1b);border-color:var(--it-ink,#1d1d1b);background:transparent}
.ite-page [data-ite-tool] a.btn.b-line:hover,.ite-page [data-ite-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--it-ink,#1d1d1b);background:var(--it-ink,#1d1d1b)}
.ite-page [data-ite-tool] .ite-tool__actions :disabled,.ite-page [data-ite-tool] .ite-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.ite-page [data-ite-tool] [data-ite-status]{width:100%;font-size:12px;line-height:1.55;color:var(--it-accent)}
.ite-page [data-ite-tool] [data-ite-status]:empty{display:none}
.ite-page [data-ite-tool] .ite-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.ite-page [data-ite-tool] .ite-tool__head{grid-template-columns:1fr;gap:20px}.ite-page [data-ite-tool] .ite-tool__layout{grid-template-columns:1fr}.ite-page [data-ite-tool] .ite-tool__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ite-page [data-ite-tool] .ite-tool__documents{padding-top:0;margin-top:0}.ite-page [data-ite-tool] .ite-tool__reset{justify-self:start}}
@media(max-width:520px){.ite-page [data-ite-tool] .ite-tool__form{grid-template-columns:1fr}.ite-page [data-ite-tool] .ite-tool__summary textarea{font-size:16px}.ite-page [data-ite-tool] .ite-tool__actions .btn{width:100%}.ite-page [data-ite-tool] .ite-tool__context>div{grid-template-columns:1fr;gap:3px}}
@media(prefers-reduced-motion:reduce){.ite-page [data-ite-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:ite-iee-tool-css-v1-end */

/* tramuntana:cambio-uso-css-v1-start */
.servicio-html .cu-page{--cu-ink:var(--ink,#1d1d1b);--cu-paper:var(--bone-3,#f2f1ed);--cu-line:var(--line,rgba(29,29,27,.18));--cu-accent:var(--teal-t,#42646b);min-width:0;color:var(--cu-ink)}
.servicio-html .cu-page *,.servicio-html .cu-page *::before,.servicio-html .cu-page *::after{box-sizing:border-box}
.servicio-html .cu-page [hidden]{display:none!important}
.servicio-html .cu-page [id]{scroll-margin-top:110px}
.servicio-html .cu-page :is(h1,h2,h3,p,a,summary,li,span,dt,dd,figcaption){overflow-wrap:break-word}
.servicio-html .cu-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .cu-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--cu-accent);outline-offset:5px}
.servicio-html .cu-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .cu-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .cu-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .cu-page .cu-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .cu-page .cu-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .cu-page .cu-intro h2{margin:16px 0 0;max-width:23ch}
.servicio-html .cu-page .cu-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:61ch}
.servicio-html .cu-page .cu-text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:13px;font-weight:500;line-height:1.6;color:var(--cu-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .cu-page .cu-text-link>span{flex:none}
.servicio-html .cu-page .cu-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .cu-page .cu-head h2{margin:14px 0 0;max-width:23ch}
.servicio-html .cu-page .cu-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .cu-page .cu-study{background:var(--cu-paper)}
.servicio-html .cu-page .cu-study-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .cu-page .cu-plan{margin:0}
.servicio-html .cu-page .cu-plan-drawing{color:var(--cu-accent);padding:5px 0 20px}
.servicio-html .cu-page .cu-plan-drawing svg{display:block;width:100%;height:auto;max-width:490px;margin:0 auto}
.servicio-html .cu-page .cu-plan-labels{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--cu-line);padding:18px 0}
.servicio-html .cu-page .cu-plan-labels span{font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--cu-accent)}
.servicio-html .cu-page .cu-plan figcaption{font-size:11px;line-height:1.7;max-width:60ch}
.servicio-html .cu-page .cu-checks{border-top:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-checks article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--cu-line);padding:23px 0}
.servicio-html .cu-page .cu-checks article>span{font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--cu-accent);padding-top:4px}
.servicio-html .cu-page .cu-checks h3{font-size:clamp(23px,2.1vw,31px);line-height:1.15;font-weight:350;margin:0 0 12px}
.servicio-html .cu-page .cu-checks p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .cu-page .cu-sources{font-size:11px;line-height:1.7;margin:22px 0 0}
.servicio-html .cu-page .cu-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .cu-page .cu-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--cu-line);border-bottom:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-routes article{padding:32px 38px 22px 0}
.servicio-html .cu-page .cu-routes article+article{padding:32px 0 22px 38px;border-left:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-kicker{display:block;color:var(--cu-accent);font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.servicio-html .cu-page .cu-routes h3{font-size:clamp(27px,2.8vw,40px);font-weight:350;line-height:1.1;margin:25px 0 22px;max-width:25ch}
.servicio-html .cu-page .cu-routes p{font-size:14px;line-height:1.7;margin:0 0 16px;max-width:65ch}
.servicio-html .cu-page .cu-route-note{font-size:13px;line-height:1.7;max-width:105ch;margin:22px 0 0}
.servicio-html .cu-page .cu-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--cu-line);border-bottom:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-steps li{padding:25px 24px;border-right:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-steps li:first-child{padding-left:0}
.servicio-html .cu-page .cu-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .cu-page .cu-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--cu-accent)}
.servicio-html .cu-page .cu-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .cu-page .cu-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .cu-page .cu-team-note{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(24px,5vw,70px);padding:30px 0 0}
.servicio-html .cu-page .cu-team-note h3{font-size:clamp(23px,2vw,29px);font-weight:350;line-height:1.15;margin:0;max-width:27ch}
.servicio-html .cu-page .cu-team-note p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .cu-page .cu-team-note a{color:var(--cu-accent);text-decoration:underline;text-underline-offset:4px}
.servicio-html .cu-page .cu-faq{background:var(--cu-paper)}
.servicio-html .cu-page .cu-faq .a p{margin:0;line-height:1.7}
.servicio-html .cu-page .cu-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--cu-line)}
.servicio-html .cu-page .cu-faq .acc>details>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .cu-page .cu-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .cu-page .cu-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--cu-accent)}
.servicio-html .cu-page .cu-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .cu-page .cu-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
@media(max-width:1000px){
  .servicio-html .cu-page .cu-study-grid{gap:35px}
  .servicio-html .cu-page .cu-checks article{gap:13px}
  .servicio-html .cu-page .cu-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .cu-page .cu-hero-note{top:12px}
  .servicio-html .cu-page .cu-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .cu-page .cu-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .cu-page .cu-intro>div>p{max-width:none}
  .servicio-html .cu-page .cu-study-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .cu-page .cu-plan{max-width:540px;width:100%;margin:0 auto}
  .servicio-html .cu-page .cu-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .cu-page .cu-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .cu-page .cu-steps li:nth-child(3){border-top:1px solid var(--cu-line);padding-left:0}
  .servicio-html .cu-page .cu-steps li:nth-child(4){border-top:1px solid var(--cu-line)}
}
@media(max-width:600px){
  .servicio-html .cu-page [id]{scroll-margin-top:95px}
  .servicio-html .cu-page .cu-checks article{padding:21px 0}
  .servicio-html .cu-page .cu-checks h3{font-size:26px}
  .servicio-html .cu-page .cu-routes{grid-template-columns:minmax(0,1fr)}
  .servicio-html .cu-page .cu-routes article{padding:26px 0 15px}
  .servicio-html .cu-page .cu-routes article+article{padding:26px 0 15px;border-left:0;border-top:1px solid var(--cu-line)}
  .servicio-html .cu-page .cu-routes h3{font-size:32px;margin:20px 0 17px}
  .servicio-html .cu-page .cu-steps li{padding:23px 14px}
  .servicio-html .cu-page .cu-steps h3{font-size:25px;margin:22px 0 13px}
  .servicio-html .cu-page .cu-team-note{grid-template-columns:minmax(0,1fr);gap:18px}
  .servicio-html .cu-page .cu-faq .acc>details>.a{padding-right:0}
}
/* tramuntana:cambio-uso-css-v1-end */

/* tramuntana:cambio-uso-tool-css-v1-start */
.cu-page [data-cu-tool]{--ct-ink:var(--ink,#1d1d1b);--ct-paper:var(--bone-3,#f2f1ed);--ct-line:var(--line,rgba(29,29,27,.18));--ct-accent:var(--teal-t,#42646b);background:var(--ct-paper);color:var(--ct-ink);min-width:0}
.cu-page [data-cu-tool] *,.cu-page [data-cu-tool] *::before,.cu-page [data-cu-tool] *::after{box-sizing:border-box}
.cu-page [data-cu-tool] [hidden]{display:none!important}
.cu-page [data-cu-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,span,strong,button,a){overflow-wrap:anywhere}
.cu-page [data-cu-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ct-accent);outline-offset:4px}
.cu-page [data-cu-tool] .cu-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.cu-page [data-cu-tool] .cu-tool__head h2{max-width:24ch;margin:14px 0 0}
.cu-page [data-cu-tool] .cu-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.cu-page [data-cu-tool] .cu-tool__intro{max-width:110ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--ct-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.cu-page [data-cu-tool] .cu-tool__fallback{border:1px solid var(--ct-line);padding:26px;max-width:85ch}
.cu-page [data-cu-tool] .cu-tool__fallback p,.cu-page [data-cu-tool] .cu-tool__fallback li{font-size:14px;line-height:1.65;margin:0 0 12px}
.cu-page [data-cu-tool] .cu-tool__fallback ul{margin:18px 0;padding-left:20px}
.cu-page [data-cu-tool] .cu-tool__fallback .btn{max-width:100%;white-space:normal;margin-top:10px}
.cu-page [data-cu-tool] .cu-tool__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(24px,4vw,55px);align-items:start}
.cu-page [data-cu-tool] .cu-tool__layout>*,.cu-page [data-cu-tool] .cu-tool__form{min-width:0}
.cu-page [data-cu-tool] fieldset{min-width:0;margin:0 0 22px;padding:18px 0 0;border:0;border-top:1px solid var(--ct-line)}
.cu-page [data-cu-tool] legend{font-size:14px;font-weight:600;line-height:1.5;margin:0 0 14px;padding:0 12px 0 0;max-width:100%}
.cu-page [data-cu-tool] .cu-tool__fields{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:15px}
.cu-page [data-cu-tool] .cu-tool__fields>div{min-width:0}
.cu-page [data-cu-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.cu-page [data-cu-tool] input,.cu-page [data-cu-tool] select,.cu-page [data-cu-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--ct-ink);font:16px/1.35 Inter,Arial,sans-serif}
.cu-page [data-cu-tool] input[aria-invalid=true],.cu-page [data-cu-tool] select[aria-invalid=true]{border-color:#8b4234}
.cu-page [data-cu-tool] .cu-tool__help{font-size:11px;line-height:1.65;margin:0 0 24px;color:var(--mute,#5f5f59)}
.cu-page [data-cu-tool] .cu-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.cu-page [data-cu-tool] .cu-tool__error:empty{display:none}
.cu-page [data-cu-tool] .cu-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--ct-line);background:transparent;color:var(--ct-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.cu-page [data-cu-tool] .cu-tool__empty{padding:22px;border-left:3px solid var(--ct-accent);background:var(--bone,#e6e4df)}
.cu-page [data-cu-tool] .cu-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.cu-page [data-cu-tool] .cu-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--ct-line);background:var(--bone,#e6e4df)}
.cu-page [data-cu-tool] .cu-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0 22px}
.cu-page [data-cu-tool] .cu-tool__totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}
.cu-page [data-cu-tool] .cu-tool__totals>div{min-width:0}
.cu-page [data-cu-tool] .cu-tool__totals dt{font-size:11px;line-height:1.5;margin:0 0 6px}
.cu-page [data-cu-tool] .cu-tool__totals dd{font-size:20px;font-weight:450;line-height:1.3;margin:0;min-width:0}
.cu-page [data-cu-tool] .cu-tool__known{grid-column:1/-1;border-bottom:1px solid var(--ct-line);padding-bottom:20px}
.cu-page [data-cu-tool] .cu-tool__known dd{font-size:clamp(27px,3.2vw,42px);font-weight:350}
.cu-page [data-cu-tool] .cu-tool__pending{border-top:1px solid var(--ct-line);padding-top:22px;margin-top:25px}
.cu-page [data-cu-tool] .cu-tool__pending h4{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 12px}
.cu-page [data-cu-tool] .cu-tool__pending ul{padding-left:18px;margin:0}
.cu-page [data-cu-tool] .cu-tool__pending ul:empty{display:none}
.cu-page [data-cu-tool] .cu-tool__pending li{font-size:12px;line-height:1.65;margin-bottom:6px}
.cu-page [data-cu-tool] .cu-tool__notice{font-size:12px;line-height:1.65;margin:20px 0 0}
.cu-page [data-cu-tool] .cu-tool__note{font-size:11px;line-height:1.65;margin:18px 0 0;color:var(--mute,#5f5f59)}
.cu-page [data-cu-tool] .cu-tool__summary{border-block:1px solid var(--ct-line);margin-top:25px}
.cu-page [data-cu-tool] .cu-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.cu-page [data-cu-tool] .cu-tool__summary summary::-webkit-details-marker{display:none}
.cu-page [data-cu-tool] .cu-tool__summary summary::marker{content:""}
.cu-page [data-cu-tool] .cu-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--ct-accent)}
.cu-page [data-cu-tool] .cu-tool__summary[open] summary::after{content:"−"}
.cu-page [data-cu-tool] .cu-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.cu-page [data-cu-tool] .cu-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.cu-page [data-cu-tool] .cu-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.cu-page [data-cu-tool] a.btn.b-line{color:var(--ct-ink,#1d1d1b);border-color:var(--ct-ink,#1d1d1b);background:transparent}
.cu-page [data-cu-tool] a.btn.b-line:hover,.cu-page [data-cu-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--ct-ink,#1d1d1b);background:var(--ct-ink,#1d1d1b)}
.cu-page [data-cu-tool] .cu-tool__actions :disabled,.cu-page [data-cu-tool] .cu-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.cu-page [data-cu-tool] [data-cu-status]{width:100%;font-size:12px;line-height:1.55;color:var(--ct-accent)}
.cu-page [data-cu-tool] [data-cu-status]:empty{display:none}
.cu-page [data-cu-tool] .cu-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.cu-page [data-cu-tool] .cu-tool__layout{grid-template-columns:1fr}.cu-page [data-cu-tool] .cu-tool__head{grid-template-columns:1fr;gap:20px}}
@media(max-width:520px){.cu-page [data-cu-tool] .cu-tool__fields{grid-template-columns:1fr}.cu-page [data-cu-tool] .cu-tool__totals{grid-template-columns:1fr}.cu-page [data-cu-tool] .cu-tool__summary textarea{font-size:16px}.cu-page [data-cu-tool] .cu-tool__actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.cu-page [data-cu-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:cambio-uso-tool-css-v1-end */


/* tramuntana:obra-civil-css-v1-start */
.servicio-html .oc-page{--oc-ink:var(--ink,#1d1d1b);--oc-paper:var(--bone-3,#f2f1ed);--oc-surface:#e7e7de;--oc-line:var(--line,rgba(29,29,27,.18));--oc-accent:var(--teal-t,#42646b);min-width:0;color:var(--oc-ink)}
.servicio-html .oc-page *,.servicio-html .oc-page *::before,.servicio-html .oc-page *::after{box-sizing:border-box}
.servicio-html .oc-page [hidden]{display:none!important}
.servicio-html .oc-page [id]{scroll-margin-top:110px}
.servicio-html .oc-page :is(h1,h2,h3,p,a,summary,li,span,dt,dd,figcaption){overflow-wrap:break-word}
.servicio-html .oc-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .oc-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--oc-accent);outline-offset:5px}
.servicio-html .oc-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .oc-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .oc-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .oc-page .oc-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:calc(100% - 40px);padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.servicio-html .oc-page .oc-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .oc-page .oc-intro h2{margin:16px 0 0;max-width:23ch}
.servicio-html .oc-page .oc-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:61ch}
.servicio-html .oc-page .oc-text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:100%;font-size:13px;font-weight:500;line-height:1.6;color:var(--oc-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .oc-page .oc-text-link>span{flex:none}
.servicio-html .oc-page .oc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .oc-page .oc-head h2{margin:14px 0 0;max-width:23ch}
.servicio-html .oc-page .oc-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .oc-page .oc-services{padding-top:0}
.servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details{padding:0;border:0;border-bottom:1px solid var(--oc-line)}
.servicio-html .oc-page .oc-services .acc{border-top:1px solid var(--oc-line)}
.servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details>summary{display:flex;align-items:center;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-weight:400;line-height:1.35}
.servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;margin-left:auto;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--oc-accent)}
.servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details[open]>summary::after{content:'−'}
.servicio-html .oc-page .oc-services .acc>details>summary{font-family:inherit;font-size:clamp(27px,3.3vw,43px);font-weight:350;min-height:101px}
.servicio-html .oc-page .oc-services .oc-service-number{font-size:11px;font-weight:400;letter-spacing:.08em;color:var(--oc-accent);flex:0 0 35px}
.servicio-html .oc-page .oc-services .acc>details>.a{padding:0 54px 24px 57px;max-width:100%;font-size:14px;line-height:1.7}
.servicio-html .oc-page .oc-services .a p{max-width:83ch;margin:0 0 10px}
.servicio-html .oc-page .oc-ground{background:var(--oc-paper)}
.servicio-html .oc-page .oc-ground-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .oc-page .oc-terrain{margin:0}
.servicio-html .oc-page .oc-terrain-drawing{color:var(--oc-accent);padding:0 0 18px}
.servicio-html .oc-page .oc-terrain-drawing svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto}
.servicio-html .oc-page .oc-terrain-labels{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--oc-line);padding:18px 0}
.servicio-html .oc-page .oc-terrain-labels span{font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:var(--oc-accent)}
.servicio-html .oc-page .oc-terrain figcaption{font-size:11px;line-height:1.7;max-width:60ch}
.servicio-html .oc-page .oc-factors{border-top:1px solid var(--oc-line)}
.servicio-html .oc-page .oc-factors article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--oc-line);padding:27px 0}
.servicio-html .oc-page .oc-factors article>span{font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--oc-accent);padding-top:4px}
.servicio-html .oc-page .oc-factors h3{font-size:clamp(24px,2.3vw,34px);line-height:1.15;font-weight:350;margin:0 0 12px}
.servicio-html .oc-page .oc-factors p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .oc-page .oc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--oc-line);border-bottom:1px solid var(--oc-line)}
.servicio-html .oc-page .oc-steps li{padding:25px 24px;border-right:1px solid var(--oc-line)}
.servicio-html .oc-page .oc-steps li:first-child{padding-left:0}
.servicio-html .oc-page .oc-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .oc-page .oc-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--oc-accent)}
.servicio-html .oc-page .oc-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .oc-page .oc-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .oc-page .oc-note{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(24px,5vw,70px);padding:30px 0 0}
.servicio-html .oc-page .oc-note h3{font-size:clamp(23px,2vw,29px);font-weight:350;line-height:1.15;margin:0;max-width:27ch}
.servicio-html .oc-page .oc-note p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .oc-page .oc-note a{color:var(--oc-accent);text-decoration:underline;text-underline-offset:4px}
.servicio-html .oc-page .oc-sources{font-size:11px;line-height:1.7;margin:22px 0 0}
.servicio-html .oc-page .oc-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .oc-page .oc-faq{background:var(--oc-paper)}
.servicio-html .oc-page .oc-faq .acc>details>summary{justify-content:space-between;font-size:clamp(17px,1.6vw,22px);line-height:1.45}
.servicio-html .oc-page .oc-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
.servicio-html .oc-page .oc-faq .a p{margin:0;line-height:1.7}
@media(max-width:1000px){
  .servicio-html .oc-page .oc-ground-grid{gap:35px}
  .servicio-html .oc-page .oc-factors article{gap:13px}
  .servicio-html .oc-page .oc-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .oc-page .oc-hero-note{top:12px}
  .servicio-html .oc-page .oc-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .oc-page .oc-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .oc-page .oc-intro>div>p{max-width:none}
  .servicio-html .oc-page .oc-ground-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .oc-page .oc-terrain{max-width:560px;width:100%;margin:0 auto}
  .servicio-html .oc-page .oc-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .oc-page .oc-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .oc-page .oc-steps li:nth-child(3){border-top:1px solid var(--oc-line);padding-left:0}
  .servicio-html .oc-page .oc-steps li:nth-child(4){border-top:1px solid var(--oc-line)}
}
@media(max-width:600px){
  .servicio-html .oc-page [id]{scroll-margin-top:95px}
  .servicio-html .oc-page :is(.oc-services,.oc-faq) .acc>details>summary{gap:14px}
  .servicio-html .oc-page .oc-services .acc>details>summary{font-size:29px;min-height:92px}
  .servicio-html .oc-page .oc-services .oc-service-number{flex-basis:24px}
  .servicio-html .oc-page .oc-services .acc>details>.a{padding:0 0 24px}
  .servicio-html .oc-page .oc-factors article{padding:23px 0}
  .servicio-html .oc-page .oc-factors h3{font-size:27px}
  .servicio-html .oc-page .oc-steps li{padding:23px 14px}
  .servicio-html .oc-page .oc-steps h3{font-size:25px;margin:22px 0 13px}
  .servicio-html .oc-page .oc-note{grid-template-columns:minmax(0,1fr);gap:18px}
  .servicio-html .oc-page .oc-faq .acc>details>.a{padding-right:0}
}
/* tramuntana:obra-civil-css-v1-end */

/* tramuntana:obra-civil-tool-css-v1-start */
.oc-page [data-oc-tool] .oc-tool__needs{border-block:1px solid var(--ot-line);padding:20px 0;margin:24px 0}
.oc-page [data-oc-tool] .oc-tool__needs .oc-tool__help{margin:0 0 10px}
.oc-page [data-oc-tool] label.oc-tool__check{display:flex;align-items:center;gap:12px;min-height:44px;margin:0;cursor:pointer;font-size:14px}
.oc-page [data-oc-tool] .oc-tool__check input[type=checkbox]{width:19px;height:19px;min-height:19px;flex:0 0 19px;padding:0;margin:0;accent-color:var(--ot-accent)}
.oc-page [data-oc-tool] .oc-tool__questions{border-top:1px solid var(--ot-line);margin-top:24px;padding-top:6px}
.oc-page [data-oc-tool] .oc-tool__questions h4,.oc-page [data-oc-tool] .oc-tool__section-title{font-size:14px;font-weight:500;line-height:1.5;margin:22px 0 12px}
.oc-page [data-oc-tool] .oc-tool__questions ul{padding-left:18px;margin:0}
.oc-page [data-oc-tool] .oc-tool__questions li{font-size:12px;line-height:1.65;margin:0 0 8px}
.oc-page [data-oc-tool] .oc-tool__section-title{padding-top:24px;border-top:1px solid var(--ot-line)}
.oc-page [data-oc-tool] .oc-tool__information{padding:0;margin:0;list-style:none}
.oc-page [data-oc-tool] .oc-tool__information li{margin-bottom:18px;font-size:12px;line-height:1.65}
.oc-page [data-oc-tool] .oc-tool__information strong{font-weight:500;display:block}
.oc-page [data-oc-tool] .oc-tool__information span{display:block;color:var(--ot-accent);margin-top:3px}
.oc-page [data-oc-tool] .oc-tool__information p{margin:5px 0 0;font-size:12px;line-height:1.65}


.oc-page [data-oc-tool]{--ot-ink:var(--ink,#1d1d1b);--ot-paper:var(--bone-3,#f2f1ed);--ot-line:var(--line,rgba(29,29,27,.18));--ot-accent:var(--teal-t,#42646b);background:var(--ot-paper);color:var(--ot-ink);min-width:0}
.oc-page [data-oc-tool] *,.oc-page [data-oc-tool] *::before,.oc-page [data-oc-tool] *::after{box-sizing:border-box}
.oc-page [data-oc-tool] [hidden]{display:none!important}
.oc-page [data-oc-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,span,strong,button,a){overflow-wrap:anywhere}
.oc-page [data-oc-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ot-accent);outline-offset:4px}
.oc-page [data-oc-tool] .oc-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.oc-page [data-oc-tool] .oc-tool__head h2{max-width:22ch;margin:14px 0 0}
.oc-page [data-oc-tool] .oc-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.oc-page [data-oc-tool] .oc-tool__intro{max-width:110ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--ot-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.oc-page [data-oc-tool] .oc-tool__fallback{border:1px solid var(--ot-line);padding:26px;max-width:85ch}
.oc-page [data-oc-tool] .oc-tool__fallback p,.oc-page [data-oc-tool] .oc-tool__fallback li{font-size:14px;line-height:1.65;margin:0 0 12px}
.oc-page [data-oc-tool] .oc-tool__fallback ul{margin:18px 0;padding-left:20px}
.oc-page [data-oc-tool] .oc-tool__fallback .btn{max-width:100%;white-space:normal;margin-top:10px}
.oc-page [data-oc-tool] .oc-tool__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,55px);align-items:start}
.oc-page [data-oc-tool] .oc-tool__layout>*,.oc-page [data-oc-tool] .oc-tool__form{min-width:0}
.oc-page [data-oc-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.oc-page [data-oc-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 18px}
.oc-page [data-oc-tool] .oc-tool__field{min-width:0;margin-bottom:20px}
.oc-page [data-oc-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.oc-page [data-oc-tool] input,.oc-page [data-oc-tool] select,.oc-page [data-oc-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--ot-ink);font:16px/1.35 Inter,Arial,sans-serif}
.oc-page [data-oc-tool] input[aria-invalid=true],.oc-page [data-oc-tool] select[aria-invalid=true]{border-color:#8b4234}
.oc-page [data-oc-tool] .oc-tool__help{font-size:11px;line-height:1.65;margin:7px 0 0;color:var(--mute,#5f5f59)}
.oc-page [data-oc-tool] .oc-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.oc-page [data-oc-tool] .oc-tool__error:empty{display:none}
.oc-page [data-oc-tool] .oc-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--ot-line);background:transparent;color:var(--ot-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.oc-page [data-oc-tool] .oc-tool__empty{padding:22px;border-left:3px solid var(--ot-accent);background:var(--bone,#e6e4df)}
.oc-page [data-oc-tool] .oc-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.oc-page [data-oc-tool] .oc-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--ot-line);background:var(--bone,#e6e4df)}
.oc-page [data-oc-tool] .oc-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0 22px}
.oc-page [data-oc-tool] .oc-tool__context{margin:0;font-size:12px;line-height:1.6}
.oc-page [data-oc-tool] .oc-tool__context>div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:10px;margin-top:8px}
.oc-page [data-oc-tool] .oc-tool__context dt{font-weight:500}
.oc-page [data-oc-tool] .oc-tool__context dd{margin:0;min-width:0}
.oc-page [data-oc-tool] .oc-tool__summary{border-block:1px solid var(--ot-line);margin-top:25px}
.oc-page [data-oc-tool] .oc-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.oc-page [data-oc-tool] .oc-tool__summary summary::-webkit-details-marker{display:none}
.oc-page [data-oc-tool] .oc-tool__summary summary::marker{content:""}
.oc-page [data-oc-tool] .oc-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--ot-accent)}
.oc-page [data-oc-tool] .oc-tool__summary[open] summary::after{content:"−"}
.oc-page [data-oc-tool] .oc-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.oc-page [data-oc-tool] .oc-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.oc-page [data-oc-tool] .oc-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.oc-page [data-oc-tool] a.btn.b-line{color:var(--ot-ink,#1d1d1b);border-color:var(--ot-ink,#1d1d1b);background:transparent}
.oc-page [data-oc-tool] a.btn.b-line:hover,.oc-page [data-oc-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--ot-ink,#1d1d1b);background:var(--ot-ink,#1d1d1b)}
.oc-page [data-oc-tool] .oc-tool__actions :disabled,.oc-page [data-oc-tool] .oc-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.oc-page [data-oc-tool] [data-oc-status]{width:100%;font-size:12px;line-height:1.55;color:var(--ot-accent)}
.oc-page [data-oc-tool] [data-oc-status]:empty{display:none}
.oc-page [data-oc-tool] .oc-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:950px){.oc-page [data-oc-tool] .oc-tool__head{grid-template-columns:1fr;gap:20px}.oc-page [data-oc-tool] .oc-tool__layout{grid-template-columns:1fr}}
@media(max-width:520px){.oc-page [data-oc-tool] .oc-tool__form{grid-template-columns:1fr}.oc-page [data-oc-tool] .oc-tool__summary textarea{font-size:16px}.oc-page [data-oc-tool] .oc-tool__actions .btn{width:100%}.oc-page [data-oc-tool] .oc-tool__context>div{grid-template-columns:1fr;gap:3px}}
@media(prefers-reduced-motion:reduce){.oc-page [data-oc-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:obra-civil-tool-css-v1-end */

/* tramuntana:demoliciones-css-v1-start */
.servicio-html .dem-page{--dem-ink:var(--ink,#1d1d1b);--dem-paper:var(--bone-3,#f2f1ed);--dem-tint:#dbe5e3;--dem-line:var(--line,rgba(29,29,27,.18));--dem-accent:var(--teal-t,#42646b);min-width:0;color:var(--dem-ink)}
.servicio-html .dem-page *,.servicio-html .dem-page *::before,.servicio-html .dem-page *::after{box-sizing:border-box}
.servicio-html .dem-page [hidden]{display:none!important}
.servicio-html .dem-page [id]{scroll-margin-top:110px}
.servicio-html .dem-page :is(h1,h2,h3,p,a,summary,li,span,dt,dd,figcaption){overflow-wrap:break-word}
.servicio-html .dem-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .dem-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--dem-accent);outline-offset:5px}
.servicio-html .dem-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .dem-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .dem-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .dem-page .dem-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:min(560px,calc(100% - 40px));padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.5;letter-spacing:.025em}
.servicio-html .dem-page .dem-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .dem-page .dem-intro h2{margin:16px 0 0;max-width:23ch}
.servicio-html .dem-page .dem-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:61ch}
.servicio-html .dem-page .dem-text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;max-width:100%;font-size:12px;font-weight:500;line-height:1.6;color:var(--dem-accent);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.servicio-html .dem-page .dem-text-link>span{flex:none}
.servicio-html .dem-page .dem-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .dem-page .dem-head h2{margin:14px 0 0;max-width:24ch}
.servicio-html .dem-page .dem-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .dem-page .dem-scopes-section{padding-top:0}
.servicio-html .dem-page .dem-scopes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-scopes article{padding:32px 30px;border-right:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-scopes article:first-child{padding-left:0}
.servicio-html .dem-page .dem-scopes article:last-child{padding-right:0;border-right:0}
.servicio-html .dem-page .dem-kicker{display:block;font-size:11px;letter-spacing:.1em;line-height:1.5;text-transform:uppercase;color:var(--dem-accent)}
.servicio-html .dem-page .dem-scopes h3{font-size:clamp(25px,2.6vw,37px);font-weight:350;line-height:1.12;margin:26px 0 18px;max-width:20ch}
.servicio-html .dem-page .dem-scopes p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .dem-page .dem-limits{background:var(--dem-paper)}
.servicio-html .dem-page .dem-limits-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .dem-page .dem-diagram{margin:0}
.servicio-html .dem-page .dem-diagram-drawing{color:var(--dem-accent);padding:0 0 18px}
.servicio-html .dem-page .dem-diagram-drawing svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto}
.servicio-html .dem-page .dem-diagram-labels{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--dem-line);padding:18px 0}
.servicio-html .dem-page .dem-diagram-labels span{font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:var(--dem-accent)}
.servicio-html .dem-page .dem-diagram figcaption{font-size:11px;line-height:1.7;max-width:60ch}
.servicio-html .dem-page .dem-checks{border-top:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-checks article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--dem-line);padding:27px 0}
.servicio-html .dem-page .dem-checks article>span{font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--dem-accent);padding-top:4px}
.servicio-html .dem-page .dem-checks h3{font-size:clamp(24px,2.3vw,34px);line-height:1.15;font-weight:350;margin:0 0 12px}
.servicio-html .dem-page .dem-checks p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .dem-page .dem-sources{font-size:11px;line-height:1.7;margin:22px 0 0}
.servicio-html .dem-page .dem-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .dem-page .dem-materials-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(30px,7vw,100px);align-items:start}
.servicio-html .dem-page .dem-materials h2{margin:16px 0 26px;max-width:23ch}
.servicio-html .dem-page .dem-materials p{font-size:14px;line-height:1.75;margin:0 0 16px}
.servicio-html .dem-page .dem-materials .dem-sources{font-size:11px;margin:22px 0 0}
.servicio-html .dem-page .dem-special{padding:30px;background:var(--dem-tint);border-top:2px solid var(--dem-accent)}
.servicio-html .dem-page .dem-special h3{font-size:clamp(26px,2.7vw,38px);line-height:1.13;font-weight:350;margin:22px 0}
.servicio-html .dem-page .dem-special p{font-size:13px;line-height:1.75}
.servicio-html .dem-page .dem-process{padding-top:0}
.servicio-html .dem-page .dem-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-block:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-steps li{padding:25px 24px;border-right:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-steps li:first-child{padding-left:0}
.servicio-html .dem-page .dem-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .dem-page .dem-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--dem-accent)}
.servicio-html .dem-page .dem-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.1;font-weight:350;margin:28px 0 15px}
.servicio-html .dem-page .dem-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .dem-page .dem-faq{background:var(--dem-paper)}
.servicio-html .dem-page .dem-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--dem-line)}
.servicio-html .dem-page .dem-faq .acc>details>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .dem-page .dem-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .dem-page .dem-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--dem-accent)}
.servicio-html .dem-page .dem-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .dem-page .dem-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
.servicio-html .dem-page .dem-faq .a p{margin:0;line-height:1.7}
@media(max-width:1000px){
  .servicio-html .dem-page .dem-scopes article{padding:28px 22px}
  .servicio-html .dem-page .dem-limits-grid{gap:35px}
  .servicio-html .dem-page .dem-checks article{gap:13px}
  .servicio-html .dem-page .dem-steps li{padding:25px 18px}
}
@media(max-width:820px){
  .servicio-html .dem-page .dem-hero-note{top:12px}
  .servicio-html .dem-page .dem-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .dem-page .dem-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .dem-page .dem-intro>div>p{max-width:none}
  .servicio-html .dem-page .dem-limits-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .dem-page .dem-diagram{max-width:560px;width:100%;margin:0 auto}
  .servicio-html .dem-page .dem-materials-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .dem-page .dem-special{padding:26px}
  .servicio-html .dem-page .dem-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .servicio-html .dem-page .dem-steps li:nth-child(2){border-right:0;padding-right:0}
  .servicio-html .dem-page .dem-steps li:nth-child(3){border-top:1px solid var(--dem-line);padding-left:0}
  .servicio-html .dem-page .dem-steps li:nth-child(4){border-top:1px solid var(--dem-line)}
}
@media(max-width:600px){
  .servicio-html .dem-page [id]{scroll-margin-top:95px}
  .servicio-html .dem-page .dem-scopes{grid-template-columns:minmax(0,1fr)}
  .servicio-html .dem-page .dem-scopes article{padding:25px 0;border-right:0}
  .servicio-html .dem-page .dem-scopes article+article{border-top:1px solid var(--dem-line)}
  .servicio-html .dem-page .dem-scopes h3{font-size:29px;margin:18px 0 13px;max-width:none}
  .servicio-html .dem-page .dem-checks article{padding:23px 0}
  .servicio-html .dem-page .dem-checks h3{font-size:27px}
  .servicio-html .dem-page .dem-steps li{padding:23px 14px}
  .servicio-html .dem-page .dem-steps h3{font-size:25px;margin:22px 0 13px}
  .servicio-html .dem-page .dem-faq .acc>details>summary{gap:14px}
  .servicio-html .dem-page .dem-faq .acc>details>.a{padding-right:0}
}
/* tramuntana:demoliciones-css-v1-end */

/* tramuntana:demoliciones-tool-css-v1-start */
.dem-page [data-dem-tool]{--dt-ink:var(--ink,#1d1d1b);--dt-paper:var(--bone-3,#f2f1ed);--dt-line:var(--line,rgba(29,29,27,.18));--dt-accent:var(--teal-t,#42646b);background:var(--dt-paper);color:var(--dt-ink);min-width:0}
.dem-page [data-dem-tool] *,.dem-page [data-dem-tool] *::before,.dem-page [data-dem-tool] *::after{box-sizing:border-box}
.dem-page [data-dem-tool] [hidden]{display:none!important}
.dem-page [data-dem-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,span,strong,button,a){overflow-wrap:anywhere}
.dem-page [data-dem-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--dt-accent);outline-offset:4px}
.dem-page [data-dem-tool] .dem-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.dem-page [data-dem-tool] .dem-tool__head h2{max-width:22ch;margin:14px 0 0}
.dem-page [data-dem-tool] .dem-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.dem-page [data-dem-tool] .dem-tool__intro{max-width:110ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--dt-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.dem-page [data-dem-tool] .dem-tool__fallback{border:1px solid var(--dt-line);padding:26px;max-width:85ch}
.dem-page [data-dem-tool] .dem-tool__fallback p,.dem-page [data-dem-tool] .dem-tool__fallback li{font-size:14px;line-height:1.65;margin:0 0 12px}
.dem-page [data-dem-tool] .dem-tool__fallback ul{margin:18px 0;padding-left:20px}
.dem-page [data-dem-tool] .dem-tool__fallback .btn{max-width:100%;white-space:normal;margin-top:10px}
.dem-page [data-dem-tool] .dem-tool__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,55px);align-items:start}
.dem-page [data-dem-tool] .dem-tool__layout>*,.dem-page [data-dem-tool] .dem-tool__form{min-width:0}
.dem-page [data-dem-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.dem-page [data-dem-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 18px}
.dem-page [data-dem-tool] .dem-tool__field{min-width:0;margin-bottom:20px}
.dem-page [data-dem-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.dem-page [data-dem-tool] input,.dem-page [data-dem-tool] select,.dem-page [data-dem-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--dt-ink);font:16px/1.35 Inter,Arial,sans-serif}
.dem-page [data-dem-tool] input[aria-invalid=true],.dem-page [data-dem-tool] select[aria-invalid=true]{border-color:#8b4234}
.dem-page [data-dem-tool] .dem-tool__help{font-size:11px;line-height:1.65;margin:7px 0 0;color:var(--mute,#5f5f59)}
.dem-page [data-dem-tool] .dem-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.dem-page [data-dem-tool] .dem-tool__error:empty{display:none}
.dem-page [data-dem-tool] .dem-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--dt-line);background:transparent;color:var(--dt-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.dem-page [data-dem-tool] .dem-tool__empty{padding:22px;border-left:3px solid var(--dt-accent);background:var(--bone,#e6e4df)}
.dem-page [data-dem-tool] .dem-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.dem-page [data-dem-tool] .dem-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--dt-line);background:var(--bone,#e6e4df)}
.dem-page [data-dem-tool] .dem-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0 22px}
.dem-page [data-dem-tool] .dem-tool__group{border-top:1px solid var(--dt-line);padding:20px 0 0;margin:22px 0 0;min-width:0}
.dem-page [data-dem-tool] .dem-tool__group h4{font-size:14px;font-weight:500;line-height:1.5;margin:0 0 14px}
.dem-page [data-dem-tool] .dem-tool__group ul{list-style:none;padding:0;margin:0}
.dem-page [data-dem-tool] .dem-tool__group li{font-size:12px;line-height:1.65;margin:0 0 17px}
.dem-page [data-dem-tool] .dem-tool__group li strong{display:block;font-weight:500}
.dem-page [data-dem-tool] .dem-tool__group li span{display:block;margin-top:4px}
.dem-page [data-dem-tool] .dem-tool__group-empty{font-size:12px;line-height:1.65;color:var(--mute,#5f5f59);margin:0}
.dem-page [data-dem-tool] .dem-tool__summary{border-block:1px solid var(--dt-line);margin-top:25px}
.dem-page [data-dem-tool] .dem-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.dem-page [data-dem-tool] .dem-tool__summary summary::-webkit-details-marker{display:none}
.dem-page [data-dem-tool] .dem-tool__summary summary::marker{content:""}
.dem-page [data-dem-tool] .dem-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--dt-accent)}
.dem-page [data-dem-tool] .dem-tool__summary[open] summary::after{content:"−"}
.dem-page [data-dem-tool] .dem-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.dem-page [data-dem-tool] .dem-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.dem-page [data-dem-tool] .dem-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.dem-page [data-dem-tool] a.btn.b-line{color:var(--dt-ink,#1d1d1b);border-color:var(--dt-ink,#1d1d1b);background:transparent}
.dem-page [data-dem-tool] a.btn.b-line:hover,.dem-page [data-dem-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--dt-ink,#1d1d1b);background:var(--dt-ink,#1d1d1b)}
.dem-page [data-dem-tool] .dem-tool__actions :disabled,.dem-page [data-dem-tool] .dem-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.dem-page [data-dem-tool] [data-dem-status]{width:100%;font-size:12px;line-height:1.55;color:var(--dt-accent)}
.dem-page [data-dem-tool] [data-dem-status]:empty{display:none}
.dem-page [data-dem-tool] .dem-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.dem-page [data-dem-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:950px){.dem-page [data-dem-tool] .dem-tool__head{grid-template-columns:1fr;gap:20px}.dem-page [data-dem-tool] .dem-tool__layout{grid-template-columns:1fr}}
@media(max-width:520px){.dem-page [data-dem-tool] .dem-tool__summary textarea{font-size:16px}.dem-page [data-dem-tool] .dem-tool__actions .btn{width:100%}}
/* tramuntana:demoliciones-tool-css-v1-end */

/* tramuntana:excavaciones-css-v1-start */
.servicio-html .exc-page{--exc-ink:var(--ink,#1d1d1b);--exc-paper:var(--bone-3,#f2f1ed);--exc-tint:#dbe5e3;--exc-line:var(--line,rgba(29,29,27,.18));--exc-accent:var(--teal-t,#42646b);min-width:0;color:var(--exc-ink)}
.servicio-html .exc-page *,.servicio-html .exc-page *::before,.servicio-html .exc-page *::after{box-sizing:border-box}
.servicio-html .exc-page [hidden]{display:none!important}
.servicio-html .exc-page [id]{scroll-margin-top:110px}
.servicio-html .exc-page :is(h1,h2,h3,p,a,summary,li,span,figcaption){overflow-wrap:break-word}
.servicio-html .exc-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .exc-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--exc-accent);outline-offset:5px}
.servicio-html .exc-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .exc-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .exc-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .exc-page .exc-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:min(560px,calc(100% - 40px));padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.5;letter-spacing:.025em}
.servicio-html .exc-page .exc-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .exc-page .exc-intro h2{margin:16px 0 0;max-width:24ch}
.servicio-html .exc-page .exc-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:61ch}
.servicio-html .exc-page .exc-intro p>a{color:var(--exc-accent);text-decoration:underline;text-underline-offset:4px}
.servicio-html .exc-page .exc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .exc-page .exc-head h2{margin:14px 0 0;max-width:24ch}
.servicio-html .exc-page .exc-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .exc-page .exc-work-section{padding-top:0}
.servicio-html .exc-page .exc-work-list{border-top:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-work-list article{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,.9fr) minmax(0,1.1fr);gap:30px;padding:30px 0;border-bottom:1px solid var(--exc-line);align-items:start}
.servicio-html .exc-page .exc-kicker{display:block;font-size:11px;letter-spacing:.1em;line-height:1.6;text-transform:uppercase;color:var(--exc-accent)}
.servicio-html .exc-page .exc-work-list .exc-kicker{padding-top:7px}
.servicio-html .exc-page .exc-work-list h3{font-size:clamp(26px,2.6vw,37px);font-weight:350;line-height:1.13;margin:0;max-width:18ch}
.servicio-html .exc-page .exc-work-list p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .exc-page .exc-levels{background:var(--exc-paper)}
.servicio-html .exc-page .exc-levels-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .exc-page .exc-profile{margin:0}
.servicio-html .exc-page .exc-profile-drawing{color:var(--exc-accent);padding:0 0 18px}
.servicio-html .exc-page .exc-profile-drawing svg{display:block;width:100%;height:auto;max-width:540px;margin:0 auto}
.servicio-html .exc-page .exc-profile-key{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;border-top:1px solid var(--exc-line);padding:18px 0}
.servicio-html .exc-page .exc-profile-key span{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:var(--exc-accent)}
.servicio-html .exc-page .exc-profile-key i{display:block;flex:none;width:26px;height:0;border-top:2px solid currentColor}
.servicio-html .exc-page .exc-profile-key i.exc-dashed{border-top-style:dashed}
.servicio-html .exc-page .exc-profile figcaption{font-size:11px;line-height:1.7;max-width:60ch}
.servicio-html .exc-page .exc-level-notes{border-top:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-level-notes article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;border-bottom:1px solid var(--exc-line);padding:25px 0}
.servicio-html .exc-page .exc-level-notes article>span{font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--exc-accent);padding-top:4px}
.servicio-html .exc-page .exc-level-notes h3{font-size:clamp(24px,2.3vw,33px);line-height:1.15;font-weight:350;margin:0 0 12px}
.servicio-html .exc-page .exc-level-notes p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .exc-page .exc-sources{font-size:11px;line-height:1.7;margin:22px 0 0}
.servicio-html .exc-page .exc-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .exc-page .exc-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,85px);border-top:1px solid var(--exc-line);border-bottom:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-destinations article{padding:29px 0}
.servicio-html .exc-page .exc-destinations h3{font-size:clamp(27px,2.7vw,38px);font-weight:350;line-height:1.13;margin:22px 0 17px}
.servicio-html .exc-page .exc-destinations p{font-size:14px;line-height:1.75;margin:0;max-width:63ch}
.servicio-html .exc-page .exc-budget{padding-top:0}
.servicio-html .exc-page .exc-budget-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,7vw,100px);align-items:start}
.servicio-html .exc-page .exc-budget h2{margin:16px 0 24px;max-width:23ch}
.servicio-html .exc-page .exc-budget-grid>div>p{font-size:14px;line-height:1.75;margin:0 0 17px;max-width:63ch}
.servicio-html .exc-page .exc-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:25px 0;border-bottom:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--exc-accent);padding-top:4px}
.servicio-html .exc-page .exc-steps h3{font-size:clamp(25px,2.4vw,34px);line-height:1.12;font-weight:350;margin:0 0 12px}
.servicio-html .exc-page .exc-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .exc-page .exc-faq{background:var(--exc-paper)}
.servicio-html .exc-page .exc-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--exc-line)}
.servicio-html .exc-page .exc-faq .acc>details>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .exc-page .exc-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .exc-page .exc-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--exc-accent)}
.servicio-html .exc-page .exc-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .exc-page .exc-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
.servicio-html .exc-page .exc-faq .a p{margin:0;line-height:1.7}
@media(max-width:1000px){
  .servicio-html .exc-page .exc-work-list article{grid-template-columns:minmax(0,.4fr) minmax(0,.8fr) minmax(0,1fr);gap:23px}
  .servicio-html .exc-page .exc-levels-grid{gap:35px}
  .servicio-html .exc-page .exc-level-notes article{gap:13px}
}
@media(max-width:820px){
  .servicio-html .exc-page .exc-hero-note{top:12px}
  .servicio-html .exc-page .exc-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .exc-page .exc-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .exc-page .exc-intro>div>p{max-width:none}
  .servicio-html .exc-page .exc-work-list article{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:18px 28px}
  .servicio-html .exc-page .exc-work-list .exc-kicker{grid-column:1 / -1;padding:0}
  .servicio-html .exc-page .exc-levels-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .servicio-html .exc-page .exc-profile{max-width:560px;width:100%;margin:0 auto}
  .servicio-html .exc-page .exc-budget-grid{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media(max-width:600px){
  .servicio-html .exc-page [id]{scroll-margin-top:95px}
  .servicio-html .exc-page .exc-work-list article{grid-template-columns:minmax(0,1fr);padding:25px 0;gap:17px}
  .servicio-html .exc-page .exc-work-list h3{font-size:29px;max-width:none}
  .servicio-html .exc-page .exc-level-notes article{padding:23px 0}
  .servicio-html .exc-page .exc-level-notes h3{font-size:27px}
  .servicio-html .exc-page .exc-destinations{grid-template-columns:minmax(0,1fr);gap:0}
  .servicio-html .exc-page .exc-destinations article+article{border-top:1px solid var(--exc-line)}
  .servicio-html .exc-page .exc-faq .acc>details>summary{gap:14px}
  .servicio-html .exc-page .exc-faq .acc>details>.a{padding-right:0}
}
/* tramuntana:excavaciones-css-v1-end */

/* tramuntana:excavaciones-tool-css-v1-start */
.exc-page [data-exc-tool]{--et-ink:var(--ink,#1d1d1b);--et-paper:var(--bone-3,#f2f1ed);--et-line:var(--line,rgba(29,29,27,.18));--et-accent:var(--teal-t,#42646b);background:var(--et-paper);color:var(--et-ink);min-width:0}
.exc-page [data-exc-tool] *,.exc-page [data-exc-tool] *::before,.exc-page [data-exc-tool] *::after{box-sizing:border-box}
.exc-page [data-exc-tool] [hidden]{display:none!important}
.exc-page [data-exc-tool] :is(h2,h3,h4,p,label,legend,dt,dd,li,span,strong,button,a){overflow-wrap:anywhere}
.exc-page [data-exc-tool] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--et-accent);outline-offset:4px}
.exc-page [data-exc-tool] .exc-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.exc-page [data-exc-tool] .exc-tool__head h2{max-width:22ch;margin:14px 0 0}
.exc-page [data-exc-tool] .exc-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.exc-page [data-exc-tool] .exc-tool__intro{max-width:110ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--et-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.exc-page [data-exc-tool] .exc-tool__fallback{border:1px solid var(--et-line);padding:26px;max-width:85ch}
.exc-page [data-exc-tool] .exc-tool__fallback p,.exc-page [data-exc-tool] .exc-tool__fallback li{font-size:14px;line-height:1.65;margin:0 0 12px}
.exc-page [data-exc-tool] .exc-tool__fallback ul{margin:18px 0;padding-left:20px}
.exc-page [data-exc-tool] .exc-tool__fallback .btn{max-width:100%;white-space:normal;margin-top:10px}
.exc-page [data-exc-tool] .exc-tool__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,55px);align-items:start}
.exc-page [data-exc-tool] .exc-tool__layout>*,.exc-page [data-exc-tool] .exc-tool__form{min-width:0}
.exc-page [data-exc-tool] fieldset{min-width:0;margin:0;padding:0;border:0}
.exc-page [data-exc-tool] legend{font-size:13px;font-weight:600;line-height:1.5;margin:0 0 18px}
.exc-page [data-exc-tool] .exc-tool__field{min-width:0;margin-bottom:20px}
.exc-page [data-exc-tool] label{display:block;font-size:12px;line-height:1.5;margin:0 0 7px}
.exc-page [data-exc-tool] input,.exc-page [data-exc-tool] select,.exc-page [data-exc-tool] textarea{display:block;min-width:0;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #899181;border-radius:0;background:#fff;color:var(--et-ink);font:16px/1.35 Inter,Arial,sans-serif}
.exc-page [data-exc-tool] input[aria-invalid=true],.exc-page [data-exc-tool] select[aria-invalid=true]{border-color:#8b4234}
.exc-page [data-exc-tool] .exc-tool__help{font-size:11px;line-height:1.65;margin:7px 0 0;color:var(--mute,#5f5f59)}
.exc-page [data-exc-tool] .exc-tool__error{display:block;color:#8b4234;font-size:11px;line-height:1.5;margin-top:6px}
.exc-page [data-exc-tool] .exc-tool__error:empty{display:none}
.exc-page [data-exc-tool] .exc-tool__reset{min-height:44px;padding:10px 0;border:0;border-bottom:1px solid var(--et-line);background:transparent;color:var(--et-ink);font:12px/1.4 Inter,Arial,sans-serif;cursor:pointer}
.exc-page [data-exc-tool] .exc-tool__empty{padding:22px;border-left:3px solid var(--et-accent);background:var(--bone,#e6e4df)}
.exc-page [data-exc-tool] .exc-tool__empty p{margin:0;font-size:14px;line-height:1.6}
.exc-page [data-exc-tool] .exc-tool__results{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--et-line);background:var(--bone,#e6e4df)}
.exc-page [data-exc-tool] .exc-tool__results h3{font-size:clamp(25px,2.6vw,36px);font-weight:350;line-height:1.2;margin:15px 0 22px}
.exc-page [data-exc-tool] .exc-tool__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.exc-page [data-exc-tool] #exc-number-help{margin:0 0 20px}
.exc-page [data-exc-tool] .exc-tool__volume{font-size:clamp(32px,4vw,56px);font-weight:350;line-height:1.1;letter-spacing:-.03em;margin:0 0 20px}
.exc-page [data-exc-tool] .exc-tool__formula{font-size:15px;line-height:1.6;margin:0;padding:16px 0;border-block:1px solid var(--et-line)}
.exc-page [data-exc-tool] .exc-tool__model{font-size:13px;line-height:1.6;margin:20px 0 8px}
.exc-page [data-exc-tool] .exc-tool__rounding{font-size:11px;line-height:1.6;margin:0;color:var(--mute,#5f5f59)}
.exc-page [data-exc-tool] .exc-tool__summary{border-block:1px solid var(--et-line);margin-top:25px}
.exc-page [data-exc-tool] .exc-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.exc-page [data-exc-tool] .exc-tool__summary summary::-webkit-details-marker{display:none}
.exc-page [data-exc-tool] .exc-tool__summary summary::marker{content:""}
.exc-page [data-exc-tool] .exc-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--et-accent)}
.exc-page [data-exc-tool] .exc-tool__summary[open] summary::after{content:"−"}
.exc-page [data-exc-tool] .exc-tool__summary textarea{margin:0 0 18px;resize:vertical;font-size:13px;line-height:1.6}
.exc-page [data-exc-tool] .exc-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.exc-page [data-exc-tool] .exc-tool__actions .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.exc-page [data-exc-tool] a.btn.b-line{color:var(--et-ink,#1d1d1b);border-color:var(--et-ink,#1d1d1b);background:transparent}
.exc-page [data-exc-tool] a.btn.b-line:hover,.exc-page [data-exc-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--et-ink,#1d1d1b);background:var(--et-ink,#1d1d1b)}
.exc-page [data-exc-tool] .exc-tool__actions :disabled,.exc-page [data-exc-tool] .exc-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.exc-page [data-exc-tool] [data-exc-status]{width:100%;font-size:12px;line-height:1.55;color:var(--et-accent)}
.exc-page [data-exc-tool] [data-exc-status]:empty{display:none}
.exc-page [data-exc-tool] .exc-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.exc-page [data-exc-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:950px){.exc-page [data-exc-tool] .exc-tool__head{grid-template-columns:1fr;gap:20px}.exc-page [data-exc-tool] .exc-tool__layout{grid-template-columns:1fr}}
@media(max-width:520px){.exc-page [data-exc-tool] .exc-tool__summary textarea{font-size:16px}.exc-page [data-exc-tool] .exc-tool__actions .btn{width:100%}.exc-page [data-exc-tool] .exc-tool__pair{grid-template-columns:1fr;gap:0}}
/* tramuntana:excavaciones-tool-css-v1-end */

/* tramuntana:rocallas-css-v1-start */
.servicio-html .roc-page{--roc-ink:var(--ink,#1d1d1b);--roc-paper:var(--bone-3,#f2f1ed);--roc-tint:#dbe5e3;--roc-line:var(--line,rgba(29,29,27,.18));--roc-accent:var(--teal-t,#42646b);min-width:0;color:var(--roc-ink)}
.servicio-html .roc-page *,.servicio-html .roc-page *::before,.servicio-html .roc-page *::after{box-sizing:border-box}
.servicio-html .roc-page [hidden]{display:none!important}
.servicio-html .roc-page [id]{scroll-margin-top:110px}
.servicio-html .roc-page :is(h1,h2,h3,p,a,summary,li,span,figcaption){overflow-wrap:break-word}
.servicio-html .roc-page :is(section,article,header,figure,aside,div,li){min-width:0}
.servicio-html .roc-page :is(a,summary,button,input,select):focus-visible{outline:2px solid var(--roc-accent);outline-offset:5px}
.servicio-html .roc-page :is(.hero,.cta) a:focus-visible{outline-color:var(--bone,#e6e4df)}
.servicio-html .roc-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .roc-page :is(.hero,.cta) .btns{flex-wrap:wrap;max-width:100%}
.servicio-html .roc-page .roc-hero-note{position:absolute;z-index:1;top:calc(var(--hero-y,44px) + 12px);left:20px;max-width:min(560px,calc(100% - 40px));padding:7px 10px;background:rgba(29,29,27,.84);color:#fff;font-size:10px;line-height:1.5;letter-spacing:.025em}
.servicio-html .roc-page .roc-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(30px,7vw,105px);align-items:start}
.servicio-html .roc-page .roc-intro h2{margin:16px 0 0;max-width:24ch}
.servicio-html .roc-page .roc-intro>div>p{font-size:15px;line-height:1.75;margin:0 0 18px;max-width:61ch}
.servicio-html .roc-page .roc-intro p>a{color:var(--roc-accent);text-decoration:underline;text-underline-offset:4px}
.servicio-html .roc-page .roc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .roc-page .roc-head h2{margin:14px 0 0;max-width:24ch}
.servicio-html .roc-page .roc-head>p{max-width:58ch;margin:0;font-size:15px;line-height:1.7}
.servicio-html .roc-page .roc-kicker{display:block;font-size:11px;letter-spacing:.1em;line-height:1.6;text-transform:uppercase;color:var(--roc-accent)}
.servicio-html .roc-page .roc-sources{font-size:11px;line-height:1.7;margin:22px 0 0}
.servicio-html .roc-page .roc-sources a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.servicio-html .roc-page .roc-steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-steps li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:25px 0;border-bottom:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-steps li>span{font-size:12px;letter-spacing:.1em;color:var(--roc-accent);padding-top:4px}
.servicio-html .roc-page .roc-steps h3{font-size:clamp(25px,2.4vw,34px);line-height:1.12;font-weight:350;margin:0 0 12px}
.servicio-html .roc-page .roc-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .roc-page .roc-faq{background:var(--roc-paper)}
.servicio-html .roc-page .roc-faq .acc>details{padding:0;border:0;border-bottom:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-faq .acc>details>summary{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:76px;padding:24px 0;list-style:none;cursor:pointer;font-size:clamp(17px,1.6vw,22px);font-weight:400;line-height:1.45}
.servicio-html .roc-page .roc-faq .acc>details>summary::-webkit-details-marker{display:none}
.servicio-html .roc-page .roc-faq .acc>details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:none;font-size:25px;font-weight:300;line-height:1;color:var(--roc-accent)}
.servicio-html .roc-page .roc-faq .acc>details[open]>summary::after{content:'−'}
.servicio-html .roc-page .roc-faq .acc>details>.a{padding:0 44px 24px 0;font-size:14px;line-height:1.7}
.servicio-html .roc-page .roc-faq .a p{margin:0;line-height:1.7}

@media(max-width:820px){
  .servicio-html .roc-page .roc-hero-note{top:12px}
  .servicio-html .roc-page .roc-head{grid-template-columns:minmax(0,1fr);gap:22px;margin-bottom:30px}
  .servicio-html .roc-page .roc-intro{grid-template-columns:minmax(0,1fr);gap:28px}
  .servicio-html .roc-page .roc-intro>div>p{max-width:none}
}
@media(max-width:600px){
  .servicio-html .roc-page [id]{scroll-margin-top:95px}
  .servicio-html .roc-page .roc-faq .acc>details>summary{gap:14px}
  .servicio-html .roc-page .roc-faq .acc>details>.a{padding-right:0}
}


.servicio-html .roc-page{--roc-stone:#d6d4c9}
.servicio-html .roc-page .roc-uses{padding-top:0}
.servicio-html .roc-page .roc-use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,58px);border-top:1px solid var(--roc-line);border-bottom:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-use-grid article{padding:30px 0}
.servicio-html .roc-page .roc-use-grid h3{font-size:clamp(27px,2.8vw,38px);font-weight:350;line-height:1.15;margin:23px 0 18px}
.servicio-html .roc-page .roc-use-grid p{font-size:14px;line-height:1.75;margin:0}
.servicio-html .roc-page .roc-study{background:var(--roc-paper)}
.servicio-html .roc-page .roc-study-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .roc-page .roc-material-figure{margin:0}
.servicio-html .roc-page .roc-material-drawing{color:var(--roc-accent);padding:0 0 18px}
.servicio-html .roc-page .roc-material-drawing svg{display:block;width:100%;height:auto;max-width:540px;margin:auto}
.servicio-html .roc-page .roc-material-key{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--roc-line);padding:18px 0;font-size:11px;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;color:var(--roc-accent)}
.servicio-html .roc-page .roc-material-figure figcaption{font-size:11px;line-height:1.7;max-width:60ch}
.servicio-html .roc-page .roc-study-notes{border-top:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-study-notes article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:18px;padding:25px 0;border-bottom:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-study-notes article>span{font-size:11px;line-height:1.7;letter-spacing:.08em;color:var(--roc-accent);padding-top:4px}
.servicio-html .roc-page .roc-study-notes h3{font-size:clamp(24px,2.3vw,33px);line-height:1.15;font-weight:350;margin:0 0 12px}
.servicio-html .roc-page .roc-study-notes p{font-size:14px;line-height:1.7;margin:0}
.servicio-html .roc-page .roc-process-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(32px,7vw,100px);align-items:start}
.servicio-html .roc-page .roc-process h2{margin:16px 0 24px;max-width:23ch}
.servicio-html .roc-page .roc-process-grid>div>p{font-size:14px;line-height:1.75;margin:0 0 17px;max-width:63ch}
.servicio-html .roc-page .roc-process p>a{color:var(--roc-accent);text-decoration:underline;text-underline-offset:4px}
@media(max-width:820px){
.servicio-html .roc-page .roc-use-grid{grid-template-columns:minmax(0,1fr);gap:0}
.servicio-html .roc-page .roc-use-grid article+article{border-top:1px solid var(--roc-line)}
.servicio-html .roc-page .roc-use-grid h3{margin:16px 0}
.servicio-html .roc-page .roc-study-grid{grid-template-columns:minmax(0,1fr);gap:30px}
.servicio-html .roc-page .roc-material-figure{max-width:560px;width:100%;margin:0 auto}
.servicio-html .roc-page .roc-process-grid{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media(max-width:600px){
.servicio-html .roc-page .roc-study-notes article{gap:13px;padding:23px 0}
.servicio-html .roc-page .roc-study-notes h3{font-size:27px}
}
/* tramuntana:rocallas-css-v1-end */

/* tramuntana:rocallas-tool-css-v1-start */
.roc-page [data-roc-tool]{--rt-ink:var(--ink,#1d1d1b);--rt-paper:var(--bone-3,#f2f1ed);--rt-line:var(--line,rgba(29,29,27,.18));--rt-accent:var(--teal-t,#42646b);background:var(--rt-paper);color:var(--rt-ink);min-width:0}
.roc-page [data-roc-tool] *,.roc-page [data-roc-tool] *::before,.roc-page [data-roc-tool] *::after{box-sizing:border-box}
.roc-page [data-roc-tool] [hidden]{display:none!important}
.roc-page [data-roc-tool] :is(h2,h3,p,dt,dd,span,button,a){overflow-wrap:anywhere}
.roc-page [data-roc-tool] :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--rt-accent);outline-offset:4px}
.roc-page [data-roc-tool] .roc-tool__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px;align-items:end;margin-bottom:25px}
.roc-page [data-roc-tool] .roc-tool__head h2{max-width:24ch;margin:14px 0 0}
.roc-page [data-roc-tool] .roc-tool__head p{max-width:56ch;margin:0;font-size:14px;line-height:1.65}
.roc-page [data-roc-tool] .roc-tool__intro{max-width:100ch;margin:0 0 28px;padding:14px 17px;border-left:3px solid var(--rt-accent);background:var(--bone,#e6e4df);font-size:12px;line-height:1.65}
.roc-page [data-roc-tool] .roc-tool__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}
.roc-page [data-roc-tool] .roc-tool__tab{min-width:0;min-height:64px;padding:14px 16px;border:1px solid var(--rt-ink);border-radius:0;background:transparent;color:var(--rt-ink);font:13px/1.45 Inter,Arial,sans-serif;cursor:pointer;text-align:left}
.roc-page [data-roc-tool] .roc-tool__tab[aria-selected=true]{background:var(--rt-ink);color:#fff}
.roc-page [data-roc-tool] .roc-tool__tab:hover{border-color:var(--rt-accent);box-shadow:inset 0 -3px 0 var(--rt-accent)}
.roc-page [data-roc-tool] .roc-tool__panel{min-width:0;padding:clamp(20px,3vw,35px);border:1px solid var(--rt-line);background:var(--bone,#e6e4df);margin:0 0 20px}
.roc-page [data-roc-tool] .roc-tool__panel h3{font-size:clamp(26px,2.6vw,36px);font-weight:350;line-height:1.2;margin:0 0 28px}
.roc-page [data-roc-tool] .roc-tool__topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0}
.roc-page [data-roc-tool] .roc-tool__topics>div{min-width:0}
.roc-page [data-roc-tool] .roc-tool__topics dt{font-size:12px;font-weight:600;line-height:1.5;margin:0 0 10px}
.roc-page [data-roc-tool] .roc-tool__topics dd{font-size:13px;font-weight:400;line-height:1.7;margin:0}
.roc-page [data-roc-tool] .roc-tool__fallback p{font-size:14px;line-height:1.65;max-width:80ch;margin:20px 0}
.roc-page [data-roc-tool] .roc-tool__summary{border-block:1px solid var(--rt-line);margin-top:25px}
.roc-page [data-roc-tool] .roc-tool__summary summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:48px;padding:16px 0;font-size:12px;line-height:1.5}
.roc-page [data-roc-tool] .roc-tool__summary summary::-webkit-details-marker{display:none}
.roc-page [data-roc-tool] .roc-tool__summary summary::marker{content:""}
.roc-page [data-roc-tool] .roc-tool__summary summary::after{content:"+";flex:0 0 auto;font-size:25px;font-weight:400;line-height:1;color:var(--rt-accent)}
.roc-page [data-roc-tool] .roc-tool__summary[open] summary::after{content:"−"}
.roc-page [data-roc-tool] [data-roc-summary-text]{max-width:105ch;margin:0 0 20px;font-size:13px;line-height:1.7;white-space:pre-wrap;user-select:text}
.roc-page [data-roc-tool] .roc-tool__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:24px}
.roc-page [data-roc-tool] .roc-tool__actions .btn,.roc-page [data-roc-tool] .roc-tool__fallback .btn{max-width:100%;min-height:46px;white-space:normal;text-align:center}
.roc-page [data-roc-tool] a.btn.b-line{color:var(--rt-ink,#1d1d1b);border-color:var(--rt-ink,#1d1d1b);background:transparent}
.roc-page [data-roc-tool] a.btn.b-line:hover,.roc-page [data-roc-tool] a.btn.b-line:focus-visible{color:#fff;border-color:var(--rt-ink,#1d1d1b);background:var(--rt-ink,#1d1d1b)}
.roc-page [data-roc-tool] .roc-tool__actions :disabled,.roc-page [data-roc-tool] .roc-tool__actions [aria-disabled=true]{opacity:.5;cursor:not-allowed}
.roc-page [data-roc-tool] [data-roc-status]{width:100%;font-size:12px;line-height:1.55;color:var(--rt-accent)}
.roc-page [data-roc-tool] [data-roc-status]:empty{display:none}
.roc-page [data-roc-tool] .roc-tool__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.roc-page [data-roc-tool] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:950px){.roc-page [data-roc-tool] .roc-tool__head{grid-template-columns:1fr;gap:20px}.roc-page [data-roc-tool] .roc-tool__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.roc-page [data-roc-tool] .roc-tool__topics{grid-template-columns:1fr;gap:22px}.roc-page [data-roc-tool] .roc-tool__topics>div+div{padding-top:20px;border-top:1px solid var(--rt-line)}}
@media(max-width:520px){.roc-page [data-roc-tool] .roc-tool__actions .btn{width:100%}}
/* tramuntana:rocallas-tool-css-v1-end */


/* tramuntana:edificios-landing-v1 */
/* tramuntana:edificios-design-v1-start */
.ed-page { --ed-ink:var(--coal,#23231e); --ed-paper:var(--bone,#e7e5dd); --ed-accent:var(--sage,#7eaaaf); }
.ed-page :is(.ed-head,.ed-scope-grid,.ed-steps,.ed-related-grid)>* { min-width:0; }
.ed-page .hero .btns { margin:0; align-items:flex-start; flex-direction:column; gap:18px; }
.ed-page .ed-hero-link { color:var(--ed-paper); font-size:13px; text-decoration:none; border-bottom:1px solid #ffffff50; padding:4px 0; }
.ed-page .ed-hero-link span { margin-left:12px; }
.ed-page .ed-head { display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,5vw,76px); align-items:start; }
.ed-page .ed-head h2 { margin:17px 0 25px; font-size:clamp(32px,3.25vw,50px); line-height:1.08; letter-spacing:-.035em; }
.ed-page .ed-head p { line-height:1.7; max-width:62ch; }
.ed-page .ed-head>p { margin-top:38px; }
.ed-page .ed-head>div>p+p { margin-top:16px; }
.ed-page .ed-inline { display:inline-flex; align-items:center; gap:14px; color:inherit; text-underline-offset:5px; font-size:14px; padding:10px 0; }
.ed-page .ed-intro { padding-bottom:clamp(25px,4vw,55px); }
.ed-page .ed-project { padding-top:clamp(25px,4vw,55px); }
.ed-page .ed-project-card { display:block; color:inherit; text-decoration:none; margin-top:24px; }
.ed-page .ed-project-card__image { position:relative; overflow:hidden; aspect-ratio:2/1; background:var(--ed-ink); }
.ed-page .ed-project-card__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 55%; transition:transform .65s ease; }
.ed-page .ed-project-card__badge { position:absolute; left:22px; top:22px; background:var(--ed-paper); color:var(--ed-ink); font-size:10px; text-transform:uppercase; letter-spacing:.12em; padding:9px 12px; }
.ed-page .ed-project-card__caption { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:25px 0; border-bottom:1px solid #23231e35; }
.ed-page .ed-project-card__caption h3 { margin:10px 0; font-size:clamp(24px,2.3vw,35px); line-height:1.2; font-weight:400; letter-spacing:-.025em; }
.ed-page .ed-project-card__caption p { font-size:13px; max-width:78ch; margin:0; }
.ed-page .ed-project-card__go { flex:0 0 56px; width:56px; height:56px; border:1px solid #23231e50; display:grid; place-items:center; font-size:24px; transition:background .2s; }
.ed-page .ed-project-card:hover .ed-project-card__image img { transform:scale(1.025); }
.ed-page .ed-project-card:hover .ed-project-card__go { background:var(--ed-accent); }
.ed-page .ed-scope { background:var(--bone-2,#dfddd4); }
.ed-page .ed-scope-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:36px; border-top:1px solid #23231e35; }
.ed-page .ed-scope-grid article { padding:30px 28px 0; border-right:1px solid #23231e30; display:flex; flex-direction:column; }
.ed-page .ed-scope-grid article:first-child { padding-left:0; }
.ed-page .ed-scope-grid article:last-child { padding-right:0; border-right:0; }
.ed-page .ed-number { display:block; color:var(--ed-ink); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.ed-page .ed-scope-grid h3 { font-size:clamp(23px,2vw,30px); line-height:1.16; font-weight:400; margin:25px 0 18px; letter-spacing:-.02em; }
.ed-page .ed-scope-grid p { font-size:15px; line-height:1.65; }
.ed-page .ed-scope-grid .ed-scope-note { font-size:13px; border-top:1px solid #23231e25; padding-top:15px; margin-top:20px; }
.ed-page .ed-scope-grid .ed-inline { margin-top:auto; padding-top:16px; font-size:12px; line-height:1.5; }
.ed-page .ed-steps { display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:40px 0; border-top:1px solid #23231e45; }
.ed-page .ed-steps li { position:relative; padding:26px 24px 0 0; }
.ed-page .ed-steps li:before { content:''; position:absolute; left:0; top:-5px; width:9px; height:9px; background:var(--ed-accent); }
.ed-page .ed-steps h3 { font-size:23px; font-weight:400; letter-spacing:-.02em; line-height:1.2; margin:20px 0 15px; }
.ed-page .ed-steps p { font-size:14px; line-height:1.7; }
.ed-page .ed-community-note { display:grid; grid-template-columns:1fr 2fr auto; align-items:center; gap:24px; padding:28px; border:1px solid #23231e35; }
.ed-page .ed-community-note strong { font-size:22px; line-height:1.2; font-weight:400; }
.ed-page .ed-community-note p { margin:0; font-size:14px; line-height:1.6; }
.ed-page .ed-budget { background:var(--ed-ink); color:var(--ed-paper); }
.ed-page .ed-budget :is(h2,h3,p,dt,dd,strong) { color:inherit; }
.ed-page .ed-budget h2 { margin-bottom:26px; }
.ed-page .ed-budget .btn { margin-top:20px; }
.ed-page .ed-budget-check { border:1px solid #e7e5dd50; padding:clamp(22px,3vw,42px); }
.ed-page .ed-budget-check h3 { font-size:25px; font-weight:400; margin:0 0 24px; }
.ed-page .ed-budget-check dl { margin:0; }
.ed-page .ed-budget-check dl>div { border-top:1px solid #e7e5dd35; padding:18px 0; display:grid; grid-template-columns:1fr 1.5fr; gap:22px; }
.ed-page .ed-budget-check dt { font-size:14px; font-weight:600; }
.ed-page .ed-budget-check dd { font-size:14px; line-height:1.6; margin:0; }
.ed-page .ed-faq { padding-top:clamp(45px,6vw,90px); }
.ed-page .ed-related { border-top:1px solid #23231e25; }
.ed-page .ed-related-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:35px; }
.ed-page .ed-related-grid>a { position:relative; color:inherit; text-decoration:none; border:1px solid #23231e35; margin-right:-1px; padding:26px 50px 26px 24px; transition:background .2s; }
.ed-page .ed-related-grid>a:hover { background:#7eaaaf25; }
.ed-page .ed-related-grid span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.ed-page .ed-related-grid h3 { font-size:24px; line-height:1.2; font-weight:400; margin:18px 0 0; }
.ed-page .ed-related-grid b { position:absolute; right:20px; top:23px; font-size:20px; font-weight:400; }
.ed-page :is(a,button,input,textarea,summary):focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.ed-page :is(#ed-aportacion,#ed-comunidades,#ed-alcance) { scroll-margin-top:100px; }
.ed-page .ed-tool__unknown { margin-top:22px; font-size:14px; line-height:1.6; }
.ed-page .ed-tool__unknown a { color:inherit; text-underline-offset:4px; }
.ed-page :is(.ed-tool__form-actions,.ed-community-note) .btn.b-line { color:var(--ed-ink); border-color:#23231e60; }
.ed-page :is(.ed-tool__form-actions,.ed-community-note) .btn.b-line:hover { color:var(--ed-paper); background:var(--ed-ink); }
@media(max-width:1050px) {
 .ed-page .ed-community-note { grid-template-columns:1fr 2fr; }
 .ed-page .ed-community-note .btn { grid-column:2; justify-self:start; }
 .ed-page .ed-steps { grid-template-columns:repeat(2,1fr); gap:25px 0; }
 .ed-page .ed-steps li:nth-child(n+3) { border-top:1px solid #23231e35; }
}
@media(max-width:820px) {
 .ed-page .ed-head { grid-template-columns:1fr; gap:12px; }
 .ed-page .ed-head>p { margin-top:0; }
 .ed-page .ed-head h2 { margin-bottom:15px; }
 .ed-page .ed-scope-grid { grid-template-columns:1fr; margin-top:25px; }
 .ed-page .ed-scope-grid article,.ed-page .ed-scope-grid article:first-child,.ed-page .ed-scope-grid article:last-child { padding:25px 0; border-right:0; border-bottom:1px solid #23231e30; }
 .ed-page .ed-scope-grid h3 { margin-top:12px; }
 .ed-page .ed-scope-grid .ed-scope-note { margin-top:10px; }
 .ed-page .ed-scope-grid .ed-inline { margin:0; }
 .ed-page .ed-project-card__image { aspect-ratio:4/3; }
 .ed-page .ed-project-card__badge { top:12px; left:12px; font-size:9px; }
 .ed-page .ed-project-card__caption { align-items:flex-start; gap:14px; }
 .ed-page .ed-project-card__go { flex-basis:42px; width:42px; height:42px; font-size:20px; }
 .ed-page .ed-budget-check { margin-top:15px; }
 .ed-page .ed-related-grid { grid-template-columns:1fr; }
 .ed-page .ed-related-grid>a { margin:0 0 -1px; }
}
@media(max-width:540px) {
 .ed-page .ed-steps { grid-template-columns:1fr; gap:0; margin:30px 0; border:0; }
 .ed-page .ed-steps li { padding:22px 0 22px 23px; border-left:1px solid #23231e35; }
 .ed-page .ed-steps li:nth-child(n+3) { border-top:0; }
 .ed-page .ed-steps li:before { top:26px; left:-5px; }
 .ed-page .ed-steps h3 { margin:12px 0; }
 .ed-page .ed-community-note { grid-template-columns:1fr; padding:22px; gap:16px; }
 .ed-page .ed-community-note .btn { grid-column:auto; max-width:100%; }
 .ed-page .ed-budget-check dl>div { grid-template-columns:1fr; gap:8px; }
 .ed-page .ed-project-card__caption p { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) {
 .ed-page :is(.ed-project-card__image img,.ed-project-card__go,.ed-related-grid>a) { transition:none; }
 .ed-page .ed-project-card:hover .ed-project-card__image img { transform:none; }
}
/* tramuntana:edificios-design-v1-end */


/* tramuntana:edificios-tool-css-v1-start */
.ed-page .ed-tool { background: #f2f1ed; color: var(--coal,#35352f); }
.ed-page .ed-tool [hidden] { display: none !important; }
.ed-page .ed-tool__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: end; margin-bottom: 2.2rem; }
.ed-page .ed-tool__head h2 { margin: .8rem 0 0; max-width: 20ch; }
.ed-page .ed-tool__head > p { margin: 0; max-width: 49ch; }
.ed-page .ed-tool__layout { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid rgba(37,37,31,.22); }
.ed-page .ed-tool__inputs { min-width: 0; padding: clamp(1.2rem,3vw,2.6rem); }
.ed-page .ed-tool__input-note { font-size: .78rem; line-height: 1.5; max-width: 54ch; margin: 0 0 1.5rem; }
.ed-page .ed-tool__field { min-width: 0; margin-bottom: 1.35rem; }
.ed-page .ed-tool__field label { display: block; font-size: .9rem; font-weight: 600; line-height: 1.4; margin: 0 0 .55rem; }
.ed-page .ed-tool__field input { box-sizing: border-box; display: block; width: 100%; min-height: 48px; border: 1px solid rgba(37,37,31,.4); border-radius: 0; background: transparent; color: var(--coal,#35352f); font: inherit; font-size: 1.1rem; padding: .7rem .8rem; appearance: none; }
.ed-page .ed-tool__field input:focus-visible,
.ed-page .ed-tool__details textarea:focus-visible { outline: 2px solid var(--coal,#35352f); outline-offset: 3px; }
.ed-page .ed-tool__field input[aria-invalid="true"] { border-width: 2px; border-style: dashed; }
.ed-page .ed-tool__field p { margin: .5rem 0 0; font-size: .76rem; line-height: 1.45; }
.ed-page .ed-tool__field .ed-tool__error { font-weight: 600; }
.ed-page .ed-tool__row { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1.25rem; }
.ed-page .ed-tool__form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.2rem; }
.ed-page .ed-tool__text { min-height: 44px; padding: .4rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-size: .8rem; cursor: pointer; }
.ed-page .ed-tool__panel { min-width: 0; display: flex; flex-direction: column; padding: clamp(1.25rem,3vw,2.6rem); background: var(--coal,#35352f); color: #f2f1ed; }
.ed-page .ed-tool__panel h3 { color: #f2f1ed; font-size: clamp(1.4rem,2.2vw,2rem); line-height: 1.18; font-weight: 400; margin: 1rem 0; }
.ed-page .ed-tool__panel .eyebrow { color: #f2f1ed; }
.ed-page .ed-tool__empty { flex: 1; min-height: 17rem; }
.ed-page .ed-tool__empty p { max-width: 34ch; font-size: .95rem; line-height: 1.6; }
.ed-page .ed-tool__amount { margin: 0; font-size: clamp(2.5rem,4.4vw,4.2rem); line-height: 1.08; letter-spacing: -.04em; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.ed-page .ed-tool__rounding { margin: .6rem 0 1.5rem; font-size: .72rem; line-height: 1.45; }
.ed-page .ed-tool__breakdown { margin: 0; }
.ed-page .ed-tool__breakdown > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(242,241,237,.22); }
.ed-page .ed-tool__breakdown dt,
.ed-page .ed-tool__breakdown dd { margin: 0; font-size: .8rem; line-height: 1.45; }
.ed-page .ed-tool__breakdown dd { text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ed-page .ed-tool__breakdown .ed-tool__net { font-weight: 600; }
.ed-page .ed-tool__payments { padding: 1.25rem 0; }
.ed-page .ed-tool__payment-label { margin: 0 0 .3rem; font-size: .8rem; }
.ed-page .ed-tool__payment-amount { margin: 0; font-size: 1.8rem; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ed-page .ed-tool__last,
.ed-page .ed-tool__zero { margin: .5rem 0 0; font-size: .8rem; line-height: 1.5; }
.ed-page .ed-tool__next { margin-top: auto; padding-top: 1.4rem; border-top: 1px solid rgba(242,241,237,.22); }
.ed-page .ed-tool__next .btn { box-sizing: border-box; width: 100%; justify-content: space-between; white-space: normal; text-align: left; gap: .75rem; min-height: 48px; }
.ed-page .ed-tool__next .b-sage { color: var(--coal,#35352f); background: var(--teal,#7fa8ae); border-color: var(--teal,#7fa8ae); }
.ed-page .ed-tool__next [aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.ed-page .ed-tool__copy { display: block; min-height: 44px; padding: .55rem 0; margin-top: .55rem; border: 0; background: transparent; color: #f2f1ed; font: inherit; font-size: .8rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.ed-page .ed-tool__copy:disabled { opacity: .5; cursor: not-allowed; }
.ed-page .ed-tool__next > p { margin: .35rem 0 0; font-size: .72rem; line-height: 1.5; }
.ed-page .ed-tool__panel a:focus-visible,
.ed-page .ed-tool__panel button:focus-visible { outline: 2px solid #f2f1ed; outline-offset: 4px; }
.ed-page .ed-tool__text:focus-visible,
.ed-page .ed-tool__details summary:focus-visible,
.ed-page .ed-tool__form-actions .btn:focus-visible { outline: 2px solid var(--coal,#35352f); outline-offset: 4px; }
.ed-page .ed-tool__below { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin-top: 1.25rem; }
.ed-page .ed-tool__details { min-width: 0; border-bottom: 1px solid rgba(37,37,31,.22); }
.ed-page .ed-tool__details summary { list-style: none; display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; font-size: .83rem; font-weight: 600; line-height: 1.5; cursor: pointer; }
.ed-page .ed-tool__details summary::-webkit-details-marker { display: none; }
.ed-page .ed-tool__details summary::after { content: none; }
.ed-page .ed-tool__details summary > span { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; font-weight: 400; font-size: 0; line-height: 1; }
.ed-page .ed-tool__details summary > span::before { content: '+'; font-size: 22px; }
.ed-page .ed-tool__details[open] summary > span { transform: none; }
.ed-page .ed-tool__details[open] summary > span::before { content: '−'; }
.ed-page .ed-tool__details > div { padding: 0 0 1rem; }
.ed-page .ed-tool__details p,
.ed-page .ed-tool__details label { display: block; font-size: .8rem; line-height: 1.6; }
.ed-page .ed-tool__details textarea { display: block; box-sizing: border-box; width: 100%; min-height: 12rem; max-height: 28rem; resize: vertical; margin-top: .6rem; border: 1px solid rgba(37,37,31,.35); border-radius: 0; background: transparent; padding: .8rem; font: inherit; font-size: .8rem; line-height: 1.5; color: var(--coal,#35352f); }
.ed-page .ed-tool__status { min-height: 1.5em; margin: .75rem 0 0; font-size: .8rem; line-height: 1.5; }
.ed-page .ed-tool__fallback { padding: 1.5rem; border: 1px solid rgba(37,37,31,.3); }
@media (max-width: 900px) {
  .ed-page .ed-tool__head { gap: 1.5rem; }
  .ed-page .ed-tool__layout { grid-template-columns: 1fr 1fr; }
  .ed-page .ed-tool__row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 640px) {
  .ed-page .ed-tool__head,
  .ed-page .ed-tool__layout,
  .ed-page .ed-tool__below { grid-template-columns: 1fr; }
  .ed-page .ed-tool__head { gap: 1.1rem; }
  .ed-page .ed-tool__head > p { font-size: .95rem; }
  .ed-page .ed-tool__inputs,
  .ed-page .ed-tool__panel { padding: 1.25rem; }
  .ed-page .ed-tool__empty { min-height: 0; margin-bottom: 1.5rem; }
  .ed-page .ed-tool__amount { font-size: clamp(2.2rem,10vw,3.6rem); }
}
@media (prefers-reduced-motion: reduce) {
  .ed-page .ed-tool *,
  .ed-page .ed-tool *::before,
  .ed-page .ed-tool *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* tramuntana:edificios-tool-css-v1-end */


/* tramuntana:sate-landing-v1 */
/* tramuntana:sate-design-v1-start */
.st-page{--st-paper:var(--bone,#e6e4df);--st-ink:var(--coal,#35352f);--st-accent:var(--teal,#7fa8ae)}
.st-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.st-page .st-hero-link{color:var(--st-paper);font-size:13px;line-height:1.5;text-decoration:none;border-bottom:1px solid #ffffff60;padding:5px 0}
.st-page .st-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.st-page :is(.st-head,.st-detail-grid,.st-steps,.st-related-grid)>*{min-width:0}
.st-page .st-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.st-page .st-head p{max-width:62ch;line-height:1.7}
.st-page .st-head>p{margin-top:38px}
.st-page .st-head>div>p+p{margin-top:16px}
.st-page .st-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.st-page .st-intro{padding-bottom:clamp(25px,4vw,55px)}
.st-page .st-project{padding-top:clamp(25px,4vw,55px)}
.st-page .st-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.st-page .st-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--st-ink)}
.st-page .st-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 56%;transition:transform .65s ease}
.st-page .st-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--st-paper);color:var(--st-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.st-page .st-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.st-page .st-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.st-page .st-project-caption p{font-size:13px;max-width:80ch;margin:0}
.st-page .st-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.st-page .st-project-card:hover .st-project-image img{transform:scale(1.025)}
.st-page .st-project-card:hover .st-project-caption>b{background:var(--st-accent)}
.st-page .st-system{background:var(--bone-2,#dedcd6)}
.st-page .st-materials{margin-top:30px;border-top:1px solid var(--line);padding-top:24px}
.st-page .st-materials strong{font-size:18px;font-weight:500}
.st-page .st-materials p{font-size:14px;margin-top:12px}
.st-page .st-layer-direction{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-t);margin-bottom:20px;line-height:1.6}
.st-page .st-layers ol{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.st-page .st-layers li{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:25px 28px;border-bottom:1px solid var(--line);border-left:8px solid var(--st-ink);background:var(--bone-3)}
.st-page .st-layers li:nth-child(2){border-left-width:20px;background:var(--st-paper)}
.st-page .st-layers li:nth-child(3){border-left-color:var(--teal-d)}
.st-page .st-layers li:last-child{border-bottom:0;border-left-color:var(--st-accent)}
.st-page .st-layers li>span{font-size:12px;padding-top:4px;letter-spacing:.1em;color:var(--teal-t)}
.st-page .st-layers h3{font-size:24px;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
.st-page .st-layers li p{font-size:14px;line-height:1.6;margin:0}
.st-page .st-small{font-size:12px;line-height:1.6;margin:16px 0 0}
.st-page .st-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.st-page .st-detail-grid article{padding:28px;border-right:1px solid var(--line)}
.st-page .st-detail-grid article:first-child{padding-left:0}
.st-page .st-detail-grid article:last-child{padding-right:0;border-right:0}
.st-page .st-number{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-t)}
.st-page .st-detail-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.st-page .st-detail-grid p{font-size:15px;line-height:1.7}
.st-page .st-note{padding:26px 30px;border:1px solid var(--line);margin-top:20px;display:grid;grid-template-columns:1fr 1.5fr;gap:16px 40px}
.st-page .st-note strong{font-size:23px;font-weight:400;line-height:1.2}
.st-page .st-note p{font-size:14px;line-height:1.6;margin:0}
.st-page .st-note .st-inline{grid-column:2;padding:0}
.st-page .st-budget{background:var(--st-ink);color:var(--st-paper)}
.st-page .st-budget :is(h2,h3,p,strong,dt,dd){color:inherit}
.st-page .st-budget .btn{margin-top:20px}
.st-page .st-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.st-page .st-price{font-size:clamp(50px,5vw,76px);font-weight:300;line-height:1;letter-spacing:-.04em;display:block;color:var(--st-paper)}
.st-page .st-price small{font-size:.36em;white-space:nowrap;letter-spacing:-.02em}
.st-page .st-price-caption{font-size:12px;margin:18px 0 26px!important;max-width:100%!important}
.st-page .st-budget-panel dl{margin:0}
.st-page .st-budget-panel dl>div{display:grid;grid-template-columns:1fr 2fr;gap:22px;padding:17px 0;border-top:1px solid #ffffff35}
.st-page .st-budget-panel dt{font-size:14px;font-weight:600}
.st-page .st-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.st-page .st-process{background:var(--bone-2)}
.st-page .st-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 18px;padding:0;gap:28px}
.st-page .st-steps li{padding-top:26px;position:relative}
.st-page .st-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--st-accent)}
.st-page .st-steps li>span{font-size:11px;letter-spacing:.12em}
.st-page .st-steps h3{font-size:23px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.st-page .st-steps p{font-size:14px;line-height:1.7}
.st-page .st-related{border-top:1px solid var(--line)}
.st-page .st-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.st-page .st-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.st-page .st-related-grid>a:hover{background:var(--bone-2)}
.st-page .st-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.st-page .st-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.st-page .st-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.st-page :is(a,button,input,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.st-page :is(#st-comparador,#st-sistema){scroll-margin-top:100px}
@media(max-width:1050px){.st-page .st-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 .st-page .st-head{grid-template-columns:1fr;gap:16px}
 .st-page .st-head>p{margin-top:0}
 .st-page .st-head h2{margin-bottom:16px}
 .st-page .st-project-image{aspect-ratio:4/3}
 .st-page .st-project-image>span{top:12px;left:12px;font-size:9px}
 .st-page .st-project-caption{gap:16px;align-items:flex-start}
 .st-page .st-project-caption>b{flex-basis:42px;height:42px;font-size:20px}
 .st-page .st-detail-grid{grid-template-columns:1fr;margin-top:20px}
 .st-page .st-detail-grid article,.st-page .st-detail-grid article:first-child,.st-page .st-detail-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
 .st-page .st-detail-grid h3{margin-top:12px}
 .st-page .st-note{grid-template-columns:1fr;gap:18px;padding:24px}
 .st-page .st-note .st-inline{grid-column:auto}
 .st-page .st-related-grid{grid-template-columns:1fr}
 .st-page .st-related-grid>a{margin:0 0 -1px}
}
@media(max-width:540px){
 .st-page .st-layers li{grid-template-columns:25px 1fr;gap:12px;padding:22px 16px}
 .st-page .st-layers h3{font-size:22px}
 .st-page .st-budget-panel dl>div{grid-template-columns:1fr;gap:8px}
 .st-page .st-steps{grid-template-columns:1fr;gap:0;border-top:0}
 .st-page .st-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}
 .st-page .st-steps li:before{left:-5px;top:24px}
 .st-page .st-steps h3{margin-top:10px}
 .st-page .st-project-caption p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.st-page :is(.st-project-image img,.st-project-caption>b,.st-related-grid>a){transition:none}.st-page .st-project-card:hover .st-project-image img{transform:none}}
/* tramuntana:sate-design-v1-end */


/* tramuntana:sate-tool-css-v1-start */
.st-page .st-tool { background: var(--bone-3,#f2f1ed); color: var(--coal,#35352f); }
.st-page .st-tool [hidden] { display: none !important; }
.st-page .st-tool__head { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(1.5rem,4vw,4rem); align-items: end; margin-bottom: 2rem; }
.st-page .st-tool__head h2 { margin: .8rem 0 0; max-width: 20ch; }
.st-page .st-tool__head > p { margin: 0; max-width: 47ch; }
.st-page .st-tool__layout { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.st-page .st-tool__inputs,
.st-page .st-tool__panel { min-width: 0; padding: clamp(1.2rem,2.5vw,2.5rem); }
.st-page .st-tool__format { margin: 0 0 1.3rem; font-size: .78rem; line-height: 1.5; }
.st-page .st-tool__field { min-width: 0; margin-bottom: 1.2rem; }
.st-page .st-tool__field label { display: block; font-size: .88rem; font-weight: 600; line-height: 1.4; margin-bottom: .5rem; }
.st-page .st-tool__field input { box-sizing: border-box; width: 100%; min-height: 48px; border: 1px solid var(--mute,#5f5f59); border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: 1.05rem; padding: .65rem .75rem; appearance: none; }
.st-page .st-tool__field p { margin: .5rem 0 0; font-size: .76rem; line-height: 1.45; }
.st-page .st-tool__field input[aria-invalid="true"] { border-width: 2px; border-style: dashed; }
.st-page .st-tool__error { font-weight: 600; }
.st-page .st-tool__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.st-page .st-tool__help { margin: -.4rem 0 1.4rem; font-size: .76rem; line-height: 1.45; }
.st-page .st-tool__checks { border: 0; padding: 0; margin: 0 0 1.3rem; min-width: 0; }
.st-page .st-tool__checks legend { font-weight: 600; font-size: .88rem; margin-bottom: .3rem; padding: 0; }
.st-page .st-tool__checks > p { margin: 0 0 .6rem; font-size: .76rem; line-height: 1.45; }
.st-page .st-tool__checks label { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; padding: .6rem 0; border-bottom: 1px solid var(--line,rgba(29,29,27,.16)); font-size: .8rem; line-height: 1.45; cursor: pointer; }
.st-page .st-tool__checks input { appearance: auto; -webkit-appearance: checkbox; width: 18px; height: 18px; min-width: 18px; margin: .05rem 0 0; accent-color: var(--coal,#35352f); }
.st-page .st-tool__form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.2rem; }
.st-page .st-tool .btn { min-height: 48px; white-space: normal; }
.st-page .st-tool__text { min-height: 44px; padding: .5rem 0; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .8rem; color: inherit; background: transparent; cursor: pointer; }
.st-page .st-tool__panel { display: flex; flex-direction: column; background: var(--coal,#35352f); color: var(--bone-3,#f2f1ed); }
.st-page .st-tool__panel :is(p,h3,dt,dd,strong,small,li) { color: inherit; }
.st-page .st-tool__panel h3 { font-weight: 400; color: inherit; font-size: clamp(1.5rem,2.3vw,2rem); line-height: 1.15; margin: 1rem 0; }
.st-page .st-tool__panel .eyebrow { color: inherit; }
.st-page .st-tool__empty { flex: 1; min-height: 16rem; }
.st-page .st-tool__empty p,
.st-page .st-tool__pending > p { max-width: 38ch; font-size: .9rem; line-height: 1.6; }
.st-page .st-tool__pending-list,
.st-page .st-tool__pending ul { padding-left: 1.15rem; margin: 1rem 0 1.8rem; }
.st-page .st-tool__pending li { font-size: .8rem; line-height: 1.5; padding: .35rem 0; }
.st-page .st-tool__quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin: 1.5rem 0 1rem; }
.st-page .st-tool__quotes > div { min-width: 0; }
.st-page .st-tool__quotes span { display: block; font-size: .78rem; margin-bottom: .4rem; }
.st-page .st-tool__quotes strong { display: block; font-weight: 400; font-size: clamp(1.75rem,2.5vw,2.65rem); line-height: 1.15; letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.st-page .st-tool__quotes small { display: block; margin-top: .4rem; font-size: .7rem; }
.st-page .st-tool__quotes p { margin: .7rem 0 0; font-size: .76rem; line-height: 1.5; overflow-wrap: anywhere; }
.st-page .st-tool__area { font-size: .75rem; line-height: 1.5; margin: 0 0 1rem; }
.st-page .st-tool__difference { margin: 0; }
.st-page .st-tool__difference > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); }
.st-page .st-tool__difference dt,
.st-page .st-tool__difference dd { margin: 0; font-size: .78rem; line-height: 1.5; }
.st-page .st-tool__difference dd { max-width: 57%; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.st-page .st-tool__reading { margin: 1.2rem 0 .5rem; font-size: .92rem; line-height: 1.5; }
.st-page .st-tool__limit { margin: 0 0 1.7rem; font-size: .75rem; line-height: 1.5; }
.st-page .st-tool__next { margin-top: auto; padding-top: 1.3rem; border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); }
.st-page .st-tool__next .btn { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; text-align: left; color: var(--coal,#35352f); background: var(--teal,#7fa8ae); border-color: var(--teal,#7fa8ae); }
.st-page .st-tool__next [aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.st-page .st-tool__exports { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; margin-top: .6rem; }
.st-page .st-tool__exports button { min-height: 44px; border: 0; padding: .4rem 0; background: transparent; color: inherit; font: inherit; font-size: .78rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.st-page .st-tool__exports button:disabled { opacity: .5; cursor: not-allowed; }
.st-page .st-tool__next > p { margin: .4rem 0 0; font-size: .72rem; line-height: 1.5; }
.st-page .st-tool__below { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin-top: 1.1rem; }
.st-page .st-tool__details { min-width: 0; border-bottom: 1px solid var(--line,rgba(29,29,27,.16)); }
.st-page .st-tool__details summary { display: flex; justify-content: space-between; gap: 1rem; list-style: none; padding: 1rem 0; font-size: .8rem; line-height: 1.5; font-weight: 600; cursor: pointer; }
.st-page .st-tool__details summary::-webkit-details-marker { display: none; }
.st-page .st-tool__details summary::after { content: none; }
.st-page .st-tool__details summary > span { flex: 0 0 1rem; font-size: 1.2rem; line-height: 1.2; text-align: center; }
.st-page .st-tool__details summary > span::before { content: '+'; }
.st-page .st-tool__details[open] summary > span::before { content: '−'; }
.st-page .st-tool__details > div { padding: 0 0 1rem; }
.st-page .st-tool__details p,
.st-page .st-tool__details label { display: block; font-size: .8rem; line-height: 1.6; }
.st-page .st-tool__details textarea { box-sizing: border-box; display: block; width: 100%; min-height: 12rem; max-height: 28rem; resize: vertical; margin-top: .6rem; padding: .8rem; border: 1px solid var(--mute,#5f5f59); border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: .78rem; line-height: 1.5; }
.st-page .st-tool__status { min-height: 1.5em; margin: .8rem 0 0; font-size: .8rem; line-height: 1.5; }
.st-page .st-tool__fallback { padding: 1.5rem; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.st-page .st-tool__fallback p { margin-bottom: 1.2rem; }
.st-page .st-tool :is(input,textarea,summary,button,a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 768px) {
  .st-page .st-tool__layout,
  .st-page .st-tool__head,
  .st-page .st-tool__below { grid-template-columns: 1fr; }
  .st-page .st-tool__head { gap: 1rem; }
  .st-page .st-tool__empty { min-height: 0; margin-bottom: 1.5rem; }
  .st-page .st-tool__head > p { font-size: .95rem; }
}
@media (max-width: 400px) {
  .st-page .st-tool__row { grid-template-columns: 1fr; gap: 0; }
  .st-page .st-tool__inputs,
  .st-page .st-tool__panel { padding: 1.15rem; }
  .st-page .st-tool__difference > div { flex-wrap: wrap; gap: .3rem .7rem; }
  .st-page .st-tool__difference dd { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .st-page .st-tool *,
  .st-page .st-tool *::before,
  .st-page .st-tool *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* tramuntana:sate-tool-css-v1-end */


/* tramuntana:ventiladas-landing-v1 */
/* tramuntana:ventiladas-design-v1-start */
.fv-page{--fv-paper:var(--bone,#e6e4df);--fv-ink:var(--coal,#35352f);--fv-accent:var(--teal,#7fa8ae);color:var(--fv-ink)}
.fv-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.fv-page .fv-hero-link{color:var(--fv-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.fv-page .fv-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.fv-page :is(.fv-head,.fv-detail-grid,.fv-options-grid,.fv-steps,.fv-related-grid)>*{min-width:0}
.fv-page .fv-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.fv-page .fv-head p{max-width:62ch;line-height:1.7}
.fv-page .fv-head>p{margin-top:38px}
.fv-page .fv-head>div>p+p{margin-top:16px}
.fv-page .fv-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.fv-page .fv-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.fv-page .fv-small a{color:inherit;text-underline-offset:3px}
.fv-page .fv-small-label,.fv-page .fv-number{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#4e6d71)}
.fv-page .fv-intro{padding-bottom:clamp(25px,4vw,55px)}
.fv-page .fv-project{padding-top:clamp(25px,4vw,55px)}
.fv-page .fv-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.fv-page .fv-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--fv-ink)}
.fv-page .fv-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.fv-page .fv-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--fv-paper);color:var(--fv-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.fv-page .fv-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.fv-page .fv-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.fv-page .fv-project-caption p{font-size:13px;max-width:80ch;margin:0}
.fv-page .fv-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.fv-page .fv-project-card:hover .fv-project-image img{transform:scale(1.025)}
.fv-page .fv-project-card:hover .fv-project-caption>b{background:var(--fv-accent)}
.fv-page .fv-system{background:var(--bone-2,#dedcd6)}
.fv-page .fv-system-note{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.fv-page .fv-system-note strong{font-size:20px;font-weight:500}
.fv-page .fv-system-note p{font-size:14px;margin-top:12px}
.fv-page .fv-system-panel{padding:26px;background:var(--fv-paper);border:1px solid var(--line)}
.fv-page .fv-layers{list-style:none;margin:18px 0 0;padding:0}
.fv-page .fv-layers li{display:grid;grid-template-columns:32px 1fr;gap:20px;padding:22px 0 22px 20px;border-left:12px solid #35352f70;border-bottom:1px solid var(--line)}
.fv-page .fv-layers li:nth-child(2){border-left-color:#bcb8a5}
.fv-page .fv-layers li.fv-air{border-left:12px dashed var(--fv-accent);background:#7fa8ae14}
.fv-page .fv-layers li:last-child{border-left-color:var(--fv-ink);border-bottom:0}
.fv-page .fv-layers li>span{font-size:11px;letter-spacing:.1em;padding-top:5px}
.fv-page .fv-layers h3{font-size:24px;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px}
.fv-page .fv-layers p{font-size:14px;line-height:1.6;margin:0}
.fv-page .fv-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.fv-page .fv-detail-grid article{padding:28px;border-right:1px solid var(--line)}
.fv-page .fv-detail-grid article:first-child{padding-left:0}
.fv-page .fv-detail-grid article:last-child{padding-right:0;border-right:0}
.fv-page .fv-detail-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.fv-page .fv-detail-grid p{font-size:15px;line-height:1.7}
.fv-page .fv-budget{background:var(--fv-ink);color:var(--fv-paper)}
.fv-page .fv-budget :is(h2,h3,p,strong,dt,dd,.fv-small-label){color:inherit}
.fv-page .fv-budget .btn{margin-top:20px}
.fv-page .fv-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.fv-page .fv-budget-panel dl{margin:20px 0 0}
.fv-page .fv-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.fv-page .fv-budget-panel dt{font-size:15px;font-weight:500}
.fv-page .fv-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.fv-page .fv-budget-link{display:block;color:var(--fv-paper);padding:16px 0 0;font-size:13px;text-underline-offset:5px}
.fv-page .fv-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
.fv-page .fv-options-grid article{padding:32px;border:1px solid var(--line);border-top:4px solid var(--fv-accent)}
.fv-page .fv-options-grid article+article{border-top-color:#aaa695}
.fv-page .fv-options-grid h3{font-size:30px;font-weight:400;line-height:1.2;margin:17px 0}
.fv-page .fv-options-grid p{font-size:15px;line-height:1.7}
.fv-page .fv-options-grid strong{display:block;font-size:14px;font-weight:500;line-height:1.6;margin-top:18px}
.fv-page .fv-process{background:var(--bone-2,#dedcd6)}
.fv-page .fv-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.fv-page .fv-steps li{padding-top:26px;position:relative}
.fv-page .fv-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--fv-accent)}
.fv-page .fv-steps li>span{font-size:11px;letter-spacing:.12em}
.fv-page .fv-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.fv-page .fv-steps p{font-size:14px;line-height:1.7}
.fv-page .fv-related{border-top:1px solid var(--line)}
.fv-page .fv-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.fv-page .fv-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.fv-page .fv-related-grid>a:hover{background:var(--bone-2)}
.fv-page .fv-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.fv-page .fv-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.fv-page .fv-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.fv-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.fv-page :is(#fv-explorador,#fv-presupuesto){scroll-margin-top:100px}
@media(max-width:820px){
 .fv-page .fv-head{grid-template-columns:1fr;gap:16px}.fv-page .fv-head>p{margin-top:0}.fv-page .fv-head h2{margin-bottom:16px}
 .fv-page .fv-project-image{aspect-ratio:4/3}.fv-page .fv-project-image>span{top:12px;left:12px;font-size:9px}
 .fv-page .fv-project-caption{gap:16px;align-items:flex-start}.fv-page .fv-project-caption>b{flex-basis:42px;height:42px;font-size:20px}
 .fv-page .fv-detail-grid{grid-template-columns:1fr;margin-top:20px}
 .fv-page .fv-detail-grid article,.fv-page .fv-detail-grid article:first-child,.fv-page .fv-detail-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
 .fv-page .fv-detail-grid h3{margin-top:12px}.fv-page .fv-options-grid{grid-template-columns:1fr;gap:16px}
 .fv-page .fv-related-grid{grid-template-columns:1fr}.fv-page .fv-related-grid>a{margin:0 0 -1px}
 .fv-page .fv-steps{grid-template-columns:1fr;gap:0;border-top:0}.fv-page .fv-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.fv-page .fv-steps li:before{left:-5px;top:24px}.fv-page .fv-steps h3{margin-top:10px}
}
@media(max-width:540px){
 .fv-page .fv-system-panel{padding:20px 16px}.fv-page .fv-layers li{grid-template-columns:22px 1fr;gap:10px;padding:20px 0 20px 12px}.fv-page .fv-layers h3{font-size:22px}
 .fv-page .fv-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.fv-page .fv-options-grid article{padding:24px}.fv-page .fv-project-caption p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.fv-page :is(.fv-project-image img,.fv-project-caption>b,.fv-related-grid>a){transition:none}.fv-page .fv-project-card:hover .fv-project-image img{transform:none}}
/* tramuntana:ventiladas-design-v1-end */


/* tramuntana:ventiladas-tool-css-v1-start */
.fv-page .fv-tool { background: var(--bone-3,#f2f1ed); color: var(--coal,#35352f); }
.fv-page .fv-tool [hidden] { display: none !important; }
.fv-page .fv-tool__head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.fv-page .fv-tool__head h2 { color: var(--coal,#35352f); margin: .8rem 0 0; }
.fv-page .fv-tool__head > p { max-width: 48ch; margin: 0; }
.fv-page .fv-tool__layout { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.fv-page .fv-tool__visual { min-width: 0; padding: clamp(1.1rem,2.6vw,2.4rem); background: var(--coal,#35352f); color: var(--bone-3,#f2f1ed); }
.fv-page .fv-tool__visual :is(p,h3,li,span,figcaption,strong) { color: inherit; }
.fv-page .fv-tool__figure { margin: 0; scroll-margin-top: 140px; }
.fv-page .fv-tool__figure:focus-visible { outline: 2px solid var(--teal,#7fa8ae); outline-offset: 6px; }
.fv-page .fv-tool__preview-label { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; margin-bottom: .8rem; font-size: .7rem; line-height: 1.4; }
.fv-page .fv-tool__svg { display: block; width: 100%; height: auto; aspect-ratio: 32 / 19; overflow: hidden; }
.fv-page .fv-tool__svg rect { transition: fill .3s ease; }
.fv-page .fv-tool__svg [data-fv-panels] { transition: opacity .2s ease; }
.fv-page .fv-tool__view-name { margin: .8rem 0 .35rem; font-size: .85rem; line-height: 1.45; }
.fv-page .fv-tool__figure figcaption { max-width: 58ch; font-size: .69rem; line-height: 1.5; opacity: .8; }
.fv-page .fv-tool__material { border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); margin-top: 1.35rem; padding-top: 1.1rem; }
.fv-page .fv-tool__material h3 { margin: 0 0 .6rem; color: inherit; font-size: clamp(1.35rem,2vw,1.7rem); line-height: 1.2; font-weight: 400; }
.fv-page .fv-tool__material > p { margin: 0; font-size: .83rem; line-height: 1.55; }
.fv-page .fv-tool__material ul { display: grid; gap: .6rem; padding: 0; margin: 1rem 0 0; list-style: none; counter-reset: fv-criteria; }
.fv-page .fv-tool__material li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .4rem; margin: 0; font-size: .77rem; line-height: 1.5; }
.fv-page .fv-tool__material li::before { content: '0' counter(fv-criteria); counter-increment: fv-criteria; color: var(--teal,#7fa8ae); font-size: .66rem; line-height: 1.8; }
.fv-page .fv-tool__controls { min-width: 0; padding: clamp(1.1rem,2.6vw,2.4rem); }
.fv-page .fv-tool__intro { margin: 0 0 1.25rem; font-size: .78rem; line-height: 1.5; }
.fv-page .fv-tool__fieldset { min-width: 0; border: 0; padding: 0; margin: 0 0 1.15rem; }
.fv-page .fv-tool__fieldset legend { padding: 0; margin-bottom: .6rem; color: inherit; font-size: .84rem; line-height: 1.4; font-weight: 600; }
.fv-page .fv-tool__options { display: grid; gap: .5rem; min-width: 0; }
.fv-page .fv-tool__materials,
.fv-page .fv-tool__rhythms { grid-template-columns: 1fr 1fr; }
.fv-page .fv-tool__tones { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fv-page .fv-tool__options label { position: relative; min-width: 0; cursor: pointer; }
.fv-page .fv-tool__options input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.fv-page .fv-tool__options label > span { box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; height: 100%; padding: .65rem .5rem; border: 1px solid var(--line,rgba(29,29,27,.25)); color: var(--coal,#35352f); background: transparent; font-size: .78rem; line-height: 1.3; text-align: center; transition: background-color .2s,border-color .2s; }
.fv-page .fv-tool__options input:checked + span { border-color: var(--coal,#35352f); background: var(--coal,#35352f); color: var(--bone-3,#f2f1ed); }
.fv-page .fv-tool__options input:focus-visible + span { outline: 2px solid var(--coal,#35352f); outline-offset: 3px; }
.fv-page .fv-tool__unknown { grid-column: 1 / -1; }
.fv-page .fv-tool__swatch { display: inline-block; width: 15px; height: 15px; flex: 0 0 15px; border: 1px solid rgba(127,127,127,.65); border-radius: 50%; }
.fv-page .fv-tool__swatch--claro { background: #deded5; }
.fv-page .fv-tool__swatch--arena { background: #c7b296; }
.fv-page .fv-tool__swatch--grafito { background: #555b5b; }
.fv-page .fv-tool__view-link { display: inline-flex; align-items: center; gap: .75rem; box-sizing: border-box; min-height: 44px; padding: .5rem 0; margin: -.35rem 0 .5rem; color: var(--coal,#35352f); font-size: .8rem; line-height: 1.4; text-decoration: underline; text-underline-offset: .25em; }
.fv-page .fv-tool__details { min-width: 0; border-bottom: 1px solid var(--line,rgba(29,29,27,.16)); }
.fv-page .fv-tool__details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding: .75rem 0; list-style: none; color: inherit; font-size: .78rem; line-height: 1.5; font-weight: 600; cursor: pointer; }
.fv-page .fv-tool__details summary::-webkit-details-marker { display: none; }
.fv-page .fv-tool__details summary::after { content: none; }
.fv-page .fv-tool__details summary > span { flex: 0 0 1rem; font-size: 1.2rem; line-height: 1.2; text-align: center; }
.fv-page .fv-tool__details summary > span::before { content: '+'; }
.fv-page .fv-tool__details[open] summary > span::before { content: '−'; }
.fv-page .fv-tool__details > div { padding: 0 0 1rem; }
.fv-page .fv-tool__details p,
.fv-page .fv-tool__details label { display: block; font-size: .77rem; line-height: 1.5; }
.fv-page .fv-tool__context-fields { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.fv-page .fv-tool__context-fields label { min-width: 0; }
.fv-page .fv-tool__context-fields select { box-sizing: border-box; width: 100%; min-height: 46px; margin-top: .4rem; padding: .65rem 1.8rem .65rem .65rem; border: 1px solid var(--mute,#5f5f59); border-radius: 0; color: var(--coal,#35352f); background-color: var(--bone-3,#f2f1ed); font: inherit; font-size: .82rem; }
.fv-page .fv-tool__next { margin-top: 1.15rem; }
.fv-page .fv-tool__selection { margin: 0 0 .4rem; font-size: .84rem; line-height: 1.5; font-weight: 600; }
.fv-page .fv-tool__context-note { margin: 0 0 1rem; font-size: .74rem; line-height: 1.5; }
.fv-page .fv-tool__next .btn { display: flex; align-items: center; justify-content: space-between; gap: 1rem; box-sizing: border-box; width: 100%; min-height: 48px; white-space: normal; text-align: left; color: var(--coal,#35352f); background: var(--teal,#7fa8ae); border-color: var(--teal,#7fa8ae); }
.fv-page .fv-tool__next [aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.fv-page .fv-tool__next > p:not([class]) { margin: .5rem 0 0; font-size: .71rem; line-height: 1.5; }
.fv-page .fv-tool__exports { display: flex; flex-wrap: wrap; gap: .4rem 1.15rem; margin-top: .5rem; }
.fv-page .fv-tool__exports button { min-height: 44px; padding: .4rem 0; border: 0; background: transparent; color: inherit; font: inherit; font-size: .75rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.fv-page .fv-tool__exports button:disabled { opacity: .5; cursor: not-allowed; }
.fv-page .fv-tool__below { display: grid; grid-template-columns: 1.05fr 1fr; gap: 1rem 2rem; margin-top: 1rem; align-items: start; }
.fv-page .fv-tool__limit { margin: .65rem 0 0; max-width: 65ch; font-size: .73rem; line-height: 1.55; }
.fv-page .fv-tool__details textarea { box-sizing: border-box; display: block; width: 100%; min-height: 12rem; max-height: 28rem; resize: vertical; padding: .8rem; margin-top: .6rem; border: 1px solid var(--mute,#5f5f59); border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: .77rem; line-height: 1.5; }
.fv-page .fv-tool__status { min-height: 1.5em; margin: .8rem 0 0; font-size: .8rem; line-height: 1.5; }
.fv-page .fv-tool__fallback { padding: 1.5rem; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.fv-page .fv-tool__fallback p,
.fv-page .fv-tool__fallback li { font-size: .9rem; line-height: 1.6; }
.fv-page .fv-tool :is(select,textarea,summary,button,a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (hover: hover) {
  .fv-page .fv-tool__options label:hover > span { border-color: var(--coal,#35352f); }
}
@media (max-width: 768px) {
  .fv-page .fv-tool__layout,
  .fv-page .fv-tool__head,
  .fv-page .fv-tool__below { grid-template-columns: 1fr; }
  .fv-page .fv-tool__head { gap: 1rem; }
  .fv-page .fv-tool__head > p { font-size: .95rem; }
}
@media (max-width: 400px) {
  .fv-page .fv-tool__tones label > span { flex-direction: column; gap: .35rem; min-height: 61px; padding: .55rem .3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .fv-page .fv-tool *,
  .fv-page .fv-tool *::before,
  .fv-page .fv-tool *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* tramuntana:ventiladas-tool-css-v1-end */


/* tramuntana:cubiertas-landing-v1 */
/* tramuntana:cubiertas-design-v1-start */
.tc-page{--tc-paper:var(--bone,#e6e4df);--tc-ink:var(--coal,#35352f);--tc-accent:var(--teal,#7fa8ae);color:var(--tc-ink)}
.tc-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.tc-page .tc-hero-link{color:var(--tc-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.tc-page .tc-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.tc-page :is(.tc-head,.tc-scope-grid,.tc-type-grid,.tc-steps,.tc-related-grid)>*{min-width:0}
.tc-page .tc-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.tc-page .tc-head p{max-width:62ch;line-height:1.7}
.tc-page .tc-head>p{margin-top:38px}
.tc-page .tc-head>div>p+p{margin-top:16px}
.tc-page .tc-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.tc-page .tc-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.tc-page .tc-number{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#42646b)}
.tc-page .tc-intro{padding-bottom:clamp(25px,4vw,55px)}
.tc-page .tc-project{padding-top:clamp(25px,4vw,55px)}
.tc-page .tc-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.tc-page .tc-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--tc-ink)}
.tc-page .tc-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.tc-page .tc-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--tc-paper);color:var(--tc-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.tc-page .tc-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.tc-page .tc-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.tc-page .tc-project-caption p{font-size:13px;max-width:80ch;margin:0}
.tc-page .tc-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.tc-page .tc-project-card:hover .tc-project-image img{transform:scale(1.025)}
.tc-page .tc-project-card:hover .tc-project-caption>b{background:var(--tc-accent)}
.tc-page .tc-scope{background:var(--bone-2,#dedcd6)}
.tc-page .tc-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.tc-page .tc-scope-grid article{padding:28px;border-right:1px solid var(--line)}
.tc-page .tc-scope-grid article:first-child{padding-left:0}
.tc-page .tc-scope-grid article:last-child{padding-right:0;border-right:0}
.tc-page .tc-scope-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.tc-page .tc-scope-grid p{font-size:15px;line-height:1.7}
.tc-page .tc-scope-grid strong{display:block;font-size:13px;line-height:1.6;font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.tc-page .tc-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.tc-page .tc-type-grid article{padding:clamp(24px,3vw,42px);border:1px solid var(--line);background:var(--bone-3,#f2f1ed)}
.tc-page .tc-type-grid svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:24px;color:var(--teal-t)}
.tc-page .tc-type-grid h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:16px 0 20px;letter-spacing:-.025em}
.tc-page .tc-type-grid p{font-size:14px;line-height:1.7;margin-top:14px}
.tc-page .tc-budget{background:var(--tc-ink);color:var(--tc-paper)}
.tc-page .tc-budget :is(h2,h3,p,strong,dt,dd,.tc-number){color:inherit}
.tc-page .tc-budget .btn{margin-top:20px}
.tc-page .tc-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.tc-page .tc-budget-panel dl{margin:20px 0 0}
.tc-page .tc-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.tc-page .tc-budget-panel dt{font-size:15px;font-weight:500}
.tc-page .tc-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.tc-page .tc-process{background:var(--bone-2,#dedcd6)}
.tc-page .tc-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.tc-page .tc-steps li{padding-top:26px;position:relative}
.tc-page .tc-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--tc-accent)}
.tc-page .tc-steps li>span{font-size:11px;letter-spacing:.12em}
.tc-page .tc-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.tc-page .tc-steps p{font-size:14px;line-height:1.7}
.tc-page .tc-note{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 35px;padding:26px;border:1px solid var(--line);margin-top:32px}
.tc-page .tc-note strong{font-size:23px;font-weight:400;line-height:1.2}
.tc-page .tc-note p{font-size:14px;line-height:1.6;margin:0}
.tc-page .tc-note .tc-inline{grid-column:2;padding:4px 0}
.tc-page .tc-related{border-top:1px solid var(--line)}
.tc-page .tc-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.tc-page .tc-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.tc-page .tc-related-grid>a:hover{background:var(--bone-2)}
.tc-page .tc-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.tc-page .tc-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.tc-page .tc-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.tc-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.tc-page :is(#tc-explorador,#tc-precios){scroll-margin-top:110px}
@media(max-width:820px){.tc-page .tc-head{grid-template-columns:1fr;gap:16px}.tc-page .tc-head>p{margin-top:0}.tc-page .tc-head h2{margin-bottom:16px}.tc-page .tc-project-image{aspect-ratio:4/3}.tc-page .tc-project-image>span{top:12px;left:12px;font-size:9px}.tc-page .tc-project-caption{gap:16px;align-items:flex-start}.tc-page .tc-project-caption>b{flex-basis:42px;height:42px;font-size:20px}.tc-page .tc-scope-grid,.tc-page .tc-type-grid,.tc-page .tc-related-grid{grid-template-columns:1fr}.tc-page .tc-scope-grid{margin-top:20px}.tc-page .tc-scope-grid article,.tc-page .tc-scope-grid article:first-child,.tc-page .tc-scope-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.tc-page .tc-scope-grid h3{margin-top:12px}.tc-page .tc-related-grid>a{margin:0 0 -1px}.tc-page .tc-steps{grid-template-columns:1fr;gap:0;border-top:0}.tc-page .tc-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.tc-page .tc-steps li:before{left:-5px;top:24px}.tc-page .tc-steps h3{margin-top:10px}.tc-page .tc-note{grid-template-columns:1fr}.tc-page .tc-note .tc-inline{grid-column:auto}}
@media(max-width:540px){.tc-page .tc-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.tc-page .tc-project-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tc-page :is(.tc-project-image img,.tc-project-caption>b,.tc-related-grid>a){transition:none}.tc-page .tc-project-card:hover .tc-project-image img{transform:none}}
/* tramuntana:cubiertas-design-v1-end */


/* tramuntana:cubiertas-tool-css-v1-start */
.tc-page .tc-tool { background: var(--bone-3,#f2f1ed); color: var(--coal,#35352f); }
.tc-page .tc-tool [hidden] { display: none !important; }
.tc-page .tc-tool__head { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(1.5rem,4vw,4rem); align-items: end; margin-bottom: 2rem; }
.tc-page .tc-tool__head h2 { margin: .8rem 0 0; max-width: 20ch; }
.tc-page .tc-tool__head > p { margin: 0; max-width: 47ch; }
.tc-page .tc-tool__layout { display: grid; grid-template-columns: 1.15fr 1fr; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.tc-page .tc-tool__inputs,
.tc-page .tc-tool__panel { min-width: 0; padding: clamp(1.2rem,2.5vw,2.5rem); }
.tc-page .tc-tool__format { margin: 0 0 1.3rem; font-size: .78rem; line-height: 1.5; }
.tc-page .tc-tool__field { min-width: 0; margin-bottom: 1.2rem; }
.tc-page .tc-tool__field label { display: block; font-size: .88rem; font-weight: 600; line-height: 1.4; margin-bottom: .5rem; }
.tc-page .tc-tool__field input,
.tc-page .tc-tool__field select { box-sizing: border-box; width: 100%; min-height: 48px; border: 1px solid var(--mute,#5f5f59); border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: 1.05rem; padding: .65rem .75rem; appearance: none; }
.tc-page .tc-tool__field p { margin: .5rem 0 0; font-size: .76rem; line-height: 1.45; }
.tc-page .tc-tool__field input[aria-invalid="true"],
.tc-page .tc-tool__field select[aria-invalid="true"] { border-width: 2px; border-style: dashed; }
.tc-page .tc-tool__error { font-weight: 600; }
.tc-page .tc-tool__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.tc-page .tc-tool__help { margin: -.4rem 0 1.4rem; font-size: .76rem; line-height: 1.45; }
.tc-page .tc-tool__checks { border: 0; padding: 0; margin: 0 0 1.3rem; min-width: 0; }
.tc-page .tc-tool__checks legend { font-weight: 600; font-size: .88rem; margin-bottom: .3rem; padding: 0; }
.tc-page .tc-tool__checks > p { margin: 0 0 .6rem; font-size: .76rem; line-height: 1.45; }
.tc-page .tc-tool__checks label { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; padding: .6rem 0; border-bottom: 1px solid var(--line,rgba(29,29,27,.16)); font-size: .8rem; line-height: 1.45; cursor: pointer; }
.tc-page .tc-tool__checks input { appearance: auto; -webkit-appearance: checkbox; width: 18px; height: 18px; min-width: 18px; margin: .05rem 0 0; accent-color: var(--coal,#35352f); }
.tc-page .tc-tool__form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1.2rem; }
.tc-page .tc-tool .btn { min-height: 48px; white-space: normal; }
.tc-page .tc-tool__text { min-height: 44px; padding: .5rem 0; border: 0; border-bottom: 1px solid currentColor; font: inherit; font-size: .8rem; color: inherit; background: transparent; cursor: pointer; }
.tc-page .tc-tool__panel { display: flex; flex-direction: column; background: var(--coal,#35352f); color: var(--bone-3,#f2f1ed); }
.tc-page .tc-tool__panel :is(p,h3,h4,dt,dd,strong,small,li) { color: inherit; }
.tc-page .tc-tool__panel h3 { font-weight: 400; color: inherit; font-size: clamp(1.5rem,2.3vw,2rem); line-height: 1.15; margin: 1rem 0; }
.tc-page .tc-tool__panel .eyebrow { color: inherit; }
.tc-page .tc-tool__empty { flex: 1; min-height: 16rem; }
.tc-page .tc-tool__empty p,
.tc-page .tc-tool__pending > p { max-width: 38ch; font-size: .9rem; line-height: 1.6; }
.tc-page .tc-tool__pending-list,
.tc-page .tc-tool__pending ul { padding-left: 1.15rem; margin: 1rem 0 1.8rem; }
.tc-page .tc-tool__pending li { font-size: .8rem; line-height: 1.5; padding: .35rem 0; }
.tc-page .tc-tool__quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin: 1.5rem 0 1rem; }
.tc-page .tc-tool__quotes > div { min-width: 0; }
.tc-page .tc-tool__quotes span { display: block; font-size: .78rem; margin-bottom: .4rem; }
.tc-page .tc-tool__quotes strong { display: block; font-weight: 400; font-size: clamp(1.75rem,2.5vw,2.65rem); line-height: 1.15; letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tc-page .tc-tool__quotes small { display: block; margin-top: .4rem; font-size: .7rem; }
.tc-page .tc-tool__quotes p { margin: .7rem 0 0; font-size: .76rem; line-height: 1.5; overflow-wrap: anywhere; }
.tc-page .tc-tool__area { font-size: .75rem; line-height: 1.5; margin: 0 0 1rem; }
.tc-page .tc-tool__difference { margin: 0; }
.tc-page .tc-tool__difference > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); }
.tc-page .tc-tool__difference dt,
.tc-page .tc-tool__difference dd { margin: 0; font-size: .78rem; line-height: 1.5; }
.tc-page .tc-tool__difference dd { max-width: 57%; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tc-page .tc-tool__reading { margin: 1.2rem 0 .5rem; font-size: .92rem; line-height: 1.5; }
.tc-page .tc-tool__limit { margin: 0 0 1.7rem; font-size: .75rem; line-height: 1.5; }
.tc-page .tc-tool__next { margin-top: auto; padding-top: 1.3rem; border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); }
.tc-page .tc-tool__next .btn { box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; gap: 1rem; width: 100%; text-align: left; color: var(--coal,#35352f); background: var(--teal,#7fa8ae); border-color: var(--teal,#7fa8ae); }
.tc-page .tc-tool__next [aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.tc-page .tc-tool__exports { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; margin-top: .6rem; }
.tc-page .tc-tool__exports button { min-height: 44px; border: 0; padding: .4rem 0; background: transparent; color: inherit; font: inherit; font-size: .78rem; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.tc-page .tc-tool__exports button:disabled { opacity: .5; cursor: not-allowed; }
.tc-page .tc-tool__next > p { margin: .4rem 0 0; font-size: .72rem; line-height: 1.5; }
.tc-page .tc-tool__below { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; margin-top: 1.1rem; }
.tc-page .tc-tool__details { min-width: 0; border-bottom: 1px solid var(--line,rgba(29,29,27,.16)); }
.tc-page .tc-tool__details summary { display: flex; justify-content: space-between; gap: 1rem; list-style: none; padding: 1rem 0; font-size: .8rem; line-height: 1.5; font-weight: 600; cursor: pointer; }
.tc-page .tc-tool__details summary::-webkit-details-marker { display: none; }
.tc-page .tc-tool__details summary::after { content: none; }
.tc-page .tc-tool__details summary > span { flex: 0 0 1rem; font-size: 1.2rem; line-height: 1.2; text-align: center; }
.tc-page .tc-tool__details summary > span::before { content: '+'; }
.tc-page .tc-tool__details[open] summary > span::before { content: '−'; }
.tc-page .tc-tool__details > div { padding: 0 0 1rem; }
.tc-page .tc-tool__details p,
.tc-page .tc-tool__details label { display: block; font-size: .8rem; line-height: 1.6; }
.tc-page .tc-tool__details textarea { box-sizing: border-box; display: block; width: 100%; min-height: 12rem; max-height: 28rem; resize: vertical; margin-top: .6rem; padding: .8rem; border: 1px solid var(--mute,#5f5f59); border-radius: 0; background: transparent; color: inherit; font: inherit; font-size: .78rem; line-height: 1.5; }
.tc-page .tc-tool__status { min-height: 1.5em; margin: .8rem 0 0; font-size: .8rem; line-height: 1.5; }
.tc-page .tc-tool__fallback { padding: 1.5rem; border: 1px solid var(--line,rgba(29,29,27,.16)); }
.tc-page .tc-tool__fallback p { margin-bottom: 1.2rem; }
.tc-page .tc-tool :is(input,select,textarea,summary,button,a):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 768px) {
  .tc-page .tc-tool__layout,
  .tc-page .tc-tool__head,
  .tc-page .tc-tool__below { grid-template-columns: 1fr; }
  .tc-page .tc-tool__head { gap: 1rem; }
  .tc-page .tc-tool__empty { min-height: 0; margin-bottom: 1.5rem; }
  .tc-page .tc-tool__head > p { font-size: .95rem; }
}
@media (max-width: 400px) {
  .tc-page .tc-tool__row { grid-template-columns: 1fr; gap: 0; }
  .tc-page .tc-tool__inputs,
  .tc-page .tc-tool__panel { padding: 1.15rem; }
  .tc-page .tc-tool__difference > div { flex-wrap: wrap; gap: .3rem .7rem; }
  .tc-page .tc-tool__difference dd { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tc-page .tc-tool *,
  .tc-page .tc-tool *::before,
  .tc-page .tc-tool *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.tc-page .tc-tool__field select { appearance: auto; padding-right: 2rem; font-size: .9rem; background-color: var(--bone-3,#f2f1ed); }
.tc-page .tc-tool__row:has([data-tc-slope-field][hidden]) { grid-template-columns: 1fr; }
.tc-page .tc-tool__area-result { border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); padding-top: 1rem; margin: .8rem 0 1rem; }
.tc-page .tc-tool__area-result > span, .tc-page .tc-tool__range > span { display: block; font-size: .73rem; line-height: 1.5; margin-bottom: .5rem; }
.tc-page .tc-tool__area-result strong { display: block; font-weight: 400; font-size: clamp(1.65rem,2.6vw,2.2rem); line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tc-page .tc-tool__area-result p, .tc-page .tc-tool__range p { margin: .5rem 0 0; font-size: .74rem; line-height: 1.5; }
.tc-page .tc-tool__range { border-top: 1px solid var(--line-l,rgba(255,255,255,.18)); padding-top: 1rem; }
.tc-page .tc-tool__range strong { display: block; font-weight: 400; font-size: clamp(1.6rem,2.6vw,2.6rem); letter-spacing: -.035em; line-height: 1.2; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tc-page .tc-tool__checks h4 { margin: 1.2rem 0 .5rem; font-size: .8rem; line-height: 1.5; font-weight: 600; }
.tc-page .tc-tool__checks ul { margin: 0 0 1rem; padding-left: 1.1rem; }
.tc-page .tc-tool__checks li { padding: .25rem 0; font-size: .76rem; line-height: 1.5; }
.tc-page .tc-tool__below > .tc-tool__limit { margin-top: 1rem; font-size: .73rem; line-height: 1.6; }
/* tramuntana:cubiertas-tool-css-v1-end */


/* tramuntana:impermeabilizaciones-landing-v1 */
/* tramuntana:impermeabilizaciones-design-v1-start */
.ip-page{--ip-paper:var(--bone,#e6e4df);--ip-ink:var(--coal,#35352f);--ip-accent:var(--teal,#7fa8ae);color:var(--ip-ink)}
.ip-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.ip-page .ip-hero-link{color:var(--ip-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.ip-page .ip-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.ip-page :is(.ip-head,.ip-scope-grid,.ip-type-grid,.ip-steps,.ip-related-grid)>*{min-width:0}
.ip-page .ip-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.ip-page .ip-head p{max-width:62ch;line-height:1.7}
.ip-page .ip-head>p{margin-top:38px}
.ip-page .ip-head>div>p+p{margin-top:16px}
.ip-page .ip-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.ip-page .ip-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.ip-page .ip-number{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#42646b)}
.ip-page .ip-intro{padding-bottom:clamp(25px,4vw,55px)}
.ip-page .ip-project{padding-top:clamp(25px,4vw,55px)}
.ip-page .ip-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.ip-page .ip-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--ip-ink)}
.ip-page .ip-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.ip-page .ip-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--ip-paper);color:var(--ip-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ip-page .ip-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.ip-page .ip-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.ip-page .ip-project-caption p{font-size:13px;max-width:80ch;margin:0}
.ip-page .ip-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.ip-page .ip-project-card:hover .ip-project-image img{transform:scale(1.025)}
.ip-page .ip-project-card:hover .ip-project-caption>b{background:var(--ip-accent)}
.ip-page .ip-scope{background:var(--bone-2,#dedcd6)}
.ip-page .ip-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.ip-page .ip-scope-grid article{padding:28px;border-right:1px solid var(--line)}
.ip-page .ip-scope-grid article:first-child{padding-left:0}
.ip-page .ip-scope-grid article:last-child{padding-right:0;border-right:0}
.ip-page .ip-scope-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.ip-page .ip-scope-grid p{font-size:15px;line-height:1.7}
.ip-page .ip-scope-grid strong{display:block;font-size:13px;line-height:1.6;font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.ip-page .ip-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.ip-page .ip-type-grid article{padding:clamp(24px,3vw,42px);border:1px solid var(--line);background:var(--bone-3,#f2f1ed)}
.ip-page .ip-type-grid svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:24px;color:var(--teal-t)}
.ip-page .ip-type-grid h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:16px 0 20px;letter-spacing:-.025em}
.ip-page .ip-type-grid p{font-size:14px;line-height:1.7;margin-top:14px}
.ip-page .ip-budget{background:var(--ip-ink);color:var(--ip-paper)}
.ip-page .ip-budget :is(h2,h3,p,strong,dt,dd,.ip-number){color:inherit}
.ip-page .ip-budget .btn{margin-top:20px}
.ip-page .ip-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.ip-page .ip-budget-panel dl{margin:20px 0 0}
.ip-page .ip-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.ip-page .ip-budget-panel dt{font-size:15px;font-weight:500}
.ip-page .ip-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.ip-page .ip-process{background:var(--bone-2,#dedcd6)}
.ip-page .ip-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.ip-page .ip-steps li{padding-top:26px;position:relative}
.ip-page .ip-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--ip-accent)}
.ip-page .ip-steps li>span{font-size:11px;letter-spacing:.12em}
.ip-page .ip-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.ip-page .ip-steps p{font-size:14px;line-height:1.7}
.ip-page .ip-note{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 35px;padding:26px;border:1px solid var(--line);margin-top:32px}
.ip-page .ip-note strong{font-size:23px;font-weight:400;line-height:1.2}
.ip-page .ip-note p{font-size:14px;line-height:1.6;margin:0}
.ip-page .ip-note .ip-inline{grid-column:2;padding:4px 0}
.ip-page .ip-related{border-top:1px solid var(--line)}
.ip-page .ip-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.ip-page .ip-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.ip-page .ip-related-grid>a:hover{background:var(--bone-2)}
.ip-page .ip-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ip-page .ip-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.ip-page .ip-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.ip-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ip-page :is(#ip-explorador,#ip-precios){scroll-margin-top:110px}
@media(max-width:820px){.ip-page .ip-head{grid-template-columns:1fr;gap:16px}.ip-page .ip-head>p{margin-top:0}.ip-page .ip-head h2{margin-bottom:16px}.ip-page .ip-project-image{aspect-ratio:4/3}.ip-page .ip-project-image>span{top:12px;left:12px;font-size:9px}.ip-page .ip-project-caption{gap:16px;align-items:flex-start}.ip-page .ip-project-caption>b{flex-basis:42px;height:42px;font-size:20px}.ip-page .ip-scope-grid,.ip-page .ip-type-grid,.ip-page .ip-related-grid{grid-template-columns:1fr}.ip-page .ip-scope-grid{margin-top:20px}.ip-page .ip-scope-grid article,.ip-page .ip-scope-grid article:first-child,.ip-page .ip-scope-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.ip-page .ip-scope-grid h3{margin-top:12px}.ip-page .ip-related-grid>a{margin:0 0 -1px}.ip-page .ip-steps{grid-template-columns:1fr;gap:0;border-top:0}.ip-page .ip-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.ip-page .ip-steps li:before{left:-5px;top:24px}.ip-page .ip-steps h3{margin-top:10px}.ip-page .ip-note{grid-template-columns:1fr}.ip-page .ip-note .ip-inline{grid-column:auto}}
@media(max-width:540px){.ip-page .ip-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.ip-page .ip-project-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ip-page :is(.ip-project-image img,.ip-project-caption>b,.ip-related-grid>a){transition:none}.ip-page .ip-project-card:hover .ip-project-image img{transform:none}}
/* tramuntana:impermeabilizaciones-design-v1-end */


/* tramuntana:impermeabilizaciones-tool-css-v1-start */
.ip-page .ip-tool{background:var(--bone-3,#f2f1ed)}
.ip-page .ip-planner{display:grid;grid-template-columns:1fr 1.2fr;border:1px solid var(--line);margin-top:32px}
.ip-page .ip-controls,.ip-page .ip-observe{padding:clamp(22px,3vw,42px);min-width:0}
.ip-page .ip-controls{border-right:1px solid var(--line)}
.ip-page .ip-controls h3,.ip-page .ip-observe legend{font-size:20px;line-height:1.3;font-weight:400;margin:0 0 24px;letter-spacing:-.02em}
.ip-page .ip-controls>label{display:block;font-size:14px;margin:22px 0 9px;font-weight:500}
.ip-page .ip-controls :is(select,input){font:inherit;font-size:16px;color:var(--ip-ink);background:var(--ip-paper);width:100%;min-width:0;max-width:100%;border:1px solid #98988f;border-radius:0;min-height:48px;padding:11px 12px}
.ip-page .ip-controls small,.ip-page .ip-summary-panel>small{display:block;font-size:12px;line-height:1.6;margin-top:10px}
.ip-page .ip-controls [aria-invalid=true]{border:2px solid #783c30}
.ip-page .ip-observe{border:0;margin:0}
.ip-page .ip-observe legend{float:left;width:100%;padding:0}
.ip-page .ip-observe>p{clear:both;font-size:13px;line-height:1.6;margin:0}
.ip-page .ip-map{width:100%;max-width:520px;margin:8px auto}
.ip-page .ip-map svg{display:block;width:100%;height:auto;color:var(--ip-ink)}
.ip-page .ip-map circle{fill:var(--ip-paper);stroke:var(--ip-ink);stroke-width:1.5;transition:fill .2s}
.ip-page .ip-map text{font-size:20px;fill:var(--ip-ink);text-anchor:middle}
.ip-page .ip-map .is-selected circle{fill:var(--teal-t,#42646b);stroke:var(--teal-t,#42646b)}
.ip-page .ip-map .is-selected text{fill:#fff}
.ip-page .ip-observation-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ip-page .ip-observation-list>label{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);padding:12px;cursor:pointer;min-width:0}
.ip-page .ip-observation-list input{width:19px;height:19px;flex:0 0 19px;accent-color:var(--teal-t,#42646b);margin:2px 0}
.ip-page .ip-observation-list b{font-size:13px;font-weight:500;display:block;line-height:1.5}
.ip-page .ip-observation-list small{font-size:11px;line-height:1.5;display:block;margin-top:4px}
.ip-page .ip-observation-list label:has(input:checked){background:var(--ip-paper);border-color:var(--teal-t,#42646b)}
.ip-page .ip-tool-actions{grid-column:1/-1;padding:24px 32px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.ip-page .ip-reset,.ip-page .ip-export button{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;padding:12px 4px;min-height:44px;cursor:pointer;font-size:13px}
.ip-page .ip-feedback{flex-basis:100%;margin:0;line-height:1.5;font-size:13px;min-height:1.5em}
.ip-page .ip-result{margin-top:28px;background:var(--ip-ink);color:var(--ip-paper);display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,54px);padding:clamp(24px,4vw,48px);scroll-margin-top:120px}
.ip-page .ip-result[hidden]{display:none}
.ip-page .ip-result>*{min-width:0}
.ip-page .ip-result h3{font-size:clamp(27px,2.8vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:inherit;margin:20px 0}
.ip-page .ip-result p,.ip-page .ip-result li{font-size:14px;line-height:1.7;color:inherit}
.ip-page .ip-result ul{padding-left:19px;margin:18px 0}
.ip-page .ip-result li+li{margin-top:12px}
.ip-page .ip-result .eyebrow{color:inherit;border-color:#ffffff60}
.ip-page .ip-summary-panel>label{display:block;font-size:14px;margin-bottom:12px}
.ip-page .ip-summary-panel textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:220px;resize:vertical;font:inherit;font-size:13px;line-height:1.55;padding:15px;background:var(--ip-paper);color:var(--ip-ink);border:1px solid #96968d;border-radius:0}
.ip-page .ip-export{display:flex;gap:25px;margin:10px 0 20px}
.ip-page .ip-summary-panel .btn{white-space:normal;text-align:center;line-height:1.6;max-width:100%}
@media(max-width:820px){.ip-page .ip-planner,.ip-page .ip-result{grid-template-columns:1fr}.ip-page .ip-controls{border-right:0;border-bottom:1px solid var(--line)}.ip-page .ip-observe{padding-top:28px}.ip-page .ip-tool-actions{padding:22px}.ip-page .ip-summary-panel textarea{min-height:200px}}
@media(max-width:420px){.ip-page .ip-observation-list{grid-template-columns:1fr}.ip-page .ip-tool-actions{align-items:stretch;flex-direction:column}.ip-page .ip-tool-actions .btn{white-space:normal;text-align:center}.ip-page .ip-reset{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.ip-page .ip-map circle{transition:none}}
@media(max-width:420px){.ip-page .ip-tool-actions{flex-wrap:nowrap}.ip-page .ip-feedback{flex-basis:auto;min-width:0;max-width:100%;overflow-wrap:anywhere}}
/* tramuntana:impermeabilizaciones-tool-css-v1-end */


/* tramuntana:humedades-landing-v1 */
/* tramuntana:humedades-design-v1-start */
.hu-page{--ip-paper:var(--bone,#e6e4df);--ip-ink:var(--coal,#35352f);--ip-accent:var(--teal,#7fa8ae);color:var(--ip-ink)}
.hu-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.hu-page .hu-hero-link{color:var(--ip-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.hu-page .hu-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.hu-page :is(.hu-head,.hu-scope-grid,.hu-type-grid,.hu-steps,.hu-related-grid)>*{min-width:0}
.hu-page .hu-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.hu-page .hu-head p{max-width:62ch;line-height:1.7}
.hu-page .hu-head>p{margin-top:38px}
.hu-page .hu-head>div>p+p{margin-top:16px}
.hu-page .hu-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.hu-page .hu-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.hu-page .hu-number{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#42646b)}
.hu-page .hu-intro{padding-bottom:clamp(25px,4vw,55px)}
.hu-page .hu-project{padding-top:clamp(25px,4vw,55px)}
.hu-page .hu-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.hu-page .hu-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--ip-ink)}
.hu-page .hu-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.hu-page .hu-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--ip-paper);color:var(--ip-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hu-page .hu-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.hu-page .hu-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.hu-page .hu-project-caption p{font-size:13px;max-width:80ch;margin:0}
.hu-page .hu-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.hu-page .hu-project-card:hover .hu-project-image img{transform:scale(1.025)}
.hu-page .hu-project-card:hover .hu-project-caption>b{background:var(--ip-accent)}
.hu-page .hu-scope{background:var(--bone-2,#dedcd6)}
.hu-page .hu-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.hu-page .hu-scope-grid article{padding:28px;border-right:1px solid var(--line)}
.hu-page .hu-scope-grid article:first-child{padding-left:0}
.hu-page .hu-scope-grid article:last-child{padding-right:0;border-right:0}
.hu-page .hu-scope-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.hu-page .hu-scope-grid p{font-size:15px;line-height:1.7}
.hu-page .hu-scope-grid strong{display:block;font-size:13px;line-height:1.6;font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.hu-page .hu-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.hu-page .hu-type-grid article{padding:clamp(24px,3vw,42px);border:1px solid var(--line);background:var(--bone-3,#f2f1ed)}
.hu-page .hu-type-grid svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:24px;color:var(--teal-t)}
.hu-page .hu-type-grid h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:16px 0 20px;letter-spacing:-.025em}
.hu-page .hu-type-grid p{font-size:14px;line-height:1.7;margin-top:14px}
.hu-page .hu-budget{background:var(--ip-ink);color:var(--ip-paper)}
.hu-page .hu-budget :is(h2,h3,p,strong,dt,dd,.hu-number){color:inherit}
.hu-page .hu-budget .btn{margin-top:20px}
.hu-page .hu-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.hu-page .hu-budget-panel dl{margin:20px 0 0}
.hu-page .hu-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.hu-page .hu-budget-panel dt{font-size:15px;font-weight:500}
.hu-page .hu-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.hu-page .hu-process{background:var(--bone-2,#dedcd6)}
.hu-page .hu-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.hu-page .hu-steps li{padding-top:26px;position:relative}
.hu-page .hu-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--ip-accent)}
.hu-page .hu-steps li>span{font-size:11px;letter-spacing:.12em}
.hu-page .hu-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.hu-page .hu-steps p{font-size:14px;line-height:1.7}
.hu-page .hu-note{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 35px;padding:26px;border:1px solid var(--line);margin-top:32px}
.hu-page .hu-note strong{font-size:23px;font-weight:400;line-height:1.2}
.hu-page .hu-note p{font-size:14px;line-height:1.6;margin:0}
.hu-page .hu-note .hu-inline{grid-column:2;padding:4px 0}
.hu-page .hu-related{border-top:1px solid var(--line)}
.hu-page .hu-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.hu-page .hu-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.hu-page .hu-related-grid>a:hover{background:var(--bone-2)}
.hu-page .hu-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.hu-page .hu-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.hu-page .hu-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.hu-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.hu-page :is(#ip-explorador,#ip-precios){scroll-margin-top:110px}
@media(max-width:820px){.hu-page .hu-head{grid-template-columns:1fr;gap:16px}.hu-page .hu-head>p{margin-top:0}.hu-page .hu-head h2{margin-bottom:16px}.hu-page .hu-project-image{aspect-ratio:4/3}.hu-page .hu-project-image>span{top:12px;left:12px;font-size:9px}.hu-page .hu-project-caption{gap:16px;align-items:flex-start}.hu-page .hu-project-caption>b{flex-basis:42px;height:42px;font-size:20px}.hu-page .hu-scope-grid,.hu-page .hu-type-grid,.hu-page .hu-related-grid{grid-template-columns:1fr}.hu-page .hu-scope-grid{margin-top:20px}.hu-page .hu-scope-grid article,.hu-page .hu-scope-grid article:first-child,.hu-page .hu-scope-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.hu-page .hu-scope-grid h3{margin-top:12px}.hu-page .hu-related-grid>a{margin:0 0 -1px}.hu-page .hu-steps{grid-template-columns:1fr;gap:0;border-top:0}.hu-page .hu-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.hu-page .hu-steps li:before{left:-5px;top:24px}.hu-page .hu-steps h3{margin-top:10px}.hu-page .hu-note{grid-template-columns:1fr}.hu-page .hu-note .hu-inline{grid-column:auto}}
@media(max-width:540px){.hu-page .hu-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.hu-page .hu-project-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hu-page :is(.hu-project-image img,.hu-project-caption>b,.hu-related-grid>a){transition:none}.hu-page .hu-project-card:hover .hu-project-image img{transform:none}}
/* tramuntana:humedades-design-v1-end */


/* tramuntana:humedades-tool-css-v1-start */
.hu-page .hu-tool{background:var(--bone-3,#f2f1ed)}
.hu-page .hu-calculator{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:36px;border:1px solid var(--line)}
.hu-page .hu-calculator>*{min-width:0;padding:clamp(24px,3.5vw,48px)}
.hu-page .hu-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px 20px}
.hu-page .hu-fields>div{min-width:0}.hu-page .hu-wide{grid-column:1/-1}
.hu-page .hu-fields label{display:block;font-size:14px;font-weight:500;margin-bottom:10px;line-height:1.5}.hu-page .hu-fields label span{font-weight:400}
.hu-page .hu-fields input{display:block;width:100%;box-sizing:border-box;min-height:52px;background:var(--bone,#e6e4df);color:var(--coal,#35352f);border:1px solid var(--line);border-radius:0;padding:12px 14px;font:inherit;font-size:18px}
.hu-page .hu-fields input::placeholder{font-size:14px;color:#595b57;opacity:1}.hu-page .hu-fields small{display:block;font-size:12px;line-height:1.6;margin-top:9px}.hu-page .hu-fields [aria-invalid=true]{outline:2px solid #8e332c}
.hu-page .hu-result{background:var(--coal,#35352f);color:var(--bone,#e6e4df)}.hu-page .hu-result :is(h3,p,dt,dd,.hu-number){color:inherit}
.hu-page .hu-result h3{font-size:clamp(25px,2.3vw,34px);font-weight:400;line-height:1.2;margin:22px 0 20px;letter-spacing:-.02em}.hu-page .hu-result p{font-size:14px;line-height:1.7;margin-top:15px}
.hu-page .hu-result .hu-dew{font-size:clamp(50px,5vw,78px);letter-spacing:-.05em;line-height:1.1;margin:22px 0}
.hu-page .hu-readings{margin:24px 0}.hu-page .hu-readings>div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #ffffff40;padding:13px 0;font-size:13px}.hu-page .hu-readings dd{margin:0;text-align:right}
.hu-page .hu-form-actions{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:26px}.hu-page .hu-form-actions .btn{white-space:normal;min-height:48px;text-align:center;line-height:1.6}
.hu-page .hu-text-button{border:0;border-bottom:1px solid currentColor;background:transparent;border-radius:0;color:inherit;font:inherit;font-size:13px;line-height:1.5;padding:10px 0;cursor:pointer}
.hu-page .hu-error{color:#842d28;font-size:14px;line-height:1.6;margin-top:20px}
.hu-page .hu-result-actions{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;border:1px solid var(--line);border-top:0;padding:24px}.hu-page .hu-result-actions .btn{white-space:normal;line-height:1.6;text-align:center;min-height:48px}.hu-page [data-hu-status]{font-size:12px}.hu-page [data-hu-copy-fallback]{width:100%}.hu-page #hu-summary{display:block;width:100%;box-sizing:border-box;margin-top:12px;color:inherit;background:var(--bone);padding:15px;font:inherit;font-size:13px}
.hu-page .hu-measure-help{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:20px 0}.hu-page .hu-measure-help summary{cursor:pointer;font-size:17px;line-height:1.5}.hu-page .hu-measure-help>div{max-width:85ch;padding-top:20px;font-size:14px;line-height:1.7}.hu-page .hu-measure-help p+p{margin-top:15px}.hu-page .hu-measure-help a{color:inherit;text-underline-offset:4px}
.hu-page [hidden]{display:none!important}.hu-page :is(#hu-calculadora,#hu-tipos,#hu-precios){scroll-margin-top:115px}
@media(max-width:820px){.hu-page .hu-calculator{grid-template-columns:1fr}.hu-page .hu-result{min-height:270px}.hu-page .hu-form-actions .btn{flex:1 0 100%}.hu-page .hu-result-actions{align-items:stretch;flex-direction:column;flex-wrap:nowrap}.hu-page .hu-result-actions .hu-text-button{align-self:flex-start}.hu-page [data-hu-status]{flex-basis:auto}}
@media(max-width:440px){.hu-page .hu-fields{grid-template-columns:1fr}.hu-page .hu-calculator>*{padding:22px}.hu-page .hu-result-actions{padding:22px}.hu-page .hu-readings>div{flex-direction:column;gap:5px}.hu-page .hu-readings dd{text-align:left}}
@media(prefers-reduced-motion:reduce){.hu-page .hu-tool *{scroll-behavior:auto}}
/* tramuntana:humedades-tool-css-v1-end */


/* tramuntana:humedades-project-429-mobile-v1 */
body.postid-429 .two.top>*{min-width:0}
body.postid-429 .content-wysiwyg a{white-space:normal;overflow-wrap:anywhere}
body.postid-429 .fic li>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:820px){body.postid-429 .two.top{grid-template-columns:minmax(0,1fr)}body.postid-429 .fic li{flex-wrap:wrap;gap:8px 18px}}


/* tramuntana:termico-landing-v1 */
/* tramuntana:termico-design-v1-start */
.th-page{--ip-paper:var(--bone,#e6e4df);--ip-ink:var(--coal,#35352f);--ip-accent:var(--teal,#7fa8ae);color:var(--ip-ink)}
.th-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.th-page .th-hero-link{color:var(--ip-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.th-page .th-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.th-page :is(.th-head,.th-scope-grid,.th-type-grid,.th-steps,.th-related-grid)>*{min-width:0}
.th-page .th-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.th-page .th-head p{max-width:62ch;line-height:1.7}
.th-page .th-head>p{margin-top:38px}
.th-page .th-head>div>p+p{margin-top:16px}
.th-page .th-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.th-page .th-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.th-page .th-number{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#42646b)}
.th-page .th-intro{padding-bottom:clamp(25px,4vw,55px)}
.th-page .th-project{padding-top:clamp(25px,4vw,55px)}
.th-page .th-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.th-page .th-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--ip-ink)}
.th-page .th-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.th-page .th-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--ip-paper);color:var(--ip-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.th-page .th-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.th-page .th-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.th-page .th-project-caption p{font-size:13px;max-width:80ch;margin:0}
.th-page .th-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.th-page .th-project-card:hover .th-project-image img{transform:scale(1.025)}
.th-page .th-project-card:hover .th-project-caption>b{background:var(--ip-accent)}
.th-page .th-scope{background:var(--bone-2,#dedcd6)}
.th-page .th-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.th-page .th-scope-grid article{padding:28px;border-right:1px solid var(--line)}
.th-page .th-scope-grid article:first-child{padding-left:0}
.th-page .th-scope-grid article:last-child{padding-right:0;border-right:0}
.th-page .th-scope-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.th-page .th-scope-grid p{font-size:15px;line-height:1.7}
.th-page .th-scope-grid strong{display:block;font-size:13px;line-height:1.6;font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.th-page .th-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.th-page .th-type-grid article{padding:clamp(24px,3vw,42px);border:1px solid var(--line);background:var(--bone-3,#f2f1ed)}
.th-page .th-type-grid svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:24px;color:var(--teal-t)}
.th-page .th-type-grid h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:16px 0 20px;letter-spacing:-.025em}
.th-page .th-type-grid p{font-size:14px;line-height:1.7;margin-top:14px}
.th-page .th-budget{background:var(--ip-ink);color:var(--ip-paper)}
.th-page .th-budget :is(h2,h3,p,strong,dt,dd,.th-number){color:inherit}
.th-page .th-budget .btn{margin-top:20px}
.th-page .th-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.th-page .th-budget-panel dl{margin:20px 0 0}
.th-page .th-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.th-page .th-budget-panel dt{font-size:15px;font-weight:500}
.th-page .th-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.th-page .th-process{background:var(--bone-2,#dedcd6)}
.th-page .th-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.th-page .th-steps li{padding-top:26px;position:relative}
.th-page .th-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--ip-accent)}
.th-page .th-steps li>span{font-size:11px;letter-spacing:.12em}
.th-page .th-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.th-page .th-steps p{font-size:14px;line-height:1.7}
.th-page .th-note{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 35px;padding:26px;border:1px solid var(--line);margin-top:32px}
.th-page .th-note strong{font-size:23px;font-weight:400;line-height:1.2}
.th-page .th-note p{font-size:14px;line-height:1.6;margin:0}
.th-page .th-note .th-inline{grid-column:2;padding:4px 0}
.th-page .th-related{border-top:1px solid var(--line)}
.th-page .th-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.th-page .th-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.th-page .th-related-grid>a:hover{background:var(--bone-2)}
.th-page .th-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.th-page .th-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.th-page .th-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.th-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.th-page :is(#ip-explorador,#ip-precios){scroll-margin-top:110px}
@media(max-width:820px){.th-page .th-head{grid-template-columns:1fr;gap:16px}.th-page .th-head>p{margin-top:0}.th-page .th-head h2{margin-bottom:16px}.th-page .th-project-image{aspect-ratio:4/3}.th-page .th-project-image>span{top:12px;left:12px;font-size:9px}.th-page .th-project-caption{gap:16px;align-items:flex-start}.th-page .th-project-caption>b{flex-basis:42px;height:42px;font-size:20px}.th-page .th-scope-grid,.th-page .th-type-grid,.th-page .th-related-grid{grid-template-columns:1fr}.th-page .th-scope-grid{margin-top:20px}.th-page .th-scope-grid article,.th-page .th-scope-grid article:first-child,.th-page .th-scope-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.th-page .th-scope-grid h3{margin-top:12px}.th-page .th-related-grid>a{margin:0 0 -1px}.th-page .th-steps{grid-template-columns:1fr;gap:0;border-top:0}.th-page .th-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.th-page .th-steps li:before{left:-5px;top:24px}.th-page .th-steps h3{margin-top:10px}.th-page .th-note{grid-template-columns:1fr}.th-page .th-note .th-inline{grid-column:auto}}
@media(max-width:540px){.th-page .th-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.th-page .th-project-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.th-page :is(.th-project-image img,.th-project-caption>b,.th-related-grid>a){transition:none}.th-page .th-project-card:hover .th-project-image img{transform:none}}
/* tramuntana:termico-design-v1-end */


/* tramuntana:termico-tool-css-v1-start */
.th-page .th-space{background:var(--bone-3,#f2f1ed);scroll-margin-top:100px}
.th-page .th-tool-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);margin-top:34px;align-items:start}
.th-page [data-th-tool] [hidden]{display:none!important}
.th-page .th-tool-layout>*{min-width:0}
.th-page .th-tool-layout fieldset{border:0;border-top:1px solid var(--line);padding:24px 0;margin:0}
.th-page .th-tool-layout legend{font-size:18px;padding:0 12px 0 0;letter-spacing:-.01em}
.th-page .th-tool-layout fieldset p{font-size:12px;line-height:1.6;margin:12px 0 0}
.th-page .th-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.th-page .th-fields>div{min-width:0}
.th-page .th-fields label,.th-page [data-th-summary-panel] label{display:block;font-size:13px;margin:0 0 9px}
.th-page .th-fields input{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:18px;color:var(--coal);background:var(--bone);border:1px solid var(--line);border-radius:0;padding:13px 14px}
.th-page .th-fields input[aria-invalid=true]{border:2px solid var(--coal)}
.th-page .th-wall-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
.th-page .th-wall-options label{display:flex;align-items:center;gap:10px;font-size:13px;min-height:48px;padding:9px 12px;border:1px solid var(--line);cursor:pointer;box-sizing:border-box}
.th-page .th-wall-options label:has(:checked){background:var(--bone);border-color:var(--teal-t)}
.th-page .th-wall-options input{accent-color:var(--teal-t);width:18px;height:18px;flex:0 0 18px}
.th-page .th-tool-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.th-page .th-tool-buttons .btn{white-space:normal;line-height:1.45;text-align:center;min-height:44px;cursor:pointer}
.th-page .th-tool-buttons .b-ghost{background:transparent;color:var(--coal);border:1px solid var(--line)}
.th-page .th-tool-result{background:var(--bone,#e6e4df);border:1px solid var(--line);padding:clamp(18px,3vw,34px)}
.th-page .th-tool-result h3{font-size:26px;line-height:1.2;font-weight:400;letter-spacing:-.02em;margin:24px 0 14px}
.th-page .th-tool-result p{font-size:13px;line-height:1.65}
.th-page .th-plan-empty{text-align:center;max-width:320px;margin:30px auto;color:var(--teal-t);font-size:12px}
.th-page .th-plan-empty>div{display:flex;align-items:center;gap:15px;margin:12px 0}
.th-page .th-plan-empty i{display:block;border:2px dashed var(--teal-t);background:var(--bone-3);width:100%;aspect-ratio:4/3}
.th-page .th-plan-switch{display:flex;gap:10px;flex-wrap:wrap}
.th-page .th-plan-switch button{flex:1;min-height:44px;border:1px solid var(--line);padding:10px;background:transparent;font:inherit;font-size:12px;color:var(--coal);cursor:pointer}
.th-page .th-plan-switch button[aria-pressed=true]{background:var(--coal);color:var(--bone)}
.th-page [data-th-drawing] svg{display:block;width:100%;height:auto;max-height:300px;margin:14px auto 0}
.th-page .th-plan-legend{display:flex;gap:8px;align-items:center;font-size:11px!important}
.th-page .th-plan-legend i{width:12px;height:12px;background:var(--teal-t);flex-shrink:0}
.th-page .th-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.th-page .th-comparison article{min-width:0;border:1px solid var(--line);padding:16px;background:var(--bone-3)}
.th-page .th-comparison article[data-active=true]{border:2px solid var(--teal-t);padding:15px}
.th-page .th-comparison h4{font-size:13px;line-height:1.5;margin:0 0 13px;font-weight:500}
.th-page .th-comparison strong{display:block;font-size:clamp(22px,2.3vw,32px);line-height:1.25;letter-spacing:-.03em;font-weight:400;overflow-wrap:anywhere}
.th-page .th-comparison span{display:block;font-size:11px;line-height:1.6;margin-top:8px}
.th-page .th-difference{padding:16px 0;border-bottom:1px solid var(--line)}
.th-page .th-tool-limit{font-size:11px!important}
.th-page .th-example-note{padding:10px;border-left:2px solid var(--teal-t)}
.th-page .th-tool-error{padding:12px;border-left:3px solid var(--coal);font-size:13px}
.th-page [data-th-summary-panel]{margin-top:20px}
.th-page #th-summary{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;font:inherit;font-size:12px;line-height:1.65;padding:12px;border:1px solid var(--line);background:var(--bone-3);color:var(--coal);resize:vertical}
.th-page [data-th-status]{overflow-wrap:anywhere;min-height:1.5em;margin:14px 0 0}
@media(max-width:1000px){.th-page .th-tool-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:440px){.th-page .th-wall-options{grid-template-columns:1fr}.th-page .th-comparison{gap:8px}.th-page .th-comparison article{padding:11px}.th-page .th-comparison article[data-active=true]{padding:10px}.th-page .th-comparison strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.th-page .th-tool-layout *{scroll-behavior:auto}}
/* tramuntana:termico-tool-css-v1-end */


/* tramuntana:termico-project-438-mobile-v1 */
body.postid-438 .two.top>*{min-width:0}
body.postid-438 .content-wysiwyg a{white-space:normal;overflow-wrap:anywhere}
body.postid-438 .fic li>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:820px){body.postid-438 .two.top{grid-template-columns:minmax(0,1fr)}body.postid-438 .fic li{flex-wrap:wrap;gap:8px 18px}}


/* tramuntana:acustico-landing-v1 */
/* tramuntana:acustico-design-v1-start */
.ac-page{--ip-paper:var(--bone,#e6e4df);--ip-ink:var(--coal,#35352f);--ip-accent:var(--teal,#7fa8ae);color:var(--ip-ink)}
.ac-page .hero .btns{margin:0;align-items:flex-start;flex-direction:column;gap:18px}
.ac-page .ac-hero-link{color:var(--ip-paper);font-size:13px;line-height:1.5;border-bottom:1px solid #ffffff60;text-decoration:none;padding:5px 0}
.ac-page .ac-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,76px);align-items:start}
.ac-page :is(.ac-head,.ac-scope-grid,.ac-type-grid,.ac-steps,.ac-related-grid)>*{min-width:0}
.ac-page .ac-head h2{margin:17px 0 25px;font-size:clamp(32px,3.25vw,50px);line-height:1.08;letter-spacing:-.035em}
.ac-page .ac-head p{max-width:62ch;line-height:1.7}
.ac-page .ac-head>p{margin-top:38px}
.ac-page .ac-head>div>p+p{margin-top:16px}
.ac-page .ac-inline{display:inline-flex;align-items:center;gap:14px;color:inherit;font-size:14px;line-height:1.5;padding:12px 0;text-underline-offset:5px}
.ac-page .ac-small{font-size:12px;line-height:1.65;margin:18px 0 0}
.ac-page .ac-number{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:var(--teal-t,#42646b)}
.ac-page .ac-intro{padding-bottom:clamp(25px,4vw,55px)}
.ac-page .ac-project{padding-top:clamp(25px,4vw,55px)}
.ac-page .ac-project-card{display:block;margin-top:26px;color:inherit;text-decoration:none}
.ac-page .ac-project-image{position:relative;overflow:hidden;aspect-ratio:2/1;background:var(--ip-ink)}
.ac-page .ac-project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .65s ease}
.ac-page .ac-project-image>span{position:absolute;top:22px;left:22px;padding:10px 13px;background:var(--ip-paper);color:var(--ip-ink);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ac-page .ac-project-caption{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 0;border-bottom:1px solid var(--line)}
.ac-page .ac-project-caption h3{font-size:clamp(24px,2.3vw,35px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}
.ac-page .ac-project-caption p{font-size:13px;max-width:80ch;margin:0}
.ac-page .ac-project-caption>b{flex:0 0 56px;height:56px;border:1px solid var(--line);display:grid;place-items:center;font-size:24px;font-weight:400;transition:background .2s}
.ac-page .ac-project-card:hover .ac-project-image img{transform:scale(1.025)}
.ac-page .ac-project-card:hover .ac-project-caption>b{background:var(--ip-accent)}
.ac-page .ac-scope{background:var(--bone-2,#dedcd6)}
.ac-page .ac-scope-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid var(--line)}
.ac-page .ac-scope-grid article{padding:28px;border-right:1px solid var(--line)}
.ac-page .ac-scope-grid article:first-child{padding-left:0}
.ac-page .ac-scope-grid article:last-child{padding-right:0;border-right:0}
.ac-page .ac-scope-grid h3{font-size:clamp(24px,2vw,30px);font-weight:400;line-height:1.16;margin:24px 0 16px;letter-spacing:-.02em}
.ac-page .ac-scope-grid p{font-size:15px;line-height:1.7}
.ac-page .ac-scope-grid strong{display:block;font-size:13px;line-height:1.6;font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
.ac-page .ac-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}
.ac-page .ac-type-grid article{padding:clamp(24px,3vw,42px);border:1px solid var(--line);background:var(--bone-3,#f2f1ed)}
.ac-page .ac-type-grid svg{display:block;width:100%;height:auto;max-height:180px;margin-bottom:24px;color:var(--teal-t)}
.ac-page .ac-type-grid h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:16px 0 20px;letter-spacing:-.025em}
.ac-page .ac-type-grid p{font-size:14px;line-height:1.7;margin-top:14px}
.ac-page .ac-budget{background:var(--ip-ink);color:var(--ip-paper)}
.ac-page .ac-budget :is(h2,h3,p,strong,dt,dd,.ac-number){color:inherit}
.ac-page .ac-budget .btn{margin-top:20px}
.ac-page .ac-budget-panel{border:1px solid #ffffff45;padding:clamp(24px,3vw,44px)}
.ac-page .ac-budget-panel dl{margin:20px 0 0}
.ac-page .ac-budget-panel dl>div{display:grid;grid-template-columns:1fr 1.65fr;gap:22px;padding:19px 0;border-top:1px solid #ffffff35}
.ac-page .ac-budget-panel dt{font-size:15px;font-weight:500}
.ac-page .ac-budget-panel dd{font-size:14px;line-height:1.6;margin:0}
.ac-page .ac-process{background:var(--bone-2,#dedcd6)}
.ac-page .ac-steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;border-top:1px solid var(--line);margin:36px 0 0;padding:0;gap:32px}
.ac-page .ac-steps li{padding-top:26px;position:relative}
.ac-page .ac-steps li:before{content:'';width:9px;height:9px;position:absolute;top:-5px;left:0;background:var(--ip-accent)}
.ac-page .ac-steps li>span{font-size:11px;letter-spacing:.12em}
.ac-page .ac-steps h3{font-size:24px;font-weight:400;line-height:1.2;margin:20px 0 14px;letter-spacing:-.02em}
.ac-page .ac-steps p{font-size:14px;line-height:1.7}
.ac-page .ac-note{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 35px;padding:26px;border:1px solid var(--line);margin-top:32px}
.ac-page .ac-note strong{font-size:23px;font-weight:400;line-height:1.2}
.ac-page .ac-note p{font-size:14px;line-height:1.6;margin:0}
.ac-page .ac-note .ac-inline{grid-column:2;padding:4px 0}
.ac-page .ac-related{border-top:1px solid var(--line)}
.ac-page .ac-related-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}
.ac-page .ac-related-grid>a{position:relative;display:block;border:1px solid var(--line);padding:26px 50px 26px 24px;margin-right:-1px;text-decoration:none;color:inherit;transition:background .2s}
.ac-page .ac-related-grid>a:hover{background:var(--bone-2)}
.ac-page .ac-related-grid span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ac-page .ac-related-grid h3{font-size:24px;line-height:1.2;font-weight:400;margin:18px 0 0}
.ac-page .ac-related-grid b{position:absolute;right:20px;top:23px;font-size:20px;font-weight:400}
.ac-page :is(a,button,input,select,summary,textarea):focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ac-page :is(#ip-explorador,#ip-precios){scroll-margin-top:110px}
@media(max-width:820px){.ac-page .ac-head{grid-template-columns:1fr;gap:16px}.ac-page .ac-head>p{margin-top:0}.ac-page .ac-head h2{margin-bottom:16px}.ac-page .ac-project-image{aspect-ratio:4/3}.ac-page .ac-project-image>span{top:12px;left:12px;font-size:9px}.ac-page .ac-project-caption{gap:16px;align-items:flex-start}.ac-page .ac-project-caption>b{flex-basis:42px;height:42px;font-size:20px}.ac-page .ac-scope-grid,.ac-page .ac-type-grid,.ac-page .ac-related-grid{grid-template-columns:1fr}.ac-page .ac-scope-grid{margin-top:20px}.ac-page .ac-scope-grid article,.ac-page .ac-scope-grid article:first-child,.ac-page .ac-scope-grid article:last-child{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}.ac-page .ac-scope-grid h3{margin-top:12px}.ac-page .ac-related-grid>a{margin:0 0 -1px}.ac-page .ac-steps{grid-template-columns:1fr;gap:0;border-top:0}.ac-page .ac-steps li{border-left:1px solid var(--line);padding:20px 0 20px 22px}.ac-page .ac-steps li:before{left:-5px;top:24px}.ac-page .ac-steps h3{margin-top:10px}.ac-page .ac-note{grid-template-columns:1fr}.ac-page .ac-note .ac-inline{grid-column:auto}}
@media(max-width:540px){.ac-page .ac-budget-panel dl>div{grid-template-columns:1fr;gap:8px}.ac-page .ac-project-caption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ac-page :is(.ac-project-image img,.ac-project-caption>b,.ac-related-grid>a){transition:none}.ac-page .ac-project-card:hover .ac-project-image img{transform:none}}
/* tramuntana:acustico-design-v1-end */


/* tramuntana:acustico-tool-css-v1-start */
.ac-page .ac-space{background:#f2f1ed;scroll-margin-top:110px}.ac-page .ac-tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,64px);align-items:start}.ac-page [hidden]{display:none!important}.ac-page [data-ac-form]>label{display:block;font-size:16px;margin:0 0 10px}.ac-page [data-ac-form]>select{margin-bottom:24px}.ac-page .ac-tool-layout input:not([type=checkbox]),.ac-page .ac-tool-layout select,.ac-page .ac-tool-layout textarea{width:100%;max-width:100%;min-width:0;padding:14px;border:1px solid #c7c7bf;border-radius:0;background:#e7e6e0;color:#35352f;font:inherit;font-size:16px;box-sizing:border-box}.ac-page .ac-tool-layout textarea{resize:vertical;overflow-wrap:anywhere}.ac-page .ac-tool-layout input[type=checkbox]{width:18px;height:18px;accent-color:#42646b;flex:0 0 auto}.ac-page .ac-tool-help{font-size:13px;line-height:1.6;margin:10px 0 20px}.ac-page .ac-measure-toggle{display:flex!important;gap:10px;align-items:flex-start;padding:17px;border-block:1px solid #ccccc4;cursor:pointer}.ac-page .ac-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ac-page .ac-dimensions label{display:block;font-size:13px;margin-bottom:7px}.ac-page .ac-tool-layout fieldset{border:0;border-top:1px solid #ccc;padding:18px 0;margin:20px 0 0;min-width:0}.ac-page .ac-tool-layout legend{padding-right:10px;font-size:15px}.ac-page .ac-surface-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ac-page .ac-surface-options label{display:flex;gap:8px;align-items:center;padding:12px;border:1px solid #d0d0c9;font-size:13px;cursor:pointer}.ac-page .ac-surface-options label:has(input:checked){background:#deded7;border-color:#42646b}.ac-page .ac-tool-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}.ac-page .ac-tool-buttons>*{white-space:normal;text-align:center;max-width:100%;min-height:44px}.ac-page .ac-tool-result{background:#e7e6e0;border:1px solid #c9c9c0;padding:clamp(18px,2.5vw,36px);min-width:0}.ac-page .ac-tool-result h3{font-size:clamp(23px,2.4vw,32px);line-height:1.12;margin:20px 0}.ac-page .ac-tool-result h4{font-size:17px;margin:23px 0 10px}.ac-page .ac-tool-result p,.ac-page .ac-tool-result li{font-size:14px;line-height:1.65}.ac-page .ac-priorities ol{padding-left:22px}.ac-page .ac-priorities li{padding:0 0 9px 5px}.ac-page .ac-priorities{border-top:1px solid #c3c3b9}.ac-page .ac-room-skeleton{min-height:180px;margin:22px 0;display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed #42646b;background:#f2f1ed;padding:20px;font-size:16px}.ac-page [data-ac-plan] svg{width:100%;height:auto;display:block}.ac-page [data-ac-areas] div{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #c3c3b9;padding:9px 0;font-size:14px}.ac-page [data-ac-areas] dd{margin:0;flex-shrink:0}.ac-page .ac-example-note{border-left:2px solid #42646b;padding:8px 0 8px 12px}.ac-page .ac-tool-error{padding:14px;background:#e3dfd5;border-left:3px solid #35352f;color:#35352f}.ac-page .ac-tool-limit{border-top:1px solid #c3c3b9;padding-top:18px;margin-top:22px;font-size:12px!important}.ac-page #ac-summary-panel{margin-top:20px}.ac-page #ac-summary-panel label{display:block;margin:0 0 8px;font-size:13px}.ac-page .ac-tool-layout :is(input,select,button,a,textarea):focus-visible{outline:2px solid #42646b;outline-offset:3px}.ac-page [aria-invalid=true]{border:2px solid #35352f!important}.ac-page [data-ac-output]{scroll-margin-top:130px}.ac-page [data-ac-status]{margin-top:15px}
@media(max-width:1000px){.ac-page .ac-tool-layout{grid-template-columns:1fr}}
@media(max-width:440px){.ac-page .ac-surface-options{grid-template-columns:1fr}.ac-page .ac-dimensions{gap:8px}.ac-page .ac-tool-layout input:not([type=checkbox]){padding:12px 8px}.ac-page .ac-tool-buttons>*{flex:1 1 180px}.ac-page .ac-tool-result{padding:18px}}
@media(prefers-reduced-motion:reduce){.ac-page .ac-space *{scroll-behavior:auto!important;transition:none!important}}
/* tramuntana:acustico-tool-css-v1-end */


/* tramuntana:acustico-project-444-mobile-v1 */
body.postid-444 .two.top>*{min-width:0}
body.postid-444 .content-wysiwyg a{white-space:normal;overflow-wrap:anywhere}
body.postid-444 .fic li>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:820px){body.postid-444 .two.top{grid-template-columns:minmax(0,1fr)}body.postid-444 .fic li{flex-wrap:wrap;gap:8px 18px}}

/* TRAMUNTANA_MENU_RESPONSIVE_20260928: preserve the grid without intrinsic overflow. */
#ov .ov-body{min-width:0;width:100%;box-sizing:border-box}
#ov .ov-col{min-width:0}
#ov .ov-col a{overflow-wrap:anywhere}
#ov{grid-template-columns:minmax(0,1fr)}
#ov .ov-top,#ov .ov-foot{min-width:0}
@media(max-width:380px){
  #ov .ov-top{gap:12px}
  #ov .ov-top .logo{min-width:0;max-width:140px}
  #ov .ov-top .logo img{width:100%;height:auto}
  #ov .ov-foot{flex-wrap:wrap;gap:12px}
  #ov .ov-foot .hd-sp{display:none}
  .hd .hd-in{gap:12px}
  .hd .logo{min-width:0;max-width:140px}
  .hd .logo img{width:100%;height:auto}
  .hd .hd-sp{display:none}
}


/* tramuntana:rpi-oct01-styles-start */
/* tramuntana:rehabilitacion-piscinas-css-v1-start */
/* The shared service frame owns the hero, typography, buttons and final CTA. */
.servicio-html .rpi-page{--rpi-ink:var(--ink,#1d1d1b);--rpi-paper:var(--bone-3,#f2f1ed);--rpi-line:var(--line,rgba(29,29,27,.18));--rpi-accent:var(--teal-t,#42646b);--rpi-water:#abc7cb;--rpi-sand:#ddd6c9;color:var(--rpi-ink);min-width:0}
.servicio-html .rpi-page *,.servicio-html .rpi-page *::before,.servicio-html .rpi-page *::after{box-sizing:border-box}
.servicio-html .rpi-page [hidden]{display:none!important}
.servicio-html .rpi-page [id]{scroll-margin-top:110px}
.servicio-html .rpi-page :is(h1,h2,h3,p,li,dt,dd){overflow-wrap:break-word}
.servicio-html .rpi-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--rpi-accent);outline-offset:4px}
.servicio-html .rpi-page :is(.hero,.cta) :focus-visible{outline-color:var(--teal-l,#a9c6cc)}
.servicio-html .rpi-page .btn{min-height:46px;max-width:100%;white-space:normal;text-align:center}
.servicio-html .rpi-page .rpi-hero-note{position:absolute;top:22px;right:22px;z-index:2;background:rgba(29,29,27,.72);color:#fff;font-size:11px;letter-spacing:.04em;padding:7px 10px}
.servicio-html .rpi-page .rpi-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,6vw,90px);align-items:end;margin-bottom:38px}
.servicio-html .rpi-page .rpi-head h2{margin:14px 0 0;max-width:22ch}
.servicio-html .rpi-page .rpi-head p{margin:0;max-width:60ch;font-size:15px;line-height:1.7}
.servicio-html .rpi-page .rpi-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,6vw,90px);align-items:start}
.servicio-html .rpi-page .rpi-two h2{margin:14px 0 24px}
.servicio-html .rpi-page .rpi-two p{font-size:15px;line-height:1.75;margin:0 0 20px;max-width:65ch}
.servicio-html .rpi-page .rpi-intro{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);align-items:center}
.servicio-html .rpi-page .rpi-reference{margin:0;min-width:0}
.servicio-html .rpi-page .rpi-reference img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%}
.servicio-html .rpi-page .rpi-reference figcaption{font-size:11px;line-height:1.6;color:#555650;margin-top:13px;max-width:64ch}
.servicio-html .rpi-page .rpi-copy h2{margin:14px 0 24px}
.servicio-html .rpi-page .rpi-copy p{font-size:15px;line-height:1.75;margin:0 0 20px;max-width:60ch}
.servicio-html .rpi-page .rpi-text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--rpi-accent);text-decoration:underline;text-underline-offset:5px;font-size:14px;line-height:1.55;padding:8px 0}
.servicio-html .rpi-page .rpi-scope-list{margin:0;border-top:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-scope-list>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(25px,5vw,80px);padding:29px 0;border-bottom:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-scope-list dt{display:flex;flex-direction:column;gap:12px;margin:0}
.servicio-html .rpi-page .rpi-scope-list dt span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--rpi-accent)}
.servicio-html .rpi-page .rpi-scope-list dt b{font-size:clamp(23px,2.7vw,35px);font-weight:350;line-height:1.2}
.servicio-html .rpi-page .rpi-scope-list dd{margin:0;font-size:15px;line-height:1.75;max-width:65ch}
.servicio-html .rpi-page .rpi-tool,.servicio-html .rpi-page .rpi-budget{background:var(--rpi-paper)}
.servicio-html .rpi-page .rpi-tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,5vw,70px);align-items:start}
.servicio-html .rpi-page .rpi-tool :is(form,fieldset,.rpi-output){min-width:0}
.servicio-html .rpi-page .rpi-tool fieldset{padding:22px 0;margin:0;border:0;border-top:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-tool legend{font-size:16px;font-weight:500;padding:0 12px 0 0}
.servicio-html .rpi-page .rpi-tool label{display:block;font-size:13px;font-weight:500;line-height:1.5;margin:14px 0 7px}
.servicio-html .rpi-page .rpi-tool :is(input[type=text],select,textarea){display:block;width:100%;min-width:0;min-height:46px;border:1px solid var(--rpi-line);border-radius:0;background:#fff;color:var(--rpi-ink);font:inherit;font-size:16px;line-height:1.5;padding:11px 12px}
.servicio-html .rpi-page .rpi-tool textarea{resize:vertical}
.servicio-html .rpi-page .rpi-tool input[aria-invalid=true]{border-color:#a33225}
.servicio-html .rpi-page .rpi-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.servicio-html .rpi-page .rpi-tool .rpi-help{font-size:12px;line-height:1.65;color:#555650;margin:10px 0 18px}
.servicio-html .rpi-page .rpi-checks{display:grid;gap:0;margin-top:6px}
.servicio-html .rpi-page .rpi-checks label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-weight:400;font-size:14px}
.servicio-html .rpi-page .rpi-checks input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--rpi-accent)}
.servicio-html .rpi-page .rpi-error{display:block;color:#922c20;font-size:12px;line-height:1.5;margin:6px 0 0}
.servicio-html .rpi-page .rpi-error:empty,.servicio-html .rpi-page .rpi-status:empty{display:none}
.servicio-html .rpi-page .rpi-form-actions,.servicio-html .rpi-page .rpi-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.servicio-html .rpi-page .rpi-text-button{min-height:44px;padding:10px 4px;border:0;background:transparent;color:var(--rpi-accent);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.servicio-html .rpi-page .rpi-diagram{margin:0 0 25px}
.servicio-html .rpi-page .rpi-diagram svg{display:block;width:100%;height:auto;color:var(--rpi-accent);font-size:17px}
.servicio-html .rpi-page .rpi-diagram text{fill:currentColor}
.servicio-html .rpi-page .rpi-diagram .rpi-diagram-small{font-size:14px}
.servicio-html .rpi-page .rpi-diagram figcaption{font-size:12px;line-height:1.65;color:#555650;margin-top:14px}
.servicio-html .rpi-page .rpi-output{padding:clamp(20px,3vw,34px);border:1px solid var(--rpi-line);background:rgba(255,255,255,.5)}
.servicio-html .rpi-page .rpi-output h3{font-size:clamp(25px,3vw,35px);font-weight:350;line-height:1.2;margin:0 0 18px}
.servicio-html .rpi-page .rpi-empty p,.servicio-html .rpi-page .rpi-fallback p{font-size:14px;line-height:1.7}
.servicio-html .rpi-page .rpi-totals{margin:20px 0}
.servicio-html .rpi-page .rpi-totals>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-totals dt{font-size:13px;line-height:1.5}
.servicio-html .rpi-page .rpi-totals dd{font-size:18px;font-weight:400;line-height:1.4;text-align:right;margin:0}
.servicio-html .rpi-page .rpi-totals .rpi-total{display:block;border-top:1px solid var(--rpi-line);padding:22px 0}
.servicio-html .rpi-page .rpi-total dd{font-size:clamp(30px,4vw,48px);line-height:1.15;font-weight:350;letter-spacing:-.025em;text-align:left;margin-top:12px}
.servicio-html .rpi-page .rpi-actions{margin-top:20px}
.servicio-html .rpi-page .rpi-actions [data-rpi-contact]{width:100%}
.servicio-html .rpi-page .rpi-status{font-size:13px;line-height:1.65;color:var(--rpi-accent);margin:20px 0 5px}
.servicio-html .rpi-page .rpi-method{margin-top:38px;border-block:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-method summary{min-height:50px;cursor:pointer;font-size:14px;line-height:1.6;padding:16px 0}
.servicio-html .rpi-page .rpi-method>div{max-width:90ch;padding-bottom:15px}
.servicio-html .rpi-page .rpi-method p{font-size:13px;line-height:1.75;margin:0 0 15px}
.servicio-html .rpi-page .rpi-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-steps li{min-width:0;padding:25px 24px;border-right:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-steps li:first-child{padding-left:0}
.servicio-html .rpi-page .rpi-steps li:last-child{padding-right:0;border-right:0}
.servicio-html .rpi-page .rpi-steps>li>span{display:block;font-size:12px;color:var(--rpi-accent);letter-spacing:.1em}
.servicio-html .rpi-page .rpi-steps h3{font-size:clamp(24px,2.4vw,35px);line-height:1.15;font-weight:350;margin:28px 0 15px}
.servicio-html .rpi-page .rpi-steps p{font-size:14px;line-height:1.65;margin:0}
.servicio-html .rpi-page .rpi-budget-list{margin:0;border-top:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-budget-list>div{padding:22px 0;border-bottom:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-budget-list dt{font-size:15px;font-weight:500;margin-bottom:9px}
.servicio-html .rpi-page .rpi-budget-list dd{font-size:14px;line-height:1.7;margin:0}
.servicio-html .rpi-page .rpi-related{background:var(--bone-2,#dedcd6)}
.servicio-html .rpi-page .rpi-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;border-top:1px solid var(--rpi-line)}
.servicio-html .rpi-page .rpi-related-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;font-size:15px;line-height:1.55;color:var(--rpi-ink);text-decoration:underline;text-underline-offset:5px;padding:18px 0}
@media(max-width:1100px){.servicio-html .rpi-page .rpi-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.servicio-html .rpi-page .rpi-steps li:nth-child(odd){padding-left:0}.servicio-html .rpi-page .rpi-steps li:nth-child(even){border-right:0}.servicio-html .rpi-page .rpi-steps li:nth-child(n+3){border-top:1px solid var(--rpi-line)}}
@media(max-width:820px){.servicio-html .rpi-page [id]{scroll-margin-top:95px}.servicio-html .rpi-page .rpi-head,.servicio-html .rpi-page .rpi-two,.servicio-html .rpi-page .rpi-tool-grid,.servicio-html .rpi-page .rpi-intro{grid-template-columns:1fr;gap:30px}.servicio-html .rpi-page .rpi-reference img{aspect-ratio:3/2}.servicio-html .rpi-page .rpi-scope-list>div{grid-template-columns:1fr;gap:18px}.servicio-html .rpi-page .rpi-related-links{grid-template-columns:1fr;gap:0}.servicio-html .rpi-page .rpi-related-links a+a{border-top:1px solid var(--rpi-line)}}
@media(max-width:520px){.servicio-html .rpi-page .rpi-pair,.servicio-html .rpi-page .rpi-steps{grid-template-columns:1fr}.servicio-html .rpi-page .rpi-steps li,.servicio-html .rpi-page .rpi-steps li:nth-child(n+3){padding:23px 0;border-right:0;border-top:1px solid var(--rpi-line)}.servicio-html .rpi-page .rpi-steps li:first-child{border-top:0}.servicio-html .rpi-page .rpi-steps h3{margin-top:16px}.servicio-html .rpi-page .rpi-actions{flex-direction:column;align-items:stretch}.servicio-html .rpi-page .rpi-hero-note{top:14px;right:14px}.servicio-html .rpi-page .rpi-totals>div{gap:12px}.servicio-html .rpi-page .rpi-totals dd{font-size:16px}.servicio-html .rpi-page .rpi-totals .rpi-total dd{font-size:36px}}
@media(prefers-reduced-motion:reduce){.servicio-html .rpi-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* tramuntana:rehabilitacion-piscinas-css-v1-end */

/* tramuntana:rpi-oct01-styles-end */


/* =========================================================
   VIDEO DEL PROYECTO EN LA GALERIA DE OBRA
   =========================================================
   Un video vertical (9:16) abre la galeria: columna de 4 a la izquierda con
   el alto de dos filas y dos fotos apiladas a la derecha (.pj-junto).

   El alto lo manda el video, no las fotos: el video tiene aspect-ratio 9/16
   y las dos fotos se reparten su alto. Por eso aqui las fotos van con la
   imagen en absoluto; si no, su alto natural empujaria las filas y el video
   se recortaria. Asi el video sale entero a cualquier ancho. */
.pj-galeria .pj-video{
  grid-column:span 4;grid-row:span 2;position:relative;margin:0;overflow:hidden;
  aspect-ratio:9/16;background:var(--coal);
}
.pj-galeria .pj-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pj-galeria .pj-junto{height:auto;min-height:0}
.pj-galeria .pj-junto img{position:absolute;inset:0}
/* Con una sola foto al lado, esa foto ocupa las dos filas. */
.pj-galeria.junto-1 .pj-junto{grid-row:span 2}
/* Sin fotos: el video solo, centrado, con el mismo ancho que tendria al lado
   de las fotos. */
.pj-galeria.junto-0 .pj-video{grid-column:5 / span 4}

/* Controles propios. Solo aparecen cuando fx.js ha tomado el video (.js);
   sin JavaScript se quedan los controles del navegador. */
.pj-video-ctl{
  position:absolute;z-index:2;right:clamp(12px,1.4vw,20px);bottom:clamp(12px,1.4vw,20px);
  display:flex;gap:8px;
}
.pj-video:not(.js) .pj-video-ctl{display:none}
.pj-video-ctl button{
  width:42px;height:42px;padding:0;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;color:#fff;
  background:rgba(20,20,18,.42);border:1px solid rgba(255,255,255,.42);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .25s,border-color .25s;
}
.pj-video-ctl button:hover{background:rgba(20,20,18,.66);border-color:#fff}
.pj-video-ctl button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.pj-video-ctl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pj-video-ctl .i-play path{fill:currentColor;stroke:none}
/* Que icono se ve segun el estado. */
.pj-video .i-play,.pj-video .i-son{display:none}
.pj-video.pausado .i-play{display:block}
.pj-video.pausado .i-pausa{display:none}
.pj-video.con-sonido .i-son{display:block}
.pj-video.con-sonido .i-mudo{display:none}

/* Tableta: el mosaico pasa a 6 columnas. El video y las dos fotos se quedan
   a medias, que es el mismo dibujo en pequeno. */
@media(min-width:701px) and (max-width:860px){
  .pj-galeria .pj-video,.pj-galeria .pj-junto{grid-column:span 3}
  .pj-galeria.junto-0 .pj-video{grid-column:2 / span 4}
}

/* Movil: una sola columna. El video va a todo el ancho pero sin pasar del
   alto de la pantalla, y las dos fotos vuelven a ser fotos normales. */
@media(max-width:700px){
  .pj-galeria .pj-video,.pj-galeria.junto-0 .pj-video{grid-column:auto;grid-row:auto;aspect-ratio:auto;height:min(85svh,177.78vw)}
  .pj-galeria .pj-junto,.pj-galeria.junto-1 .pj-junto{grid-row:auto;height:clamp(330px,38vw,600px)}
  .pj-galeria .pj-junto img{position:static}
}


/* =========================================================
   CONTACTO · desplegable y casilla de privacidad (oct 2026)
   ========================================================= */
/* La flecha del desplegable se repetia por todo el campo: sin no-repeat el
   SVG de 11x7 llenaba el fondo como un zigzag. */
.fcto .wpforms-container .wpforms-field-select select,
.fcto .wpforms-container .wpforms-field-select select:focus{
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:11px 7px !important;
  padding-left:12px !important;padding-right:38px !important;
  cursor:pointer;
}
/* Casilla de la politica de privacidad. El tema quita la apariencia nativa
   de los checkbox; aqui se dibuja una caja visible con su marca. */
.fcto .wpforms-field-gdpr-checkbox ul{margin:0;padding:0;list-style:none}
.fcto .wpforms-field-gdpr-checkbox li{display:flex !important;align-items:flex-start;gap:10px;margin:0 !important}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]{
  -webkit-appearance:none;appearance:none;flex:0 0 18px;width:18px !important;height:18px !important;
  margin:1px 0 0 !important;border:1px solid #969c90 !important;border-radius:0;background:#fff;
  display:grid;place-content:center;cursor:pointer;position:static !important;opacity:1 !important;
}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]::before{
  content:"";width:10px;height:6px;border:solid #fff;border-width:0 0 2px 2px;
  transform:rotate(-45deg) translate(1px,-1px);opacity:0;
}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]:checked{background:var(--ink);border-color:var(--ink) !important}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]:checked::before{opacity:1}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.fcto .wpforms-field-gdpr-checkbox li label{display:block !important;margin:0 !important;padding:0 !important;font-size:14px !important;line-height:1.45;cursor:pointer}
.fcto .wpforms-field-gdpr-checkbox li label a{text-decoration:underline;text-underline-offset:3px}
.fcto .wpforms-field-gdpr-checkbox .wpforms-field-description{margin-top:10px;font-size:12px;line-height:1.5;color:var(--mute)}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]::after{content:none !important;display:none !important}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]::before{position:static !important;left:auto !important;top:auto !important;border-radius:0 !important;border-color:#fff !important;border-style:solid !important;border-width:0 0 2px 2px !important;width:10px !important;height:6px !important;background:none !important;box-shadow:none !important;margin:0 !important}
.fcto .wpforms-field-gdpr-checkbox input[type=checkbox]:checked{background:var(--ink) !important;border-color:var(--ink) !important}
