.wedding-gallery-grid{grid-auto-flow:dense;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1px;gap:14px;margin:0;padding:0;list-style:none;display:grid}.wedding-gallery-grid li{background:var(--sand);border-radius:18px 58px 18px 18px;grid-row:span 24;min-width:0;height:auto;min-height:0;overflow:hidden}.wedding-gallery-grid li.is-featured{border-radius:18px 110px 18px 18px;grid-area:span 48/span 2}.wedding-gallery-grid li.is-wide{border-radius:58px 18px 18px;grid-area:span 24/span 2}.wedding-gallery-grid li.is-tail{grid-column:span var(--tail-span-desktop,1)!important;grid-row:span 24!important}.wedding-gallery-grid li.is-crop-1 img{object-position:50% 38%}.wedding-gallery-grid li.is-crop-2 img{object-position:50% 62%}.wedding-gallery-grid li.is-crop-3 img{object-position:58% 50%}.wedding-gallery-grid button{width:100%;height:100%;color:var(--paper);text-align:left;cursor:zoom-in;background:0 0;border:0;position:relative;overflow:hidden}.wedding-gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease), filter .5s}.wedding-gallery-grid button:hover img,.wedding-gallery-grid button:focus-visible img{filter:saturate(1.04);transform:scale(1.045)}.wedding-gallery-grid button:focus-visible{outline:3px solid var(--gold-dark);outline-offset:-5px}.wedding-gallery-shade{opacity:.72;background:linear-gradient(#0000 45%,#181715c7);transition:opacity .35s;position:absolute;inset:0}.wedding-gallery-grid button:hover .wedding-gallery-shade{opacity:1}.wedding-gallery-caption{justify-content:flex-end;align-items:end;gap:18px;display:flex;position:absolute;inset:auto 18px 17px}.wedding-gallery-caption>span{align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.wedding-gallery-loader{justify-content:center;align-items:center;gap:8px;min-height:108px;display:flex}.wedding-gallery-loader span{background:var(--gold-dark);border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite gallery-pulse}.wedding-gallery-loader span:nth-child(2){animation-delay:.12s}.wedding-gallery-loader span:nth-child(3){animation-delay:.24s}@keyframes gallery-pulse{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.gallery-modal-backdrop{z-index:1000;background:#0a0908f5!important;padding:0!important}.gallery-modal-container{width:100vw!important;max-width:none!important;height:100dvh!important;margin:0!important;padding:0!important}.gallery-modal-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;color:var(--paper)!important;background:#12110f!important;border:0!important;border-radius:0!important}.gallery-modal-header{z-index:4;pointer-events:none;background:linear-gradient(#000000d1,#0000);justify-content:space-between;align-items:flex-start;gap:24px;padding:24px clamp(20px,4vw,60px);display:flex;position:absolute;top:0;left:0;right:0}.gallery-modal-header>*{pointer-events:auto}.gallery-modal-eyebrow{color:var(--champagne);font:11px/1.4 var(--font-label);letter-spacing:.09em;text-transform:uppercase}.gallery-modal-heading{font:clamp(24px, 3vw, 42px)/1.05 var(--font-display);margin-top:6px}.gallery-modal-body{height:100%;padding:0!important}.wedding-modal-stage{place-items:center;width:100%;height:100dvh;padding:88px clamp(68px,8vw,130px) 112px;display:grid;position:relative}.wedding-modal-stage img{object-fit:contain;width:100%;height:100%}.gallery-modal-tool{backdrop-filter:blur(12px);place-items:center;color:#fff!important;background:#12110fb8!important;border:1px solid #fff6!important;border-radius:50%!important;width:48px!important;min-width:48px!important;height:48px!important;display:grid!important}.gallery-modal-prev,.gallery-modal-next{z-index:3;top:50%;transform:translateY(-50%);position:absolute!important}.gallery-modal-prev{left:clamp(14px,2.5vw,40px)}.gallery-modal-next{right:clamp(14px,2.5vw,40px)}.gallery-modal-bottom{z-index:3;background:linear-gradient(#0000,#000000d1);justify-content:center;padding:42px clamp(20px,4vw,60px) 24px;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-modal-caption{text-align:center;align-items:center;gap:20px;max-width:760px;display:flex}.gallery-modal-caption p{color:#ffffffd1;font-size:15px}.gallery-modal-counter{font:12px/1.4 var(--font-label);color:var(--champagne);white-space:nowrap}@media (width<=1080px){.wedding-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wedding-gallery-grid li.is-tail{grid-column:span var(--tail-span-tablet,1)!important}}@media (width<=720px){.wedding-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wedding-gallery-grid li{grid-row:span 24}.wedding-gallery-grid li.is-featured{grid-row:span 48}.wedding-gallery-grid li,.wedding-gallery-grid li.is-featured,.wedding-gallery-grid li.is-wide{border-radius:14px 42px 14px 14px}.wedding-gallery-grid li.is-wide{grid-column:span 2}.wedding-gallery-grid li.is-tail{grid-column:span var(--tail-span-mobile,1)!important}.wedding-gallery-caption{inset:auto 12px 12px}.wedding-gallery-caption>span{font-size:12px}.gallery-modal-header{padding:18px}.gallery-modal-heading{max-width:70vw;font-size:24px}.wedding-modal-stage{padding:78px 54px 108px}.gallery-modal-tool{width:42px!important;min-width:42px!important;height:42px!important}.gallery-modal-caption{gap:8px;display:grid}}@media (width<=430px){.wedding-gallery-grid li.is-featured{grid-column:span 2}}@media (prefers-reduced-motion:reduce){.wedding-gallery-grid img{transition:none}.wedding-gallery-loader span{opacity:.6;animation:none}}
