.g-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.g-card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px #3b2a200f,0 12px 28px #3b2a2014}.g-photo{aspect-ratio:4/3;position:relative}.g-photo-btn{cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;overflow:hidden}.g-photo-btn .photo-slot img{transition:transform .5s cubic-bezier(.3,.9,.4,1)}.g-photo-btn:hover .photo-slot img{transform:scale(1.04)}.g-zoom{z-index:2;width:34px;height:34px;color:var(--ink);opacity:0;background:#fbf4e8eb;border-radius:50%;justify-content:center;align-items:center;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}.g-photo-btn:hover .g-zoom,.g-photo-btn:focus-visible .g-zoom{opacity:1;transform:translateY(0)}.g-zoom svg{width:17px;height:17px}.lb{background:0 0;border:none;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;overflow:hidden}@supports (height:100dvh){.lb{height:100dvh;max-height:100dvh}}.lb::backdrop{background:#1d140ff2}.lb-inner{width:100%;height:100%;position:relative}.lb-stage{position:absolute;inset:56px 64px 76px}.lb-btn{z-index:2;width:46px;height:46px;color:var(--ivory);cursor:pointer;background:#3b2a208c;border:1px solid #fbf4e840;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,border-color .2s;display:flex;position:absolute}.lb-btn:hover{background:var(--rust);border-color:var(--rust)}.lb-btn svg{width:21px;height:21px}.lb-close{top:16px;right:16px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%)}.lb-prev{left:14px}.lb-next{right:14px}.lb-cap{color:var(--ivory);text-align:center;justify-content:center;align-items:center;gap:14px;margin:0;display:flex;position:absolute;bottom:22px;left:0;right:0}.lb-title{font-family:var(--serif);font-size:17px}.lb-count{font-family:var(--mono);letter-spacing:.1em;color:#fbf4e899;font-size:12px}.g-cap{padding:16px 18px 20px}.g-cap h3{font-family:var(--serif);margin:0 0 3px;font-size:16.5px;font-weight:500}.g-cap span{color:var(--ink-soft);font-size:12.5px}@media (max-width:860px){.g-grid{grid-template-columns:1fr;gap:20px}.g-zoom{opacity:1;transform:none}.lb-stage{inset:52px 10px 74px}.lb-btn{width:40px;height:40px}.lb-prev{left:8px}.lb-next{right:8px}.lb-cap{flex-direction:column;gap:4px;bottom:18px}}
