/* Extensión del diseño elegido. El footer replica el HOME sin editarlo. */
.institutional-page{min-height:55vh}
.institutional-page .reading{padding-bottom:24px}
.institutional-page .prose-section :is(ul,ol){padding-left:22px;margin:20px 0 0}
.institutional-page .prose-section li{padding-block:5px}
.institutional-page .intro-links{padding:25px 0 0;margin:0;font-size:16px;line-height:1.8}
.institutional-page .intro-links a{font-weight:600}
.directory{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;margin:12px 0 0}
.directory>div{padding:19px 0;border-bottom:1px solid var(--line);min-width:0}
.directory dt{font-size:14px;line-height:1.6;color:var(--muted);margin-bottom:5px}
.directory dd{font-weight:700;color:var(--navy);margin:0;font-size:19px;line-height:1.5}
.image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--soft);border:1px dashed #a7b7ca;border-radius:6px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.06em}
.council-directory>div{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:20px;align-content:center}
.council-directory dt,.council-directory dd{grid-column:2}
.council-directory dt{align-self:end}
.council-directory .person-image{grid-column:1;grid-row:1/span 2}
.person-image .image-placeholder{width:96px;aspect-ratio:4/5}
.place-list-with-images li{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}
.place-list-with-images .image-placeholder{width:100%;aspect-ratio:3/2}
.document-list,.report-list,.organization-list,.place-list{list-style:none;padding:0!important;margin:22px 0 0!important}
.document-list li,.report-list li{padding:24px 0!important;border-bottom:1px solid var(--line)}
.document-list a{display:inline-block;font-size:20px;font-weight:700}
.document-list small,.report-list time{display:block;color:var(--muted);font-size:13px;margin-bottom:7px}
.document-list p,.report-list p{margin:9px 0 0!important}
.report-list h3{font-size:23px;line-height:1.4}
.organization-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.organization-list li{padding:15px 0!important;border-bottom:1px solid var(--line);font-size:15px;line-height:1.7}
.place-list li{padding:23px 0!important;border-bottom:1px solid var(--line)}
.place-list h3{font-size:24px;margin-bottom:12px}
.place-list address{font-style:normal;line-height:1.8}
.place-list p{margin:7px 0 0!important}
.institutional-page a{overflow-wrap:anywhere}
.institutional-page .entity-panel a{overflow-wrap:normal}
.topbar .entity-panel{max-height:calc(100dvh - 96px);overflow-y:auto}
.topbar .entity-panel a[aria-current="page"]{font-weight:800;color:var(--blue)}
@media(max-width:760px){.topbar .nav{gap:16px}}
@media(max-width:400px){.topbar .logo img{width:108px}.topbar .container{gap:12px}.topbar .nav{gap:12px;font-size:13px}.topbar .nav summary:after{margin-left:4px}}
@media(max-width:600px){.topbar .container{height:auto;min-height:100px;padding-top:14px;flex-wrap:wrap;gap:0}.topbar .nav{order:3;width:100%;gap:24px;justify-content:flex-start}.topbar .nav summary{padding:12px 0}.topbar .entity-panel{top:100%;max-height:calc(100dvh - 140px)}}
.map-tools{margin:30px 0 18px}
.map-tools label{font-size:15px;font-weight:700;display:block;margin-bottom:9px}
.map-tools select{font:inherit;width:100%;max-width:480px;min-height:48px;padding:10px 14px;border:1px solid #9aafc9;background:#fff;border-radius:10px;color:var(--navy)}
.map-tools select:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.map-frame{display:block;border:1px solid var(--line);border-radius:12px;width:100%;height:490px;background:var(--soft)}
.map-caption{margin-top:12px!important;font-size:14px!important}
.map-caption a{font-weight:600}
.period{font-size:14px;display:inline-block;margin-top:23px;color:var(--muted)}
.site-footer{background:#153359;color:#d3e0f2;font-size:14px;font-family:Manrope,'Segoe UI',sans-serif;line-height:1.75}
.site-footer .wrap{max-width:1380px;margin:0 auto;padding-inline:54px}
.site-footer .cols{display:grid;grid-template-columns:1.65fr repeat(4,minmax(0,1fr));gap:32px;padding:64px 54px 56px}
.site-footer h3{color:#fff;font-size:15px;font-weight:800;letter-spacing:-.01em;margin:0 0 16px;line-height:1.3}
.site-footer a{color:#d3e0f2;display:block;font-size:13px;padding:5px 0;line-height:1.65;text-decoration:none}
.site-footer a:hover{color:#e8c979;text-decoration:none}
.site-footer p{font-size:14px;line-height:1.85;margin:0 0 8px}
.site-footer .logo-f{width:190px;height:auto;filter:grayscale(1) brightness(0) invert(1);background:none;padding:0;border-radius:0;margin-bottom:24px}
.site-footer .gestora{border-top:1px solid #ffffff26;font-size:13px;line-height:1.8;margin-top:24px;padding-top:20px}
.site-footer .gestora a{display:inline;color:#fff;font-weight:600;font-size:13px}
.site-footer .zoc{background:#102a4b;font-size:12px;padding-block:20px}
.site-footer .zoc a{font-size:12px}
.site-footer .gestora a:hover,.site-footer .zoc a:hover{color:#e8c979;text-decoration:none}
.site-footer .zoc .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.site-footer :focus-visible{outline:3px solid #e8c979;outline-offset:5px}
@media(min-width:1600px){.site-footer .wrap{max-width:1440px}}
@media(max-width:1200px){.site-footer .wrap,.site-footer .cols{padding-inline:36px}}
@media(max-width:1120px){.site-footer .cols{grid-template-columns:1.5fr 1fr 1fr}.site-footer .cols>div:first-child{grid-row:span 2}}
@media(max-width:760px){.directory,.organization-list{grid-template-columns:1fr}.directory>div{padding-block:16px}.directory dd{font-size:18px}.map-frame{height:380px}.document-list a{font-size:19px}.report-list h3{font-size:21px}}
@media(max-width:600px){.place-list-with-images li{grid-template-columns:1fr;gap:20px}.place-list-with-images .image-placeholder{max-width:320px}.council-directory>div{column-gap:16px}}
@media(max-width:600px){.site-footer .wrap{padding-inline:24px}.site-footer .cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;padding:48px 24px}.site-footer .cols>div:first-child{grid-column:1/-1;grid-row:auto;max-width:500px}}
@media(max-width:420px){.site-footer .wrap,.site-footer .cols{padding-inline:20px}}
