.gallery-section.section{max-width:1680px;width:100%;margin:0 auto;padding:40px 5% 30px;border:0;scroll-margin-top:0}
.gallery-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}
.gallery-header .eyebrow{font-size:11px;color:#507f28;margin:0 0 12px}
.gallery-header h2{font-size:clamp(30px,2.6vw,42px);letter-spacing:-1px;line-height:1.2;margin:0}
.gallery-tabs{display:flex;gap:8px;padding-bottom:2px}
.gallery-tabs button{font:inherit;font-size:13px;font-weight:600;min-width:100px;min-height:40px;padding:9px 18px;border:1px solid #9db77e;border-radius:7px;color:#4e772e;background:transparent;cursor:pointer}
.gallery-tabs button[aria-selected=true]{background:#39791b;border-color:#39791b;color:#fffde9}
.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.12fr) minmax(0,1fr);grid-template-rows:repeat(2,clamp(145px,14vw,210px));gap:13px}
.gallery-card{position:relative;display:block;min-width:0;overflow:hidden;padding:0;border:0;border-radius:11px;background:#e9efd9;cursor:pointer;text-align:left;color:white}
.gallery-card:nth-child(1){grid-column:1;grid-row:1}
.gallery-card:nth-child(2){grid-column:1;grid-row:2}
.gallery-card:nth-child(3){grid-column:2;grid-row:1/3}
.gallery-card:nth-child(4){grid-column:3;grid-row:1}
.gallery-card:nth-child(5){grid-column:3;grid-row:2}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-label{position:absolute;bottom:0;left:0;max-width:100%;padding:9px 14px;border-radius:0 10px 0 0;background:#39791bf2;font-size:12px;line-height:1.45;color:#fffff2;font-weight:500}
.gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffed99;border-radius:50%;background:#254e22b8;color:#ffffed;box-shadow:0 3px 16px #0002}
.gallery-play svg{width:24px;height:24px;margin-right:3px}
.gallery-grid--single{grid-template-columns:1fr;grid-template-rows:clamp(300px,29vw,433px)}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:21px;margin-top:16px}
.gallery-controls[hidden]{display:none}
.gallery-arrow{display:grid;place-items:center;width:40px;height:40px;padding:10px;border:1px solid #9fb783;border-radius:50%;background:#fffff4;color:#4e792f;cursor:pointer}
.gallery-arrow svg{width:18px;height:18px}
.gallery-pages{display:flex;align-items:center;gap:1px}
.gallery-pages button{display:grid;place-items:center;width:30px;height:38px;padding:0;background:transparent;border:0;cursor:pointer}
.gallery-pages button:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#b8c999;transition:width .2s ease,background .2s ease}
.gallery-pages button[aria-current=true]:before{width:23px;border-radius:8px;background:#39791b}
.gallery-footnote{font-size:11px;line-height:1.7;color:#748160;margin:12px auto 0;text-align:center}
.gallery-footnote a{text-underline-offset:3px;white-space:nowrap}
.gallery-section button:focus-visible,.gallery-card:focus-visible{outline:2px solid #39791b;outline-offset:3px}
#gallery-dialog{width:min(1280px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:18px 22px 15px;border:0;border-radius:15px;background:#172717;color:#ffffef;box-shadow:0 24px 90px #0006;overflow:auto}
#gallery-dialog::backdrop{background:#0b190de0;backdrop-filter:blur(5px)}
.gallery-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
#gallery-dialog h2{font-size:17px;line-height:1.45;letter-spacing:0;font-weight:500;margin:0}
#gallery-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #718367;border-radius:50%;background:transparent;color:#ffffef;cursor:pointer}
#gallery-close svg{width:20px;height:20px}
.gallery-media{display:grid;place-items:center;min-height:180px;background:#101a10;overflow:hidden;border-radius:7px}
.gallery-media img{display:block;width:100%;height:auto;max-height:70dvh;object-fit:contain}
.gallery-media img[hidden]{display:none}
.gallery-dialog-footer{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px;font-size:13px}
.gallery-dialog-footer .gallery-arrow{width:38px;height:38px;border-color:#6e865b;background:transparent;color:#ffffef}
.gallery-dialog-footer [hidden]{display:none}
#gallery-dialog a{color:#e4efc1;text-underline-offset:4px}
#gallery-dialog button:focus-visible{outline:2px solid #e4efc1;outline-offset:3px}
#gallery-dialog .gallery-image-error{color:#e4efc1;padding:28px;text-align:center}
@media(hover:hover) and (pointer:fine){.gallery-card:hover img{transform:scale(1.035)}.gallery-tabs button:hover,.gallery-arrow:hover{border-color:#39791b}.gallery-card:hover .gallery-label{background:#39791b}}
@media(max-width:760px){
 .gallery-section.section{padding:30px 6% 24px}
 .gallery-header{align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
 .gallery-header .eyebrow{font-size:10px;margin-bottom:10px}
 .gallery-header h2{font-size:29px}
 .gallery-tabs{gap:6px;padding:0}
 .gallery-tabs button{min-width:80px;min-height:40px;font-size:12px;padding:8px 12px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(2,110px);gap:10px}
 .gallery-card{border-radius:9px}
 .gallery-card:nth-child(3){grid-column:1/3;grid-row:1;aspect-ratio:1.5}
 .gallery-card:nth-child(1){grid-column:1;grid-row:2}
 .gallery-card:nth-child(2){grid-column:2;grid-row:2}
 .gallery-card:nth-child(4){grid-column:1;grid-row:3}
 .gallery-card:nth-child(5){grid-column:2;grid-row:3}
 .gallery-label{font-size:11px;padding:6px 9px;border-radius:0 7px 0 0}
 .gallery-card:nth-child(3) .gallery-label{font-size:13px;padding:8px 12px}
 .gallery-play{width:38px;height:38px;top:40%}
 .gallery-grid--single{grid-template-columns:1fr;grid-template-rows:auto}
 .gallery-grid--single .gallery-card{grid-column:1;grid-row:1;aspect-ratio:1.2}
 .gallery-controls{margin-top:13px;gap:22px}
 .gallery-arrow{width:44px;height:44px}
 .gallery-footnote{font-size:10px;text-align:left;margin-top:12px}
 #gallery-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:12px;border-radius:12px}
 #gallery-dialog h2{font-size:14px}
 .gallery-dialog-bar{gap:12px;margin-bottom:10px}
 .gallery-media img{height:auto;max-height:70dvh}
 .gallery-dialog-footer{gap:16px;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.gallery-card img,.gallery-pages button:before{transition:none}.gallery-card:hover img{transform:none}}

/* Directional gallery transitions and a sliding active-tab surface. */
#gallery-panel{position:relative;isolation:isolate;overflow:clip;border-radius:11px;container-type:inline-size}
.gallery-grid--single{grid-template-rows:calc(2 * clamp(145px,14vw,210px) + 13px)}
.gallery-outgoing{position:absolute;inset:0;z-index:2;pointer-events:none}
.gallery-tabs{--gallery-tab-gap:8px;position:relative;isolation:isolate;gap:var(--gallery-tab-gap)}
.gallery-tabs:before{content:'';position:absolute;inset:0 auto 2px 0;width:calc((100% - var(--gallery-tab-gap))/2);border-radius:7px;background:#39791b;z-index:-1;transition:transform .38s cubic-bezier(.22,1,.36,1)}
.gallery-tabs:has([data-gallery-tab=videos][aria-selected=true]):before{transform:translateX(calc(100% + var(--gallery-tab-gap)))}
.gallery-tabs button{flex:1;transition:color .2s,border-color .2s,box-shadow .2s}
.gallery-tabs button[aria-selected=true]{background:transparent;border-color:transparent}
.gallery-card{transition:box-shadow .35s ease}
.gallery-card img{transition:transform .7s cubic-bezier(.22,1,.36,1),filter .5s ease}
.gallery-card:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#16331b18,transparent 35%,#16331b40);opacity:0;transition:opacity .4s;pointer-events:none}
.gallery-label{z-index:2;transition:background .3s,padding .4s cubic-bezier(.22,1,.36,1)}
.gallery-expand{position:absolute;top:13px;right:13px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border:1px solid #fff9;border-radius:50%;background:#fbfdebeb;color:#39791b;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .3s,transform .4s cubic-bezier(.22,1,.36,1)}
.gallery-expand svg{width:17px;height:17px}
.gallery-play{z-index:2;transition:background .3s,transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.gallery-arrow,#gallery-close{transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s}
.gallery-arrow svg{transition:transform .25s}
.gallery-arrow:active,#gallery-close:active{transform:scale(.94)}
.gallery-controls{transition:opacity .25s}
.gallery-controls--inactive{opacity:0;pointer-events:none}
.gallery-pages button:before{transition:width .35s cubic-bezier(.22,1,.36,1),background .25s,transform .25s}
.gallery-media{position:relative;height:70dvh}
.gallery-media>*{grid-area:1/1;min-width:0;min-height:0}
.gallery-media img{height:100%;max-height:100%;object-fit:contain}
#gallery-dialog::backdrop{animation:gallery-backdrop-in .3s ease both}
#gallery-dialog.gallery-dialog--closing::backdrop{animation:gallery-backdrop-out .2s ease both}
@keyframes gallery-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes gallery-backdrop-out{from{opacity:1}to{opacity:0}}
@media(hover:hover) and (pointer:fine){
 .gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.07);filter:saturate(1.04)}
 .gallery-card:hover:before,.gallery-card:focus-visible:before{opacity:1}
 .gallery-card:hover .gallery-expand,.gallery-card:focus-visible .gallery-expand{opacity:1;transform:translateY(0) scale(1)}
 .gallery-card:hover .gallery-label,.gallery-card:focus-visible .gallery-label{padding-right:22px;background:#2b6214}
 .gallery-card:hover .gallery-play{transform:translate(-50%,-50%) scale(1.12);background:#39791bee;box-shadow:0 0 0 8px #ffffff25}
 .gallery-tabs button:hover{box-shadow:inset 0 0 0 1px #39791b}
 .gallery-arrow:hover{background:#39791b;color:#fffde9;border-color:#39791b;box-shadow:0 5px 14px #23451c20}
 #gallery-next:hover svg,#media-next:hover svg{transform:translateX(2px)}
 #gallery-previous:hover svg,#media-previous:hover svg{transform:translateX(-2px)}
 .gallery-pages button:hover:before{background:#6b9843;transform:scale(1.15)}
 #gallery-close:hover{background:#e4efc1;color:#243b21;transform:rotate(90deg)}
}
@media(max-width:760px){
 .gallery-tabs{--gallery-tab-gap:6px}
 .gallery-tabs:before{bottom:0}
 .gallery-grid--single{grid-template-rows:calc(100cqw / 1.5 + 240px)}
 .gallery-grid--single .gallery-card{aspect-ratio:auto}
 .gallery-expand{top:9px;right:9px;width:30px;height:30px}
 .gallery-media{height:min(65dvh,70vw)}
 .gallery-media img{height:100%;max-height:100%}
}
@media(prefers-reduced-motion:reduce){
 .gallery-tabs:before,.gallery-tabs button,.gallery-card,.gallery-card img,.gallery-card:before,.gallery-label,.gallery-expand,.gallery-play,.gallery-arrow,.gallery-arrow svg,.gallery-pages button:before,.gallery-controls,#gallery-close{transition:none}
 .gallery-card:hover img,.gallery-card:focus-visible img{transform:none;filter:none}
 #gallery-dialog::backdrop,#gallery-dialog.gallery-dialog--closing::backdrop{animation:none}
}
