.prewedding-diary figure[role=button],.service-pov figure[role=button]{cursor:zoom-in}.prewedding-diary figure[role=button] img,.service-pov figure[role=button] img{transition:transform .55s ease,filter .35s ease}.prewedding-diary figure[role=button]:hover img,.service-pov figure[role=button]:hover img{transform:scale(1.025);filter:brightness(.9)}.prewedding-diary figure[role=button]:focus-visible,.service-pov figure[role=button]:focus-visible{outline:3px solid var(--red);outline-offset:3px}.image-viewer{position:fixed;z-index:300;inset:0;background:#090807f5;color:#f3efe7;display:grid;grid-template-columns:minmax(0,72%) minmax(280px,28%);opacity:0;visibility:hidden;transition:opacity .25s ease}.image-viewer.open{opacity:1;visibility:visible}.viewer-open{overflow:hidden}.viewer-close{position:absolute;z-index:4;right:24px;top:20px;width:46px;height:46px;border:1px solid #ffffff70;border-radius:50%;background:#0d0c0bcc;color:#fff;font:32px/1 Arial;cursor:pointer}.viewer-photo{position:relative;min-width:0;overflow:hidden;background:#050505}.viewer-photo img{width:100%;height:100%;object-fit:contain}.viewer-photo span{position:absolute;left:22px;bottom:20px;background:#0d0c0bdd;color:#fff;padding:11px 14px;font-size:9px;font-weight:700;letter-spacing:.12em}.image-viewer aside{display:flex;flex-direction:column;justify-content:center;padding:7vw 3vw;background:#f3efe7;color:#171411}.image-viewer aside small{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--red)}.image-viewer aside h2{font:42px/.95 var(--serif);letter-spacing:-.04em;margin:22px 0}.image-viewer aside p{font-size:14px;line-height:1.7;color:#4f4942}.image-viewer aside strong{font:italic 20px/1.35 var(--serif);font-weight:400;border-left:2px solid var(--red);padding-left:18px;margin-top:18px}.image-viewer aside a{margin-top:35px;color:var(--red);font-size:10px;font-weight:700;border-bottom:1px solid;align-self:flex-start;padding-bottom:8px}
@media(max-width:760px){.image-viewer{display:flex;flex-direction:column}.viewer-photo{height:58vh;flex:none}.image-viewer aside{height:42vh;padding:28px 20px;justify-content:flex-start;overflow:auto}.image-viewer aside h2{font-size:32px;margin:14px 0}.image-viewer aside p{font-size:12px;margin:0}.image-viewer aside strong{font-size:17px;margin-top:13px}.image-viewer aside a{margin-top:18px}.viewer-close{right:12px;top:12px}}
