.gallery-photo-index{max-width:1160px;margin:0 auto;padding:0 24px 48px}.gallery-photo-index summary{cursor:pointer;padding:18px 0;font-size:16px}.gallery-index-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.gallery-index-grid button{aspect-ratio:4/3;cursor:zoom-in;background:#f8f1dc;place-items:center;padding:12px;display:grid}.gallery-index-grid img{object-fit:contain;width:100%;height:100%}.gallery-footer{color:#4c211f;width:min(1160px,100% - 48px);margin:0 auto;padding:0 0 32px}.gallery-footer p{border-top:1px solid #4c211f29;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .85rem;margin:0;padding-top:22px;font-size:.8125rem;display:flex}.gallery-footer a{color:#0d5a42;text-decoration:none}.gallery-footer a:hover{text-underline-offset:5px;text-decoration:underline}.gallery-shell img.is-thumbnail{width:auto;max-width:100%;height:auto;max-height:100%;margin:auto}.album-photo:has(.is-thumbnail){place-items:center;display:grid}.album-last-page{text-align:center;color:#55472f;grid-column:1/-1;align-self:center;line-height:1.8}.gallery-shell{--ink:#09110f;--ink-soft:#17201d;--emerald:#0d5a42;--emerald-deep:#06372b;--emerald-lit:#17805a;--brass-dark:#775019;--brass:#c58b32;--brass-lit:#f4dda0;--paper:#eadfbd;--paper-light:#f3e9ca;--paper-edge:#cabb8b;color:#4c211f;min-height:100svh;font-family:var(--font-seasons-fallback), "Bodoni 72", "Bodoni MT", Didot, serif;background:#f7f3ee;overflow-x:hidden}.gallery-header{border-bottom:1px solid #e2c7872e;justify-content:space-between;align-items:center;gap:32px;width:min(1240px,100% - 56px);min-height:86px;margin:0 auto;display:flex}.gallery-brand{color:#f3e6c7;align-items:baseline;gap:13px;text-decoration:none;display:inline-flex}.gallery-brand strong{font-family:Liana, var(--font-peristiwa-fallback), cursive;letter-spacing:-.02em;font-size:clamp(1.75rem,2.6vw,2.25rem);font-weight:400}.gallery-brand span{color:#c7ad72;letter-spacing:.22em;text-transform:uppercase;font-size:.61rem;font-weight:600}.gallery-nav{align-items:center;gap:clamp(22px,3vw,42px);display:flex}.gallery-nav a{color:#f4ecdaad;letter-spacing:.16em;text-transform:uppercase;padding:12px 0;font-size:.65rem;font-weight:600;text-decoration:none;transition:color .18s;position:relative}.gallery-nav a:after{background:var(--brass-lit);content:"";opacity:0;height:1px;transition:opacity .18s,transform .18s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(.35)}:is(.gallery-nav a:hover,.gallery-nav a:focus-visible,.gallery-nav a.is-current){color:#f5e6bd}.gallery-nav a:hover:after,.gallery-nav a.is-current:after{opacity:1;transform:scaleX(1)}.gallery-nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.album-stage{flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 86px);padding:clamp(42px,5vw,74px) 24px 48px;display:flex}.album{aspect-ratio:1.58;isolation:isolate;perspective:2500px;width:min(1160px,88vw);transform-style:preserve-3d;animation:.72s cubic-bezier(.2,.72,.2,1) both album-arrive;position:relative}.album:after{z-index:-1;filter:blur(26px);content:"";background:#27342e57;border-radius:50%;height:12%;position:absolute;bottom:-5.2%;left:4%;right:4%;transform:translateZ(-30px)}.album-pages,.album-cover{border-radius:3px 7px 7px 3px;position:absolute;inset:0}.album-pages{z-index:2;background:var(--paper);transform-style:preserve-3d;border:1px solid #bda970;box-shadow:0 5px #b9a674,0 10px #8e7a50,0 17px 38px #00000070}.album-pages:after{z-index:-1;content:"";background:repeating-linear-gradient(#d5c798 0 1px,#9c8958 2px,#e6d8ad 3px);border-radius:0 0 6px 6px;height:11px;position:absolute;bottom:-9px;left:1.3%;right:1.3%}.album-pages:before{z-index:-1;content:"";transform-origin:0 0;background:repeating-linear-gradient(90deg,#8f7d4e 0,#d7c99b 2px,#aa9868 3px,#ecdfb8 4px);border-radius:0 6px 7px 0;width:11px;position:absolute;top:10px;bottom:-8px;right:-10px;transform:skewY(24deg);box-shadow:5px 7px 14px #00000047}.spread-content{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);display:grid;position:absolute;inset:0}.album-page{background-color:var(--paper);min-width:0;height:100%;padding:clamp(30px,3.5vw,52px);position:relative;overflow:hidden}.album-page-left{background-image:linear-gradient(90deg,#ffffff1f,#0000 38%),linear-gradient(90deg,#0000 78%,#533f1829);border-radius:3px 0 0 3px;box-shadow:inset -15px 0 22px #4e3a1317}.album-page-right{background-image:linear-gradient(90deg,#533f1826,#0000 20%),linear-gradient(270deg,#ffffff1f,#0000 44%);border-radius:0 6px 6px 0;box-shadow:inset 15px 0 22px #4e3a1314}.album-page-left:after,.album-page-right:before{z-index:3;content:"";opacity:.72;background:radial-gradient(circle,#5d4d28 0 2.2px,#ffffff94 2.5px 3.2px,#0000 3.5px) top/9px 8.333% repeat-y;width:9px;position:absolute;top:3.8%;bottom:3.8%}.album-page-left:after{right:8px}.album-page-right:before{left:8px}.photo-grid{grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);height:100%;display:grid}.album-photo{cursor:zoom-in;background:#b6aa84;border:8px solid #f8f1dc;border-radius:0;min-height:0;padding:0;position:relative;overflow:hidden;box-shadow:0 1px #fffc,0 8px 17px #3f2e0d33}.album-photo:after{content:"";pointer-events:none;border:1px solid #1812071f;position:absolute;inset:0}.album-photo img{object-fit:contain;width:100%;height:100%;transition:transform .42s cubic-bezier(.2,.7,.2,1),filter .26s;display:block}:is(.album-photo:hover img,.album-photo:focus-visible img){filter:saturate(1.04)contrast(1.02);transform:scale(1.025)}.album-photo:focus-visible{outline:2px solid var(--brass-lit);outline-offset:4px}.album-controls button:focus-visible{outline:2px solid var(--brass-lit);outline-offset:4px}.album-cover:focus-visible{outline:2px solid var(--brass-lit);outline-offset:4px}.lightbox-button:focus-visible{outline:2px solid var(--brass-lit);outline-offset:4px}.album-binding{z-index:25;background:linear-gradient(90deg, #47331021, #ffffff14 45%, #47331021), var(--paper);min-width:72px;transform-style:preserve-3d;position:relative;transform:translateZ(24px)}.binding-rail{z-index:2;background:linear-gradient(90deg,#674315 0%,#d99d40 22%,#f7e3ad 46%,#a56d22 72%,#57350e 100%);border:1px solid #624014;border-radius:999px;width:11px;position:absolute;top:2.7%;bottom:2.7%;left:50%;transform:translate(-50%)translateZ(8px);box-shadow:2px 0 3px #41280875,inset 1px 0 1px #fff5c7bf}.binding-rings{z-index:3;grid-template-rows:repeat(12,1fr);align-items:center;display:grid;position:absolute;inset:3.4% 0;transform:translateZ(18px)}.binding-ring{border:5px solid var(--brass);background:0 0;border-bottom-color:#6e4614;border-left-color:#d8a64e;border-right-color:#805318;border-radius:999px;width:105px;height:18px;position:relative;left:50%;transform:translate(-50%)rotateX(62deg)translateZ(10px);box-shadow:inset 0 2px #ffebb2db,0 3px 3px #37200775,0 7px 8px #3c2a0c2e}.turning-page{z-index:15;transform-origin:0;width:calc(50% - 36px);transform-style:preserve-3d;will-change:transform;pointer-events:none;position:absolute;top:0;bottom:0;left:calc(50% + 36px)}.turning-hold{z-index:14;pointer-events:none;width:calc(50% - 36px);animation:.78s linear both release-held-page;position:absolute;top:0;bottom:0;overflow:hidden}.turning-hold-left{left:0}.turning-hold-right{right:0}.turning-hold .album-page{position:absolute;inset:0}.turning-forward{animation:.78s cubic-bezier(.45,.05,.24,1) both turn-forward}.turning-backward{animation:.78s cubic-bezier(.45,.05,.24,1) both turn-backward}.turn-face{background:var(--paper);-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d;position:absolute;inset:0;overflow:hidden}.turn-front{border-radius:0 6px 6px 0;box-shadow:9px 8px 17px #21160533}.turn-back{border-radius:6px 0 0 6px;transform:rotateY(180deg);box-shadow:-9px 8px 17px #21160533}.turn-face:after{z-index:5;content:"";pointer-events:none;position:absolute;inset:0}.turn-front:after{background:linear-gradient(90deg,#35230757,#0000 18%)}.turn-back:after{background:linear-gradient(270deg,#35230757,#0000 18%)}.turn-face .album-page{position:absolute;inset:0}.album-cover{z-index:30;color:#e8c879;cursor:pointer;transform-origin:0;transform-style:preserve-3d;-webkit-backface-visibility:visible;backface-visibility:visible;background:linear-gradient(128deg,#ffffff29,#0000 24%),radial-gradient(circle at 62% 22%,#23b67e33,#0000 30%),linear-gradient(134deg,#126c4e 0%,#0d5741 33%,#073d30 72%,#0d6248 100%);border:1px solid #001e19;padding:0;transition:transform .78s cubic-bezier(.4,0,.2,1),box-shadow .52s;overflow:hidden;box-shadow:inset 0 0 0 8px #00141138,inset 0 0 0 9px #e2b4562e,inset 0 0 48px #0000005c,0 12px #02231e,0 26px 55px #00000085}.album-cover:after{content:"";background:linear-gradient(90deg,#062d26,#0c5f4e,#021e1a);width:7px;position:absolute;top:11px;bottom:11px;right:-2px;transform:translateZ(-8px)}.album-cover:before{content:"";mix-blend-mode:screen;pointer-events:none;background:repeating-linear-gradient(112deg,#0000 0 5px,#ffffff03 6px,#0000 7px 12px),linear-gradient(105deg,#0000 18%,#ffffff1f 45%,#0000 64%);position:absolute;inset:0}.album.is-open .album-cover{pointer-events:none;box-shadow:none;transform:rotateY(-178deg)translateZ(2px)}.album-cover:disabled{opacity:1;cursor:default}.cover-inset{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid #eecc7c85;position:absolute;inset:4.8%;box-shadow:inset 0 0 0 1px #ffffff09,inset 0 0 34px #0015113d}.cover-brand,.album-cover strong,.cover-action{z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;left:50%;transform:translate(-50%)translateZ(3px)}.cover-brand{letter-spacing:.31em;text-transform:uppercase;font-size:clamp(.58rem,.82vw,.76rem);font-weight:600;top:31%}.album-cover strong{font-family:Liana, var(--font-peristiwa-fallback), cursive;letter-spacing:0;text-shadow:0 1px #fff1bf,0 2px #95651c,0 5px 12px #0000003d;font-size:clamp(6rem,11vw,10.5rem);font-weight:400;line-height:.92;top:36%}.cover-action{color:#f4dca0d1;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.55rem,.72vw,.68rem);font-weight:600;bottom:23%}.cover-binding{z-index:36;pointer-events:none;grid-template-rows:repeat(12,1fr);align-items:center;width:78px;transition:opacity .18s;display:grid;position:absolute;top:3.5%;bottom:3.5%;left:-34px;transform:translateZ(32px)}.album.is-open .cover-binding{opacity:0;transition-delay:.16s}.album.is-closing .cover-binding{opacity:1;transition-delay:0s}.cover-binding:after{z-index:0;content:"";background:linear-gradient(90deg,#5c390f,#d39435 25%,#f4dda0 48%,#8f5c1d 78%,#492a09);border:1px solid #5c390f;border-radius:999px;width:11px;position:absolute;top:0;bottom:0;left:31px;box-shadow:2px 0 3px #0000008c}.cover-binding>span{z-index:1;border:5px solid var(--brass);border-bottom-color:#624013;border-left-color:#dda94c;border-right-color:#704614;border-radius:999px;width:76px;height:18px;position:relative;transform:rotateX(60deg);box-shadow:inset 0 2px #ffeeb8e6,0 3px 4px #00000080,0 8px 8px #0003}.album-controls{opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:16px;min-height:58px;margin-top:31px;transition:opacity .18s,transform .18s;display:flex;transform:translateY(8px)}.album-controls.is-visible{opacity:1;pointer-events:auto;transition-delay:.69s;transform:translateY(0)}.album-controls>button,.lightbox-button{width:43px;height:43px;color:var(--emerald);cursor:pointer;background:#ffffffdb;border:1px solid #0d5a424d;border-radius:50%;place-items:center;padding:0;transition:color .18s,background .18s,border-color .18s,transform .18s;display:grid;box-shadow:0 5px 16px #1d362c14}.album-controls>button:hover:not(:disabled){border-color:var(--emerald);color:#fff;background:var(--emerald);transform:translateY(-1px)}.album-controls>button:disabled,.spread-dots button:disabled{cursor:default}.album-controls svg,.lightbox-button svg{width:18px;height:18px}.spread-dots{align-items:center;gap:10px;padding:0 6px;display:flex}.spread-dots button{cursor:pointer;background:0 0;border:1px solid #0d5a427a;border-radius:50%;width:6px;height:6px;padding:0;transition:transform .18s,background .18s,border-color .18s}.spread-dots button.is-active{border-color:var(--emerald);background:var(--emerald);transform:scale(1.35)}.close-album{margin-left:8px}[data-slot=dialog-overlay]{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#010a08f0}.photo-lightbox{max-height:95svh;overflow:visible;width:min(96vw,1380px)!important;max-width:none!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.lightbox-frame{touch-action:pan-y pinch-zoom;place-items:center;width:100%;max-height:95svh;display:grid;position:relative}.lightbox-frame>img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:93svh;display:block;box-shadow:0 30px 80px #0009}.lightbox-button{z-index:3;color:#f4dfa8;background:#03251fd6;border-color:#ecd2946b;position:absolute}.lightbox-button:hover{border-color:var(--brass-lit);background:var(--emerald-lit)}.lightbox-close{top:14px;right:14px}.lightbox-previous,.lightbox-next{top:50%;transform:translateY(-50%)}.lightbox-previous{left:14px}.lightbox-next{right:14px}@keyframes turn-forward{0%{filter:drop-shadow(0 9px 9px #25180424);transform:rotateY(0)translateZ(2px)}42%{filter:drop-shadow(-22px 15px 17px #190f0361);transform:rotateY(-77deg)translateZ(30px)}58%{filter:drop-shadow(22px 15px 17px #190f0361);transform:rotateY(-103deg)translateZ(30px)}to{filter:drop-shadow(0 9px 9px #25180424);transform:rotateY(-180deg)translateZ(2px)}}@keyframes turn-backward{0%{filter:drop-shadow(0 9px 9px #25180424);transform:rotateY(-180deg)translateZ(2px)}42%{filter:drop-shadow(22px 15px 17px #190f0361);transform:rotateY(-103deg)translateZ(30px)}58%{filter:drop-shadow(-22px 15px 17px #190f0361);transform:rotateY(-77deg)translateZ(30px)}to{filter:drop-shadow(0 9px 9px #25180424);transform:rotateY(0)translateZ(2px)}}@keyframes release-held-page{0%,49.9%{visibility:visible}50%,to{visibility:hidden}}@keyframes album-arrive{0%{opacity:0;transform:translateY(24px)rotateX(3deg)scale(.985)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}@media (max-width:780px){.gallery-header{width:min(100% - 30px,680px);min-height:72px}.gallery-brand span,.gallery-nav a:first-child,.gallery-nav a:last-child{display:none}.gallery-nav{gap:18px}.gallery-nav a{letter-spacing:.11em;font-size:.58rem}.album-stage{min-height:calc(100svh - 72px);padding:34px 9px 28px}.album{aspect-ratio:1.27;width:94vw}.spread-content{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}.album-page{padding:14px 13px}.photo-grid{gap:13px}.album-photo{border-width:4px}.album-page-left:after{right:2px}.album-page-right:before{left:2px}.album-binding{min-width:34px}.binding-rail{width:7px}.binding-ring{border-width:3px;width:54px;height:11px}.turning-page{width:calc(50% - 17px);left:calc(50% + 17px)}.turning-hold{width:calc(50% - 17px)}.cover-binding{width:44px;left:-19px}.cover-binding:after{width:7px;left:17px}.cover-binding>span{border-width:3px;width:43px;height:11px}.album-cover strong{font-size:clamp(4.8rem,20vw,7.8rem)}.album-controls{gap:10px;margin-top:24px}.album-controls>button{width:39px;height:39px}}@media (max-width:430px){.gallery-header{width:calc(100% - 24px)}.gallery-brand strong{font-size:1.18rem}.gallery-nav a{font-size:.54rem}.album{aspect-ratio:1.16;width:93vw}.spread-content{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.album-page{padding:11px 9px}.photo-grid{gap:10px}.turning-page{width:calc(50% - 14px);left:calc(50% + 14px)}.turning-hold{width:calc(50% - 14px)}.binding-ring{width:45px}.album-cover strong{font-size:clamp(4.3rem,21vw,6rem)}.cover-brand{top:29%}.cover-action{bottom:19%}.album-controls{gap:7px}.album-controls>button{width:36px;height:36px}.spread-dots{gap:6px;padding:0 2px}.spread-dots button{width:5px;height:5px}.close-album{margin-left:2px}.lightbox-previous{left:8px}.lightbox-next,.lightbox-close{right:8px}.lightbox-close{top:8px}}@media (prefers-reduced-motion:reduce){.album-cover,.album-controls,.album-photo img{transition-duration:1ms}.turning-forward,.turning-backward,.turning-hold,.album{animation-duration:1ms}}
