/* EsLow · eslow.css · V5 · 08/10/2026
   Escala B (contenida). Texto y letra pequeña a 400; titulares y entradilla a 300. Una sola etiqueta mono: 12 px. */
:root{
  --papel:#eeeae4; --papel2:#e4dfd7; --tinta:#0e0c28; --gris:#4a4860; --linea:#c9c4c4;
  --noche:#0e0c28; --claro:#e6f9ff; --cian:#80e5ff; --gris-noche:#b9c8d6; --magenta:#ff2bd6;
  /* Regla de Señal (09/10): en claro, texto e iconos de color en sus versiones para leer */
  --cian-tinta:#006b80; --magenta-tinta:#b8009a;
  --t-h1: clamp(40px, 4.2vw, 52px); /* 09/10: H1 40→52 (Gabi) */
  --t-h2: clamp(30px, 3.4vw, 40px);
  --t-h3: clamp(22px, 2vw, 24px);
  --t-lead: clamp(18px, 1.6vw, 20px);
  --t-body: clamp(16px, 1.3vw, 17px);
  --t-small: 14px;
  --t-btn: 15px;
  --t-mono: 12px;
}
.mono{font-size:var(--t-mono)}

/* Cabecera · menú A «Ordenado» */
.hd{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0 20px;border-bottom:1px solid var(--linea)}
.hd .nav-full{display:flex;align-items:center;gap:4px 26px;font-size:var(--t-btn);font-weight:400}
.hd .nav-full a{text-decoration:none;padding:12px 0}
.hd .nav-full a[aria-current="page"]{border-bottom:2px solid var(--tinta);padding-bottom:10px}
.hd .sep{width:1px;height:20px;background:var(--linea);flex:none}
.hd .lang{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);white-space:nowrap}
.hd .lang a{text-decoration:none;padding:12px 2px;color:var(--gris)}
.hd .lang a[aria-current="true"]{color:var(--tinta)}
.hd .hbtn{text-decoration:none;padding:10px 14px !important;background:var(--tinta);color:var(--papel) !important;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:background .2s,color .2s}
.hd .hbtn:hover{background:var(--magenta);color:var(--tinta) !important}
.nav-mob{display:none}
.nav-mob summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--tinta);border-radius:2px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.nav-mob summary::-webkit-details-marker{display:none}
.nav-mob .bars{display:flex;flex-direction:column;gap:3px}.nav-mob .bars i{display:block;height:2px;background:var(--tinta)}
.nav-mob .x{display:none;font-size:15px;line-height:1}
.nav-mob[open] .bars,.nav-mob[open] .l-open{display:none}
.nav-mob .l-close{display:none}
.nav-mob[open] .x,.nav-mob[open] .l-close{display:inline}
.nav-mob .panel{position:absolute;z-index:30;top:100%;left:-20px;right:-20px;min-height:calc(100vh - 100%);min-height:calc(100dvh - 92px);box-sizing:border-box;background:var(--papel);padding:8px 20px 32px;display:flex;flex-direction:column;border-top:1px solid var(--linea);box-shadow:0 24px 32px -24px rgba(14,12,40,.25)}
.nav-mob .panel nav{display:flex;flex-direction:column}
.nav-mob .panel nav a{text-decoration:none;font-size:var(--t-h3);font-weight:300;padding:14px 0;border-bottom:1px solid var(--linea)}
.nav-mob .panel nav a[aria-current="page"]{font-weight:400}
.nav-mob .panel nav a[aria-current="page"]::after{content:attr(data-here);margin-left:10px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gris);font-weight:500}
.nav-mob .pfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:28px}
@media (max-width:900px){
  .hd .nav-full{display:none}
  .nav-mob{display:block}
  .hd{padding:16px 0}
}

/* «Letra pequeña» · Nº 001 · acta de constitución */
.lp{background:var(--papel);color:var(--tinta);max-width:720px;padding:36px 40px 32px;display:flex;flex-direction:column;gap:18px;box-shadow:6px 6px 0 var(--linea);position:relative}
.lp .lp-k{color:var(--gris)}
.lp h3{margin:0;font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:15px;line-height:1.4}
.lp p,.lp li{margin:0;font-size:var(--t-small);line-height:1.6;font-weight:400}
.lp ol{margin:0;padding:0 0 0 22px;display:flex;flex-direction:column;gap:6px}
.lp ol li::marker{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;color:var(--gris)}
.lp .obs{padding-top:14px;border-top:1px solid var(--linea)}
.lp .firmas{display:flex;flex-wrap:wrap;align-items:flex-end;gap:24px 40px;padding-top:8px}
.lp .firma{display:flex;flex-direction:column;gap:6px;min-width:120px}
.lp .firma svg{display:block;width:120px;height:28px;border-bottom:1px solid var(--tinta)}
.lp .sello{margin-left:auto;width:88px;height:88px;border-radius:50%;border:1.5px solid var(--tinta);display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-12deg);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.12em;line-height:1.4;text-transform:uppercase;box-shadow:inset 0 0 0 4px var(--papel),inset 0 0 0 5px var(--tinta)}
@media (min-width:821px){.lp{transform:rotate(-0.6deg)}}
@media (max-width:820px){.lp{padding:28px 22px 24px}.lp .sello{margin-left:0}}

/* «Letra pequeña» · nota de plano */
.lpn{margin:0;position:relative;padding:2px 0 2px 22px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);letter-spacing:.06em;line-height:1.6;color:var(--tinta);max-width:30rem}
.lpn::before{content:"";position:absolute;left:4px;top:0;bottom:0;border-left:1px solid currentColor}
.lpn::after{content:"";position:absolute;left:0;top:0;bottom:0;width:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.lpn .lpn-k{display:block;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}

/* Inicio · tarjetas de «Qué ofrecemos» (09/10): enlazadas (V4) · pestaña de archivador (V7) · etiqueta tinta (V8) */
.of-grid{margin-top:56px !important;gap:24px !important}
.of-card{position:relative}
.of-tab{position:absolute;left:-1px;bottom:100%;padding:8px 16px 7px;background:var(--magenta);color:var(--tinta);border:1px solid var(--tinta);border-bottom:0;transition:padding .2s}
.of-card:hover .of-tab{padding-bottom:12px}
.of-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;background:var(--tinta);color:var(--papel) !important;text-decoration:none;transition:background .2s,color .2s}
.of-link .ar{font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;font-size:15px;letter-spacing:0;line-height:1}
.of-link::after{content:"";position:absolute;inset:0}
.of-card:hover .of-link{background:var(--magenta);color:var(--tinta) !important}
.of-link:focus-visible{outline:none}
.of-card:has(.of-link:focus-visible){outline:2px solid var(--tinta);outline-offset:4px}
@media (max-width:820px){.of-grid{row-gap:64px !important}}
@media (prefers-reduced-motion:reduce){.of-tab,.of-link{transition:none}}

/* Etiqueta tinta (09/10): enlace-botón en mono, fondo tinta; al pasar el ratón, magenta con texto en tinta */
.et-tinta{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;background:var(--tinta);color:var(--papel) !important;text-decoration:none;transition:background .2s,color .2s}
.et-tinta .ar{font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;font-size:15px;letter-spacing:0;line-height:1}
.et-tinta:hover{background:var(--magenta);color:var(--tinta) !important}
.et-tinta:focus-visible{outline:2px solid var(--tinta);outline-offset:3px}
/* Consultoría (09/10): frases en tres columnas (C2) · tarjetas con pestaña y precio en una línea (C3) */
@media (max-width:900px){.fr-grid{grid-template-columns:1fr 1fr !important}}
@media (max-width:560px){.fr-grid{grid-template-columns:1fr !important}}
.cs-card{position:relative}
.cs-card .cs-price{margin-top:auto}
.cs-card .of-link{margin-top:8px}
.cs-price{margin-top:auto;padding-top:16px;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.cs-num{font-size:var(--t-h2);font-weight:300;line-height:1;white-space:nowrap}
.cs-price .mono{color:var(--gris)}
@media (max-width:820px){.cs-grid{row-gap:64px !important}}
@media (prefers-reduced-motion:reduce){.et-tinta{transition:none}}

/* Proyectos · pasada 04 (10/10) */
.pr-grid{margin-top:40px;row-gap:56px !important}
.pr-tab{background:var(--papel) !important;color:var(--tinta)}
.pr-dis{border-style:dashed !important}
.pr-hueco{border-style:dashed !important;grid-column:span 2;flex-direction:row !important;align-self:start}
.pr-hueco .ill{flex:1 1 0;min-width:0;aspect-ratio:auto !important;display:block;border-bottom:0 !important;border-right:1px dashed var(--tinta)}
.pr-hueco .body{flex:1 1 0;min-width:0;justify-content:center}
.pr-hueco .of-link{margin-top:8px !important}
.pr-dev{margin-top:36px}
.pr-dev .ill svg{width:100%}
@media (max-width:760px){.pr-hueco{grid-column:auto;flex-direction:column !important}.pr-hueco .ill{border-right:0;border-bottom:1px dashed var(--tinta) !important}}
/* Botones (10/10) */
.et-row{align-self:center}
.et-claro{background:var(--cian);color:var(--tinta) !important}
.et-claro:hover{background:var(--magenta);color:var(--tinta) !important}
.et-mag{background:var(--magenta);color:var(--tinta) !important}
.et-mag:hover{background:var(--cian);color:var(--tinta) !important}
button.et-tinta{border:0}

/* Cómo trabajamos · pasada 05 (10/10) */
.ct-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--tinta);color:var(--papel);font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;font-weight:500}
.step:nth-child(5) .ct-n{background:var(--magenta);color:var(--tinta)}
.ct-back{display:block;margin-top:10px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:var(--t-mono);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--magenta-tinta)}
.ct-ojo{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.9em;background:var(--magenta);color:var(--tinta);padding:2px 8px}
.ct-rows>div{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:baseline;gap:16px;padding:16px 0 !important;border-right:0 !important;border-bottom:1px solid rgba(230,249,255,0.3)}
.ct-rows dd{margin:0 !important}
.ct-close .et-row{align-self:flex-start}
@media (max-width:760px){.ct-rows>div{grid-template-columns:1fr;gap:6px}}

/* Contacto · pasada 07 (10/10) */
.fm-art{margin-top:32px;line-height:0;border:1px solid rgba(230,249,255,0.25)}
.fm-art svg{display:block;width:100%;height:auto}
/* Quiénes somos · pasada 06 (10/10) */
.qs-acta .lp{max-width:643px !important;width:100%;box-sizing:border-box}
@media (max-width:760px){.qs-datos{grid-template-columns:1fr 1fr !important}}

/* Talleres (09/10): fichas con el estado en pestaña (T3), ordenadas por disponibilidad (T2) y enlazadas con etiqueta tinta (T4) */
.tl-grid{margin-top:40px;row-gap:56px !important}
.tl-card{position:relative}
.tl-tab-off{background:var(--papel) !important;color:var(--tinta)}
.tl-card .meta{margin-top:auto !important}
.tl-card .of-link{margin-top:16px}

/* Cabecera E1 · dos columnas iguales (09/10): mismo arranque y mismo final */
.hx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:stretch}
.hx-txt{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-width:0}
.hx-top,.hx-bot{display:flex;flex-direction:column;gap:24px;min-width:0}
.hx h1{text-wrap:balance}
.hx-fig{margin:0;display:flex;flex-direction:column;gap:18px;min-width:0}
.hx-fig .art{line-height:0}
@media (max-width:820px){.hx{grid-template-columns:1fr;gap:40px;padding-top:56px !important;padding-bottom:64px !important}}
