/* Portada — estilos propios de la página de inicio. */
/* Portada ------------------------------------------------------------ */
  .portada{ position:relative; overflow:hidden; padding-block:clamp(1.75rem,4vw,3.25rem) clamp(2rem,4vw,3rem); }
  .portada::before{
    content:""; position:absolute; z-index:0;
    top:-30vh; right:-12vw; width:78vw; height:78vw; max-width:1000px; max-height:1000px;
    background:radial-gradient(circle, rgba(222,34,21,.32), rgba(222,34,21,.05) 46%, transparent 68%);
  }
  .portada__fila{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.82fr);
    gap:clamp(2rem,5vw,4.5rem);
    align-items:center;
  }
  .coordenada{
    display:flex; align-items:center; gap:.7rem;
    font-family:var(--mono); font-size:.72rem; letter-spacing:.1em;
    color:var(--tenue); margin-bottom:2.25rem;
  }
  .coordenada i{
    width:7px; height:7px; background:var(--rojo);
    clip-path:polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    animation:latir 2.6s ease-in-out infinite;
  }
  @keyframes latir{ 0%,100%{ opacity:1 } 50%{ opacity:.25 } }

  .portada__titulo{
    font-family:var(--display);
    font-size:clamp(2.75rem, 8vw, 6.2rem);
    font-weight:900; letter-spacing:-.022em; line-height:.84;
  }
  .portada__titulo em{ display:block; font-style:normal; font-weight:500; letter-spacing:-.014em; }
  .subrayado{ display:block; width:min(100%,20rem); margin-top:.9rem; color:var(--rojo); }

  .portada__bajada{ margin:1.15rem 0 1.75rem; max-width:38ch; font-size:1.02rem; color:color-mix(in srgb,var(--arena) 78%, transparent); }
  .portada__acciones{ display:flex; flex-wrap:wrap; gap:.85rem; }
  .portada__arco{ aspect-ratio:3/4; }
  @media (max-width: 900px){
    .portada__fila{ grid-template-columns:1fr; }
    .portada__arco{ aspect-ratio:4/3.6; order:-1; margin-bottom:2rem; border-radius:190px 190px 4px 4px; }
  }


  /* Presentación -------------------------------------------------------- */
  /* Edificio ------------------------------------------------------------ */
  .edificio{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(1.75rem,4vw,3.5rem); align-items:center; }
  .edificio__datos{ margin:2.25rem 0 0; padding:0; list-style:none; max-width:32rem; }
  .edificio__datos li{ display:flex; justify-content:space-between; gap:1.5rem; padding:.7rem 0; border-bottom:1px solid var(--linea); font-size:.94rem; }
  .edificio__datos li span:first-child{ font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; color:var(--tenue); padding-top:.25rem; }
  .edificio__datos span:last-child{ text-align:right; }
  .edificio__fotos{ display:grid; grid-template-columns:1.2fr .8fr; gap:1.1rem; }
  .edificio__fotos img{ width:100%; height:100%; object-fit:cover; aspect-ratio:3/4; }

  /* Habitantes ---------------------------------------------------------- */
  .habitante{
    display:block; padding:1.6rem 1.4rem;
    background:rgba(240,231,221,.04);
    clip-path:var(--chaflan-caja);
    transition:background .2s ease, transform .2s ease;
  }
  .habitante:hover{ background:rgba(222,34,21,.14); transform:translateY(-3px); }
  .habitante .dato{ display:block; margin-bottom:.9rem; }
  .habitante h3{ margin-bottom:.5rem; }
  .habitante p{ margin:0; font-size:.93rem; color:var(--tenue); }

  /* Visita -------------------------------------------------------------- */
  .visita{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:clamp(2rem,5vw,3.5rem); align-items:center; }
  .visita dl{ margin:2rem 0 0; }
  .visita dt{ font-family:var(--mono); font-size:.7rem; letter-spacing:.09em; color:var(--tenue); margin-top:1.5rem; }
  .visita dd{ margin:.35rem 0 0; font-size:1.06rem; }
  .visita img{ }
