  :root{ --ink:#0e2330; --card:#0b1b24; --cardText:#e8f4f6; 
  --coral:#FFB995;
  --white: #F9F6F4;
  --blue: #CEDCDF;
  --yellow: #FFDAA0;
  --green: #CFE0D2;
  --black: #25282A;

}
.poster__title{
  display: none;
}
  html,body{height:100%}
  body{
    margin:0;
    font-family: "Forum", serif;
  	font-weight: 400;
  	font-style: normal;
    color:var(--ink);
  }
  .wrap{max-width:1200px;margin:auto;padding:1.25rem}
  .title{font-weight:800}


  .wrap{max-width:1200px;margin:auto;padding:1.25rem}
  .mapbox{
    position:relative;width:100%;border-radius:22px;overflow:hidden;background:#fff;
    box-shadow:0 18px 60px rgba(9,24,32,.25);
  }

  /* Capas mapa desktop */
  .bg,.dim-layer,.hits{position:absolute;inset:0}
  .bg{
    z-index:1; pointer-events:none; background:center/cover no-repeat;
    transition: transform .65s cubic-bezier(.175,.885,.32,1.275), filter .35s ease;
    will-change: transform, filter;
  }
  .dim-layer{ z-index:2; background:rgba(0,0,0,.25); opacity:0; pointer-events:none; transition:opacity .25s ease; }
  .map-hover-active .dim-layer{ opacity:1; }
  .hits{ z-index:3; pointer-events:auto; }
  .mapbox svg{display:block;width:100%;height:100%}

  /* Interacción SVG */
  .hits svg, .hits svg * { pointer-events:auto !important; }
  .region{
    cursor:pointer;
    fill: var(--overlay, rgba(255,255,255,0.16));
    stroke: transparent;
    transition: fill .18s ease, filter .18s ease, transform .38s cubic-bezier(.175,.885,.32,1.275);
    transform-origin:center center;
    mix-blend-mode: multiply;
  }
  .region:hover, .region:focus-visible{ filter: brightness(1.35) saturate(1.25); transform: scale(1.003); outline:none; }

  /* Modal desktop */
  .country-card{background:var(--card);color:var(--cardText)}
  .modal-header .btn-close{filter:invert(1) grayscale(1)}
  .modal-body img{ border-radius:12px }

  /* -------- PÓSTER DE TEXTO (solo móvil) -------- */
  .poster{
    position:relative; border-radius:16px; overflow:hidden; color:#fff;
    min-height:260px; box-shadow:0 14px 40px rgba(0,0,0,.2);
    background:#0b1b24; /* fallback */
  }
  .poster__bg{
    position:absolute; inset:0; background-size:cover; background-position:center;
    filter: blur(6px) saturate(1.1) brightness(.65);
    transform: scale(1.05);
  }
  .poster__overlay{
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(7,15,20,.6) 0%, rgba(7,15,20,.75) 40%, rgba(7,15,20,.9) 100%);
  }
  .poster__content{
    position:relative; z-index:2; padding:16px 14px 14px 14px;
  }
  .poster__eyebrow{
    display:inline-block; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
    background:rgba(131,212,196,.16); color:#e8f4f6; border:1px solid rgba(131,212,196,.35);
    padding:.25rem .5rem; border-radius:999px; margin-bottom:.4rem;
  }
  .poster__title{
    font-weight:800; line-height:1.1; margin:0 0 .4rem 0; font-size:1.15rem; color:#fff;
    text-shadow:0 1px 0 rgba(0,0,0,.4);
  }
  .poster__subtitle{
    color:#d9f2ee; opacity:.95; margin:0 0 .6rem 0; font-size:.95rem;
  }
  .poster__list{ margin:0; padding:0; list-style:none; }
  .poster__list li{
    display:flex; gap:.5rem; align-items:flex-start; padding:.35rem 0; color:#e9fcf8; font-size:.95rem;
    border-top:1px dashed rgba(255,255,255,.15);
  }
  .poster__list li:first-child{ border-top:none }
  .poster__bullet{
    width:.65rem; height:.65rem; border-radius:50%; margin-top:.35rem;
    background:var(--accent); box-shadow:0 0 0 3px rgba(131,212,196,.15);
    flex:none;
  }
  .poster__foot{
    display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.8rem;
  }
  .tag{
    font-size:.78rem; border-radius:999px; padding:.25rem .55rem;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); color:#eaf8f5;
  }