/* Six layouts share the same photographs and accessible enlargement controls. */
.occasi-gallery{max-width:1000px;margin:0 auto;min-width:0}.gallery-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;min-width:0}.occasi-gallery .gallery-photo{position:relative;display:block;width:100%;min-width:0;border:0;border-radius:0;padding:0;background:transparent;color:var(--ink,#253d36);text-align:left;transform:none;box-shadow:none;cursor:zoom-in;transition:transform .25s}.occasi-gallery .gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:#e8e6dd}.gallery-caption{display:block;font:italic 23px/1.25 var(--serif,Georgia,serif);padding:14px 4px 5px;overflow-wrap:anywhere}.gallery-caption:empty{display:none}.gallery-frame-number{display:block;font:10px/1.5 var(--sans,sans-serif);letter-spacing:.16em;padding:7px 4px 12px;opacity:.65}.occasi-gallery button:focus-visible,.gallery-style-option:focus-visible{outline:3px solid var(--coral,#b57362);outline-offset:4px}.gallery-empty{text-align:center;padding:45px 15px}.gallery-browse{display:flex;justify-content:center;align-items:center;gap:22px;margin:24px auto 0}.gallery-browse button{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:22px;cursor:pointer}.gallery-browse button:disabled{opacity:.25;cursor:default}.gallery-browse span{font:11px/1.5 var(--sans,sans-serif);letter-spacing:.18em;min-width:75px;text-align:center}
.gallery-polaroid .gallery-track{padding:12px}.gallery-polaroid .gallery-photo{padding:11px 11px 4px;background:#fffdf7;color:#293e35;border:1px solid #dedbd0;box-shadow:2px 6px 14px #28372b15}.gallery-polaroid .gallery-photo:nth-child(3n+1){transform:rotate(-2deg)}.gallery-polaroid .gallery-photo:nth-child(3n+2){transform:rotate(1.6deg)}.gallery-polaroid .gallery-photo img{aspect-ratio:1/1.12}.gallery-polaroid .gallery-caption:empty{display:block;min-height:32px}
.gallery-slideshow{max-width:850px}.gallery-slideshow .gallery-track,.gallery-filmstrip .gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;position:relative;gap:18px;padding-bottom:10px}.gallery-slideshow .gallery-photo{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;background:var(--paper,#f8f7ef)}.gallery-slideshow .gallery-photo img{aspect-ratio:16/10;object-fit:contain}.gallery-slideshow .gallery-caption{text-align:center;font-size:28px}.gallery-slideshow .gallery-frame-number{text-align:center;padding-bottom:2px}
.gallery-masonry .gallery-track{display:block;columns:3;column-gap:16px}.gallery-masonry .gallery-photo{break-inside:avoid;margin-bottom:18px}.gallery-masonry .gallery-photo img{aspect-ratio:auto}.gallery-masonry .gallery-caption{font-size:21px;padding:9px 2px 2px}.gallery-masonry .gallery-frame-number{display:none}
.gallery-scrapbook{padding:24px 20px;background:repeating-linear-gradient(0deg,transparent,transparent 29px,#6b765414 29px,#6b765414 30px),#f2eee4}.gallery-scrapbook .gallery-track{gap:35px 25px;align-items:start}.gallery-scrapbook .gallery-photo{padding:9px 9px 12px;background:#fffdf5;color:#364633;box-shadow:2px 5px 12px #28372b16;transform:rotate(1.4deg)}.gallery-scrapbook .gallery-photo:nth-child(2n){transform:rotate(-2deg);margin-top:16px}.gallery-scrapbook .gallery-photo:after{content:'';position:absolute;top:-11px;left:32%;width:36%;height:25px;background:#d3c598b3;transform:rotate(-5deg);pointer-events:none}.gallery-scrapbook .gallery-photo img{aspect-ratio:4/5}.gallery-scrapbook .gallery-photo:nth-child(3n) img{aspect-ratio:1}.gallery-scrapbook .gallery-caption{font-size:25px}.gallery-scrapbook .gallery-frame-number{padding-bottom:0}
.gallery-filmstrip{padding:22px 0;background:#20211e;color:#f6eccf;overflow:hidden}.gallery-filmstrip .gallery-track{gap:15px;padding:25px 20px;scroll-padding-inline:20px;background:radial-gradient(ellipse,#f6eccf 4px,transparent 5px) 0 2px/22px 11px repeat-x,radial-gradient(ellipse,#f6eccf 4px,transparent 5px) 0 calc(100% - 2px)/22px 11px repeat-x}.gallery-filmstrip .gallery-photo{flex:0 0 290px;color:#f6eccf;scroll-snap-align:start}.gallery-filmstrip .gallery-photo img{aspect-ratio:3/4}.gallery-filmstrip .gallery-caption{font:15px/1.5 var(--sans,sans-serif);padding-top:12px}.gallery-filmstrip .gallery-frame-number{font-size:9px;color:#e8c676}.gallery-filmstrip .gallery-browse{margin-top:15px}
.gallery-grid .gallery-track{gap:12px}.gallery-grid .gallery-photo img{aspect-ratio:1}.gallery-grid .gallery-caption{font:14px/1.5 var(--sans,sans-serif);padding:10px 0}.gallery-grid .gallery-frame-number{display:none}
.gallery-chooser{min-width:0;margin:20px 0;padding:0;border:0}.gallery-chooser legend{font-weight:600;font-size:14px}.gallery-style-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-style-option{min-width:0;padding:12px;border:1px solid #dce0d6;border-radius:10px;background:#fff;color:#2b352b;text-align:left;cursor:pointer}.gallery-style-option[aria-pressed=true]{border:2px solid #3b593d;padding:11px;background:#f1f5eb;box-shadow:0 0 0 2px #3b593d12}.gallery-style-option strong,.gallery-style-option small{display:block}.gallery-style-option strong{font-size:13px;margin:9px 0 4px}.gallery-style-option small{font-size:11px;line-height:1.5;color:#61705e}.gallery-style-mini{height:73px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;overflow:hidden;padding:5px;background:#e6e9df;border-radius:3px}.gallery-style-mini i{display:block;background:linear-gradient(145deg,#8fa288,#cfccb7);min-height:20px}.gallery-style-mini i:nth-child(2n){background:linear-gradient(145deg,#b69b80,#e4d4b7)}.mini-polaroid i{border:3px solid #fffdf7;border-bottom-width:9px;transform:rotate(-6deg)}.mini-polaroid i:nth-child(2n){transform:rotate(5deg)}.mini-slideshow{display:block;padding:6px 15px}.mini-slideshow i{height:100%;border-bottom:7px solid #fffdf7}.mini-slideshow i~i{display:none}.mini-masonry{grid-template-rows:20px 35px;gap:4px}.mini-masonry i:nth-child(2){grid-row:span 2}.mini-scrapbook{background:#efe8d8}.mini-scrapbook i{position:relative;border:4px solid #fffcf2;border-bottom:8px solid #fffcf2;transform:rotate(7deg)}.mini-scrapbook i:after{content:'';position:absolute;top:-6px;left:22%;width:55%;height:7px;background:#c8b27a8c}.mini-filmstrip{display:flex;padding:12px 5px;background:#292a25;border-top:5px dotted #c8bea4;border-bottom:5px dotted #c8bea4}.mini-filmstrip i{flex:0 0 39%}.gallery-editor-photos{display:grid;gap:12px;margin:18px 0}.gallery-edit-photo{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px;padding:13px;border:1px solid #e0e4d9;border-radius:9px}.gallery-edit-photo>img{width:76px;height:90px;object-fit:cover;border-radius:4px}.gallery-edit-photo .field{margin:0}.gallery-edit-photo .field>span{font-size:12px}.gallery-edit-photo .field small{font-weight:400;color:#687561}.gallery-edit-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:7px}.gallery-edit-actions button{min-height:44px}.gallery-edit-actions .button.small{font-size:11px;padding:8px}.gallery-edit-actions .text-link{font-size:11px;margin-left:auto}.gallery-edit-actions button:disabled{opacity:.3}
@media(hover:hover){.gallery-polaroid .gallery-photo:hover,.gallery-scrapbook .gallery-photo:hover{transform:rotate(0) translateY(-3px)}}
@media(max-width:760px){.gallery-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gallery-caption{font-size:19px}.gallery-polaroid .gallery-track{padding:8px;gap:19px 12px}.gallery-polaroid .gallery-photo{padding:7px 7px 3px}.gallery-polaroid .gallery-caption{font-size:18px}.gallery-slideshow .gallery-photo img{aspect-ratio:4/5}.gallery-slideshow .gallery-caption{font-size:24px}.gallery-masonry .gallery-track{columns:2;column-gap:12px}.gallery-masonry .gallery-caption{font-size:18px}.gallery-scrapbook{padding:22px 12px}.gallery-scrapbook .gallery-track{gap:25px 14px}.gallery-scrapbook .gallery-photo{padding:6px 6px 9px}.gallery-scrapbook .gallery-caption{font-size:19px}.gallery-filmstrip .gallery-photo{flex-basis:72vw;max-width:310px}.gallery-grid .gallery-track{gap:8px}.gallery-grid .gallery-caption{font-size:12px}.gallery-edit-photo{grid-template-columns:58px minmax(0,1fr);padding:10px;gap:9px}.gallery-edit-photo>img{width:58px;height:78px}}
@media(prefers-reduced-motion:reduce){.occasi-gallery .gallery-photo{transition:none}.gallery-track{scroll-behavior:auto!important}}
