/* PERSONALIZACIÓN: cambia aquí la paleta y el ancho de la página. */
:root{--green:#003d33;--dark:#101d18;--ink:#171c19;--width:1280px;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--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%}.container{width:min(var(--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(--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(--ink);width:24%}.menu-bar{background:linear-gradient(90deg,#fff 27%,var(--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(--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(--green);border:1px solid var(--green);padding:12px 28px;border-radius:5px;color:white;font-weight:600;line-height:1.3}.button:hover{background:var(--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(--green);right:0;top:0;bottom:0;width:35%}.hero-layout{position:relative}.hero-image{position:relative;min-height:610px;border-radius:var(--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}.pagination{position:absolute;left:calc(100% - 8px);top:40%;display:grid;gap:12px}.pagination button{display:flex;align-items:center;gap:16px;color:#fff;border:0;background:none;font-size:20px;padding:6px}.pagination button:before{content:"";width:30px;height:3px;background:currentColor}.pagination button[aria-pressed=true]{font-weight:700}.pagination 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(--green);border-radius:50%;border:4px solid white;color:white;font-size:28px}.card h3{font-size:21px;margin:0 0 8px}.card p{margin:0;color:#5b625f}footer{background:var(--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(--ink);padding:11px;border-radius:3px}.search-form button{border:1px solid #90a89c;background:var(--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(--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}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(--width),100% - 64px) - 60px);margin-left:calc((100% - min(var(--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}.pagination{left:auto;right:-8px}.pagination button:before{width:18px}.pagination button[aria-pressed=true]:before{width:28px}.footer-grid{gap:25px}.brand-label{width:20%}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.topbar{background:var(--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(--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%}.pagination{position:relative;left:auto;right:auto;top:auto;display:flex;justify-content:center;margin-top:18px}.hero:before{width:100%}.pagination button{font-size:18px}.pagination button:before{width:22px}.services{padding-top:55px;padding-bottom:55px}.services h2{font-size:24px}.cards{gap:20px}.card h3{font-size:18px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{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),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(--green);padding:10px 25px;margin:25px 0;background:#f2f7f5}
.source-note{border-left:4px solid var(--green);background:#f2f7f5;padding:20px 24px;margin:32px 0}.source-note p{margin:8px 0}.source-note a{text-decoration:underline;color:var(--green);font-weight:600}
.interior-sidebar section{border:1px solid #e6e6e6;border-bottom:3px solid var(--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(--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}
}
