:root{
    --blanco:#FAF8F3;
    --carbon:#262420;
    --tierra:#A85030;
    --arcilla:#A85030;
    --arena:#D9C9A5;
    --arena-suave:#EFE7D4;
    --rio:#1C52A6;
    --palma:#1C52A6;
    --linea:#DDD6C7;
    --gris:#767165;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--blanco);
    color:var(--carbon);
    font-family:'EB Garamond', Georgia, serif;
    font-size:20px;
    line-height:1.68;
  }
  ::selection{background:var(--arena);color:var(--carbon);}

  .sans{font-family:'Inter',sans-serif;}
  .label{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--gris);
    font-weight:500;
  }

  /* ============ CABECERA ============ */
  header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:50;
    background:rgba(250,248,243,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--linea);
  }
  .header-in{
    max-width:1180px;
    margin:0 auto;
    padding:0 5vw;
    height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
  }
  .marca{
    font-family:'EB Garamond',serif;
    font-size:1.12rem;
    letter-spacing:0.03em;
    text-decoration:none;
    color:var(--carbon);
    white-space:nowrap;
  }
  nav{display:flex;gap:1.7rem;align-items:center;}
  nav a{
    font-family:'Inter',sans-serif;
    font-size:11.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    text-decoration:none;
    color:var(--gris);
    padding:0.3rem 0;
    border-bottom:1px solid transparent;
    transition:color .4s ease, border-color .4s ease;
    white-space:nowrap;
  }
  nav a:hover{color:var(--carbon);}
  nav a.activa{color:var(--carbon);border-bottom-color:var(--carbon);}
  .idiomas{
    font-family:'Inter',sans-serif;
    font-size:10.5px;
    letter-spacing:0.18em;
    color:var(--gris);
    white-space:nowrap;
  }
  .idiomas .on{color:var(--carbon);font-weight:600;}
  .idiomas span[title]{cursor:help;opacity:0.55;}

  /* menú móvil */
  .menu-btn{
    display:none;
    background:none;border:none;
    font-family:'Inter',sans-serif;
    font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--carbon);cursor:pointer;padding:0.5rem;
  }
  @media(max-width:1080px){
    header nav{
      display:none;
      position:absolute;top:64px;left:0;right:0;
      background:var(--blanco);
      border-bottom:1px solid var(--linea);
      flex-direction:column;
      padding:1.5rem 5vw 2rem;
      gap:1.2rem;
      align-items:flex-start;
    }
    header nav.abierto{display:flex;}
    .menu-btn{display:block;}
  }

  /* ============ PÁGINAS ============ */
  main{display:block;padding-top:64px;min-height:100vh;}
  .page{max-width:1100px;margin:0 auto;padding:0 6vw;}
  .prosa{max-width:620px;margin-left:auto;margin-right:auto;}
  .prosa p{margin-bottom:1.4rem;}
  .prosa p:last-child{margin-bottom:0;}

  /* umbral de cada página */
  .umbral{
    text-align:center;
    padding:16vh 6vw 10vh;
  }
  .umbral .rol{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.34em;
    text-transform:uppercase;
    font-weight:600;
    display:block;
    margin-bottom:3.2rem;
  }
  .umbral h1{
    font-weight:400;
    font-size:clamp(2.3rem,5.6vw,3.9rem);
    line-height:1.14;
    letter-spacing:0.005em;
    max-width:820px;
    margin:0 auto 1.6rem;
  }
  .umbral .bajo{
    font-style:italic;
    font-size:1.22rem;
    color:var(--gris);
  }

  section{padding:5.5rem 0;}
  .silencio{padding:7rem 0;}
  h2{
    font-weight:400;
    font-size:clamp(1.7rem,3vw,2.3rem);
    line-height:1.22;
    margin-bottom:2.2rem;
  }
  h3{font-weight:500;font-size:1.3rem;margin:2.6rem 0 0.9rem;}
  em{font-style:italic;}

  /* cita grande */
  .cita{
    text-align:center;
    padding:7rem 6vw;
    max-width:800px;
    margin:0 auto;
  }
  .cita p{
    font-size:clamp(1.45rem,2.9vw,2rem);
    line-height:1.42;
    font-style:italic;
  }
  .cita .quien{
    font-family:'Inter',sans-serif;
    font-size:10.5px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--gris);
    margin-top:2.2rem;
    font-style:normal;
  }

  /* espacio fotográfico */
  .foto{
    background:var(--arena-suave);
    min-height:52vh;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:1.6rem 1.8rem;
  }
  .foto.alta{min-height:74vh;}
  .foto.media{min-height:46vh;}
  .foto .intencion{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:#A08F66;
    line-height:1.8;
  }
  .foto-full{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
  .foto-real{padding:0;background:none;min-height:0;display:block;}
  .foto-real img{width:100%;height:auto;display:block;}
  .foto-real .pie-foto{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gris);
    text-align:center;
    padding:1rem 1.8rem 0;
  }

  /* pendiente de contenido */
  .pendiente{
    border:1px dashed var(--arena);
    padding:1.6rem 1.8rem;
    margin:2.2rem 0;
    font-size:0.98rem;
    color:var(--gris);
    line-height:1.6;
  }
  .pendiente .label{display:block;margin-bottom:0.5rem;color:#A08F66;}

  /* fade-in */
  .fade{opacity:0;transform:translateY(14px);transition:opacity 1.1s ease, transform 1.1s ease;}
  .fade.en{opacity:1;transform:none;}
  @media (prefers-reduced-motion: reduce){
    .fade{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

  /* ============ INICIO ============ */
  .apertura{
    min-height:calc(88vh - 64px);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 6vw;
  }
  .apertura p{
    font-size:clamp(1.7rem,4vw,2.7rem);
    font-style:italic;
    line-height:1.35;
    max-width:740px;
  }
  .linea-bio{
    text-align:center;
    padding:5.5rem 6vw 4rem;
  }
  .linea-bio .wbt{
    font-family:'Inter',sans-serif;
    font-size:12px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:1.1rem;
  }
  .linea-bio .exploring{
    font-style:italic;
    font-size:1.25rem;
    color:var(--tierra);
  }

  .puertas{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--linea);
    border-top:1px solid var(--linea);
    border-bottom:1px solid var(--linea);
    margin:4rem 0;
  }
  .puerta{
    background:var(--blanco);
    padding:3.4rem 2rem 3.8rem;
    text-align:center;
    text-decoration:none;
    color:var(--carbon);
    transition:background .6s ease;
    display:block;
  }
  .puerta:hover{background:#FFFFFF;}
  .puerta .rol{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    font-weight:600;
    display:block;
    margin-bottom:1.5rem;
  }
  .puerta .nombre{font-size:1.7rem;line-height:1.2;margin-bottom:0.35rem;}
  .puerta .alias{font-style:italic;color:var(--gris);font-size:1.02rem;margin-bottom:1.3rem;}
  .puerta .una-linea{font-size:0.98rem;color:#4A463E;line-height:1.55;max-width:270px;margin:0 auto;}
  .rol-tierra{color:var(--tierra);}
  .rol-arcilla{color:var(--arcilla);}
  .rol-rio{color:var(--rio);}
  @media(max-width:820px){.puertas{grid-template-columns:1fr;}}

  /* lista lenta */
  .lista-lenta{margin:2.4rem 0;}
  .lista-lenta > div{
    padding:1.15rem 0;
    border-bottom:1px solid var(--linea);
    display:flex;
    gap:2rem;
    align-items:baseline;
  }
  .lista-lenta > div:first-child{border-top:1px solid var(--linea);}
  .lista-lenta .k{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gris);
    min-width:160px;
    flex-shrink:0;
  }
  .lista-lenta .v{font-size:1.02rem;line-height:1.55;}
  @media(max-width:820px){.lista-lenta > div{flex-direction:column;gap:0.3rem;}}

  /* palabras wolof */
  .palabra-wolof{
    text-align:center;
    padding:6.5rem 6vw;
    border-top:1px solid var(--linea);
  }
  .palabra-wolof:last-of-type{border-bottom:1px solid var(--linea);}
  .palabra-wolof .w{
    font-size:clamp(2rem,4.6vw,3.1rem);
    font-style:italic;
    margin-bottom:1.4rem;
  }
  .palabra-wolof .g{
    max-width:520px;
    margin:0 auto;
    font-size:1.12rem;
    line-height:1.6;
    color:#4A463E;
  }

  /* diagrama secuencia */
  .diagrama{
    text-align:center;
    padding:4.5rem 6vw;
  }
  .diagrama .paso{
    font-family:'Inter',sans-serif;
    font-size:13px;
    letter-spacing:0.26em;
    text-transform:uppercase;
    color:var(--carbon);
    padding:1.05rem 0;
  }
  .diagrama .flecha{
    color:var(--arena);
    font-size:1rem;
    line-height:1;
    padding:0.15rem 0;
  }
  .diagrama .titulo-d{margin-bottom:2.5rem;}

  /* constelación tabax nite */
  .constelacion{
    position:relative;
    max-width:900px;
    margin:3rem auto;
  }
  .constelacion svg{width:100%;height:auto;display:block;}
  .constelacion text{
    font-family:'Inter',sans-serif;
    font-size:11.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    fill:var(--carbon);
  }
  .constelacion .centro-t{font-size:13px;letter-spacing:0.2em;}
  .constelacion circle{fill:var(--blanco);stroke:var(--carbon);stroke-width:1;}
  .constelacion .hilo{stroke:var(--linea);stroke-width:1;}
  .constelacion .anillo{fill:none;stroke:#C9BFA8;stroke-width:1.3;}
  .constelacion .badge{fill:var(--blanco);stroke:var(--carbon);stroke-width:1;}
  .constelacion .icono{stroke:var(--carbon);stroke-width:1.1;fill:none;stroke-linecap:round;stroke-linejoin:round;color:var(--carbon);}
  .constelacion .icono [fill="currentColor"]{stroke:none;}
  .constelacion .baobab{stroke:var(--carbon);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
  .constelacion .l2{fill:var(--gris);font-size:10px;}
  .constelacion .sub-t{font-size:9.5px;fill:var(--gris);letter-spacing:0.18em;text-transform:none;font-style:italic;font-family:'EB Garamond',serif;font-size:13px;}
  .constelacion .anillo-t{fill:var(--tierra);}

  /* proyectos */
  .proyecto{
    padding:2rem 0;
    border-bottom:1px solid var(--linea);
  }
  .proyecto:first-of-type{border-top:1px solid var(--linea);}
  .proyecto h3{margin:0 0 0.5rem;font-size:1.35rem;font-weight:500;}
  .proyecto .relacion{font-style:italic;color:var(--gris);font-size:1rem;margin-bottom:0.7rem;}
  .proyecto p{font-size:1rem;line-height:1.6;color:#4A463E;}

  /* fechas performance */
  .fechas > div{
    display:flex;
    gap:2.5rem;
    padding:1.4rem 0;
    border-bottom:1px solid var(--linea);
    align-items:baseline;
  }
  .fechas > div:first-child{border-top:1px solid var(--linea);}
  .fechas .cuando{
    font-family:'Inter',sans-serif;
    font-size:12px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--rio);
    min-width:150px;
  }
  .fechas .donde{font-size:1.1rem;}
  .fechas .lugar{display:block;font-size:0.95rem;color:var(--gris);margin-top:0.35rem;}
  .fechas .porconfirmar{font-style:italic;}
  .anio-agenda{
    font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.24em;
    text-transform:uppercase;color:var(--gris);display:block;
    text-align:center;margin-bottom:1.1rem;
  }
  @media(max-width:640px){
    .fechas > div{flex-direction:column;gap:0.5rem;}
    .fechas .cuando{min-width:0;}
  }

  /* preguntas conferencias */
  .pregunta{
    padding:2.6rem 0;
    border-bottom:1px solid var(--linea);
    text-align:center;
  }
  .pregunta:first-of-type{border-top:1px solid var(--linea);}
  .pregunta .q{font-size:clamp(1.3rem,2.6vw,1.75rem);font-style:italic;line-height:1.4;margin-bottom:0.7rem;}
  .pregunta .t{font-family:'Inter',sans-serif;font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gris);}

  /* vídeos */
  .video-bloque{
    background:var(--arena-suave);
    aspect-ratio:16/9;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:1.4rem 1.6rem;
    margin:2rem 0 0.8rem;
  }
  .video-bloque iframe{width:100%;height:100%;border:0;display:block;}
  .video-bloque .intencion{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:#A08F66;
    line-height:1.8;
  }
  .video-bloque.con-video{padding:0;background:#000;}
  a.video-bloque{
    align-items:center;
    justify-content:center;
    text-align:center;
    text-decoration:none;
    transition:background .5s ease;
  }
  a.video-bloque:hover{background:#EAE0C8;}
  a.video-bloque .titulo-v{
    font-family:'EB Garamond',serif;
    font-size:1.5rem;
    font-style:italic;
    color:var(--carbon);
    margin-bottom:1rem;
  }
  a.video-bloque .ver{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--tierra);
  }
  .video-pie{
    font-size:0.98rem;
    line-height:1.55;
    color:#4A463E;
    margin-bottom:2.8rem;
  }
  .video-pie .de{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gris);
    display:block;
    margin-bottom:0.3rem;
  }

  /* carta contacto */
  .carta{
    max-width:560px;
    margin:0 auto;
    padding:2rem 0;
  }
  .carta p{font-size:1.15rem;line-height:1.7;margin-bottom:1.5rem;}
  .carta .correo{
    display:inline-block;
    margin-top:1rem;
    font-size:1.25rem;
    color:var(--carbon);
    text-decoration:none;
    border-bottom:1px solid var(--arena);
    padding-bottom:2px;
    transition:border-color .4s ease;
  }
  .carta .correo:hover{border-color:var(--carbon);}

  /* libros y descarga por correo */
  .libro-bloque{padding:4.5rem 0;border-top:1px solid var(--linea);}
  .libro-bloque .anio{
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--tierra);
    display:block;
    margin-bottom:1rem;
  }
  .libro-bloque h2{margin-bottom:0.4rem;}
  .libro-bloque .subtitulo{font-style:italic;color:var(--gris);font-size:1.15rem;margin-bottom:2rem;}
  .descarga{margin-top:2.5rem;max-width:460px;}
  .descarga .invitacion{
    font-size:0.98rem;
    color:#4A463E;
    margin-bottom:1rem;
    line-height:1.6;
  }
  .campo{
    display:flex;
    align-items:center;
    gap:1rem;
    border-bottom:1px solid var(--carbon);
    padding-bottom:0.4rem;
  }
  .campo input{
    flex:1;
    border:none;
    background:none;
    font-family:'EB Garamond',serif;
    font-size:1.08rem;
    padding:0.4rem 0;
    outline:none;
    color:var(--carbon);
  }
  .campo input::placeholder{color:#B5AE9C;font-style:italic;}
  .campo button{
    border:none;
    background:none;
    font-family:'Inter',sans-serif;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    font-weight:600;
    cursor:pointer;
    color:var(--carbon);
    padding:0.4rem 0;
    white-space:nowrap;
  }
  .campo button:hover{color:var(--rio);}
  .privacidad-nota{font-family:'Inter',sans-serif;font-size:0.72rem;line-height:1.6;color:var(--gris);margin-top:0.9rem;}
  .privacidad-nota a{color:var(--rio);}
  .form-msg{font-size:1rem;font-style:italic;color:var(--palma);margin-top:1rem;display:none;}
  .form-msg a{color:var(--carbon);}

  /* enlaces serenos */
  .enlace{
    color:var(--carbon);
    text-decoration:none;
    border-bottom:1px solid var(--arena);
    transition:border-color .4s ease;
  }
  .enlace:hover{border-color:var(--carbon);}

  /* seguir — navegación al final de cada página */
  .seguir{
    text-align:center;
    padding:6rem 6vw 7rem;
    border-top:1px solid var(--linea);
  }
  .seguir .label{display:block;margin-bottom:1.2rem;}
  .seguir a{
    font-size:1.5rem;
    color:var(--carbon);
    text-decoration:none;
    font-style:italic;
    border-bottom:1px solid var(--arena);
    transition:border-color .4s ease;
  }
  .seguir a:hover{border-color:var(--carbon);}

  /* pie */
  footer{
    border-top:1px solid var(--linea);
    text-align:center;
    padding:4.5rem 6vw;
  }
  footer .f-marca{font-size:1.05rem;margin-bottom:0.8rem;}
  footer .f-linea{
    font-family:'Inter',sans-serif;
    font-size:10.5px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gris);
    line-height:2.2;
  }
  footer a{color:var(--gris);text-decoration:none;}
  footer a:hover{color:var(--carbon);}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:840px;margin:0 auto;text-align:center;}
    .cifra{padding:1.3rem 0.5rem;border-top:1px solid var(--linea);}
    .cifra-num{display:block;font-family:'EB Garamond',serif;font-size:2.7rem;font-weight:500;color:var(--tierra);line-height:1;}
    .cifra-lbl{display:block;font-family:'Inter',sans-serif;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gris);margin-top:0.75rem;line-height:1.55;text-wrap:balance;max-width:15em;margin-left:auto;margin-right:auto;}
    @media(max-width:640px){.cifras{grid-template-columns:repeat(2,1fr);gap:0.6rem;} .cifra-num{font-size:2.2rem;}}
.lang-switch .lang-opt{color:var(--gris);text-decoration:none;font-size:12px;letter-spacing:0.12em;padding:0 2px;}
  .lang-switch .lang-opt.activa{color:var(--carbon);font-weight:600;}

/* ---------- accesibilidad ---------- */
.saltar{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--carbon);color:var(--blanco);
  padding:0.9rem 1.4rem;font-family:'Inter',sans-serif;font-size:0.85rem;
  letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;
}
.saltar:focus{left:0;}
:focus-visible{outline:2px solid var(--rio);outline-offset:3px;border-radius:2px;}
nav a{min-height:44px;display:inline-flex;align-items:center;}
.lang-switch{white-space:nowrap;}
.lang-switch .lang-opt{display:inline-block;padding:0.7rem 0.25rem;}
footer a{display:inline-block;padding:0.45rem 0;}
.menu-btn{min-height:44px;min-width:44px;}
@media(max-width:1080px){ header nav a{min-height:48px;} }

/* ---------- consentimiento ---------- */
.consentimiento{
  display:flex;gap:0.7rem;align-items:flex-start;margin-top:1.1rem;
  font-family:'Inter',sans-serif;font-size:0.74rem;line-height:1.6;color:var(--gris);
}
.consentimiento input{
  width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:var(--tierra);cursor:pointer;
}
.consentimiento label{cursor:pointer;}
.consentimiento a{color:var(--rio);}
.form-error{
  font-family:'Inter',sans-serif;font-size:0.74rem;color:#9C4B32;
  margin-top:0.6rem;display:none;
}

/* ---------- prensa ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin:2.5rem 0 3rem;}
.filtros button{
  font-family:'Inter',sans-serif;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;
  background:none;border:1px solid var(--linea);color:var(--gris);
  padding:0.6rem 1.1rem;cursor:pointer;transition:all 0.3s;border-radius:2px;
}
.filtros button:hover{border-color:var(--rio);color:var(--rio);}
.filtros button.activo{background:var(--carbon);border-color:var(--carbon);color:var(--blanco);}
.aparicion{
  display:flex;gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--linea);
  align-items:baseline;
}
.aparicion:first-child{border-top:1px solid var(--linea);}
.aparicion[hidden]{display:none;}
.aparicion .cuando{
  font-family:'Inter',sans-serif;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--rio);min-width:110px;
}
.aparicion .cuerpo{flex:1;}
.aparicion .medio{
  font-family:'Inter',sans-serif;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--tierra);display:block;margin-bottom:0.35rem;
}
.aparicion .tit{font-size:1.08rem;line-height:1.45;display:block;}
.aparicion .tit a{color:var(--carbon);text-decoration:none;border-bottom:1px solid var(--linea);}
.aparicion .tit a:hover{border-color:var(--rio);color:var(--rio);}
.aparicion .desc{font-size:0.95rem;color:#4A463E;margin-top:0.4rem;}
@media(max-width:640px){
  .aparicion{flex-direction:column;gap:0.5rem;}
  .aparicion .cuando{min-width:0;}
}
.destacado{
  border:1px solid var(--linea);padding:2.4rem;margin-bottom:3rem;
  background:rgba(217,201,165,0.09);
}
.destacado .etiqueta{
  font-family:'Inter',sans-serif;font-size:0.66rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--tierra);display:block;margin-bottom:0.9rem;
}
.destacado h3{font-size:1.7rem;font-weight:500;margin:0 0 0.6rem;}
.foto-oficial{
  border:1px dashed #C9C1AE;background:rgba(217,201,165,0.13);
  text-align:center;padding:3.2rem 1rem;
}
.foto-oficial span{
  font-family:'Inter',sans-serif;font-size:0.68rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--gris);
}
.rejilla-fotos{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.5rem;}
@media(max-width:640px){.rejilla-fotos{grid-template-columns:1fr;}}

@media(max-width:400px){
  .campo{flex-wrap:wrap;gap:0.5rem;}
  .campo input{flex:1 1 100%;}
  .campo button{padding:0.5rem 0;}
}

/* ---------- navegación secundaria del pie ---------- */
.pie-nav{
  display:flex;flex-wrap:wrap;gap:0 1.6rem;justify-content:center;
  margin:1.6rem 0 1.1rem;
}
.pie-nav a{
  font-family:'Inter',sans-serif;font-size:0.72rem;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--carbon);text-decoration:none;
  border-bottom:1px solid transparent;
}
.pie-nav a:hover{border-color:var(--rio);color:var(--rio);}
@media(max-width:640px){
  .pie-nav{gap:1.1rem 1.4rem;}
  .pie-nav a{min-height:44px;display:flex;align-items:center;}
}
.f-legal{margin-top:0.2rem;}
.f-legal a{font-family:'Inter',sans-serif;font-size:0.68rem;letter-spacing:0.12em;color:var(--gris);}
.f-legal a:hover{color:var(--rio);}

/* ---------- las citas, en el azul de Bëlbi ---------- */
.cita{
  background:#A86329;
  max-width:none;
  margin:0;
  padding:7rem 6vw;
}
.cita p{
  color:#FFFFFF;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}
header{border-bottom:1px solid rgba(28,82,166,0.20);}

/* ---------- bandas que separan las secciones ----------
   apertura AZUL · contenido crema · cita NARANJA · cierre arena   */
/* las aperturas vuelven al crema: el color queda solo en las citas */
.seguir{
  background:#F5E6D8;
  padding-top:4rem;
  padding-bottom:4rem;
}
@media(max-width:640px){
  .cita{padding:4.5rem 6vw;}
  /* en una pantalla de móvil, 135px de aire antes del título es un tercio de la vista */
  .umbral{padding-top:4rem;padding-bottom:2.75rem;}
  .apertura{padding-top:3rem;padding-bottom:3rem;}
  .fechas .cuando{margin-bottom:0.15rem;}
}
