.gal-section{background:#f7f8f4;position:relative}.gal-hero{background-image:none;align-items:center;min-height:360px;display:flex;position:relative;overflow:hidden;background-color:var(--color-brand)!important;padding-bottom:5rem!important}.gal-hero:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle,#ffffff1f 1.5px,#0000 1.5px);background-size:30px 30px;position:absolute;inset:0}.gal-hero:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#ffffff24 0%,#0000 60%);border-radius:50%;width:520px;height:520px;position:absolute;top:-30%;right:-8%}.gal-hero-content{z-index:1;position:relative}.gal-hero-badge{color:#fff;letter-spacing:.09em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);background:#ffffff24;border:1.5px solid #ffffff73;border-radius:50px;align-items:center;gap:.45rem;margin-bottom:1rem;padding:.4rem 1.1rem;font-size:.72rem;font-weight:700;display:inline-flex}.gal-hero h1{letter-spacing:-.025em;color:#fff;text-shadow:0 2px 24px #0000002e;margin-bottom:.85rem;font-size:clamp(2rem,4.8vw,3.4rem);font-weight:800;line-height:1.1}.gal-hero-subtitle{color:#fffc;text-align:justify;max-width:520px;margin-bottom:0;font-size:clamp(1rem,1.9vw,1.15rem);line-height:1.65}.gal-hero-wave{z-index:2;pointer-events:none;width:100%;line-height:0;position:absolute;bottom:-1px;left:0}.gal-hero-wave svg{width:100%;height:56px;display:block}.gal-toolbar{z-index:100;-webkit-backdrop-filter:blur(12px);background:#ffffffeb;top:56px;box-shadow:0 1px #0000000f,0 8px 24px -12px #1f24181f}.gal-toolbar-inner{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.gal-filter-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#f1f3ec;border-radius:999px;flex-wrap:nowrap;align-items:center;gap:.35rem;padding:.3rem;display:flex;overflow-x:auto}.gal-filter-scroll::-webkit-scrollbar{display:none}.gal-filter-btn{color:#4a515c;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:.45rem;padding:.5rem .6rem .5rem 1rem;font-size:.85rem;font-weight:600;transition:background-color .25s,color .25s,box-shadow .25s;display:inline-flex}.gal-filter-btn i{opacity:.75;font-size:.8rem}.gal-filter-btn:hover{color:var(--color-brand-dark);background:#fffc}.gal-filter-btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.gal-filter-btn.active{background:var(--color-brand);color:#fff;box-shadow:0 6px 16px -6px rgba(var(--color-brand-rgb), .8)}.gal-filter-btn.active i{opacity:1}.gal-filter-count{min-width:1.6rem;height:1.6rem;color:var(--color-brand-dark);font-variant-numeric:tabular-nums;background:#fff;border-radius:999px;place-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-grid}.gal-filter-count:empty{display:none}.gal-filter-btn.active .gal-filter-count{color:#fff;background:#ffffff38}.gal-count{color:#6c757d;flex-shrink:0;font-size:.85rem;font-weight:600}.gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;grid-auto-flow:dense;gap:10px;display:grid}@media (width>=768px){.gal-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:14px}}@media (width>=1200px){.gal-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px}}.gallery-item{margin:0;animation:.55s both galFadeIn;position:relative}.gal-tile--big{grid-area:span 2/span 2}.gal-tile--tall{grid-row:span 2}.gal-tile--wide{grid-column:span 2}.gal-card{color:#fff;text-align:left;cursor:zoom-in;isolation:isolate;background:#e6e9df;border:0;border-radius:18px;width:100%;height:100%;padding:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-radius .45s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 34px -22px #1f24188c}.gal-img{z-index:-2;object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.gal-card:after{content:"";z-index:-1;opacity:.55;background:linear-gradient(#0000002e 0%,#0000 30% 50%,#191e0ed1 100%);transition:opacity .45s;position:absolute;inset:0}.gal-card:hover,.gal-card:focus-visible{transform:translateY(-4px);box-shadow:0 26px 46px -22px #1f2418b3}.gal-card:hover .gal-img,.gal-card:focus-visible .gal-img{transform:scale(1.06)}.gal-card:hover:after,.gal-card:focus-visible:after{opacity:1}.gal-card:focus-visible{outline:3px solid var(--color-brand);outline-offset:3px}.gal-cat-pill{color:var(--color-brand-dark);letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);background:#ffffffe6;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:14px;left:14px}.gal-cat-pill i{color:var(--color-brand);font-size:.65rem}.gal-expand{background:var(--color-brand);color:#fff;opacity:0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:.85rem;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);display:grid;position:absolute;bottom:14px;right:14px;transform:scale(.6)rotate(-45deg);box-shadow:0 8px 18px -6px #00000073}.gal-tile--big .gal-expand{bottom:20px;right:20px}.gal-card:hover .gal-expand,.gal-card:focus-visible .gal-expand{opacity:1;transform:none}.gal-caption{text-shadow:0 2px 10px #00000059;opacity:0;font-size:.92rem;font-weight:700;line-height:1.3;transition:opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:16px;left:16px;right:64px;transform:translateY(10px)}.gal-tile--big .gal-caption{font-size:1.15rem;bottom:24px;left:22px}.gal-card:hover .gal-caption,.gal-card:focus-visible .gal-caption{opacity:1;transform:none}@media (hover:none){.gal-card:after{opacity:1}.gal-caption{opacity:1;transform:none}}@media (width<=767.98px){.gal-card{border-radius:14px}.gal-cat-pill{padding:.25rem .55rem;font-size:.62rem;top:10px;left:10px}.gal-caption{font-size:.78rem;bottom:10px;left:12px;right:12px}.gal-tile--big .gal-caption{font-size:.95rem;bottom:14px;left:14px}.gal-expand{display:none}}.gallery-hidden{display:none!important}@keyframes galFadeIn{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.gallery-visible{animation:.4s forwards galFadeIn}#galleryModal+.modal-backdrop,.modal-backdrop.show{--bs-backdrop-opacity:.88}#galleryModal .modal-content{box-shadow:none;background:0 0;border:0}#galleryModal{padding-top:var(--site-nav-h,4rem)}#galleryModal .modal-header{background:0 0;border:0;padding:0 0 .75rem!important}#galleryModal .modal-body{padding:0}.gal-modal-counter{color:#fff;letter-spacing:.08em;font-variant-numeric:tabular-nums;background:#ffffff24;border-radius:999px;padding:.3rem .8rem;font-size:.8rem;font-weight:700}.gal-modal-close{color:#fff;background:#ffffff24;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1rem;transition:background-color .25s,color .25s;display:grid}.gal-modal-close:hover,.gal-modal-close:focus-visible{color:var(--color-brand-dark);background:#fff}.gal-modal-stage{place-items:center;display:grid;position:relative}#galleryModal #modalImg{object-fit:contain;border-radius:18px;width:100%;max-height:70vh;display:block}.gal-modal-nav{width:52px;height:52px;color:var(--color-brand-dark);background:#ffffffeb;border:0;border-radius:50%;place-items:center;font-size:1rem;transition:background-color .25s,color .25s,transform .25s;display:grid;position:absolute;top:50%;translate:0 -50%;box-shadow:0 10px 24px -8px #00000080}.gal-modal-nav--prev{left:16px}.gal-modal-nav--next{right:16px}.gal-modal-nav:hover,.gal-modal-nav:focus-visible{background:var(--color-brand);color:#fff;transform:scale(1.08)}.gal-modal-caption{color:#fff;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;font-weight:600;display:flex}.gal-modal-caption .gal-cat-pill{position:static;translate:none}@media (width<=575.98px){.gal-modal-nav{width:42px;height:42px}.gal-modal-nav--prev{left:8px}.gal-modal-nav--next{right:8px}.gal-toolbar-inner{padding:.6rem 0}.gal-count{display:none}}@media (prefers-reduced-motion:reduce){.gallery-item,.gallery-visible{animation:none}.gal-card,.gal-img,.gal-expand,.gal-caption{transition:none}}@media (width<=767.98px){.gal-hero{min-height:280px;padding-bottom:4rem!important}.gal-hero-wave svg{height:44px}}@media (width<=575.98px){.gal-hero{min-height:230px;padding-bottom:3.5rem!important}.gal-hero h1{font-size:clamp(1.65rem,7.5vw,2.2rem)}.gal-hero-subtitle{font-size:.95rem}.gal-hero-wave svg{height:36px}}
