/* Portal institucional: fondo blanco, fotografías amplias y lectura clara. */
:root{--portal-green:#07552e;--portal-lime:#92bc16;--portal-ink:#273b32}
body{background:#fff;color:var(--portal-ink);font-family:Arial,Helvetica,sans-serif}
.portal-header{max-width:1500px;padding:24px 5vw;gap:28px;min-height:115px;background:#fff}
.portal-brand{font-size:22px;letter-spacing:.1px;line-height:1.15;color:var(--portal-green);flex-shrink:0}
.portal-brand img{width:76px;height:76px}.portal-brand small{font-size:11px;margin-top:7px;color:#68786d}
.portal-header nav{gap:24px;font-size:14px;color:#535e56}.portal-header nav>a{padding-top:10px;padding-bottom:10px}
.portal-header nav a:hover{color:var(--portal-green)}.portal-header nav .portal-login{padding:12px 20px;border-radius:24px;background:var(--portal-green);color:#fff}
.portal-carousel{position:relative;isolation:isolate;width:100%;max-width:none;margin:0;background:#fff;color:var(--portal-ink);border-top:1px solid #edf0eb;border-bottom:1px solid #e5eae5;overflow:hidden}
.carousel-slide{position:relative;display:block;background:#fff}.carousel-slide[hidden]{display:none}
.carousel-image{display:block;width:100%;height:clamp(300px,35vw,540px);object-fit:cover;object-position:center;background:#edf2eb}
.carousel-shade{display:none}.carousel-content{max-width:1400px;margin:0 auto;padding:24px 330px 26px 5vw;min-height:137px}
.carousel-content h1,.carousel-content h2{font-size:clamp(23px,2.1vw,32px);line-height:1.2;color:var(--portal-green);letter-spacing:-.4px;margin:0 0 9px;max-width:900px;overflow-wrap:anywhere}
.carousel-content p{font-size:14px;line-height:1.6;color:#69776c;margin:0;max-width:850px}
.carousel-bottom{position:absolute;bottom:30px;right:max(5vw,24px);z-index:2}.carousel-controls{display:flex;gap:12px;align-items:center}.carousel-controls[hidden]{display:none}
.carousel-controls>button{width:39px;height:39px;display:grid;place-items:center;border:1px solid #d7e0d7;background:#fff;color:var(--portal-green);border-radius:50%;font:18px Arial;cursor:pointer}
.carousel-controls>button:hover{border-color:var(--portal-green);background:#f3f7ed}.carousel-controls [data-play]{font-size:13px}
.carousel-controls>span{font-size:11px;font-variant-numeric:tabular-nums;color:#7a867c;white-space:nowrap}
.carousel-dots{display:flex;align-items:center;gap:3px}.carousel-dots button{position:relative;width:17px;height:28px;background:transparent;border:0;padding:0;cursor:pointer}
.carousel-dots button:after{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#d4ded0;margin:auto}
.carousel-dots button[aria-current=true]:after{background:var(--portal-green);width:9px;height:9px}.portal-carousel button:focus-visible{outline:3px solid #8cb948;outline-offset:3px}
main{max-width:1400px;padding:0 5vw}.portal-section{padding:50px 0 55px}.portal-section-heading{justify-content:center;position:relative;text-align:center}
.portal-section-heading .portal-eyebrow{display:none}.portal-section-heading h2{font-size:31px;line-height:1.2;font-weight:700;letter-spacing:-.6px;color:var(--portal-green);margin:0 0 20px}
.portal-section-heading>a{position:absolute;right:0;top:10px;font-size:12px;color:#53775b}.portal-filters{justify-content:center;gap:20px;margin:0 0 32px;border-bottom:1px solid #e6ebe4}
.portal-filters a{font-size:13px;padding:9px 3px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#768074}
.portal-filters .active{background:transparent;border-color:var(--portal-green);color:var(--portal-green);font-weight:600}
.portal-grid{gap:28px}.portal-card{background:#fff;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid #e1e8dd;padding-bottom:20px;overflow:hidden}
.portal-card-cover{height:235px;border-radius:3px;background:#eff4ea;overflow:hidden}.portal-card-cover img{transition:transform .3s}.portal-card-cover:hover img{transform:scale(1.025)}
.portal-card-body{padding:17px 0 0}.portal-card-meta{font-size:11px;align-items:center}.portal-card-meta span{color:var(--portal-green);font-weight:600;text-transform:uppercase;font-size:10px;letter-spacing:.4px}
.portal-card h3{font-size:20px;line-height:1.35;color:var(--portal-green);margin:10px 0}.portal-card p{font-size:13px;line-height:1.7;color:#758073;margin:10px 0 16px}.portal-read{color:var(--portal-green);font-size:12px;font-weight:600}
.portal-empty{border:1px solid #e4eadd;border-radius:3px;text-align:center;background:#fafcf8;padding:38px;color:#677762}.portal-about{border:0;border-top:1px solid #e4eadd;border-radius:0;background:#fff;padding:38px 0 50px;margin:0;gap:60px}
.portal-about h2{font-size:27px;color:var(--portal-green)}.portal-about .portal-eyebrow{font-size:10px;letter-spacing:1px;color:#859578}.portal-services{border:0;border-left:3px solid var(--portal-lime);border-radius:0;background:#f7f9f4;padding:25px}
.portal-services h3{color:var(--portal-green)}.portal-button{background:var(--portal-green);border-color:var(--portal-green);border-radius:4px}.portal-article h1{color:var(--portal-green)}.portal-article-image{border-radius:0}
.portal-footer{background:#064c2c;padding:38px max(5vw,24px)}.portal-footer strong{font-size:17px}.portal-footer p{font-size:12px}.portal-footer a:hover{text-decoration:underline}
@media(min-width:1500px){.portal-header{padding-left:40px;padding-right:40px}.carousel-content{padding-left:40px}}
@media(max-width:1150px){.portal-header{flex-direction:column;align-items:center;padding:20px 4vw;gap:18px}.portal-header nav{justify-content:center;gap:22px}.portal-brand img{width:65px;height:65px}}
@media(max-width:800px){.carousel-image{height:340px}.carousel-content{min-height:0;padding:22px 24px 78px}.carousel-bottom{right:24px;bottom:19px}.carousel-content h1,.carousel-content h2{font-size:25px}.portal-section-heading>a{position:static;display:none}.portal-section-heading h2{font-size:27px}.portal-about{gap:26px}.portal-card-cover{height:220px}}
@media(max-width:650px){.portal-header{align-items:stretch;padding:16px 20px;gap:15px}.portal-brand{font-size:19px;justify-content:center}.portal-brand img{width:58px;height:58px}.portal-brand small{font-size:10px}.portal-header nav{gap:6px 15px;font-size:12px}.portal-header nav .portal-login{padding:9px 14px}.carousel-image{height:260px}.carousel-content{padding:20px 22px 72px}.carousel-content h1,.carousel-content h2{font-size:23px;line-height:1.3}.carousel-content p{font-size:13px}.carousel-controls{gap:9px}.carousel-controls>button{height:34px;width:34px}.carousel-controls>span{font-size:10px}.portal-section{padding:32px 0 40px}.portal-filters{gap:16px;margin-bottom:24px}.portal-filters a{font-size:12px}.portal-card h3{font-size:19px}.portal-grid{gap:30px}.portal-about h2{font-size:24px}.portal-footer{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-card-cover img{transition:none}.portal-card-cover:hover img{transform:none}}
/* Espaciado compacto entre el carrusel y las publicaciones. */
.portal-carousel .carousel-content{min-height:0;padding-top:14px;padding-bottom:16px}
.portal-carousel .carousel-content h1,.portal-carousel .carousel-content h2{margin:0 0 6px}
.portal-carousel .carousel-content p{margin:0;line-height:1.45}
#publicaciones.portal-section{padding-top:24px;padding-bottom:32px}
#publicaciones .portal-section-heading h2{margin:0 0 10px}
#publicaciones .portal-filters{margin-top:0;margin-bottom:18px}
#publicaciones .portal-card-cover{height:210px}
@media(max-width:850px){.portal-carousel:has(.carousel-controls:not([hidden])) .carousel-content{padding-bottom:72px}.portal-carousel:has(.carousel-controls[hidden]) .carousel-content{padding-bottom:16px}}
@media(max-width:650px){#publicaciones.portal-section{padding-top:20px}#publicaciones .portal-section-heading h2{margin-bottom:6px}#publicaciones .portal-filters{margin-bottom:14px}}