/* PERSONALIZACIÓN: cambia aquí la paleta y el ancho de la página. */
:root{--anap-green:#003d33;--anap-dark:#101d18;--anap-ink:#171c19;--anap-width:1280px;--anap-radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--anap-ink);background:#fff;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dcac55;outline-offset:5px}img{display:block;max-width:100%}.contenedor{width:min(var(--anap-width),calc(100% - 64px));margin-inline:auto}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;z-index:10;padding:12px;background:white}.topbar{background:linear-gradient(90deg,#f0f6f3 27%,var(--anap-dark) 27%);color:#fff}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;font-size:14px}.brand-label{color:var(--anap-ink);width:24%}.menu-bar{background:linear-gradient(90deg,#fff 27%,var(--anap-green) 27%);color:white}.menu-row{display:flex;align-items:center;gap:22px;min-height:64px}.logo{flex:0 0 24%}.logo img{width:80px;height:auto}nav{display:flex;align-items:center;gap:6px;flex:1}nav a{padding:12px 14px;white-space:nowrap}nav .active,nav a:hover{background:var(--anap-dark);border-radius:5px;text-decoration:none}.menu-actions{display:flex;gap:22px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--anap-green);border:1px solid var(--anap-green);padding:12px 28px;border-radius:5px;color:white;font-weight:600;line-height:1.3}.button:hover{background:var(--anap-dark);text-decoration:none}.outline{background:transparent;border:1px solid currentColor}.search-toggle,.menu-toggle{background:none;border:0;color:inherit;padding:8px}.search-toggle svg{width:24px;fill:none;stroke:currentColor;stroke-width:2.8}.menu-toggle{display:none}.hero{position:relative;padding-bottom:32px}.hero:before{content:"";position:absolute;background:var(--anap-green);right:0;top:0;bottom:0;width:35%}.hero-layout{position:relative}.hero-image{position:relative;min-height:610px;border-radius:var(--anap-radius);overflow:hidden;margin-right:36px;color:#fff;display:flex;align-items:center}.hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.53)}.slides{position:relative;z-index:1;width:100%;padding:80px 8.5%}.slide{max-width:670px}.slide[hidden]{display:none}.eyebrow{font-size:20px;font-weight:600;margin:0 0 20px}.slide h1{font-weight:400;font-size:clamp(32px,3.25vw,50px);line-height:1.18;margin:0 0 15px}.slide>p:not(.eyebrow){margin:0;max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.slider-nav{position:absolute;left:calc(100% - 8px);top:40%;display:grid;gap:12px}.slider-nav button{display:flex;align-items:center;gap:16px;color:#fff;border:0;background:none;font-size:20px;padding:6px}.slider-nav button:before{content:"";width:30px;height:3px;background:currentColor}.slider-nav button[aria-pressed=true]{font-weight:700}.slider-nav button[aria-pressed=true]:before{width:55px;background:#bbd7cf}.services{padding-top:92px;padding-bottom:80px;text-align:center}.services h2{font-family:Arial,sans-serif;font-size:28px;line-height:1.3;margin:0 0 8px}.subtitle{font-size:14px;margin:0 0 38px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card-image{position:relative;margin-bottom:40px}.card-image img{width:100%;aspect-ratio:1.7;object-fit:cover;border-radius:12px}.card-icon{position:absolute;bottom:-28px;left:calc(50% - 30px);display:grid;place-items:center;width:60px;height:60px;background:var(--anap-green);border-radius:50%;border:4px solid white;color:white;font-size:28px}.tarjeta h3{font-size:21px;margin:0 0 8px}.tarjeta p{margin:0;color:#5b625f}footer{background:var(--anap-dark);color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-block:42px}.footer-grid h2{font-size:21px;margin:0 0 20px}.footer-grid section>a{display:block;font-size:14px;margin:10px 0}.search-form{display:flex;gap:8px;flex-wrap:wrap}.search-form input{min-width:0;width:100%;flex:1 1 130px;border:1px solid #bcc8c2;background:white;color:var(--anap-ink);padding:11px;border-radius:3px}.search-form button{border:1px solid #90a89c;background:var(--anap-green);color:white;padding:10px 14px;border-radius:3px}.credits{text-align:center;padding:20px;border-top:1px solid #ffffff24;font-size:13px}.credits a{text-decoration:underline}.back-top{position:fixed;bottom:22px;right:22px;background:var(--anap-green);color:white;padding:7px 16px;border-radius:4px;font-size:24px;z-index:2}dialog{border:0;border-radius:12px;padding:36px;max-width:540px;width:calc(100% - 32px)}dialog::backdrop{background:#001d16b8}#search-dialog h2{font-size:24px;margin-top:0}dialog p{font-size:14px}.close-search{position:absolute;right:12px;top:6px;background:none;border:0;font-size:30px}
@media(min-width:1400px){.hero-layout{width:calc(min(var(--anap-width),100% - 64px) - 60px);margin-left:calc((100% - min(var(--anap-width),100% - 64px))/2)}.hero-image{margin-right:0}}
@media(max-width:1199px){.contact-row{gap:16px;font-size:12px}.menu-row{gap:12px}.logo{flex-basis:22%}nav a{padding:10px 8px;font-size:14px}.menu-actions{gap:8px}.menu-actions .button{padding:10px 14px}.hero-image{margin-right:65px;min-height:550px}.slider-nav{left:auto;right:-8px}.slider-nav button:before{width:18px}.slider-nav button[aria-pressed=true]:before{width:28px}.footer-grid{gap:25px}.brand-label{width:20%}}
@media(max-width:900px){.contenedor{width:calc(100% - 40px)}.topbar{background:var(--anap-dark)}.brand-label{color:white;width:auto}.contact-row{flex-wrap:wrap;justify-content:center;padding:12px;gap:8px 24px;font-size:13px}.menu-bar{background:var(--anap-green)}.menu-row{flex-wrap:wrap;min-height:82px;padding-block:14px}.logo{background:white;padding:12px;border-radius:4px;flex:1;max-width:240px}.logo img{width:190px}.menu-toggle{display:block;margin-left:auto}.menu-actions{margin-left:8px}.menu-actions .button{display:none}nav{display:none;order:4;flex:0 0 100%;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{padding-top:10px}.hero-image{margin:0;min-height:540px}.slides{padding:50px 7%}.slider-nav{position:relative;left:auto;right:auto;top:auto;display:flex;justify-content:center;margin-top:18px}.hero:before{width:100%}.slider-nav button{font-size:18px}.slider-nav button:before{width:22px}.services{padding-top:55px;padding-bottom:55px}.services h2{font-size:24px}.cards{gap:20px}.tarjeta h3{font-size:18px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.contenedor{width:calc(100% - 32px)}.contact-row span:last-child{display:none}.contact-row{font-size:12px}.brand-label{font-weight:700}.hero-image{min-height:525px}.slides{padding:40px 24px}.slide h1{font-size:34px;overflow-wrap:anywhere}.hero-actions{gap:10px}.hero-actions .button{padding:12px 15px;font-size:14px}.cards{grid-template-columns:1fr;gap:40px}.card-image img{aspect-ratio:1.7}.services h2{font-size:23px}.footer-grid{grid-template-columns:1fr;gap:26px}.logo{max-width:190px}.menu-toggle span{display:none}.menu-actions{margin-left:0}.credits{padding-inline:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Páginas interiores: la misma cabecera, imagen y barra lateral del portal. */
.interior-banner{min-height:508px;display:grid;place-items:center;padding:70px 24px;background:linear-gradient(#0009,#0009),var(--banner-image, url('assets/banner-interior.png')) center/cover no-repeat;color:white;text-align:center}
.interior-banner h1{max-width:720px;margin:0;font-size:clamp(30px,3vw,44px);font-weight:500;line-height:1.18}
.interior-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:7%;padding-block:40px 75px}
.interior-content{font-size:16px;line-height:1.7}.interior-content p{margin:0 0 20px}.interior-content .button{margin:8px 0 24px}.interior-content blockquote{border-left:4px solid var(--anap-green);padding:10px 25px;margin:25px 0;background:#f2f7f5}
.source-note{border-left:4px solid var(--anap-green);background:#f2f7f5;padding:20px 24px;margin:32px 0}.source-note p{margin:8px 0}.source-note a{text-decoration:underline;color:var(--anap-green);font-weight:600}
.interior-sidebar section{border:1px solid #e6e6e6;border-bottom:3px solid var(--anap-green);border-radius:12px;padding:25px 30px;margin-bottom:28px}.interior-sidebar h2{text-align:center;font-size:23px;margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid #ddd}.interior-sidebar a{display:block;margin:12px 0;color:#404944}.interior-sidebar a:before{content:'◉';color:var(--anap-green);font-size:12px;margin-right:10px}
.contact-list{display:grid;grid-template-columns:115px 1fr;gap:10px 20px;margin:25px 0}.contact-list dt{font-weight:700}.contact-list dd{margin:0}
@media(max-width:900px){.interior-banner{min-height:330px}.interior-layout{gap:30px}}
@media(max-width:700px){.interior-banner{min-height:270px}.interior-layout{grid-template-columns:1fr}.interior-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.interior-sidebar section{padding:18px;margin:0}.interior-sidebar h2{font-size:19px}}
@media(max-width:520px){.interior-sidebar{grid-template-columns:1fr}.contact-list{grid-template-columns:1fr;gap:0}.contact-list dd{margin-bottom:15px}}
/* Encabezado institucional de dos franjas. */
.site-header .topbar{background:#57132e;color:#fff}
.site-header .top-row{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.site-header .logo{display:block;flex:0 0 auto;width:min(470px,38vw);max-width:none;background:none;padding:0;margin:0}
.site-header .logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.site-header .top-info{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 28px;font-size:13px;line-height:1.3;text-align:right}
.site-header .brand-label{color:#fff;width:auto;font-weight:700}
.site-header .menu-bar{background:#350e20;color:#fff}
.site-header .menu-row{min-height:66px;justify-content:center;gap:32px;padding:0}
.site-header nav{flex:0 1 auto;justify-content:center;gap:12px}
.site-header nav a{padding:13px 14px;font-weight:600}
.site-header nav .active,.site-header nav a:hover{background:#57132e}
.site-header .menu-actions{margin:0;gap:18px}
.site-header .menu-actions .button{border-color:#fff;background:transparent;color:#fff;white-space:nowrap}
.site-header .menu-actions .button:hover{background:#57132e}
.site-header .menu-toggle{display:none}
@media(max-width:1100px){
  .site-header .top-row{gap:24px}
  .site-header .logo{width:min(400px,38vw)}
  .site-header .top-info{gap:3px 16px;font-size:12px}
  .site-header .menu-row{gap:15px}
  .site-header nav{gap:4px}
  .site-header nav a{padding:12px 8px;font-size:14px}
}
@media(max-width:760px){
  .site-header .top-row{min-height:0;padding-block:20px;flex-direction:column;align-items:flex-start;gap:12px}
  .site-header .logo{width:min(390px,100%)}
  .site-header .top-info{justify-content:flex-start;text-align:left;gap:6px 18px;font-size:12px}
  .site-header .menu-row{min-height:60px;justify-content:space-between;flex-wrap:wrap;padding-block:8px}
  .site-header .menu-toggle{display:block;order:0;margin:0;font-size:23px}
  .site-header .menu-actions{order:1;margin-left:auto}
  .site-header .menu-actions .button{display:inline-flex;padding:9px 13px;font-size:13px}
  .site-header nav{display:none;order:2;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:2px;padding:8px 0}
  .site-header nav.open{display:flex}
  .site-header nav a{font-size:15px;padding:12px 14px}
}
@media(max-width:410px){
  .site-header .top-row{padding-block:16px}
  .site-header .top-info span:last-child{display:none}
  .site-header .menu-actions .button{display:none}
}
.site-header .logo img{filter:none}
/* Pie de página: apariencia guinda con el contenido original del inicio. */
.gov-footer{background:#650f31;color:#fff;padding:38px 0 0}
.gov-footer .contenedor{width:min(1230px,calc(100% - 40px))}
.gov-footer a{color:inherit}
.gov-footer a:hover{text-decoration:underline}
.gov-footer .footer-brand{display:block;width:min(100%,390px);margin:0 0 34px}
.gov-footer .footer-brand img{width:100%;height:auto;filter:none}
.gov-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;align-items:start;padding-bottom:44px}
.gov-footer-grid section{min-width:0}
.gov-footer-grid h2{margin:0 0 22px;font-size:20px;font-weight:400;line-height:1.25}
.gov-footer-grid section>a{display:block;margin:0 0 8px;font-size:14px;line-height:1.45}
.gov-footer .search-form input{border-color:#e3c4d0}
.gov-footer .search-form button{background:#3b0e24;border-color:#fff}
.gov-footer .credits{border-top:1px solid #ffffff38;color:#fff}
@media(max-width:900px){.gov-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gov-footer .footer-brand{width:min(100%,340px)}}
@media(max-width:520px){.gov-footer{padding-top:32px}.gov-footer-grid{grid-template-columns:1fr;gap:25px;padding-bottom:34px}.gov-footer-grid h2{margin-bottom:10px}.gov-footer .footer-brand{width:min(100%,300px);margin-bottom:28px}}

/* ===== Secciones del constructor de páginas: «Imagen con texto» y «Título y contenido» ===== */
.bloque{padding-block:64px}
.interior-banner+.bloque,.bloque+.bloque{padding-top:48px}
.bloque h2{font-size:clamp(24px,2.4vw,32px);line-height:1.25;margin:0 0 18px}
.bloque-texto{font-size:16px;line-height:1.7}
.bloque-texto p{margin:0 0 18px}
.bloque .bloque-boton{display:inline-flex;margin-top:6px}
.bloque-contenido .bloque-texto{max-width:860px}
.bloque-imagen-texto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.bloque-imagen-texto.imagen-derecha .bloque-imagen{order:2}
.bloque-imagen img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--anap-radius)}
.bloque-vacio{color:#5b625f;font-style:italic}
@media(max-width:900px){.bloque{padding-block:40px}.bloque-imagen-texto{grid-template-columns:1fr;gap:28px}.bloque-imagen-texto.imagen-derecha .bloque-imagen{order:0}}

/* ===== Compatibilidad con Bootstrap u otros frameworks =====
   Si la página también carga Bootstrap (su «reboot») u otra hoja con reglas de etiquetas, esas reglas
   cambian la tipografía, los enlaces y los márgenes de títulos y párrafos. Aquí se reafirman los valores
   de esta plantilla con un poco más de prioridad (html body …); las reglas con clases siguen mandando.
   Las clases y variables de la plantilla no chocan con Bootstrap: .contenedor, .tarjeta, .slider-nav y --anap-*. */
html body{margin:0;color:var(--anap-ink);background:#fff;font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.5}
html body a{color:inherit;text-decoration:none}
html body a:hover{text-decoration:underline}
html body :is(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:inherit}
html body h1{font-size:2em;margin:.67em 0}html body h2{font-size:1.5em;margin:.83em 0}html body h3{font-size:1.17em;margin:1em 0}html body h4{font-size:1em;margin:1.33em 0}
html body p{margin:1em 0}
html body img{display:block;max-width:100%}
html body svg{vertical-align:baseline}
html body button,html body input{font:inherit}
