/* Gallery-only presentation. Original archive and global styles remain intact. */
.gallery-page .exg-root{background:#fbfaf6;padding-bottom:4rem;color:#172a33}
.exg-shell{width:min(1320px,calc(100% - 4rem));margin-inline:auto}
.exg-hero{padding-top:clamp(2rem,3.5vw,3rem);padding-bottom:2rem}
.exg-eyebrow{display:flex;align-items:center;gap:.7rem;font-size:.69rem;font-weight:800;letter-spacing:.15em;color:#15536a;margin:0 0 1rem}
.exg-eyebrow>span{width:24px;height:2px;background:#e8b72f}
.exg-hero h1{max-width:850px;margin:0;font-size:clamp(2.2rem,4.2vw,3.8rem);line-height:1.07;letter-spacing:-.048em;font-weight:800;text-wrap:balance}
.exg-hero h1 span{color:#15536a}.exg-lead{max-width:760px;font-size:1rem;line-height:1.75;color:#52686f;margin:1.2rem 0 0}
.exg-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;border-top:1px solid #dde3dc;border-bottom:1px solid #dde3dc;padding:.9rem 0;margin-bottom:1.65rem}
.exg-grid[hidden],.exg-lightbox img[hidden],.exg-toolbar[hidden],.exg-item[hidden],.exg-feature-section[hidden],.exg-empty[hidden],.exg-image-error[hidden]{display:none!important}
.exg-filters{display:flex;flex-wrap:wrap;gap:.3rem}.exg-filter{font:inherit;font-size:.8rem;line-height:1.35;font-weight:650;min-height:44px;padding:.6rem .9rem;border:1px solid transparent;border-radius:30px;background:transparent;color:#465b64;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.exg-filter:hover{background:#eef0e7;color:#0b2834}.exg-filter[aria-pressed=true]{background:#0b2834;border-color:#0b2834;color:#fff}.exg-filter[aria-pressed=true]::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#e8b72f;margin-right:.5rem;vertical-align:middle}
.exg-year{display:flex;align-items:center;gap:.65rem;font-size:.72rem;color:#52686f;white-space:nowrap}.exg-year select{font:inherit;font-size:.8rem;min-height:44px;padding:.5rem 1.6rem .5rem .7rem;border:1px solid #ccd6cf;border-radius:9px;background:#fbfaf6;color:#172a33;max-width:100%}
.exg-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.15rem}.exg-section-heading h2{font-size:1.18rem;line-height:1.4;letter-spacing:-.025em;margin:0;font-weight:750;color:#234550}.exg-section-heading>span,.exg-count{font-size:.73rem;line-height:1.5;color:#63777c;margin:0}
.exg-featured{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:1.2rem 1.7rem;align-items:start}.exg-featured>.exg-item:first-child{grid-row:span 2}.exg-feature-section{margin-bottom:2.7rem}
.exg-item{min-width:0;align-self:start}.exg-photo{margin:0;min-width:0;width:100%}.exg-photo.reveal{opacity:1;transform:none;transition:opacity 600ms ease,transform 600ms cubic-bezier(.2,.7,.2,1);transition-delay:var(--exg-delay,0ms)}
.exg-ready .exg-photo.reveal:not(.is-visible):not(:focus-within){opacity:0;transform:translateY(16px) scale(.985);transition:none}
.exg-open{display:block;text-decoration:none;color:inherit;border-radius:14px;outline-offset:5px}.exg-image-wrap{position:relative;display:block;overflow:hidden;background:#eef0e9;border-radius:14px;box-shadow:0 5px 18px rgba(7,29,38,.04);border:1px solid rgba(7,29,38,.06);transition:transform .2s,border-color .2s}
.exg-image-wrap img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;transition:transform .35s ease}
.exg-image-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(7,29,38,.14),transparent 40%);opacity:0;transition:opacity .25s}
.exg-expand{position:absolute;right:.7rem;bottom:.7rem;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(7,29,38,.8);color:#fff;z-index:1;opacity:0;transform:translateY(3px);transition:opacity .2s,transform .2s}.exg-expand svg{width:15px;height:15px}
.exg-caption{display:block;padding:.7rem .1rem 0}.exg-meta{display:block;color:#526b68;font-size:.63rem;letter-spacing:.035em;margin-bottom:.2rem}.exg-title{display:block;font-weight:650;font-size:.9rem;line-height:1.4;letter-spacing:-.01em;color:#1d3b46}.exg-featured>.exg-item:first-child .exg-title{font-size:1.3rem}.exg-featured>.exg-item:first-child .exg-caption{padding-top:1rem}.exg-featured>.exg-item:first-child .exg-meta{font-size:.7rem}
.exg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start;min-height:180px}.exg-grid.is-masonry{grid-auto-rows:4px;row-gap:0;column-gap:1.5rem}
.exg-empty{padding:2.5rem 1.5rem;text-align:center;background:#f1f3eb;border-radius:16px;border:1px solid #dce5d9}.exg-empty h3{font-size:1.1rem;margin:0 0 .5rem}.exg-empty p{font-size:.9rem;color:#52686f;margin:0 0 1rem}.exg-reset{font:inherit;font-size:.85rem;font-weight:700;background:#e8b72f;color:#071d26;border:0;border-radius:10px;min-height:44px;padding:.7rem 1rem;cursor:pointer}.exg-noscript{font-size:.85rem;color:#52686f;margin-bottom:1.5rem}
.exg-root a:focus-visible,.exg-root button:focus-visible,.exg-root select:focus-visible{outline:3px solid #15536a;outline-offset:4px}.exg-open:focus-visible .exg-expand{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){.exg-open:hover .exg-image-wrap{transform:translateY(-2px);border-color:#93aaa1}.exg-open:hover img{transform:scale(1.012)}.exg-open:hover .exg-image-wrap::after,.exg-open:hover .exg-expand{opacity:1;transform:none}}
/* Native dialog provides an inert background; keyboard handling lives in galeria.js. */
.exg-lightbox{position:fixed;inset:0;margin:auto;width:min(1440px,calc(100vw - 2rem));height:min(960px,calc(100vh - 2rem));height:min(960px,calc(100dvh - 2rem));max-width:none;max-height:none;box-sizing:border-box;padding:0;border:1px solid #38505c;border-radius:16px;background:#071d26;color:#f6f2e9;overflow:hidden;box-shadow:0 20px 80px #0005}
.exg-lightbox:not([open]){display:none}.exg-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.exg-lightbox::backdrop{background:rgba(3,14,20,.94)}
.exg-lightbox__toolbar{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid #243e4a}.exg-lightbox__brand{font-size:.66rem;letter-spacing:.09em;font-weight:750;margin-right:auto;color:#f4d66d}.exg-lightbox__brand>span{color:#b9cbd1;font-weight:500;letter-spacing:0}.exg-lightbox [data-exg-position]{font-size:.75rem;color:#c0d0d5;font-variant-numeric:tabular-nums}
.exg-lightbox button{font:inherit;display:grid;place-items:center;min-width:44px;min-height:44px;padding:.2rem;border:1px solid #54717e;border-radius:50%;color:#f6f2e9;background:#0b2834;cursor:pointer;transition:background .18s,border-color .18s}.exg-lightbox button:hover{background:#15536a;border-color:#91acb8}.exg-lightbox button:focus-visible{outline:3px solid #f4d66d;outline-offset:3px}.exg-close{font-size:1.7rem!important;line-height:1}
.exg-lightbox__stage{position:relative;display:grid;place-items:center;min-height:0;min-width:0;padding:1rem 64px;touch-action:pan-y pinch-zoom}.exg-lightbox__stage>img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}.exg-prev,.exg-next{position:absolute;top:calc(50% - 22px);z-index:1;font-size:1.2rem!important}.exg-prev{left:10px}.exg-next{right:10px}.exg-image-error{position:absolute;inset:40% 4rem auto;text-align:center;font-size:.9rem;color:#f4d66d}
.exg-lightbox__caption{padding:1rem 1.5rem 1.2rem;border-top:1px solid #243e4a;max-height:30vh;overflow-y:auto}.exg-lightbox__meta{color:#f4d66d;font-size:.68rem;margin:0 0 .3rem;letter-spacing:.04em}.exg-lightbox__caption h2{font-size:clamp(1.05rem,2vw,1.45rem);line-height:1.3;margin:0 0 .4rem;letter-spacing:-.025em;color:#fff}.exg-lightbox__caption [data-exg-context]{color:#c0d0d5;font-size:.82rem;line-height:1.6;margin:0;max-width:950px}
@media(min-width:1600px){.exg-shell{width:min(1400px,calc(100% - 6rem))}}
@media(max-width:1050px){.exg-shell{width:calc(100% - 3rem)}.exg-toolbar{align-items:flex-start;gap:.6rem}.exg-filters{flex:1;min-width:0}.exg-filter{font-size:.74rem;padding:.55rem .7rem}.exg-year{font-size:.66rem}.exg-year select{font-size:.73rem}.exg-featured{gap:1rem 1.3rem}.exg-featured .exg-title{font-size:.77rem}.exg-featured>.exg-item:first-child .exg-title{font-size:1.1rem}.exg-featured .exg-meta{font-size:.6rem}}
@media(max-width:900px){.exg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exg-featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem}.exg-featured>.exg-item:first-child{grid-column:1/-1;grid-row:auto}.exg-featured>.exg-item:first-child .exg-title{font-size:1.2rem}.exg-featured .exg-title{font-size:.9rem}.exg-featured .exg-meta{font-size:.65rem}.exg-section-heading>span{display:none}}
@media(max-width:600px){.gallery-page .exg-root{padding-bottom:2.5rem}.exg-shell{width:calc(100% - 2rem)}.exg-hero{padding-top:2.1rem;padding-bottom:1.4rem}.exg-hero h1{font-size:clamp(2.15rem,8.5vw,3rem);line-height:1.1}.exg-eyebrow{font-size:.58rem;letter-spacing:.1em;margin-bottom:.8rem}.exg-lead{font-size:.9rem;line-height:1.65;margin-top:1rem}.exg-toolbar{padding:.75rem 0;gap:.65rem;margin-bottom:1.3rem}.exg-filters{flex-basis:100%;gap:.2rem}.exg-filter{font-size:.72rem;padding:.55rem .72rem}.exg-year{justify-content:space-between;width:100%;font-size:.7rem}.exg-year select{font-size:.75rem;min-height:44px}.exg-featured{grid-template-columns:1fr;gap:1.4rem}.exg-featured>.exg-item:first-child{grid-column:auto}.exg-feature-section{margin-bottom:2rem}.exg-grid{grid-template-columns:1fr;gap:1.4rem}.exg-section-heading{align-items:flex-start;flex-direction:column;gap:.4rem;margin-bottom:1rem}.exg-section-heading h2{font-size:1.08rem}.exg-count{font-size:.68rem}.exg-image-wrap{border-radius:12px}.exg-meta,.exg-featured .exg-meta{font-size:.65rem}.exg-title,.exg-featured .exg-title{font-size:.95rem}.exg-featured>.exg-item:first-child .exg-title{font-size:1.1rem}.exg-featured>.exg-item:first-child .exg-caption{padding-top:.7rem}.exg-expand{opacity:1;transform:none;width:30px;height:30px;right:.6rem;bottom:.6rem}.exg-lightbox{width:calc(100vw - 1rem);height:calc(100vh - 1rem);height:calc(100dvh - 1rem);border-radius:12px}.exg-lightbox__toolbar{padding:.5rem .6rem;gap:.5rem}.exg-lightbox__brand{font-size:.6rem}.exg-lightbox__brand>span{display:none}.exg-lightbox__stage{padding:.5rem 0}.exg-prev{left:5px}.exg-next{right:5px}.exg-lightbox button{background:rgba(7,29,38,.9)}.exg-lightbox__caption{padding:.9rem 1rem;max-height:34vh}.exg-lightbox__caption [data-exg-context]{font-size:.76rem;line-height:1.5}.exg-lightbox__caption h2{font-size:1.06rem}.exg-image-error{inset:35% 3.5rem auto;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.exg-root *, .exg-lightbox *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.exg-ready .exg-photo.reveal:not(.is-visible):not(:focus-within){opacity:1;transform:none}.exg-open:hover img,.exg-open:hover .exg-image-wrap{transform:none!important}}

.exg-lightbox button:disabled{opacity:.35;cursor:default}
/* Editorial composition using Exzoo's shared palette, type scale and radii. */
.gallery-page .exg-root{background:var(--sand-100);padding-bottom:0}
.gallery-page .exg-shell{width:var(--container);max-width:none}
.gallery-page .exg-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(5rem,10vw,8rem) 0;color:var(--white);background:linear-gradient(118deg,#071d26 0%,#0a2733 56%,#0b3342 100%)}
.gallery-page .exg-hero::before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 85% 30%,rgba(42,117,144,.26),transparent 32%),radial-gradient(circle at 10% 100%,rgba(232,183,47,.12),transparent 28%);pointer-events:none}
.exg-hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.exg-hero-copy{max-width:860px}
.gallery-page .exg-hero h1{max-width:13ch;margin:0 0 1.25rem;font-size:clamp(2.7rem,7vw,5.7rem);line-height:1.04;letter-spacing:-.04em;font-weight:800;text-wrap:balance}
.gallery-page .exg-hero h1 span{display:block;color:var(--yellow-500)}
.gallery-page .exg-hero .exg-eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;color:var(--yellow-500);font-size:.78rem;font-weight:800;letter-spacing:.13em;line-height:1.4;text-transform:uppercase}
.gallery-page .exg-hero .exg-eyebrow>span{width:34px;height:2px;flex:0 0 auto;background:currentColor}
.gallery-page .exg-lead{max-width:58ch;margin:0;color:rgba(255,255,255,.76);font-size:1.15rem;line-height:1.65;text-wrap:pretty}
.exg-archive{position:relative;isolation:isolate;width:100%;max-width:560px;justify-self:center;padding:1.15rem;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:radial-gradient(circle at 88% 10%,rgba(242,206,69,.13),transparent 13rem),linear-gradient(145deg,rgba(13,43,55,.92),rgba(6,27,37,.88));box-shadow:0 28px 65px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(16px);overflow:hidden}
.exg-archive::before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#f2ce45 0%,#dcae32 30%,#67a85d 64%,#3d8eb3 100%)}
.exg-archive::after{content:"ARCHIVO";position:absolute;z-index:0;right:-.2rem;bottom:4rem;color:rgba(255,255,255,.025);font-size:clamp(4rem,9vw,7.2rem);font-weight:900;line-height:1;letter-spacing:-.08em;pointer-events:none}
.exg-archive>*{position:relative;z-index:1}
.exg-archive-label{margin:0 0 .9rem;padding:.25rem .25rem .85rem;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;font-size:.86rem;font-weight:900;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}
.exg-archive dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}
.exg-archive dl>div{position:relative;isolation:isolate;display:flex;min-width:0;min-height:145px;flex-direction:column;justify-content:flex-end;padding:1.15rem 1rem 1rem;border:1px solid rgba(255,255,255,.105);border-radius:20px;background:radial-gradient(circle at 100% 0%,rgba(61,142,179,.1),transparent 8rem),rgba(255,255,255,.035);overflow:hidden;transition:transform .28s ease,border-color .28s ease,background .28s ease}
.exg-archive dl>div::before{position:absolute;top:.9rem;right:1rem;color:rgba(255,255,255,.2);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.exg-archive dl>div:nth-child(1)::before{content:"01"}.exg-archive dl>div:nth-child(2)::before{content:"02"}.exg-archive dl>div:nth-child(3)::before{content:"03"}
.exg-archive dl>div::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#67a85d,#3d8eb3);opacity:.88}
.exg-archive .exg-archive-total{grid-column:1/-1;min-height:170px;padding:1.35rem 1.2rem 1.15rem;background:radial-gradient(circle at 92% 12%,rgba(242,206,69,.18),transparent 12rem),linear-gradient(135deg,rgba(242,206,69,.085),rgba(255,255,255,.035))}
.exg-archive .exg-archive-total::after{background:linear-gradient(90deg,#f2ce45 0%,#e0b436 45%,#67a85d 75%,#3d8eb3 100%)}
.exg-archive dt{order:2;max-width:13rem;margin:0;color:rgba(255,255,255,.76);font-size:.82rem;font-weight:700;line-height:1.4}
.exg-archive dd{order:1;display:block;max-width:100%;margin:.8rem 0 .5rem;color:#f6d95f;font-size:clamp(1.35rem,2.1vw,2.25rem);font-weight:800;line-height:.95;letter-spacing:-.04em;white-space:nowrap;font-variant-numeric:tabular-nums}
.exg-archive dl>div:nth-child(2) dd{font-size:clamp(1.25rem,1.8vw,1.8rem);letter-spacing:-.06em}.exg-archive-total dt{max-width:16rem;font-size:.9rem}.exg-archive-total dd{margin-top:.45rem;font-size:clamp(3.1rem,6vw,5.1rem)}
.exg-archive-note{display:grid;grid-template-columns:28px minmax(0,1fr);gap:.65rem;align-items:center;width:100%;margin:.85rem 0 0;padding:.8rem .85rem;border:1px solid rgba(255,255,255,.08);border-radius:15px;color:rgba(255,255,255,.58);background:rgba(255,255,255,.025);font-size:.73rem;line-height:1.5}
.exg-archive-note::before{content:"ⓘ";display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#f5d85e;background:rgba(242,206,69,.09);box-shadow:inset 0 0 0 1px rgba(242,206,69,.14);font-size:.88rem}
@media(hover:hover) and (pointer:fine){.exg-archive dl>div:hover{transform:translateY(-3px);border-color:rgba(242,206,69,.28);background-color:rgba(255,255,255,.055)}}
.exg-nav-band{position:sticky;top:var(--activities-sticky-offset,126px);z-index:939;background:var(--sand-50);border:0;padding:clamp(.625rem,1.5vw,1rem) 0}
.gallery-page .exg-toolbar{width:max-content;max-width:100%;margin:0 auto;padding:.38rem;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.32rem;border:1px solid transparent;border-radius:18px}
.gallery-page .exg-filters{display:flex;flex:0 1 auto;flex-wrap:nowrap;align-items:center;min-width:0;gap:.32rem;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:0}
.gallery-page .exg-filters::-webkit-scrollbar{display:none}
.gallery-page .exg-filter{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:42px;padding:.68rem 1rem;border:1px solid transparent;border-radius:13px;background:transparent;color:rgba(255,255,255,.74);font-size:.82rem;font-weight:850;line-height:1;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.18);transition:color .24s ease,border-color .24s ease,background .24s ease,transform .24s ease,box-shadow .24s ease}
.gallery-page .exg-filter::after{content:"";position:absolute;left:18%;right:18%;bottom:5px;height:3px;border-radius:999px;background:linear-gradient(90deg,#efc83a,#ffe36f,#79a85f);box-shadow:0 0 10px rgba(239,200,58,.5);opacity:0;transform:scaleX(0);transform-origin:center;transition:opacity .24s ease,transform .24s ease}
.gallery-page .exg-filter:hover,.gallery-page .exg-filter:focus-visible{color:#fff;border-color:rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(31,78,95,.72),rgba(14,50,65,.72));transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 22px rgba(0,0,0,.16),0 0 16px rgba(77,145,182,.1)}
.gallery-page .exg-filter[aria-pressed=true]{color:#fff;border-color:rgba(239,200,58,.16);background:linear-gradient(180deg,rgba(30,76,94,.98),rgba(13,46,61,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(77,145,182,.08),0 9px 22px rgba(0,0,0,.17),0 0 18px rgba(239,200,58,.13),0 0 30px rgba(77,145,182,.08)}
.gallery-page .exg-filter[aria-pressed=true]::after{opacity:1;transform:scaleX(1);animation:exzoo-subnav-active-glow 2.8s ease-in-out infinite}
.gallery-page .exg-filter[aria-pressed=true]::before{display:none}
.gallery-page .exg-year{position:relative;z-index:1;display:flex;align-items:center;gap:.6rem;flex:0 0 auto;margin-left:.32rem;padding-left:.7rem;border-left:1px solid rgba(255,255,255,.13);color:#c7d5d8;font-size:.74rem;font-weight:800;letter-spacing:.025em;white-space:nowrap}
.gallery-page .exg-year select{min-height:42px;padding:.55rem 2.35rem .55rem .8rem;border:1px solid rgba(255,255,255,.16);border-radius:13px;background-color:rgba(4,24,34,.42);color:#fff;color-scheme:dark;font:inherit;letter-spacing:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.gallery-page .exg-year select:hover{border-color:rgba(239,200,58,.48);background-color:rgba(15,57,72,.76)}
.exg-nav-band button:focus-visible,.exg-nav-band select:focus-visible{outline:3px solid var(--yellow-300);outline-offset:3px}
@media(max-width:1100px){.exg-nav-band{top:104px}}
@media(max-width:760px){.exg-nav-band{top:86px}}
@media(max-width:820px){.gallery-page .exg-toolbar{width:100%;flex-wrap:wrap;justify-content:flex-start}.gallery-page .exg-filters{width:100%;flex-basis:100%;justify-content:flex-start;scroll-snap-type:x proximity}.gallery-page .exg-filter{scroll-snap-align:start}.gallery-page .exg-year{width:100%;margin:.06rem 0 0;padding:.5rem .22rem .08rem;border-left:0;border-top:1px solid rgba(255,255,255,.13);justify-content:flex-end}.gallery-page .exg-year select{width:min(62%,210px)}}
@media(max-width:600px){.exg-nav-band{padding:.625rem 0 .875rem}.gallery-page .exg-toolbar{border-radius:18px}.gallery-page .exg-filter{min-height:39px;padding:.62rem .85rem;font-size:.78rem}.gallery-page .exg-year{justify-content:space-between}.gallery-page .exg-year select{min-height:44px}}
@media(prefers-reduced-motion:reduce){.gallery-page .exg-filter,.gallery-page .exg-year select{transition:none}.gallery-page .exg-filter:hover,.gallery-page .exg-filter:focus-visible{transform:none}.gallery-page .exg-filter[aria-pressed=true]::after{animation:none}}
.gallery-page .exg-content{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.exg-editorial{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:clamp(1.5rem,5vw,4rem);margin-bottom:2.5rem}
.gallery-page .exg-editorial h2,.gallery-page .exg-section-heading h2{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.08;letter-spacing:-.035em;color:var(--green-900);margin:0;max-width:720px}
.exg-editorial>p{font-size:1rem;line-height:1.75;color:var(--ink-700);margin:0;padding-left:1.5rem;border-left:3px solid var(--yellow-500)}
.gallery-page .exg-feature-section{margin-bottom:clamp(3rem,6vw,5rem)}
.gallery-page .exg-featured{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:1.3rem;align-items:start}
.gallery-page .exg-photo{border:1px solid #dce2d8;border-radius:var(--radius-md);background:var(--sand-50);box-shadow:var(--shadow-sm);overflow:hidden}
.gallery-page .exg-open{border-radius:var(--radius-md)}.gallery-page .exg-image-wrap{border:0;border-radius:0;box-shadow:none}
.gallery-page .exg-caption,.gallery-page .exg-featured>.exg-item:first-child .exg-caption{padding:1rem 1.2rem 1.2rem}
.gallery-page .exg-meta{color:#41604d}.gallery-page .exg-featured>.exg-item:first-child .exg-title{font-size:1.3rem}
.gallery-page .exg-section-heading{display:block;border-top:1px solid #d6dfd2;padding-top:clamp(2rem,4vw,3rem);margin-bottom:2rem}.gallery-page .exg-section-heading .exg-count{display:block;margin-top:1rem;font-size:.8rem}
.gallery-page .exg-grid{column-gap:1.5rem}.gallery-page .exg-grid .exg-title{font-size:.95rem}
@media(hover:hover) and (pointer:fine){.gallery-page .exg-open:hover .exg-image-wrap{transform:none}.gallery-page .exg-photo:hover{translate:0 -2px}.gallery-page .exg-photo{transition:opacity 600ms ease,transform 600ms ease,translate 180ms ease;transition-delay:var(--exg-delay,0ms)}.gallery-page .exg-open:hover img{transform:scale(1.015)}}
@media(max-width:1100px){.exg-hero-layout{grid-template-columns:1fr}.exg-archive{justify-self:start}}
@media(max-width:1050px){.gallery-page .exg-featured{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}
@media(max-width:980px){.exg-archive{max-width:720px}.exg-editorial{grid-template-columns:1fr}}
@media(max-width:900px){.gallery-page .exg-featured{grid-template-columns:1fr 1fr}.gallery-page .exg-featured>.exg-item:first-child{grid-column:1/-1}}
@media(max-width:620px){.gallery-page .exg-hero{padding:clamp(3.75rem,14vw,5rem) 0}.gallery-page .exg-hero h1{max-width:100%;font-size:clamp(2.7rem,12vw,3.65rem);line-height:1.04}.gallery-page .exg-hero .exg-eyebrow{font-size:.68rem;letter-spacing:.105em}.gallery-page .exg-lead{font-size:1rem;line-height:1.65}.exg-hero-layout{gap:2.25rem}.exg-archive{padding:.9rem;border-radius:22px}.exg-archive-label{padding-inline:.1rem}.exg-archive dl{grid-template-columns:1fr}.exg-archive .exg-archive-total{grid-column:auto}.exg-archive dl>div,.exg-archive .exg-archive-total{min-height:132px}.exg-archive dd,.exg-archive-total dd{font-size:clamp(2.5rem,15vw,3.65rem)}.exg-archive-note{margin-top:.75rem}.gallery-page .exg-featured{grid-template-columns:1fr}.gallery-page .exg-featured>.exg-item:first-child{grid-column:auto}.exg-editorial{gap:1.5rem;margin-bottom:2rem}.exg-editorial>p{padding-left:1rem}.gallery-page .exg-featured>.exg-item:first-child .exg-title{font-size:1.15rem}.gallery-page .exg-caption{padding:1rem}.gallery-page .exg-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gallery-page .exg-photo:hover{translate:none}}
.gallery-page .exg-root{background:var(--sand-50)}
.gallery-page .exg-content{padding-bottom:0}
.exg-library-band{background:var(--sand-100);padding-bottom:clamp(3rem,6vw,5rem);border-top:1px solid #d6dfd2}
.gallery-page .exg-library .exg-section-heading{border-top:0}
.gallery-page .exg-photo:focus-within{outline:3px solid var(--green-700);outline-offset:4px}
/* Photo captions: lighter adaptation of the documented-impact visual language. */
.gallery-page .exg-caption{
  position:relative;
  background:radial-gradient(ellipse at 92% 0,rgba(103,168,93,.16),transparent 70%),linear-gradient(145deg,#1b4044,var(--green-900));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 2px 10px rgba(244,214,109,.035);
  transition:box-shadow 180ms ease;
}
.gallery-page .exg-caption::before{
  content:"";position:absolute;inset:0 0 auto;height:2px;pointer-events:none;
  background:linear-gradient(90deg,var(--yellow-300),#67a85d 64%,var(--green-500));
  opacity:.65;transition:opacity 180ms ease;
}
.gallery-page .exg-caption .exg-meta{color:#d9dba7}
.gallery-page .exg-caption .exg-meta::before{
  content:"";display:inline-block;width:12px;height:2px;
  margin-right:7px;vertical-align:middle;background:var(--yellow-300);opacity:.7;
}
.gallery-page .exg-caption .exg-title{color:var(--sand-50)}
@media(hover:hover) and (pointer:fine){
  .gallery-page .exg-open:hover .exg-caption{box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),inset 0 2px 12px rgba(244,214,109,.09)}
  .gallery-page .exg-open:hover .exg-caption::before{opacity:.95}
}
@media(prefers-reduced-motion:reduce){
  .gallery-page .exg-caption,.gallery-page .exg-caption::before{transition:none}
}


/* Refinamiento del marco y controles del visor */
.exg-lightbox__stage > img {
  box-sizing: border-box;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  padding: 5px;
  border: 1px solid rgba(116, 164, 174, .42);
  border-radius: 24px;
  background: rgba(12, 45, 57, .72);
  box-shadow:
    0 18px 42px rgba(0, 8, 13, .28),
    0 5px 14px rgba(6, 24, 31, .2),
    inset 0 0 0 1px rgba(244, 214, 109, .045);
  overflow: hidden;
  transition: border-color 220ms ease, box-shadow 220ms ease;
}

.exg-lightbox button {
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  padding: 0;
  border-color: rgba(126, 176, 185, .55);
  background: rgba(7, 31, 43, .88);
  box-shadow:
    0 8px 22px rgba(0, 7, 12, .3),
    inset 0 1px 0 rgba(255, 255, 255, .06);
  transition:
    transform 210ms ease,
    color 210ms ease,
    background-color 210ms ease,
    border-color 210ms ease,
    box-shadow 210ms ease;
}

.exg-lightbox button > span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}

.exg-lightbox button svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 210ms ease;
}

.exg-lightbox button:hover {
  color: #fffdf4;
  border-color: rgba(244, 214, 109, .78);
  background: rgba(17, 65, 78, .96);
  box-shadow:
    0 10px 28px rgba(0, 7, 12, .36),
    0 0 0 3px rgba(95, 184, 189, .1),
    0 0 18px rgba(244, 214, 109, .1),
    inset 0 1px 0 rgba(255, 255, 255, .09);
  transform: scale(1.055);
}

.exg-prev:hover svg { transform: translateX(-2px); }
.exg-next:hover svg { transform: translateX(2px); }
.exg-close:hover svg { transform: rotate(7deg) scale(1.06); }

.exg-lightbox button:active {
  transform: scale(.96);
  transition-duration: 80ms;
}

.exg-lightbox button:focus-visible {
  outline: 3px solid #f4d66d;
  outline-offset: 3px;
  box-shadow:
    0 8px 22px rgba(0, 7, 12, .3),
    0 0 0 5px rgba(244, 214, 109, .14);
}

.exg-close {
  color: #f8f5ec;
  background: rgba(8, 34, 46, .94);
}

.exg-close:hover {
  border-color: rgba(244, 214, 109, .82);
  background: rgba(29, 63, 72, .98);
}

@media (max-width: 600px) {
  .exg-lightbox__stage {
    padding: .65rem 52px;
  }

  .exg-lightbox__stage > img {
    max-width: calc(100% - 2px);
    max-height: calc(100% - 2px);
    padding: 3px;
    border-radius: 16px;
    box-shadow:
      0 12px 28px rgba(0, 8, 13, .25),
      0 3px 10px rgba(6, 24, 31, .18);
  }

  .exg-lightbox button {
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
  }

  .exg-prev { left: 3px; }
  .exg-next { right: 3px; }
}

@media (prefers-reduced-motion: reduce) {
  .exg-lightbox__stage > img,
  .exg-lightbox button,
  .exg-lightbox button svg {
    transition: none !important;
  }

  .exg-lightbox button:hover,
  .exg-lightbox button:active,
  .exg-lightbox button:hover svg {
    transform: none !important;
  }
}

/* Gallery favorites: compact, accessible and independent from the lightbox link. */
.gallery-page .exg-photo{position:relative}
.exg-like{position:absolute;z-index:4;top:.72rem;right:.72rem;display:inline-flex;align-items:center;justify-content:center;gap:.28rem;min-width:44px;height:44px;padding:0 .68rem;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:#fff;background:rgba(7,29,38,.82);box-shadow:0 7px 20px rgba(0,15,22,.24);font:800 .72rem/1 system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(8px);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.exg-like__icon{font-size:1.38rem;line-height:1;color:inherit}.exg-like__count{min-width:.7rem;font-variant-numeric:tabular-nums}.exg-like[aria-pressed=true]{color:#ff9b9f;border-color:rgba(255,180,183,.68);background:rgba(28,44,50,.94);box-shadow:0 7px 20px rgba(0,15,22,.28),0 0 18px rgba(235,112,119,.22)}
.exg-like:focus-visible{outline:3px solid #f4d66d!important;outline-offset:3px}.exg-like:disabled{cursor:wait;opacity:.72}
.exg-like.is-pop{animation:exg-heart-pop .56s cubic-bezier(.2,.8,.2,1)}
.exg-like__particle{position:absolute;left:50%;top:45%;z-index:-1;color:#f08d94;font-size:.65rem;pointer-events:none;animation:exg-heart-particle .62s ease-out forwards}.exg-like__particle--1{--exg-x:-22px;--exg-y:-26px}.exg-like__particle--2{--exg-x:2px;--exg-y:-34px}.exg-like__particle--3{--exg-x:22px;--exg-y:-22px}
@keyframes exg-heart-pop{35%{transform:scale(1.16)}70%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes exg-heart-particle{to{opacity:0;transform:translate(var(--exg-x),var(--exg-y)) scale(.65)}}
.exg-like-toast{position:fixed;z-index:1200;left:50%;bottom:max(1rem,env(safe-area-inset-bottom));display:flex;align-items:center;gap:1rem;box-sizing:border-box;width:min(calc(100vw - 2rem),510px);min-height:82px;padding:1rem 1.1rem;border:1px solid rgba(229,191,51,.62);border-radius:20px;color:#f8f5ec;background:linear-gradient(135deg,rgba(8,35,46,.985),rgba(5,25,35,.985));box-shadow:0 18px 48px rgba(0,17,25,.34),0 0 0 1px rgba(255,255,255,.035) inset;font:500 .84rem/1.42 system-ui,sans-serif;text-align:left;opacity:0;transform:translate(-50%,12px) scale(.96);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.75,.25,1)}
.exg-like-toast.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.exg-like-toast__heart{position:relative;display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;margin:0;border:1px solid rgba(229,191,51,.72);border-radius:50%;color:#f4d66d;background:rgba(255,255,255,.035);box-shadow:0 0 18px rgba(229,191,51,.12)}
.exg-like-toast__heart svg{display:block;width:25px;height:25px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.exg-like-toast__heart.is-filled{color:#f28f98;box-shadow:0 0 22px rgba(242,143,152,.22)}
.exg-like-toast__heart.is-filled svg{fill:currentColor;stroke:#ffc0c5;animation:exg-toast-heart-pop .42s cubic-bezier(.2,.82,.25,1)}
.exg-like-toast__content{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;gap:.2rem;margin:0}
.exg-like-toast__content strong{color:#fffaf0;font-size:.96rem;line-height:1.3;font-weight:850;letter-spacing:-.01em}
.exg-like-toast__message{display:block;margin:0;color:rgba(248,245,236,.76);font-size:.79rem}
.exg-like-toast__actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:.7rem 0 0}
.exg-like-toast__actions a{display:inline-flex;align-items:center;justify-content:center;gap:.48rem;min-height:44px;padding:.62rem .88rem;border-radius:12px;font-size:.77rem;font-weight:850;line-height:1;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.exg-like-toast__primary{border:1px solid #e5bf33;color:#071d26!important;background:#e5bf33;box-shadow:0 8px 20px rgba(229,191,51,.15)}
.exg-like-toast__secondary{border:1px solid rgba(207,224,230,.36);color:#f8f5ec!important;background:rgba(255,255,255,.045)}
.exg-like-toast__actions a:focus-visible{outline:3px solid #fff3b0;outline-offset:3px}
.exg-like-toast__spark{position:absolute;margin:0;color:#f7abb1;font:700 .56rem/1 system-ui,sans-serif;opacity:0;pointer-events:none;animation:exg-toast-spark .48s .08s ease-out forwards}
.exg-like-toast__spark--1{--spark-x:-19px;--spark-y:-25px}.exg-like-toast__spark--2{--spark-x:4px;--spark-y:-31px}.exg-like-toast__spark--3{--spark-x:22px;--spark-y:-18px}
@keyframes exg-toast-heart-pop{0%{transform:scale(.72)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes exg-toast-spark{35%{opacity:.9}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.62)}}
@media(hover:hover) and (pointer:fine){.exg-like-toast__actions a:hover{transform:translateY(-2px)}.exg-like-toast__primary:hover{box-shadow:0 10px 24px rgba(229,191,51,.25)}.exg-like-toast__secondary:hover{border-color:rgba(244,214,109,.62);background:rgba(255,255,255,.075)}}
@media(hover:hover) and (pointer:fine){.exg-like:hover{transform:translateY(-2px) scale(1.035);border-color:rgba(244,214,109,.7)}}
@media(max-width:600px){.exg-like{top:.58rem;right:.58rem;min-width:44px;height:44px;padding:0 .62rem}.gallery-page .exg-filters{justify-content:center}.gallery-page .exg-year{justify-content:center;gap:.8rem}.gallery-page .exg-year select{width:min(64%,210px)}.exg-like-toast{align-items:flex-start;gap:.78rem;width:calc(100vw - 1.5rem);padding:.9rem;border-radius:18px}.exg-like-toast__heart{flex-basis:46px;width:46px;height:46px}.exg-like-toast__heart svg{width:22px;height:22px}.exg-like-toast__content strong{font-size:.9rem}.exg-like-toast__actions{width:100%;flex-direction:column}.exg-like-toast__actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.exg-like,.exg-like-toast,.exg-like-toast__actions a{transition:none!important;animation:none!important}.exg-like__particle,.exg-like-toast__spark{display:none!important}.exg-like-toast__heart.is-filled svg{animation:none!important}}

/* Match the exact Activities hero palette without changing Gallery structure. */
.gallery-page{
  --v113-navy:#071f3f;
  --v113-blue:#0d4f86;
  --v113-sky:#36a9d6;
  --v113-gold:#f5bf2b;
  --v113-green:#3a9b6d;
}
.gallery-page .exg-hero{background:#071d26}
.gallery-page .exg-hero::before{
  inset:auto 0 0;
  height:5px;
  background:linear-gradient(90deg,var(--v113-gold),var(--v113-green),var(--v113-sky),var(--v113-blue));
  box-shadow:0 0 24px rgba(54,169,214,.28);
}
.gallery-page .exg-archive{
  border-color:rgba(255,255,255,.14);
  background:rgba(6,24,33,.58);
  box-shadow:0 22px 55px rgba(0,0,0,.18);
}
