.pagina-politicas { background: #f7f7ee; color: #173a28; }
.politicas-saltar { position: absolute; top: -100px; left: 16px; z-index: 100; padding: 10px 14px; background: #fff; color: #173a28; }
.politicas-saltar:focus { top: 12px; }
.pagina-politicas .encabezado { position: sticky; top: 0; }
.pagina-politicas .nav-principal { gap: clamp(12px, 1.7vw, 24px); }
.pagina-politicas .nav-principal a { white-space: nowrap; }
.pagina-politicas .nav-principal a[aria-current] { color: #ffbd18; }
.politicas-volver { display: none; color: #225b3d; font: 800 12px var(--fuente-cuerpo); text-decoration: none; }
.politicas-hero {
  position: relative;
  padding: 0;
  overflow: hidden;
  background: radial-gradient(circle at 80% 45%, rgba(228,133,54,.32), transparent 25%), radial-gradient(circle at 100% -50%, rgba(127,166,79,.3), transparent 52%), linear-gradient(123deg, #102f20, #1b4c32 68%, #25533c);
  color: #fff;
}
.politicas-hero::after { content: ''; position: absolute; width: 700px; height: 700px; top: -410px; right: -220px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; box-shadow: 0 0 0 95px rgba(255,255,255,.025), 0 0 0 190px rgba(255,255,255,.02); pointer-events: none; }
.politicas-hero-interior { display: flex; align-items: center; justify-content: space-between; min-height: 470px; gap: 60px; padding-block: 90px; }
.politicas-hero-interior > div:first-child { max-width: 790px; position: relative; z-index: 1; }
.politicas-eyebrow, .politicas-numero { color: #f6b55d; font: 800 11px/1.5 var(--fuente-cuerpo); letter-spacing: .16em; }
.politicas-hero h1 { margin: 15px 0 18px; font: 800 clamp(48px, 6.3vw, 96px)/1.02 var(--fuente-display); letter-spacing: -.065em; }
.politicas-hero h1 em { color: #ffa945; font-style: normal; }
.politicas-lead { max-width: 63ch; margin: 0 0 24px; font: 500 clamp(16px, 1.35vw, 20px)/1.6 var(--fuente-cuerpo); color: #e0ebe3; }
.politicas-fecha { color: #b3cdbc; font-size: 12px; }
.politicas-sello { flex: 0 0 220px; width: 220px; height: 220px; display: grid; place-items: center; border: 1px solid rgba(255,180,84,.6); border-radius: 50%; background: rgba(255,255,255,.035); box-shadow: 0 0 0 12px rgba(255,190,92,.03), inset 0 0 60px rgba(247,171,65,.06); transform: rotate(-12deg); }
.politicas-sello span { color: #fff; font: 800 22px/1.2 var(--fuente-display); letter-spacing: -.03em; text-align: center; }
.politicas-sello b { color: #ffb251; }
.politicas-cuerpo { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(42px, 6vw, 100px); padding-block: 85px 105px; }
.politicas-indice { position: sticky; top: 115px; align-self: start; display: grid; gap: 7px; border-left: 1px solid #cfded2; padding-left: 18px; }
.politicas-indice p { margin: 0 0 10px; color: #bf6034; font: 800 10px var(--fuente-cuerpo); letter-spacing: .16em; }
.politicas-indice a { padding: 8px 0; text-decoration: none; font-size: 12px; font-weight: 700; color: #476556; line-height: 1.4; }
.politicas-indice a:hover, .politicas-indice a:focus-visible { color: #c7582f; }
.politicas-articulo { min-width: 0; }
.politicas-bloque { max-width: 790px; padding: 0 0 62px; margin: 0 0 62px; border-bottom: 1px solid #d7e3d8; scroll-margin-top: 115px; }
.politicas-bloque:last-child { border: 0; margin: 0; padding: 0; }
.politicas-numero { color: #c7572b; margin: 0 0 12px; }
.politicas-bloque h2 { max-width: 19ch; margin: 0 0 25px; font: 800 clamp(30px, 3vw, 45px)/1.13 var(--fuente-display); letter-spacing: -.045em; color: #153c28; }
.politicas-bloque > p:not(.politicas-numero), .politicas-lista { margin: 0 0 21px; color: #3c5549; font: 500 16px/1.75 var(--fuente-cuerpo); }
.politicas-cuadricula { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 25px 0; }
.politicas-cuadricula > div { padding: 22px; border: 1px solid #dce9dd; border-radius: 17px; background: #fff; }
.politicas-cuadricula h3 { margin: 0 0 10px; color: #255c3f; font: 800 17px var(--fuente-display); }
.politicas-cuadricula p { margin: 0; color: #516459; font-size: 13px; line-height: 1.65; }
.politicas-lista { padding-left: 23px; }
.politicas-lista li { padding-left: 5px; margin-bottom: 14px; }
.politicas-lista strong { color: #193f2c; }
.politicas-fuentes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 32px 0; }
.politicas-fuentes a { display: block; min-width: 0; padding: 18px 20px; border: 1px solid #dbe5d9; border-radius: 13px; background: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.politicas-fuentes a:hover { border-color: #d58e59; transform: translateY(-2px); }
.politicas-fuentes strong { display: block; color: #25563b; font: 800 14px var(--fuente-display); margin-bottom: 5px; }
.politicas-fuentes span { display: block; color: #5e6e62; font-size: 12px; line-height: 1.55; }
.politicas-nota { padding: 23px 25px; border-left: 4px solid #d56935; border-radius: 0 12px 12px 0; background: #eaf2e9; color: #335545; font-size: 14px; line-height: 1.65; }
.politicas-nota strong { color: #1b4931; }
.politicas-cierre { padding-block: 76px 90px; background: #dfebe1; }
.politicas-cierre .envoltura { max-width: 980px; }
.politicas-cierre p { color: #b6592e; font: 800 11px var(--fuente-cuerpo); letter-spacing: .18em; }
.politicas-cierre h2 { max-width: 18ch; margin: 18px 0 28px; color: #1a4b31; font: 800 clamp(31px, 4vw, 54px)/1.12 var(--fuente-display); letter-spacing: -.05em; }
.politicas-cierre a { display: inline-flex; gap: 18px; align-items: center; padding: 12px 21px; border-radius: 99px; background: #235d3d; color: white; font-size: 14px; font-weight: 800; text-decoration: none; }
.pagina-politicas footer { padding-bottom: 20px; }
@media (max-width: 1060px) {
  .pagina-politicas .nav-principal { display: none; }
  .politicas-volver { display: inline-flex; }
}
@media (max-width: 760px) {
  .politicas-hero-interior { min-height: 0; padding-block: 78px 80px; }
  .politicas-sello { position: absolute; right: -75px; top: 65px; opacity: .15; }
  .politicas-cuerpo { display: block; padding-block: 42px 70px; }
  .politicas-indice { position: static; display: flex; gap: 7px; overflow-x: auto; margin: 0 0 50px; padding: 0 0 12px; border: 0; scrollbar-width: thin; }
  .politicas-indice p { display: none; }
  .politicas-indice a { flex: 0 0 auto; padding: 9px 12px; border: 1px solid #cfdfd0; border-radius: 99px; background: #fff; font-size: 11px; }
  .politicas-bloque { margin-bottom: 48px; padding-bottom: 45px; scroll-margin-top: 95px; }
  .politicas-cuadricula, .politicas-fuentes { grid-template-columns: 1fr; }
}
@media (max-width: 430px) {
  .politicas-hero h1 { font-size: 48px; }
  .politicas-hero-interior { padding-block: 67px; }
  .politicas-bloque > p:not(.politicas-numero), .politicas-lista { font-size: 14px; }
}
