.tpg-gallery{max-width:1160px;margin:0 auto 40px}.tpg-private{background:#fff6d9;border-left:4px solid #c68b16;padding:12px 16px;border-radius:4px;color:#654807}.tpg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}.tpg-card{overflow:hidden;border:1px solid #e4e8e3;border-radius:14px;background:#fff;box-shadow:0 6px 24px #163c1710}.tpg-collage{display:grid;gap:4px;aspect-ratio:4/3;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));background:#eee}.tpg-count-1{grid-template-columns:1fr;grid-template-rows:1fr}.tpg-count-2{grid-template-rows:1fr}.tpg-count-3 .tpg-photo:first-child{grid-row:span 2}.tpg-gallery .tpg-photo{position:relative;display:block;padding:0;border:0;border-radius:0;background:#eae9e5;min-width:0;min-height:0;overflow:hidden;cursor:zoom-in}.tpg-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}.tpg-photo:hover img{transform:scale(1.035)}.tpg-photo:focus-visible{outline:3px solid #167944;outline-offset:-4px}.tpg-more{position:absolute;inset:0;display:grid;place-items:center;background:#0007;color:#fff;font-size:38px;font-weight:700}.tpg-copy{padding:20px 24px}.tpg-copy h2{font-size:23px!important;line-height:1.3;margin:0 0 10px!important}.tpg-copy p{margin:0;white-space:normal;overflow-wrap:anywhere}.tpg-empty{text-align:center;border:1px dashed #a8baad;border-radius:14px;padding:48px 24px;background:#f6f9f5}.tpg-viewer{box-sizing:border-box;width:96vw;max-width:1280px;height:92vh;max-height:92vh;padding:48px 16px 12px;border:0;border-radius:12px;background:#101615;color:#fff;overflow:hidden}.tpg-viewer::backdrop{background:#000d}.tpg-stage{height:calc(100% - 45px);display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:pan-y}.tpg-full{display:block;min-width:0;max-width:calc(100% - 100px);width:auto;max-height:100%;height:auto;object-fit:contain}.tpg-gallery .tpg-viewer button{border:1px solid #ffffff50;background:#ffffff15;color:#fff;font-size:32px;padding:0;width:42px;height:44px;line-height:1;border-radius:6px;flex-shrink:0;cursor:pointer}.tpg-gallery .tpg-viewer button[hidden]{display:none}.tpg-close{position:absolute;right:12px;top:8px}.tpg-caption{text-align:center;color:#fff;margin:12px 0 0;line-height:1.3;font-size:15px}.tpg-gallery .tpg-viewer button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:650px){.tpg-grid{grid-template-columns:1fr;gap:20px}.tpg-copy{padding:18px}.tpg-viewer{width:100vw;max-width:100vw;border-radius:0;padding-left:6px;padding-right:6px}.tpg-full{max-width:calc(100% - 76px)}.tpg-gallery .tpg-viewer button{width:32px}.tpg-stage{gap:4px}}@media(prefers-reduced-motion:reduce){.tpg-photo img{transition:none}}.tpg-gallery .tpg-collage{aspect-ratio:1/1;background:#fff}.tpg-gallery .tpg-photo{background:#fff}.tpg-gallery .tpg-photo img{object-fit:contain;width:100%;height:100%;max-width:none}.tpg-gallery .tpg-full{background:#fff;border-radius:6px}.tpg-gallery .tpg-intro p{margin:0 0 8px}.tpg-gallery .tpg-intro .tpg-intro-title{font-size:18px;font-weight:700;line-height:1.4;color:#26372c}.tpg-gallery .tpg-copy h2{font-size:18px!important;font-weight:700!important;line-height:1.4}.tpg-gallery .tpg-intro{text-align:center}.tpg-contact{text-align:center;margin:36px 0 12px}.tpg-gallery .tpg-contact-button{display:inline-block;max-width:100%;box-sizing:border-box;padding:14px 24px;border:2px solid #168345;border-radius:8px;background:#168345;color:#fff;font-size:16px;font-weight:700;line-height:1.5;text-align:center;text-decoration:none;white-space:normal}.tpg-gallery .tpg-contact-button:hover{background:#106634;border-color:#106634;color:#fff}.tpg-gallery .tpg-contact-button:focus-visible{outline:3px solid #26372c;outline-offset:4px}.tpg-intro{max-width:900px;margin:0 auto}.tpg-gallery .tpg-intro p:not(.tpg-intro-title){margin-bottom:14px}.tpg-faq{margin:36px 0 0;padding:24px;border:1px solid #e4e8e3;border-radius:12px;background:#f7faf7}.tpg-gallery .tpg-faq h2{font-size:22px;line-height:1.4;font-weight:700;margin:0 0 20px}.tpg-gallery .tpg-faq h3{font-size:17px;line-height:1.45;font-weight:700;margin:22px 0 8px}.tpg-gallery .tpg-faq p{margin:0;line-height:1.7}@media(max-width:650px){.tpg-faq{padding:18px}}.tpg-gallery .tpg-viewer{background:#fff0;box-shadow:none;color:#26372c}.tpg-viewer::backdrop{background:rgb(15 24 18 / .18);backdrop-filter:blur(3px)}.tpg-gallery .tpg-viewer button{background:rgb(255 255 255 / .96);border-color:#d4ddd5;color:#26372c;box-shadow:0 2px 12px #0002}.tpg-gallery .tpg-viewer button:hover{background:#fff;border-color:#168345}.tpg-gallery .tpg-viewer button:focus-visible{outline-color:#168345}.tpg-stage{height:calc(100% - 60px)}.tpg-gallery .tpg-caption{display:table;box-sizing:border-box;max-width:calc(100% - 20px);margin:12px auto 0;padding:6px 12px;border-radius:6px;background:rgb(255 255 255 / .96);color:#26372c;box-shadow:0 2px 12px #0001}@media(max-width:650px){.tpg-gallery .tpg-caption{font-size:13px}}.tpg-stage>.tpg-full,.tpg-stage>.tpg-video{margin-inline:auto}.tpg-gallery{overflow-anchor:none}