  /* Tipografías autoalojadas (Archivo y Space Mono, subset latin, OFL) */
  @font-face{font-family:'Archivo';font-style:italic;font-weight:400;font-display:swap;src:url('../assets/fonts/archivo-400-italic.woff2') format('woff2');}
  @font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/archivo-variable.woff2') format('woff2');}
  @font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('../assets/fonts/archivo-variable.woff2') format('woff2');}
  @font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/fonts/archivo-variable.woff2') format('woff2');}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/spacemono-400.woff2') format('woff2');}
  @font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/spacemono-700.woff2') format('woff2');}

  :root{
    /* voz del Ministerio / Plan Calor: fria y clara */
    --azul:#12405c;
    --celeste:#1b7fa8;
    /* voz del mercado: solo en la franja de sellos y el pie */
    --blanco:#ffffff;
    --tinta:#152730;
    --gris:#444444;
    /* semantica de alerta SMN: unico calor permitido en la interfaz */
    --verde-ok:#2f6b4d;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Archivo',sans-serif;
    line-height:1.55;
  }
  .mono{font-family:'Space Mono',monospace;}
  .contenedor{max-width:1080px;margin:0 auto;padding:0 24px;}

  /* ============ BARRA SUPERIOR GCBA ============ */
  .barra-gob{
    color:var(--blanco);
    font-size:12px;
    padding:7px 0;
  }
  .barra-gob .contenedor{display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .barra-gob span b{font-weight:600;}
  .barra-gob .mono{opacity:.75;font-size:10.5px;}

  /* ============ HEADER MINISTERIO ============ */
  header.principal{
    padding:16px 0;
    position:sticky;
    top:0;
    z-index:60;
  }
  ::selection{background:#111111;color:#ffffff;}
  header.principal .contenedor{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
  .escudo{
    width:44px;height:44px;flex-shrink:0;
  }
  .identidad h1{font-size:16px;font-weight:800;letter-spacing:.01em;line-height:1.2;}
  .identidad p{font-size:12px;opacity:.85;}
  nav.principal{margin-left:auto;display:flex;gap:22px;font-size:13px;font-weight:600;}
  nav.principal a{text-decoration:none;opacity:.9;white-space:nowrap;}
  nav.principal a:hover{opacity:1;text-decoration:underline;}

  /* ============ BANNER DE ALERTA ============ */
  .banner-alerta{
    padding:14px 0;
    color:var(--tinta);
    transition:background .3s;
  }
  .banner-alerta .contenedor{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .banner-alerta .nivel{
    font-weight:800;
    text-transform:uppercase;
    font-size:14px;
  }
  .banner-alerta .detalle{font-size:13.5px;}
  .banner-alerta .fuente{margin-left:auto;font-size:10.5px;opacity:.7;}

  /* ============ HERO PLAN CALOR ============ */
  .hero .miga{font-size:11.5px;margin-bottom:18px;}
  .hero-grid{
    display:grid;
  }
  .hero h2{
    font-weight:800;
  }
  #lared .cifras{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(170px,1fr));
    gap:1px;
    border:1.5px solid #111111;
    margin:26px 0 30px;
  }
  .cifra{
    padding:18px 18px 15px;
  }
  .cifra span{color:var(--gris);}
  .cifra b{display:block;font-size:30px;font-weight:800;line-height:1;}
  .cifra span{font-size:12px;opacity:1;display:block;margin-top:5px;}

  /* ============ SECCIONES ============ */
  .encabezado-seccion{max-width:640px;margin-bottom:36px;}
  .sobre{
    font-family:'Space Mono',monospace;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    display:block;
    margin-bottom:10px;
  }
  h3.titulo, h2.titulo{font-weight:800;line-height:1.06;letter-spacing:-.02em;}
  .encabezado-seccion p{margin-top:12px;}

  /* --- ficha estación --- */
  .ficha{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:36px;
    align-items:start;
  }
  .ficha-texto p{margin-bottom:14px;font-size:15.5px;}
  .ficha-datos{
    border:1px solid #cfe3ec;
    padding:22px;
  }
  .ficha-datos h4{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;}
  .ficha-datos dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:13.5px;}
  .ficha-datos dt{font-weight:600;color:var(--gris);}
  .estado-tiempo{
    margin-top:18px;
    padding-top:14px;
    border-top:1px dashed #111111;
    display:flex;
    gap:22px;
  }
  .estado-tiempo div b{display:block;font-size:26px;font-weight:800;line-height:1;}
  .estado-tiempo div span{font-size:11px;color:var(--gris);}

  /* --- servicios --- */
  .grilla-servicios{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
  }
  .servicio{
    display:flex;
    flex-direction:column;
    gap:10px;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .servicio svg{width:34px;height:34px;flex-shrink:0;}
  .servicio h4{font-weight:800;line-height:1.2;}
  .servicio p{flex:1;}
  .servicio .pie-servicio{
    font-size:12px;
    font-weight:600;
  }
  /* --- hoy: semáforo y banderas --- */
  .panel-hoy{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:36px;
    align-items:center;
    border:1px solid #cfe3ec;
    padding:30px;
  }
  .mastil{width:150px;height:210px;}
  .recomendaciones h4{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;}
  .recomendaciones ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
  .recomendaciones li{
    font-size:14.5px;
    padding-left:24px;
    position:relative;
  }
  .recomendaciones li::before{
    content:"";
    position:absolute;
    left:0;top:7px;
    width:9px;height:9px;
    border-radius:50%;
  }
  .hora-segura{
    margin-top:18px;
    padding:12px 16px;
    font-size:14px;
    border-left:4px solid var(--celeste);
  }
  .hora-segura b{font-weight:800;}

  /* --- red centinela --- */
  .centinela{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    align-items:start;
  }
  .centinela-texto p{margin-bottom:14px;font-size:15.5px;}
  .cita-institucional{
    border-left:4px solid var(--celeste);
    padding:4px 0 4px 18px;
    font-style:italic;
    font-size:14.5px;
    margin:18px 0;
  }
  form.form-centinela{
    border:1px solid #cfe3ec;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  form.form-centinela h4{font-size:15px;font-weight:800;}
  .campo{display:flex;flex-direction:column;gap:5px;}
  .campo label{font-size:12.5px;font-weight:600;color:var(--gris);}
  .campo input, .campo select{
    font-family:'Archivo',sans-serif;
    font-size:14.5px;
    padding:10px 12px;
    border:1px solid #bcdce8;
    border-radius:3px;
    background:var(--blanco);
  }
  .campo input:focus, .campo select:focus{outline:2px solid var(--celeste);}
  button.enviar{
    font-family:'Archivo',sans-serif;
    font-size:15px;
    font-weight:800;
    padding:13px;
    color:var(--blanco);
    border:none;
    border-radius:3px;
    cursor:pointer;
  }
  .confirmacion{
    display:none;
    background:#eaf4ee;
    border-left:4px solid var(--verde-ok);
    padding:14px 16px;
    font-size:14px;
  }
  .aviso-legal{font-size:11px;color:var(--gris);}

  /* --- freezer --- */
  .freezer{
    border:1px solid #cfe3ec;
    padding:30px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
    align-items:center;
  }
  .freezer h4{font-size:19px;font-weight:800;margin-bottom:8px;}
  .freezer p{font-size:14.5px;color:var(--gris);max-width:560px;}
  .freezer .disponibilidad{
    text-align:center;
    padding:18px 26px;
    border-radius:4px;
  }
  .freezer .disponibilidad b{display:block;font-size:38px;font-weight:800;line-height:1;}
  .freezer .disponibilidad span{font-size:11.5px;color:var(--gris);}

  /* --- talleres --- */
  /* ============ FRANJA DE SELLOS ============ */
  .franja-sellos{
    color:var(--blanco);
    padding:26px 0;
  }
  .franja-sellos .contenedor{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .sello-item{display:flex;align-items:center;gap:12px;}
  .sello-item svg{width:38px;height:38px;flex-shrink:0;}
  .sello-item p{font-size:11px;line-height:1.4;opacity:.92;}
  .sello-item b{display:block;font-size:12.5px;font-weight:800;opacity:1;}

  .tipologia{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
  }
  .tipo-titulo{
    font-family:'Space Mono',monospace;
    font-size:11px;
    margin-right:4px;
  }
  .tipo-chip{
    font-size:12px;
    font-weight:600;
    padding:5px 11px;
    border-radius:20px;
    border:1px solid #bcdce8;
  }
  /* --- voz cultural: marquesina, manifiesto, programa --- */
  .marquesina{
    overflow:hidden;
    padding:10px 0;
    white-space:nowrap;
  }
  .marquesina .cinta{
    display:inline-block;
    font-family:'Archivo',sans-serif;
    font-weight:800;
    font-size:15px;
    letter-spacing:.06em;
    text-transform:uppercase;
    animation:correr 28s linear infinite;
  }
  @keyframes correr{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .manifiesto{
    padding:54px 0 10px;
  }
  .manifiesto p{
    font-family:'Archivo',sans-serif;
    font-weight:800;
    font-size:clamp(26px,4.4vw,44px);
    line-height:1.1;
    letter-spacing:-.01em;
    max-width:820px;
  }
  .programa{margin-top:8px;}
  .evento{
    display:grid;
    grid-template-columns:120px 1fr 150px;
    gap:22px;
    padding:20px 14px;
    margin:0 -14px;
    border-top:1px solid #cfe3ec;
    transition:background .18s ease;
    align-items:center;
  }
  .evento .mini{
    width:150px;
    border:1px solid #cfe3ec;
    display:block;
    justify-self:end;
  }
  @media (max-width:820px){
    .evento{grid-template-columns:1fr;}
    .evento .mini{width:100%;justify-self:start;}
  }
  .evento:first-child{border-top:2.5px solid #111111;}
  .evento .cuando{
    font-family:'Space Mono',monospace;
    font-size:12.5px;
    line-height:1.5;
  }
  .evento .cuando b{display:block;font-size:15px;font-weight:700;}
  .evento h4{font-size:18px;font-weight:800;margin-bottom:4px;}
  .evento p{font-size:14px;max-width:640px;}
  .evento .con{
    font-size:12px;
    font-weight:600;
    margin-top:5px;
    display:block;
  }
  .guarderia{
    margin-top:34px;
    padding:28px 30px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:26px;
    align-items:center;
  }
  .guarderia svg{width:72px;height:72px;}
  .guarderia h4{font-size:19px;font-weight:800;margin-bottom:5px;}
  .guarderia p{font-size:14.5px;max-width:600px;}

  .interop{
    border:1px solid #bcdce8;
    padding:16px 18px;
    margin:18px 0;
  }
  .interop h4{
    font-family:'Space Mono',monospace;
    font-size:10.5px;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:7px;
  }
  .interop p{font-size:13.5px !important;margin-bottom:7px !important;}
  .interop p:last-child{margin-bottom:0 !important;}
  .interop a{font-weight:700;}

  /* --- mas que humanos --- */
  .vitales{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px,1fr));
    gap:1px;
    border:1px solid #bcdce8;
    margin:26px 0 30px;
  }
  .vital{
    padding:16px 18px 13px;
  }
  .vital b{display:block;font-size:26px;font-weight:800;line-height:1;}
  .vital span{font-size:11.5px;color:var(--gris);display:block;margin-top:5px;}
  .vital .mono-mini{font-family:'Space Mono',monospace;font-size:9px;display:block;margin-top:4px;}
  /* --- microrefugios --- */
  .micro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:36px;
    align-items:start;
  }
  .senal-puerta{
    border:1px solid #cfe3ec;
    border-radius:6px;
    padding:26px 24px;
    text-align:center;
    box-shadow:0 3px 14px rgba(0,0,0,.08);
  }
  .requisitos{list-style:none;margin:14px 0 18px;display:flex;flex-direction:column;gap:8px;}
  .requisitos li{
    font-size:14px;
    padding-left:26px;
    position:relative;
  }
  .requisitos li::before{
    content:"✓";
    position:absolute;left:0;top:0;
    font-weight:800;
  }
  .ruta-fresca{
    margin-top:22px;
    border:1px solid #cfe3ec;
    padding:22px 24px;
  }
  .ruta-fresca h4{font-size:15px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;color:var(--azul);}
  .rutas{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .ruta{
    border:1px solid #cfe3ec;
    padding:14px 16px;
    font-size:13.5px;
  }
  .ruta b{display:block;font-size:15px;margin-bottom:3px;}
  .ruta small{display:block;margin-top:5px;line-height:1.4;}
  @media (max-width:820px){
    .micro, .rutas, .hero-grid{grid-template-columns:minmax(0,1fr);}
    }
  @media (max-width:820px){
    .ficha, .centinela, .panel-hoy, .freezer{grid-template-columns:minmax(0,1fr);}
    .campo select{width:100%;min-width:0;}
    .mastil{margin:0 auto;}
  }

  /* ============ PIEL CULTURAL v2 ============ */
  .hero h2{
    line-height:.9;
    letter-spacing:-.035em;
    text-transform:uppercase;
  }
  .sub-curatorial{
    margin-top:18px;
    letter-spacing:.02em;
    line-height:1.5;
  }
  .hero .baja{margin-top:14px;font-size:15.5px;max-width:520px;}
  h3.titulo, h2.titulo{font-size:clamp(34px,4.8vw,56px);}
  .encabezado-seccion p{font-size:16.5px;}
  /* servicios: de tarjetas a lista editorial */
  .grilla-servicios{gap:34px 40px;}
  .servicio{
    background:transparent;
    border:none;
    border-top:2.5px solid var(--azul);
    padding:16px 2px 0;
  }
  .servicio:hover{transform:none;box-shadow:none;}
  .servicio h4{font-size:20px;}
  .servicio p{font-size:14px;}
  .servicio .pie-servicio{border-top:none;padding-top:6px;}
  /* talleres: tabla editorial */
  /* la ficha y paneles conservan blanco sobre papel */
  .banner-alerta .nivel{font-family:'Space Mono',monospace;letter-spacing:.02em;}

  /* ============ PIEL CCCB: BLANCO / NEGRO / GRANDE ============ */
  body{background:#ffffff;color:#111111;}
  .barra-gob{background:#111111;}
  header.principal{background:#ffffff;color:#111111;border-bottom:2px solid #111111;box-shadow:none;}
  header.principal .identidad h1, header.principal .identidad p{color:#111111;}
  header.principal .identidad p{opacity:.6;}
  nav.principal a{color:#111111;}
  .hero{background:#ffffff;color:#111111;padding:74px 0 60px;}
  .hero .miga{color:#111111;opacity:.6;}
  .hero h2{color:#111111;}
  .sub-curatorial{color:#111111;font-size:19px;font-weight:700;}
  .hero .baja{color:#333333;opacity:1;}
  .foto-portada{margin:0;border-top:2px solid #111111;border-bottom:2px solid #111111;}
  .foto-portada img{width:100%;display:block;}
  .foto-portada figcaption{
    font-family:'Space Mono',monospace;
    font-size:10px;
    color:#111111;
    padding:10px 24px 12px;
    opacity:.65;
  }
  section{background:#ffffff;border-top:1.5px solid #111111;padding:84px 0;}
  section.hero, .hero{border-top:none;}
  section.alterna{background:#ffffff;}
  .sobre{color:#111111;}
  h3.titulo, h2.titulo{color:#111111;}
  .encabezado-seccion p{color:#333333;}
  .marquesina{background:#111111;color:#ffffff;}
  .marquesina:hover .cinta{animation-play-state:paused;}
  .franja-sellos{overflow:clip;}
  .manifiesto p{color:#111111;}
  .manifiesto p span{background:#111111;color:#ffffff;padding:0 12px;}
  .evento{border-top-color:#111111;}
  .evento:hover{background:#f2f2f2;}
  .evento .cuando, .evento .cuando b, .evento .con{color:#111111;}
  .evento .con{opacity:.68;}
  .evento p{color:#333333;}
  .evento .mini{border-color:#111111;}
  .guarderia{background:#ffffff;border:1.5px solid #111111;}
  .guarderia p{color:#333333;}
  .panel-hoy, .ficha-datos, form.form-centinela, .freezer, .senal-puerta, .ruta-fresca{
    background:#ffffff;border-color:#111111;
  }
  .ficha-datos{border-top:4px solid #111111;}
  .ficha-datos h4{color:#111111;}
  form.form-centinela{border-top:4px solid #111111;}
  .campo input, .campo select{border-color:#111111;}
  .campo input:focus, .campo select:focus{outline-color:#111111;border-color:#111111;}
  button.enviar{background:#111111;transition:background .15s ease,color .15s ease;}
  button.enviar:hover{background:#ffffff;color:#111111;box-shadow:inset 0 0 0 2px #111111;}
  .recomendaciones li::before{background:#111111;}
  .hora-segura{background:#f2f2f2;border-left-color:#111111;}
  .ruta{border-color:#111111;}
  .ruta.fresca{border-color:#111111;background:#f2f2f2;}
  .ruta small, .servicio p, .interop p{color:#333333;}
  .servicio{border-top-color:#111111;}
  .servicio .pie-servicio{color:#111111;opacity:.68;}
  .tipo-titulo{color:#111111;}
  .tipo-chip{border-color:#111111;color:#111111;background:#ffffff;}
  .tipo-chip.destacado{background:#111111;color:#ffffff;border-color:#111111;}
  .requisitos li::before{color:#111111;}
  .interop{background:#ffffff;border-color:#111111;border-left:4px solid #111111;}
  .interop h4{color:#111111;}
  .interop a{color:#111111;}
  .cita-institucional{border-left-color:#111111;color:#333333;}
  .vitales{background:#111111;border-color:#111111;}
  .vital{background:#ffffff;}
  .vital b{color:#111111;}
  .vital .mono-mini{color:#111111;opacity:.68;}
  .cifras{background:#111111 !important;border-color:#111111 !important;}
  .cifra{background:#ffffff;}
  .cifra b{color:#111111;}
  .freezer .disponibilidad{background:#f2f2f2;}
  .freezer .disponibilidad b{color:#111111;}
  .franja-sellos{background:#111111;}
  .sello-img{height:54px;width:auto;display:block;}
  .sello-img-ancho{height:34px;max-width:100%;object-fit:contain;object-position:left center;}
  .franja-sellos .contenedor{flex-wrap:wrap;gap:26px;}
  .sello-item{flex:1 1 205px;min-width:0;max-width:none;}
  .sello-item.sello-ministerio{max-width:none;}
  @media (max-width:820px){
    .franja-sellos .contenedor{flex-wrap:wrap;}
  }

  img.escudo{width:46px;height:46px;object-fit:contain;}

  .escalera-escalas{max-width:600px;}
  .escala{border:1.5px solid #111111;padding:15px 20px;background:#ffffff;}
  .escala .niv{font-family:'Space Mono',monospace;font-size:14.5px;font-weight:700;display:block;letter-spacing:.03em;}
  .escala small{font-size:12.5px;color:#333333;display:block;margin-top:3px;}
  .escala.actual{background:#111111;border-color:#111111;}
  .escala.actual .niv{color:#ffffff;}
  .escala.actual small{color:#cccccc;}
  .flecha{text-align:center;font-size:22px;line-height:1;padding:5px 0;color:#111111;}

  /* hero en dos bloques: texto | foto */
  .hero-grid{grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;}
  .hero h2{font-size:clamp(46px,7.2vw,96px);}
  .hero .foto-portada{border:1.5px solid #111111;margin:0;}
  .hero .foto-portada figcaption{padding:9px 12px 10px;border-top:1.5px solid #111111;}
  @media (max-width:820px){
    .hero-grid{grid-template-columns:1fr;}
  }
  /* eventos de agenda sin viñeta: la grilla no reserva la columna vacía */
  .evento:not(:has(.mini)){grid-template-columns:120px 1fr;}

  /* leyenda de banderas */
  .leyenda-banderas{
    margin-top:20px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px,1fr));
    gap:1px;
    background:#111111;
    border:1.5px solid #111111;
  }
  .bandera-item{
    background:#ffffff;
    padding:13px 15px;
    display:grid;
    grid-template-columns:40px 1fr auto;
    gap:11px;
    align-items:center;
    position:relative;
  }
  .bandera-item svg{width:40px;height:26px;display:block;}
  .bandera-item b{display:block;font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}
  .bandera-item span{font-size:11.5px;color:#333333;line-height:1.35;display:block;margin-top:2px;}
  .bandera-item .tag-hoy{
    display:none;
    font-family:'Space Mono',monospace;
    font-style:normal;
    font-size:9.5px;
    background:#111111;
    color:#ffffff;
    padding:3px 7px;
    align-self:start;
  }
  .bandera-item.hoy{background:#f2f2f2;}
  .bandera-item.hoy .tag-hoy{display:inline-block;}

  .banner-accion{
    font-size:13px;font-weight:800;color:#111111;
    text-decoration:underline;text-underline-offset:3px;white-space:nowrap;
  }

  section{scroll-margin-top:86px;}
  @media (prefers-reduced-motion: reduce){
    .cinta{animation:none;}
    }
  @media (max-width:820px){
    nav.principal{display:flex;overflow-x:auto;gap:14px;font-size:12px;width:100%;padding-top:6px;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);}
    img.escudo{order:-1;width:36px;height:36px;}
  }

  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
    outline:2.5px solid currentColor;outline-offset:2px;
  }
  .saltar{
    position:absolute;left:-9999px;top:0;z-index:200;
    background:#111111;color:#ffffff;padding:10px 18px;
    font-family:'Archivo',sans-serif;font-weight:800;font-size:14px;text-decoration:none;
  }
  .saltar:focus{left:0;}
  .linea-legal{
    width:100%;
    font-family:'Space Mono',monospace;font-size:9.5px;
    color:#ffffff;opacity:.6;
    padding-top:14px;margin-top:6px;
    border-top:1px solid rgba(255,255,255,.25);
  }

  .linea-legal.disclaimer{border-top:none;padding-top:6px;margin-top:0;opacity:.75;}
  .linea-legal a{color:#ffffff;text-decoration:underline;}

  .senal-afiche{padding:0;overflow:hidden;}
  .columna-senal .interop{margin:18px 0 0;}
  .senal-afiche figcaption{
    font-family:'Space Mono',monospace;
    font-size:10px;
    color:#111111;
    padding:9px 12px 10px;
    border-top:1.5px solid #111111;
    opacity:.65;
    text-align:left;
  }
  .senal-afiche img{width:100%;display:block;}
  #form-micro{margin-top:26px !important;}
  #form-micro{max-width:520px;}
  
  .sello-plancalor{height:44px;width:auto;}

  /* QA: las imágenes fluidas conservan su proporción con width/height declarados en el HTML */
  .foto-portada img,.senal-afiche img,.evento .mini{height:auto;}

  /* En una columna, la foto de la vidriera no aleja el CTA */
  @media (max-width:820px){
    .senal-afiche img{max-height:60vh;object-fit:cover;}
  }

  /* Fixes de auditoria: mobile */
  .ruta-fresca h4{color:#111111;}
  nav.principal a.nav-ext{opacity:.6;}
  nav.principal a.nav-ext:hover{opacity:1;}
  @media (max-width:820px){
    .guarderia{grid-template-columns:1fr;gap:14px;}
    section{scroll-margin-top:160px;}
    .campo input, .campo select{font-size:16px;}
  }

  /* Particion de texto (criterios Enric Jardi): banderas parejas en titulos,
     sin lineas viudas de una palabra en el cuerpo, silabeo solo en columnas angostas */
  h2, h3, h4, .sobre, .manifiesto p{text-wrap:balance;}
  p, li, dd, figcaption{text-wrap:pretty;}
  @media (max-width:820px){
    p, li, dd, figcaption{hyphens:auto;}
    .banda-refugio p{hyphens:none;}
  }

  /* ============ METODOLOGIA JARDI ============ */
  /* Consejo 17: nunca negritas ni cursivas sintetizadas */
  html{font-synthesis:none;}
  /* "No hagas lineas demasiado largas ni demasiado cortas": medida en ch */
  .requisitos li, #reco-lista li{max-width:58ch;}
  .evento p{max-width:58ch;}
  .guarderia p{max-width:57ch;}
  .encabezado-seccion p{max-width:58ch;}
  .banner-alerta .detalle{display:block;max-width:63ch;}
  .linea-legal{max-width:80ch;}
  /* "Puedes dejar espacio extra entre mayusculas" (nunca en minusculas) */
  .banner-alerta .nivel{letter-spacing:.06em;}
  .nivel-linea{display:inline-flex;align-items:center;gap:9px;}
  .glifo-alerta{width:15px;height:15px;flex:none;}
    .tag-hoy{letter-spacing:.08em;}
  /* "Aumenta la interlinea cuando construyas parrafos en negativo" */
  .franja-sellos .linea-legal, .sello-item p{line-height:1.7;}

  /* ============ BANDA REFUGIO (cierre, ref. story DHub) ============ */
  .banda-refugio{
    background:#e07b2a;
    color:#111111;
    padding:76px 0 0;
    margin-top:60px;
  }
  .banda-refugio .grito{
    font-weight:800;
    font-size:clamp(40px,6.4vw,76px);
    line-height:.98;
    letter-spacing:-.025em;
    max-width:17ch;
    text-wrap:balance;
  }
  .banda-refugio .baja-banda{
    margin-top:22px;
    font-size:clamp(15px,2vw,23px);
    font-weight:800;
    letter-spacing:-.01em;
  }
  .pie-banda{
    background:#111111;
    color:#ffffff;
    margin-top:68px;
    padding:16px 0;
  }
  .pie-banda .contenedor{
    display:flex;
    align-items:center;
    gap:18px;
  }
  .pie-banda img{width:34px;height:34px;flex:none;background:#ffffff;padding:4px;}
  .pie-banda span{
    font-family:'Space Mono',monospace;
    font-size:12.5px;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  /* La regla :has() de dos columnas no aplica en una columna (debe vivir despues de su version desktop) */
  @media (max-width:820px){
    .evento:not(:has(.mini)){grid-template-columns:1fr;}
  }

  /* ============ MAPA DE LA ZONA (traza real de San Telmo) ============ */
  .mapa-zona{
    margin:0 0 14px;
    border:1.5px solid #111111;
    background:#f4f1ea;
  }
  .mapa-zona svg{width:100%;height:auto;display:block;}
  .mapa-zona .calzada line{stroke:#ffffff;stroke-width:14;}
  .mapa-zona .filete line{stroke:#111111;stroke-width:.9;opacity:.3;}
  .mapa-zona .manzana-mercado{fill:#111111;}
  .mapa-zona .rotulo-mercado{
    font-family:'Archivo',sans-serif;font-weight:800;font-size:15px;fill:#ffffff;letter-spacing:.02em;
  }
  .mapa-zona .micro circle{fill:#e07b2a;stroke:#111111;stroke-width:1.6;}
  .mapa-zona .hidrico circle{fill:#ffffff;stroke:#111111;stroke-width:2.6;}
  .mapa-zona .parada rect{fill:#ffffff;stroke:#111111;stroke-width:2.6;}
  .mapa-zona .calle-nombre text{
    font-family:'Space Mono',monospace;font-size:10.5px;fill:#111111;opacity:.8;letter-spacing:.06em;
    paint-order:stroke;stroke:#ffffff;stroke-width:3.5;stroke-linejoin:round;
  }
  .mapa-zona .rosa text, .mapa-zona .barra-escala text{
    font-family:'Space Mono',monospace;font-size:11px;fill:#111111;opacity:.72;
  }
  .mapa-zona .barra-escala line{stroke:#111111;stroke-width:2;}
  .mapa-zona figcaption{
    font-family:'Space Mono',monospace;font-size:10px;color:#111111;
    padding:9px 12px 10px;border-top:1.5px solid #111111;opacity:.65;
  }
  .leyenda-mapa{
    list-style:none;
    display:flex;flex-wrap:wrap;gap:9px 26px;
    margin:0 0 30px;
    font-size:12.5px;
  }
  .leyenda-mapa li{display:flex;align-items:center;gap:8px;}
  .pin{width:13px;height:13px;border:1.6px solid #111111;border-radius:50%;flex:none;}
  .pin-estacion{background:#111111;border-radius:0;width:15px;height:11px;}
  .pin-micro{background:#e07b2a;}
  .pin-hidrico{background:#ffffff;}
  .pin-parada{background:#ffffff;border-radius:0;}

  /* §07: la escalera de escalas dialoga con el mapa, lado a lado */
  .escalera-mapa{
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:36px;
    align-items:stretch;
  }
  .escalera-mapa .col-escalera{display:flex;}
  .escalera-mapa .escalera-escalas{max-width:none;display:flex;flex-direction:column;height:100%;}
  .escalera-mapa .escalera-escalas .escala{flex:1;display:flex;flex-direction:column;justify-content:center;}
  .escalera-mapa .mapa-zona{margin-bottom:12px;}
  .escalera-mapa .leyenda-mapa{margin-bottom:0;}
  @media (max-width:820px){
    .escalera-mapa{grid-template-columns:minmax(0,1fr);gap:26px;}
  }
