.tb-gallery{--tb-green:#176647;--tb-dark:#193a2e;--tb-pale:#f5f8f5;--tb-border:#e3e9e4;width:min(100%, 1100px);margin:0 auto;padding:clamp(22px, 4vw, 48px) 0;color:var(--tb-dark)}.tb-gallery *{box-sizing:border-box}.tb-gallery__header{text-align:center;max-width:720px;margin:0 auto 30px;padding:0 16px}.tb-gallery__eyebrow{display:inline-block;margin-bottom:10px;color:var(--tb-green);font-size:11px;font-weight:700;letter-spacing:.16em}.tb-gallery__title{margin:0 0 12px;color:var(--tb-dark);font-size:clamp(28px, 4vw, 42px);line-height:1.15;letter-spacing:-.035em}.tb-gallery__description{margin:0;color:#5f7067;font-size:15px;line-height:1.75}.tb-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tb-gallery__item{display:block;position:relative;width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid var(--tb-border);border-radius:12px;background:var(--tb-pale);text-align:left;cursor:zoom-in;box-shadow:0 3px 12px rgb(25 58 46 / .045)}.tb-gallery__image{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .35s ease}.tb-gallery__item:hover .tb-gallery__image,.tb-gallery__item:focus-visible .tb-gallery__image{transform:scale(1.035)}.tb-gallery__zoom{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgb(255 255 255 / .7);border-radius:50%;background:rgb(25 58 46 / .78);color:#fff;font-size:22px;line-height:1;opacity:0;transition:opacity .2s ease}.tb-gallery__item:hover .tb-gallery__zoom,.tb-gallery__item:focus-visible .tb-gallery__zoom{opacity:1}.tb-gallery__caption{display:block;padding:11px 13px 13px;color:var(--tb-dark);font-size:13px;font-weight:600;line-height:1.5}.tb-gallery__pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.tb-gallery__page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.tb-gallery__page{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--tb-border);border-radius:8px;background:#fff;color:var(--tb-dark);font-size:13px;font-weight:600;line-height:1;text-decoration:none!important;transition:background .2s ease,color .2s ease,border-color .2s ease}.tb-gallery__page:hover,.tb-gallery__page:focus-visible{border-color:var(--tb-green);color:var(--tb-green)}.tb-gallery__page.is-current{border-color:var(--tb-green);background:var(--tb-green);color:#fff}.tb-gallery__page--direction{padding:0 15px}.tb-gallery__empty{padding:28px;border:1px solid var(--tb-border);border-radius:12px;background:var(--tb-pale);text-align:center}.tb-gallery__empty p{margin:8px 0 0;color:#5f7067}.tb-gallery-lightbox[hidden]{display:none!important}.tb-gallery-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:24px}.tb-gallery-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgb(9 20 15 / .92);cursor:zoom-out}.tb-gallery-lightbox__content{position:relative;z-index:1;width:min(100%, 1100px);max-height:calc(100vh - 70px);text-align:center;pointer-events:none}.tb-gallery-lightbox__image{display:block;max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;margin:0 auto;object-fit:contain;border-radius:5px;box-shadow:0 12px 50px rgb(0 0 0 / .25)}.tb-gallery-lightbox__caption{margin:12px 0 0;color:#fff;font-size:14px}.tb-gallery-lightbox__close{position:absolute;z-index:2;top:15px;right:20px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgb(255 255 255 / .35);border-radius:50%;background:rgb(25 58 46 / .8);color:#fff;font-size:30px;line-height:1;cursor:pointer}body.tb-gallery-lightbox-open{overflow:hidden}@media (max-width:780px){.tb-gallery{padding:26px 0}.tb-gallery__header{margin-bottom:22px}.tb-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tb-gallery__item{border-radius:9px}.tb-gallery__caption{padding:9px 10px 11px;font-size:12px}.tb-gallery__zoom{width:27px;height:27px;top:8px;right:8px;opacity:1}}@media (max-width:380px){.tb-gallery__grid{gap:8px}.tb-gallery__pagination{gap:6px}.tb-gallery__page{min-width:35px;height:36px;padding:0 9px}}@media (prefers-reduced-motion:reduce){.tb-gallery__image,.tb-gallery__page,.tb-gallery__zoom{transition:none}}