@font-face{font-family:Lato;src:url('assets/lato.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('assets/lato-black.woff2') format('woff2');font-style:normal;font-weight:700 900;font-display:swap}
:root{--wine:#78262e;--ink:#303333;--paper:#fff}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 Lato,Arial,sans-serif}
a{color:inherit;text-underline-offset:.2em}
a:focus-visible,button:focus-visible{outline:3px solid #e5b851;outline-offset:4px}
.skip-link{position:absolute;left:1rem;top:-8rem;padding:.6rem 1rem;background:var(--wine);color:#fff;z-index:10}
.skip-link:focus{top:1rem}
.header-inner{max-width:1040px;margin:auto;min-height:176px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;width:224px;height:140px;overflow:hidden;position:relative;flex-shrink:0}
.brand img{display:block;position:absolute;width:224px;height:224px;top:-40px;left:0}
.institution{position:relative;width:290px;height:140px;overflow:hidden;flex-shrink:0}
.institution img{display:block;position:absolute;width:420px;height:420px;left:-65px;top:-138px}
.main-nav{background:var(--wine);color:#fff}
.menu-items{max-width:1040px;margin:0 auto;padding:0;list-style:none;display:flex;align-items:stretch;justify-content:space-between;gap:.25rem}
.menu-items li{display:flex;align-items:stretch}
.menu-items a,.menu-items span{display:flex;align-items:center;justify-content:center;min-height:68px;padding:.75rem 1rem;font-size:1rem;font-weight:900;text-transform:uppercase;text-decoration:none;text-align:center}
.menu-items a:hover{background:rgba(255,255,255,.13)}
.menu-items [aria-disabled]{opacity:.75;cursor:default}
.menu-toggle{display:none;font:inherit;font-weight:700;border:0;background:transparent;color:#fff;cursor:pointer;min-height:62px;padding:.75rem 1.5rem;align-items:center;justify-content:center;gap:.65rem;width:100%}
.intro-video{max-width:782px;margin:20px auto 44px}
iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:#eee}
.video-link{margin:.65rem 0 0;text-align:right;font-size:.875rem}
.video-link a{color:var(--wine)}
.site-footer{background:var(--wine);color:#fff;padding:2.5rem 1.5rem;scroll-margin-top:1rem}
.footer-inner{max-width:1040px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}
.site-footer h2{font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .65rem}
.site-footer p{margin:.25rem 0;overflow-wrap:anywhere}
.social-links{display:flex;gap:1.5rem;flex-wrap:wrap}
.social-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.header-inner{margin:0 6%}.menu-items{padding:0 2%}.menu-items a,.menu-items span{padding:.75rem .7rem;font-size:.875rem}}
@media(max-width:760px){.header-inner{min-height:230px;flex-direction:column;gap:0;justify-content:center}.brand{height:125px}.institution{width:200px;height:90px}.institution img{width:300px;height:300px;left:-50px;top:-102px}.menu-toggle{display:flex}.menu-items{flex-direction:column;align-items:stretch;padding:0 1rem .75rem}.menu-items li{display:block}.menu-items a,.menu-items span{min-height:48px;font-size:1rem}.main-nav.is-ready .menu-items{display:none}.main-nav.is-ready.is-open .menu-items{display:flex}.intro-video{margin:16px 16px 32px}.video-link{text-align:center}.footer-inner{flex-direction:column;align-items:flex-start;gap:1rem}.site-footer{padding:2rem 1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.content-section{max-width:1040px;margin:0 auto;padding:3.75rem 1.5rem;scroll-margin-top:1rem}
.content-section>h2{text-align:center;text-transform:uppercase;font-size:2.5rem;font-weight:900;line-height:1.25;margin:0 0 3rem}
.bio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;max-width:830px;margin:auto}
.bio-card{background:var(--wine);color:#fff;display:flex;gap:.65rem;padding:1rem;min-height:190px;align-items:flex-start}
.bio-card img{flex:0 0 52px;width:52px;height:52px;object-fit:contain}
.bio-card h3{text-transform:uppercase;font-size:1.05rem;line-height:1.4;margin:0 0 .25rem}
.bio-card p{font-size:1rem;margin:0;line-height:1.65}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 2rem}
.video-card{margin:0;min-width:0}
.video-card figcaption{text-align:center;font-size:1.05rem;line-height:1.5;margin:1rem 0 .4rem}
.watch-link{display:block;color:var(--wine);text-align:center;font-size:.875rem}
.x-section{text-align:center}
.x-timeline-wrap{max-width:600px;margin:auto}
.x-section p{margin:1.25rem 0 0}
.x-timeline-wrap iframe{height:600px;aspect-ratio:auto}
.x-timeline-wrap>a{display:inline-block;padding:1.25rem;color:var(--wine)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.blog-card{border:1px solid #dedede;min-width:0;display:flex;flex-direction:column}
.blog-image{display:block}
.blog-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.blog-card-copy{padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.blog-card h3{font-size:1.3rem;line-height:1.35;margin:0 0 .65rem}
.blog-card h3 a{text-decoration:none}
.blog-card h3 a:hover{text-decoration:underline}
.post-meta{font-size:.875rem;color:#595959}
.blog-card-copy p{margin:0 0 1rem}
.read-more{display:inline-block;background:var(--wine);color:#fff;padding:.5rem 1rem;margin-top:auto;text-decoration:none;font-weight:700;min-height:44px}
.article-page{max-width:850px;margin:auto;padding:2.5rem 1.5rem 4rem}
.back-link{color:var(--wine);font-weight:700}
.article-header h1{font-size:2.6rem;line-height:1.2;margin:1.5rem 0 1rem}
.article-image{display:block;width:100%;height:auto;margin:2rem 0}
.article-body{font-size:1.125rem;line-height:1.85;overflow-wrap:anywhere}
.article-body p{margin:0 0 1.4rem}
.article-body a{color:var(--wine)}
.related-posts{border-top:1px solid #ddd;margin-top:3rem;padding-top:1.5rem}
.related-posts h2{font-size:1.5rem}
.related-posts a{display:block;margin:.8rem 0;color:var(--wine)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}.blog-card{display:grid;grid-template-columns:1fr 1.4fr}.blog-image img{height:100%;min-height:210px}.content-section>h2{font-size:2rem}.bio-grid{gap:1.5rem}}
@media(max-width:760px){.content-section{padding:2.5rem 1rem}.content-section>h2{font-size:1.85rem;margin-bottom:2rem}.bio-grid,.video-grid{grid-template-columns:1fr;gap:1.5rem}.bio-card{min-height:0;padding:1.25rem}.blog-card{display:flex}.blog-image img{height:auto;min-height:0}.article-header h1{font-size:2rem}.article-page{padding:2rem 1.25rem 3rem}.article-body{font-size:1.0625rem}}

.more-columns{text-align:center;margin:2rem 0 0;color:var(--wine)}

.x-account{margin:-1.5rem 0 2rem;color:#595959}.x-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:start;text-align:left}.x-post-grid blockquote.twitter-tweet{margin:0;padding:1.5rem;border:1px solid #ddd;border-top:4px solid var(--wine);border-radius:8px;min-width:0;background:#fff}.x-post-grid blockquote p{margin:0 0 1rem;font-size:1.125rem;line-height:1.65}.x-post-author{display:block;font-weight:700;margin-bottom:.75rem}.x-post-grid blockquote a{display:block;color:var(--wine);font-size:.875rem}.x-post-grid .twitter-tweet-rendered{margin:0!important;width:100%!important;min-width:0!important}.x-post-grid iframe{aspect-ratio:auto;height:auto}.x-selection-note{font-size:.875rem;color:#595959}@media(max-width:900px){.x-post-grid{grid-template-columns:1fr;max-width:550px;margin:auto}}
/* Presentación y contenido editorial */
:root{--cream:#f7f4f0;--muted:#68615e}
.header-inner{min-height:125px}.brand{height:110px}.brand img{top:-54px}.institution{height:105px}.institution img{top:-155px}.menu-items a{min-height:54px;font-size:.85rem;letter-spacing:.04em}
.hero{max-width:1040px;margin:0 auto;padding:4rem 1.5rem;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:4rem}.eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--wine)}.hero h1{font-size:4.3rem;line-height:1.02;letter-spacing:-.045em;margin:1.25rem 0}.hero h1 span{color:var(--wine)}.hero-description{font-size:1.2rem;max-width:440px;color:var(--muted)}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:2rem}.text-button{font:inherit;font-weight:700;color:var(--wine);border:0;background:none;cursor:pointer;padding:.65rem 0;min-height:44px}.hero-portrait{margin:0;min-width:0}.portrait-crop{background:#001b32;border-radius:140px 140px 24px 24px;height:350px;overflow:hidden}.portrait-crop img{display:block;width:200%;max-width:none;height:auto;transform:translateX(-25%)}.hero-portrait figcaption{font-size:.7rem;color:var(--muted);text-align:right;margin:.5rem 0}
.content-section{padding:4rem 1.5rem}.content-section>h2{text-align:left;text-transform:none;font-size:2.5rem;letter-spacing:-.025em;margin-bottom:1.5rem}.section-intro{color:var(--muted);font-size:1.1rem;margin:-.7rem 0 2rem}.biography{border-top:1px solid #e9e2dd}.bio-grid{max-width:none;gap:2rem}.bio-card{background:transparent;color:var(--ink);padding:0;min-height:0;border-left:3px solid var(--wine);padding-left:1.25rem}.bio-card img{display:none}.bio-card h3{color:var(--wine);text-transform:none;font-size:1.2rem}.bio-card p{color:var(--muted);font-size:.95rem}.blog-card{background:var(--cream);border:0;border-top:3px solid var(--wine);border-radius:0 0 12px 12px}.blog-card-copy{padding:1.5rem}.blog-card h3{font-size:1.35rem}.blog-card-copy>p:not(.post-meta){color:var(--muted);font-size:.95rem}.read-more{border-radius:5px}.blog-card .read-more{background:none;color:var(--wine);padding:.5rem 0}.more-columns{text-align:left}.video-section{border-top:1px solid #e9e2dd}.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.video-preview{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;border:0;padding:0;width:100%;border-radius:10px;cursor:pointer;background:#252525}.video-preview img{width:100%;height:100%;object-fit:cover;display:block}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;background:var(--wine);color:#fff;border-radius:50%;box-shadow:0 2px 18px #0005}.video-preview:hover .play-icon{background:#a33b47}.video-card h3{font-size:1rem;line-height:1.5;margin:.8rem 0 .3rem}.watch-link{text-align:left}.all-videos{margin-top:2rem}.all-videos summary{cursor:pointer;color:var(--wine);font-weight:700;padding:1rem 0;min-height:44px}.all-videos[open] .video-grid{margin-top:1rem}.x-section{text-align:left;border-top:1px solid #e9e2dd}.x-account{margin:0 0 2rem!important}.x-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;gap:2rem}.video-dialog{width:min(900px,94vw);max-height:92vh;overflow:auto;padding:1.5rem;border:0;border-radius:12px;background:#fff}.video-dialog::backdrop{background:#000b}.video-dialog h2{font-size:1.1rem;line-height:1.4;margin:0 2rem 1rem 0}.dialog-close{position:absolute;right:.8rem;top:.7rem;min-width:40px;min-height:40px;border:0;background:var(--cream);font-size:1.2rem;cursor:pointer;border-radius:50%}.footer-inner{display:grid;grid-template-columns:1fr 360px;align-items:start;gap:1.5rem 3rem}.footer-map{grid-column:2;grid-row:1 / span 2}.footer-map h2{font-size:1rem;text-transform:none}.footer-map iframe{height:210px;aspect-ratio:auto;border-radius:8px;background:#fff}.footer-map p{font-size:.8rem;margin:.7rem 0}.footer-map>a{font-size:.9rem}.social-links{align-self:end}.site-footer{padding:3rem 1.5rem}
@media(max-width:900px){.hero{gap:2rem}.hero h1{font-size:3.5rem}.portrait-crop{height:285px}.blog-card{display:flex}.x-post-grid{grid-template-columns:1fr;max-width:550px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.header-inner{min-height:140px;flex-direction:row;margin:0 1rem;gap:1rem}.brand{width:155px;height:100px}.brand img{width:155px;height:155px;top:-26px}.institution{width:155px;height:80px}.institution img{width:235px;height:235px;left:-40px;top:-78px}.hero{grid-template-columns:1fr;padding:2.5rem 1.25rem;gap:2rem}.hero h1{font-size:3.4rem}.hero-description{font-size:1.1rem}.hero-portrait{max-width:340px;width:100%;justify-self:center}.portrait-crop{height:310px}.content-section{padding:2.5rem 1.25rem}.content-section>h2{font-size:2rem}.bio-grid,.video-grid{grid-template-columns:1fr}.bio-card{padding:0 0 0 1rem}.footer-inner{grid-template-columns:1fr}.footer-map{grid-column:1;grid-row:auto;width:100%;max-width:440px}.social-links{grid-row:2}.footer-map{grid-row:3}.video-dialog{padding:1rem}.video-dialog h2{margin-right:2.5rem}}
@media(min-width:761px){.header-inner{min-height:150px}.institution{height:140px}.institution img{top:-138px}}
.x-live-feed{max-width:600px;margin:1.5rem auto}.x-live-feed>a{display:none}.x-live-feed iframe{aspect-ratio:auto;height:600px}.x-live-status{font-size:.875rem;color:var(--muted)}.x-live-feed.is-loaded~.x-post-grid,.x-live-feed.is-loaded~.x-selection-note{display:none}
.x-live-feed>a{display:inline-block;color:var(--wine)}
.x-live-feed:not(.is-loaded)>a{display:none}
.facebook-feed{max-width:340px;margin:2rem auto}.facebook-feed iframe{width:340px;max-width:100%;height:600px;aspect-ratio:auto;background:transparent}.facebook-note{font-size:.875rem;color:var(--muted)}
@media(max-width:380px){.facebook-section{padding-left:.5rem;padding-right:.5rem}}
/* Fotografía propia y atención ciudadana */
.portrait-crop img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}.hero-help{color:var(--wine);font-weight:700;font-size:.95rem;text-decoration:none;padding:.6rem 0}.hero-help:hover{text-decoration:underline}.citizen-section{background:var(--cream);scroll-margin-top:1rem}.citizen-inner{max-width:1040px;margin:auto;padding:3rem 1.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.citizen-copy h2{font-size:2.4rem;line-height:1.15;letter-spacing:-.025em;margin:.7rem 0 1rem}.citizen-copy>p:not(.eyebrow){color:var(--muted);max-width:460px}.citizen-copy .read-more{margin-top:.5rem}.citizen-phone{font-size:.9rem;margin:.5rem 0 0}.citizen-module{background:#fff;border:1px solid #e6ddd6;border-radius:12px;padding:1.75rem;min-width:0}.module-label{color:var(--wine);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.citizen-module h3{font-size:1.35rem;line-height:1.3;margin:.6rem 0}.citizen-module>a{color:var(--wine);font-weight:700;display:inline-block;padding:.4rem 0}.visit-note{font-size:.85rem;color:var(--muted);margin:1rem 0 0}@media(max-width:760px){.citizen-inner{grid-template-columns:1fr;padding:2.5rem 1.25rem;gap:1.5rem}.citizen-copy h2{font-size:2rem}.citizen-module{padding:1.5rem}}
.citizen-module iframe{width:100%;height:220px;aspect-ratio:auto;border-radius:8px;margin:1rem 0;background:#eee}.footer-inner{display:flex;justify-content:space-between;align-items:center}.social-links{align-self:auto}@media(max-width:760px){.footer-inner{flex-direction:column;align-items:flex-start}}
/* Identidad institucional blanca sobre guinda, sin alterar el original. */
.footer-institution{width:290px;height:140px;order:3;mix-blend-mode:screen}.footer-institution img{width:420px;height:420px;left:-65px;top:-138px;filter:grayscale(1) invert(1)}.footer-inner{flex-wrap:wrap}.site-footer .social-links{gap:1rem}@media(max-width:760px){.footer-institution{align-self:center;margin-top:1rem;max-width:100%}}
.video-catalog h1{font-size:3.5rem;line-height:1.15;letter-spacing:-.03em;margin:.5rem 0 1.5rem}.channel-link{color:var(--wine);font-weight:700}.catalog-tools{margin:2rem 0}.catalog-tools label{display:block;font-weight:700;margin-bottom:.5rem}.catalog-tools input{width:100%;max-width:560px;min-height:48px;border:1px solid #c9bfba;border-radius:6px;padding:.75rem 1rem;font:inherit}.catalog-tools input:focus-visible{outline:3px solid #e5b851;outline-offset:2px}.catalog-tools p,.catalog-note{font-size:.875rem;color:var(--muted)}.catalog-card h2{font-size:1rem;line-height:1.5;margin:.8rem 0 .3rem}.load-videos{border:0;font:inherit;font-weight:700;cursor:pointer;margin-top:2rem}.catalog-note{margin-top:2rem}[hidden]{display:none!important}.menu-items [aria-current="page"]{background:#ffffff20}@media(max-width:760px){.video-catalog h1{font-size:2.7rem}}
.legislative-catalog h1{font-size:3.25rem;line-height:1.15;letter-spacing:-.03em;margin:.5rem 0 1.5rem}.legislative-stats{display:flex;flex-wrap:wrap;gap:1rem 2rem;background:var(--cream);padding:1.25rem;border-radius:10px;margin:1.5rem 0}.legislative-stats strong{color:var(--wine);font-size:1.5rem;margin-right:.3rem}.legislative-tools{display:grid;grid-template-columns:2fr 1fr;gap:1.25rem;margin:2rem 0 1rem}.legislative-tools label{display:block;font-weight:700;margin-bottom:.5rem}.legislative-tools input,.legislative-tools select{width:100%;min-height:48px;padding:.75rem;border:1px solid #c9bfba;border-radius:6px;background:white;font:inherit}.legislative-tools :focus-visible{outline:3px solid #e5b851;outline-offset:2px}.legislative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.legislative-card{border:1px solid #e6ddd6;border-top:3px solid var(--wine);border-radius:0 0 10px 10px;padding:1.5rem;display:flex;flex-direction:column;min-width:0}.document-type{font-size:.8rem;letter-spacing:.04em;color:var(--wine);font-weight:900}.legislative-card h2{font-size:1.2rem;line-height:1.4;margin:.8rem 0}.document-info,#document-count{font-size:.875rem;color:var(--muted)}.document-actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.download-document{font-size:.9rem;color:var(--wine);min-height:32px}.menu-items a{padding-left:.65rem;padding-right:.65rem}@media(max-width:1000px){.legislative-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-items a{font-size:.75rem}}@media(max-width:760px){.legislative-catalog h1{font-size:2.3rem}.legislative-grid,.legislative-tools{grid-template-columns:1fr}.menu-items a{font-size:1rem}}
.consult-document{border:0;font:inherit;font-weight:700;cursor:pointer}.document-dialog{width:min(1100px,96vw);height:92vh;max-height:92vh;border:0;border-radius:12px;padding:1rem;overflow:hidden}.document-dialog::backdrop{background:#000b}.document-dialog h2{font-size:1.1rem;line-height:1.4;margin:0 3rem 1rem 0}.document-close{position:absolute;right:.75rem;top:.6rem;border:0;border-radius:50%;width:40px;height:40px;cursor:pointer;font-size:1.2rem}.document-viewer{height:calc(100% - 4.5rem)}.document-viewer iframe{height:100%;width:100%;aspect-ratio:auto;background:#eee}
.document-viewer{overflow:auto;background:#ece9e6;padding:.75rem;overscroll-behavior:contain}.document-viewer figure{margin:0 0 1.5rem}.document-viewer figcaption{font-size:.8rem;color:#595959;padding:.4rem 0}.document-viewer img{display:block;width:100%;height:auto;background:white;box-shadow:0 2px 8px #0002}

/* Contacto directo, disponible en todas las páginas. */
.whatsapp-float { position: fixed; right: max(22px, env(safe-area-inset-right)); bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 90; display: inline-flex; align-items: center; gap: 10px; padding: 15px 20px; border-radius: 999px; background: #128c46; color: #fff; text-decoration: none; font-size: 16px; font-weight: 700; box-shadow: 0 5px 22px #0003; }
.whatsapp-float svg { width: 27px; height: 27px; flex-shrink: 0; }
.whatsapp-float:hover { background: #0e7138; }
.whatsapp-float:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #128c46; }
@media (max-width: 600px) { .whatsapp-float { right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); padding: 16px; } .whatsapp-float span { display: none; } }

.legislative-tools { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(4, minmax(120px, 1fr)); gap: 16px; align-items: end; }
.document-topic { display: block; color: #78252e; font-size: 13px; font-weight: 700; margin: 12px 0 4px; }
.document-date { font-size: 13px; color: #625d59; margin: 8px 0 14px; }
.document-summary { font-size: 15px; line-height: 1.65; margin: 0 0 20px; }
@media (max-width: 1000px) { .legislative-tools { grid-template-columns: repeat(2, minmax(0, 1fr)); } .legislative-tools > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .legislative-tools { grid-template-columns: minmax(0, 1fr); } }

/* Revisión móvil y accesibilidad, octubre 2026. */
html { scroll-padding-block: 24px 100px; }
:where(a, button, input, select, [tabindex]):focus-visible { outline: 3px solid #78262e; outline-offset: 3px; }
.main-nav :focus-visible, .site-footer :focus-visible, .read-more:focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px #303333; }
.catalog-tools input:focus-visible, .legislative-tools :focus-visible { outline-color: #78262e; }
.watch-link, .back-link, .channel-link, .hero-help { display: inline-flex; align-items: center; min-height: 44px; }
.dialog-close, .document-close { min-width: 48px; min-height: 48px; color: #303333; }
.document-dialog[open] { display: flex; flex-direction: column; }
.document-dialog h2 { flex: 0 0 auto; padding-top: .35rem; max-height: 30%; overflow: auto; }
.document-viewer { flex: 1 1 auto; min-height: 0; height: auto; }
body:has(dialog[open]) { overflow: hidden; }
.whatsapp-float { background: #0d7436; }
.whatsapp-float:hover { background: #09592a; }
.whatsapp-float:focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px #0d7436; }
body.keyboard-navigation .whatsapp-float:not(:focus-visible) { visibility: hidden; }
.footer-inner, .hero-copy, .citizen-copy { min-width: 0; }
h1, h2, h3, .read-more { overflow-wrap: break-word; }
@media (max-width: 760px) {
  .header-inner { gap: .5rem; }
  .brand { width: 140px; }
  .brand img { width: 140px; height: 140px; top: -20px; }
  .institution { width: 140px; }
  .institution img { width: 212px; height: 212px; left: -36px; top: -66px; }
  .hero h1 { font-size: clamp(2.5rem, 12vw, 3.4rem); }
  .video-catalog h1, .legislative-catalog h1 { font-size: clamp(2rem, 9vw, 2.7rem); }
  .bio-card p, .blog-card-copy > p:not(.post-meta) { font-size: 1rem; }
  .document-summary { font-size: 1rem; }
  .legislative-card { padding: 1.25rem; }
  .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .whatsapp-float { width: 52px; height: 52px; justify-content: center; padding: 12px; }
  .whatsapp-float span { display: none; }
  .document-dialog { width: calc(100% - 16px); max-width: none; max-height: 92dvh; height: 92dvh; margin: auto; padding: .75rem; }
}
@media (max-width: 340px) {
  .header-inner { margin-inline: .75rem; }
  .brand { width: 128px; }
  .brand img { width: 128px; height: 128px; top: -12px; }
  .institution { width: 132px; }
  .footer-institution { transform: scale(.9); transform-origin: center; }
}
@media (forced-colors: active) { :focus-visible { outline: 3px solid Highlight; } .whatsapp-float, .read-more { border: 1px solid ButtonText; } }
.blog-card .read-more:focus-visible { outline-color: #78262e; box-shadow: none; }
.whatsapp-float.is-obstructing { visibility: hidden; }
.whatsapp-float.is-obstructing:focus-visible { visibility: visible; }
/* Previsualizaciones ligeras: ningún iframe externo antes de abrirlo. */
.external-preview { padding: 1.5rem; border: 1px solid #e6ddd6; border-radius: 10px; background: #f7f4f0; text-align: center; }
.external-preview p { margin: 0 0 1rem; font-weight: 700; }
.external-preview .load-external { font: inherit; font-weight: 700; border: 0; cursor: pointer; }
.external-preview:has(iframe) { padding: 0; border: 0; background: transparent; }
.external-preview .text-button { display: block; margin-bottom: .5rem; }
