.cav-gg{--cav-gg-gap:16px;margin:0 auto;max-width:1600px;width:100%}.cav-gg,.cav-gg *{box-sizing:border-box}.cav-gg__grid{display:flex;flex-direction:column;gap:var(--cav-gg-gap)}.cav-gg__row{display:grid;gap:var(--cav-gg-gap)}.cav-gg__row--solo{grid-template-columns:minmax(0,1fr)}.cav-gg__row--duo{grid-template-columns:repeat(2,minmax(0,1fr))}.cav-gg__row--trio{grid-template-columns:repeat(3,minmax(0,1fr))}.cav-gg__row--feature{--cav-gg-narrow:calc(33.33333% - var(--cav-gg-gap)*25/27)}.cav-gg__row--feature-a{grid-template-columns:var(--cav-gg-narrow) minmax(0,1fr)}.cav-gg__row--feature-b{grid-template-columns:minmax(0,1fr) var(--cav-gg-narrow)}.cav-gg__stack{display:flex;flex-direction:column;gap:var(--cav-gg-gap);min-width:0}.cav-gg__tile{aspect-ratio:16/9;margin:0;min-width:0;position:relative;width:100%}.cav-gg__tile--large{aspect-ratio:auto;height:100%}.cav-gg__zoom{animation:cav-gg-shimmer 1.4s linear infinite;background-color:#e9e3d8;background-image:linear-gradient(110deg,#e9e3d8 8%,#f3f0e8 18%,#e9e3d8 33%);background-size:200% 100%;cursor:zoom-in;display:block;inset:0;overflow:hidden;position:absolute}.cav-gg__zoom.is-loaded{animation:none;background-image:none}.cav-gg__zoom:focus{outline:none}.cav-gg__zoom:focus-visible{outline:2px solid #003c4d;outline-offset:3px}.cav-gg__image{display:block;height:100%;inset:0;max-width:none;object-fit:cover;opacity:0;position:absolute;transition:opacity .4s ease-in-out,transform .45s ease-in-out;width:100%}.cav-gg__image.is-loaded{opacity:1}@keyframes cav-gg-shimmer{to{background-position-x:-200%}}@media (max-width:767px){.cav-gg{--cav-gg-gap:10px}.cav-gg__row--feature-a,.cav-gg__row--feature-b{grid-template-columns:minmax(0,1fr)}.cav-gg__stack{flex-direction:row}.cav-gg__stack>.cav-gg__tile{flex:1 1 0}.cav-gg__tile--large{aspect-ratio:16/9;height:auto}.cav-gg__row--trio{grid-template-columns:repeat(2,minmax(0,1fr))}.cav-gg__row--trio>.cav-gg__tile:first-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.cav-gg__image,.cav-gg__zoom{animation:none;transition:none}.cav-gg__zoom:focus-visible .cav-gg__image.is-loaded,.cav-gg__zoom:hover .cav-gg__image.is-loaded{transform:none}}.cav-gg__notice{background:#f8fafc;border:1px dashed #b9c3cf;border-radius:6px;color:#334155;font-size:.875rem;line-height:1.5;margin:0 0 1rem;padding:.75rem 1rem}.cav-gg__notice code{font-family:monospace;font-size:.8125rem}.cav-gg__debug{background:#fafafa;border:1px dashed #d1d5db;border-radius:8px;color:#374151;font-size:.75rem;line-height:1.5;margin-top:1.5rem;padding:1rem}.cav-gg-lightbox{background:transparent;border:0;height:100%;inset:0;margin:0;max-height:100%;max-width:100%;overflow:hidden;padding:24px;position:fixed;width:100%;z-index:9999}.cav-gg-lightbox[open]{align-items:center;display:flex;justify-content:center}.cav-gg-lightbox::backdrop{background:rgba(0,0,0,.72)}.cav-gg-lightbox *{box-sizing:border-box}.cav-gg-lightbox__panel{background:#fff;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:14px;max-height:100%;padding:18px 18px 14px;position:relative;width:min(1180px,100%)}.cav-gg-lightbox__stage{align-items:center;background:#f2f2f2;display:flex;flex:1 1 auto;justify-content:center;min-height:0}.cav-gg-lightbox__image{display:block;height:auto;max-height:min(76vh,900px);max-width:100%;object-fit:contain;width:auto}.cav-gg-lightbox__bar{align-items:baseline;display:flex;flex:0 0 auto;gap:18px;padding-top:2px}.cav-gg-lightbox__counter{color:#111;font-size:20px;line-height:1.2}.cav-gg-lightbox__nav{background:transparent;border:0;color:#111;cursor:pointer;font:inherit;font-size:18px;line-height:1.2;padding:0;text-decoration:underline;text-underline-offset:3px}.cav-gg-lightbox__nav:hover{opacity:.65}.cav-gg-lightbox--single .cav-gg-lightbox__nav{display:none}.cav-gg-lightbox__close{align-items:center;background:hsla(0,0%,100%,.9);border:0;border-radius:999px;color:#111;cursor:pointer;display:inline-flex;height:34px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .15s ease,transform .15s ease;width:34px}.cav-gg-lightbox__close:hover{background:#f0f0f0}.cav-gg-lightbox__close:active{transform:scale(.94)}.cav-gg-lightbox__close:focus-visible,.cav-gg-lightbox__nav:focus-visible{outline:2px solid #111;outline-offset:3px}body.cav-gg-lightbox-open{overflow:hidden}@media (max-width:767px){.cav-gg-lightbox{padding:12px}.cav-gg-lightbox__panel{padding:14px 14px 12px}.cav-gg-lightbox__bar{gap:14px}.cav-gg-lightbox__counter{font-size:16px}.cav-gg-lightbox__nav{font-size:15px}.cav-gg-lightbox__image{max-height:66vh}}