/* Public Fotume gallery. Shared identity and camera remain independent of photo layout. */
.album-visitor{--av-paper:#faf9f4;--av-ink:#263d32;--av-muted:#697469;--av-accent:#a74322;--av-accent-hover:#8b341a;--av-accent-soft:#f8ece4;background:var(--av-paper);color:var(--av-ink);font:16px var(--font-sans);overflow-wrap:anywhere}
.album-visitor *{box-sizing:border-box}.album-visitor button{font-family:inherit}.album-visitor .icon{width:19px;height:19px;flex:none}.album-visitor :focus-visible{outline:3px solid #779565;outline-offset:3px}
.av-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid #cbd3c2;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font:500 15px var(--font-sans);text-decoration:none;transition:background .18s ease,border-color .18s ease}.av-button:hover{background:#e8ecdf;border-color:#8e9e82}.av-button[aria-pressed=true]{background:#354e3d;border-color:#354e3d;color:#fff}.av-button:disabled{opacity:.5;cursor:default}
.av-header{margin:auto;display:flex;align-items:center;border-bottom:1px solid #e0e4d9}.av-identity{display:flex;align-items:center;gap:12px}.av-main{margin:auto}.av-hero{display:grid}.av-event-meta{display:flex;align-items:center;flex-wrap:wrap;list-style:none;padding:0;color:#687366;line-height:1.5}.av-event-meta li{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.av-event-meta .icon{width:15px;height:15px}
.av-face-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;gap:11px;text-decoration:none;border:1px solid #a74322;border-radius:9px;color:white;background:#a74322;font:600 15px/1.5 var(--font-sans);cursor:pointer;transition:background .18s ease}.av-face-cta:hover{background:#8b341a;border-color:#8b341a}.av-face-cta:disabled{opacity:.45;cursor:default}.av-face-cta>.icon{width:20px;height:20px;flex:none}.av-face-cta:focus-visible,.av-selfie-dialog :focus-visible{outline:3px solid #bb684a;outline-offset:4px}
.av-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 32px;background:#e8ecdf;border-bottom:1px solid #d5dccb;font-size:14px}.av-preview-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.av-preview-bar b{font-size:12px;padding:4px 8px;border:1px solid #aebda2;border-radius:5px}.av-preview-bar small{color:#64745c;font-size:12px}
.av-empty-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;background:#e6ebdf;color:#74846b}.av-empty-cover .icon{width:28px;height:28px}.av-empty-cover span{font-size:12px}.av-empty-state{text-align:center;border:1px dashed #ccd5c2;border-radius:10px;background:#f3f5ec}.av-empty-state h3{font-size:20px}.av-empty-state p{font-size:14px;color:#697469}
.av-gallery-toolbar{display:flex;align-items:center}.av-photo-card{position:relative;min-width:0}.av-photo-open{display:block;position:relative;width:100%;padding:0;border:0;overflow:hidden;cursor:zoom-in}.av-heart{position:absolute;display:grid;place-items:center;border:1px solid #fff9;background:#fbfaf4ee;color:#354e3d;border-radius:50%;cursor:pointer;transition:background .18s ease,color .18s ease}.av-heart.is-liked{background:#354e3d;color:#f6f4e8;border-color:#354e3d}
.av-photo-check{position:absolute;left:10px;top:10px;width:26px;height:26px;display:grid;place-items:center;border:2px solid #fff;background:#fdfdf5dd;box-shadow:0 1px 4px #13241833;border-radius:6px;color:#fff}.is-selected .av-photo-check{background:#354e3d}.av-enlarge{position:absolute;display:flex;align-items:center;background:#f9f8f1ed;color:#334a39;opacity:0;transition:opacity .18s ease}.av-photo-open:hover .av-enlarge,.av-photo-open:focus-visible .av-enlarge{opacity:1}.av-selection-bar{position:sticky;z-index:7;background:#edf1e5;border:1px solid #c8d4bb;border-radius:10px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 22px #263d3210}

.fotume-public-footer{background:#e8eddf;color:#2c4434;border-top:1px solid #d4ddca;margin-top:54px;padding:44px max(24px,calc((100vw - 1376px)/2)) 22px;font-family:var(--font-sans)}.fpf-main{display:grid;grid-template-columns:1fr 1.35fr .65fr;gap:45px;align-items:start}.fpf-brand img{display:block}.fpf-brand p{font-size:15px;line-height:1.8;color:#66755c;margin:18px 0 0}.fpf-invitation h2{font:400 30px/1.25 var(--font-display);margin:0 0 22px}.fpf-invitation .btn{font-size:15px;min-height:46px;display:inline-flex;gap:15px}.fpf-main>nav{display:flex;flex-direction:column;gap:15px;font-size:14px;padding-top:5px}.fotume-public-footer a:not(.btn){color:inherit;text-decoration:none}.fotume-public-footer a:not(.btn):hover{text-decoration:underline;text-underline-offset:4px}.fpf-bottom{border-top:1px solid #cbd7bf;padding-top:22px;margin-top:38px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#67775b;font-size:12px;line-height:1.7}.fpf-bottom nav{display:flex;gap:20px;flex-wrap:wrap}.fotume-public-footer :focus-visible{outline:3px solid #829a64;outline-offset:4px}
#dialog:has(.av-selfie-dialog){width:min(470px,calc(100vw - 32px));max-width:calc(100vw - 32px);background:#fffcf8;color:#44372e;max-height:calc(100dvh - 32px);border:1px solid #e5dcd0}
#dialog:has(.av-selfie-dialog) .modal-inner{padding:28px}
#dialog:has(.av-selfie-dialog) .modal-close{background:#f2ece3;color:#776255}
.av-selfie-dialog{font:15px/1.6 var(--font-sans);color:#44372e}
.av-selfie-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid #edcfbc;border-radius:13px;color:#a74322;background:#f8ece4;margin-bottom:20px}
.av-selfie-mark .icon{width:29px;height:29px;stroke-width:1.4}
.av-selfie-dialog h2{font:550 29px/1.2 var(--font-sans);letter-spacing:-.04em;margin:7px 0 9px}
.av-selfie-subtitle{font-size:15px;color:#7a6b5c;margin:0 0 22px;line-height:1.6}
.av-selfie-body [data-selfie-file]{display:none!important}
.av-selfie-choices{display:grid;gap:11px;margin:0}
.av-selfie-choices>button{display:flex;align-items:center;gap:14px;text-align:left;padding:16px;border:1px solid #ded8cd;background:#fffefb;border-radius:11px;color:#44372e;min-height:83px;cursor:pointer;font-family:inherit;transition:border-color 160ms ease,background 160ms ease}
.av-selfie-choices>button:first-child{border-color:#e3bda7;background:#faf0e8}
.av-selfie-choices>button:hover{border-color:#b26442;background:#f9ebdf}
.av-selfie-choices>button:disabled{opacity:.55;cursor:wait}
.av-selfie-choices .av-choice-icon{width:42px;height:42px;display:grid;place-items:center;background:#fff9f2;color:#a74322;border-radius:10px;flex:none}
.av-choice-icon .icon{width:24px;height:24px}
.av-selfie-choices>button>span:nth-child(2){flex:1;min-width:0}
.av-selfie-choices strong{display:block;font-size:16px;font-weight:650;line-height:1.5}
.av-selfie-choices small{display:block;font-size:13px;color:#80715f;line-height:1.5;margin-top:2px}
.av-selfie-choices>button>.icon{width:17px;height:17px;flex:none;color:#a0907d}
.av-selfie-help{margin-top:16px;font-size:13px;color:#776857}
.av-selfie-help summary{cursor:pointer;padding:8px 0;min-height:38px}
.av-selfie-help p{font-size:13px;line-height:1.65;margin:8px 0 12px}
.av-selfie-privacy{display:flex;align-items:center;gap:7px;font-size:12px;color:#8a7c69;line-height:1.6;border-top:1px solid #e9e1d6;margin:12px 0 0;padding-top:14px}
.av-selfie-privacy>.icon{width:14px;height:14px;flex:none}
.av-selfie-reference{display:flex;align-items:center;gap:18px;background:#f3eee5;border:1px solid #e6ded0;padding:12px;border-radius:10px}
.av-selfie-reference img{display:block;width:95px;height:126px;object-fit:contain;background:#e6dfd2;border-radius:6px;flex:none}
.av-selfie-reference strong{font-size:15px;line-height:1.5;font-weight:650;display:block}
.av-selfie-reference p{font-size:13px;line-height:1.5;color:#81715c;margin:7px 0}
.av-selfie-reference .av-button{min-height:40px;font-size:13px;padding:7px 10px;border-color:#d1c4b3;color:#745b45}
.av-consent{display:flex;gap:10px;align-items:start;font-size:13px;line-height:1.65;margin:20px 0;color:#74624f}
.av-consent input{width:19px;height:19px;margin:2px 0 0;flex:none;accent-color:#a74322}
.av-selfie-submit{width:100%}
.av-selfie-message{border:1px solid #dfc7ae;background:#faf0df;color:#705639;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.65;margin:16px 0}
.av-camera-stage{position:relative;background:#211e18;border-radius:10px;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.av-camera-stage video{width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}
.av-camera-guide{position:absolute;width:42%;height:70%;border:2px dashed #fff9e7b3;border-radius:48%;pointer-events:none}
.av-selfie-hint{font-size:13px;line-height:1.6;color:#81715c;margin:10px 0 14px}
.av-capture-actions{display:flex;gap:10px}.av-capture-actions>.av-face-cta{flex:1}
@media(max-width:640px){
 #dialog:has(.av-selfie-dialog){width:calc(100vw - 28px);max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);border-radius:16px}
 #dialog:has(.av-selfie-dialog) .modal-inner{padding:24px 20px}.av-selfie-mark{width:43px;height:43px;margin-bottom:18px}.av-selfie-dialog h2{font-size:27px}.av-selfie-subtitle{font-size:14px;margin-bottom:20px}
 .av-selfie-choices>button{padding:14px;gap:12px;min-height:80px}.av-selfie-choices strong{font-size:15px}.av-selfie-choices small{font-size:12px}.av-selfie-choices .av-choice-icon{width:37px;height:39px;border-radius:9px}
 .av-selfie-reference{gap:12px;padding:10px}.av-selfie-reference img{width:84px;height:117px}.av-selfie-reference strong{font-size:14px}.av-selfie-reference p{font-size:12px}.av-selfie-privacy{font-size:11px;align-items:start}.av-selfie-privacy>.icon{margin-top:2px}.av-consent{font-size:12px}
}
/* Compact public gallery controls. */

.av-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.album-visitor [hidden]{display:none!important}
.album-visitor .av-header{max-width:1600px;padding:14px 32px;min-height:86px;justify-content:flex-start}
.av-identity{max-width:100%;min-width:0}
.av-brand-logo{display:block;width:auto;height:auto;max-width:min(280px,70vw);max-height:70px;object-fit:contain;object-position:left center}
.av-brand-name{font:650 clamp(20px,2vw,28px)/1.25 var(--font-sans);letter-spacing:-.035em}
.album-visitor .av-main{max-width:1600px;padding:0 32px}
.album-visitor .av-hero{grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:20px 0;align-items:center}
.album-visitor .av-hero-copy{grid-area:auto;min-width:0}
.album-visitor .av-hero h1{font:500 clamp(30px,3vw,44px)/1.08 var(--font-display);letter-spacing:-.04em;margin:0 0 12px;max-width:100%}
.album-visitor .av-hero h1:focus{outline:none}
.album-visitor .av-event-meta{margin:0;gap:6px 18px;font-size:12px;grid-area:auto}
.album-visitor .av-description{font-size:14px;line-height:1.5;margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.album-visitor .av-album-name{margin:0 0 10px;font-size:15px}
.album-visitor .av-hero-image{grid-area:auto;height:142px;min-height:0;margin:0;border-radius:8px;overflow:hidden;align-self:center}
.album-visitor .av-hero .av-hero-image>img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
/* Bounded framing classes work before JavaScript without inline styles. */
.album-visitor .av-hero .av-hero-image>img.av-cover-position-0{object-position:50% 0%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-1{object-position:50% 1%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-2{object-position:50% 2%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-3{object-position:50% 3%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-4{object-position:50% 4%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-5{object-position:50% 5%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-6{object-position:50% 6%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-7{object-position:50% 7%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-8{object-position:50% 8%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-9{object-position:50% 9%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-10{object-position:50% 10%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-11{object-position:50% 11%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-12{object-position:50% 12%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-13{object-position:50% 13%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-14{object-position:50% 14%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-15{object-position:50% 15%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-16{object-position:50% 16%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-17{object-position:50% 17%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-18{object-position:50% 18%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-19{object-position:50% 19%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-20{object-position:50% 20%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-21{object-position:50% 21%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-22{object-position:50% 22%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-23{object-position:50% 23%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-24{object-position:50% 24%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-25{object-position:50% 25%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-26{object-position:50% 26%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-27{object-position:50% 27%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-28{object-position:50% 28%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-29{object-position:50% 29%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-30{object-position:50% 30%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-31{object-position:50% 31%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-32{object-position:50% 32%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-33{object-position:50% 33%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-34{object-position:50% 34%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-35{object-position:50% 35%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-36{object-position:50% 36%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-37{object-position:50% 37%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-38{object-position:50% 38%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-39{object-position:50% 39%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-40{object-position:50% 40%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-41{object-position:50% 41%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-42{object-position:50% 42%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-43{object-position:50% 43%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-44{object-position:50% 44%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-45{object-position:50% 45%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-46{object-position:50% 46%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-47{object-position:50% 47%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-48{object-position:50% 48%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-49{object-position:50% 49%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-50{object-position:50% 50%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-51{object-position:50% 51%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-52{object-position:50% 52%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-53{object-position:50% 53%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-54{object-position:50% 54%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-55{object-position:50% 55%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-56{object-position:50% 56%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-57{object-position:50% 57%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-58{object-position:50% 58%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-59{object-position:50% 59%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-60{object-position:50% 60%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-61{object-position:50% 61%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-62{object-position:50% 62%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-63{object-position:50% 63%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-64{object-position:50% 64%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-65{object-position:50% 65%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-66{object-position:50% 66%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-67{object-position:50% 67%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-68{object-position:50% 68%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-69{object-position:50% 69%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-70{object-position:50% 70%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-71{object-position:50% 71%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-72{object-position:50% 72%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-73{object-position:50% 73%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-74{object-position:50% 74%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-75{object-position:50% 75%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-76{object-position:50% 76%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-77{object-position:50% 77%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-78{object-position:50% 78%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-79{object-position:50% 79%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-80{object-position:50% 80%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-81{object-position:50% 81%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-82{object-position:50% 82%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-83{object-position:50% 83%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-84{object-position:50% 84%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-85{object-position:50% 85%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-86{object-position:50% 86%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-87{object-position:50% 87%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-88{object-position:50% 88%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-89{object-position:50% 89%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-90{object-position:50% 90%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-91{object-position:50% 91%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-92{object-position:50% 92%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-93{object-position:50% 93%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-94{object-position:50% 94%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-95{object-position:50% 95%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-96{object-position:50% 96%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-97{object-position:50% 97%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-98{object-position:50% 98%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-99{object-position:50% 99%}.album-visitor .av-hero .av-hero-image>img.av-cover-position-100{object-position:50% 100%}

.album-visitor .av-face-finder{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;padding:0 0 16px;margin:0;background:none;border:0;border-radius:0}
.album-visitor .av-face-cta{width:auto;min-height:44px;padding:10px 16px;gap:10px;font-size:14px;box-shadow:none}
.av-face-help{position:relative}
.av-how-trigger{font:500 13px/1.5 var(--font-sans);border:0;border-bottom:1px dotted #8a7c69;background:none;color:#736957;cursor:pointer;padding:5px 0}
.av-how-popover{position:absolute;top:calc(100% + 12px);left:0;width:min(330px,calc(100vw - 40px));z-index:20;background:#fffcf6;border:1px solid #e2d8c8;box-shadow:0 12px 40px #302d2725;border-radius:12px;padding:20px;color:#544938;font-size:14px;line-height:1.6;text-align:left;animation:av-pop-in .16s ease-out}
.av-how-popover strong{font-weight:650;font-size:15px}.av-how-popover ol{margin:12px 0;padding-left:20px}.av-how-popover li+li{margin-top:8px}.av-how-popover small{font-size:12px;color:#776d5c}
.album-visitor .av-face-filter-note{margin:0;font-size:12px}
.album-visitor .av-collection{padding:0 0 40px;border-top:1px solid #dedfd3}
.album-visitor .av-collection-head{padding:12px 0 0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin:0}
.av-collection-head>[data-av-count]{font-size:13px;color:var(--av-muted);margin:0;white-space:nowrap}
.album-visitor .av-tabs{display:flex;grid-template-columns:none;width:auto;border:0;padding:0;gap:4px;border-radius:0}
.album-visitor .av-tabs .av-button{font-size:13px;min-height:38px;padding:8px 12px;white-space:nowrap}
.album-visitor .av-gallery-toolbar{padding:10px 0 12px;gap:12px;flex-wrap:nowrap;justify-content:flex-start}
.av-gallery-toolbar>.av-button{margin-left:auto;font-size:13px;min-height:40px;padding:9px 12px;white-space:nowrap}



.album-visitor .av-album-filters{position:relative;display:block;overflow:visible;max-height:none;padding:0;flex:0 1 280px;min-width:0}
.av-album-trigger{width:100%;justify-content:flex-start;gap:8px;min-height:40px;font-size:13px;padding:8px 12px;background:#fffdf8}
.av-album-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.av-album-trigger>.icon:last-child{width:16px;margin-left:10px;flex:none}
.av-album-options{position:absolute;top:calc(100% + 8px);left:0;width:max(100%,280px);max-width:calc(100vw - 40px);max-height:min(380px,60dvh);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;background:#fffcf6;border:1px solid #d5d9cc;border-radius:10px;padding:7px;z-index:15;box-shadow:0 12px 32px #263d3225;animation:av-pop-in .15s ease-out}
.av-album-options>label{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1.4}
.av-album-options>label:hover,.av-album-options>label:focus-within{background:#edf1e6}.av-album-options input{width:18px;height:18px;flex:none;accent-color:#344e3d;margin:0}.av-album-options>label>span{flex:1;min-width:0}.av-album-options small{font-size:12px;color:#72806b}
.album-visitor .av-photo-grid{gap:0;column-gap:0;transition:none}
.album-visitor .av-layout-mosaic{display:flex;flex-wrap:wrap;columns:auto;align-items:stretch}
.album-visitor .av-layout-mosaic .av-photo-card{height:360px;flex:calc(var(--av-ratio,1)*100) 1 calc(360px*var(--av-ratio,1));min-width:90px;max-width:100%}
/* Let an incomplete final row end naturally instead of enlarging its photos. */
.album-visitor .av-layout-mosaic::after{content:"";flex:1000000000 1 0;min-width:0;pointer-events:none}


.album-visitor .av-photo-card{margin:0;border-radius:0;overflow:hidden;break-inside:avoid}
.album-visitor .av-photo-open{height:100%;border-radius:0;background:#e4e8df}
.album-visitor .av-photo-open>img{display:block;width:100%;height:100%;object-fit:cover;max-height:none}
.album-visitor .av-photo-open:focus-visible{outline:3px solid #fff;outline-offset:-5px;z-index:2}.album-visitor .av-photo-card.is-selected{outline:3px solid #b8ce9e;outline-offset:-3px}
.av-photo-grid:not(.is-selecting) .av-photo-check{display:none}
.album-visitor .av-heart{width:34px;height:34px;top:9px;right:9px}.av-heart>.icon{width:17px;height:17px}
.album-visitor .av-enlarge{inset:auto auto 9px 9px;border-radius:50%;width:32px;height:32px;padding:7px;gap:0;justify-content:center}.av-enlarge>.icon{width:18px;height:18px}
.album-visitor .av-selection-bar{top:8px;padding:10px 14px;margin:0 0 12px;gap:10px;flex-wrap:wrap}.av-selection-bar>strong{font-size:13px}.av-selection-bar>div{display:flex;gap:6px;flex-wrap:wrap}.av-selection-bar .av-button{font-size:12px;min-height:36px;padding:7px 10px}
[data-av-message]:empty{display:none}[data-av-message]{font-size:13px;margin:0 0 12px}[data-av-sentinel]{height:1px}
[data-av=more]{margin:18px auto 0;display:flex}.album-visitor .av-empty-state{padding:50px 20px}
@keyframes av-pop-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
/* The viewer starts fitted to the screen. Zoom never changes the stored image. */
#dialog.av-lightbox-dialog{box-sizing:border-box;position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#121611;color:#fff;box-shadow:none}
#dialog.av-lightbox-dialog::backdrop{background:#121611}
.av-lightbox-stage{position:absolute;inset:18px 24px 84px;display:flex;justify-content:center;align-items:center;overflow:hidden;touch-action:none;user-select:none}
.av-lightbox-stage>img{display:block;max-width:none;max-height:none;object-fit:contain;flex:none;will-change:transform;transform-origin:center;pointer-events:none}
.av-lightbox-close{position:absolute;z-index:4;top:18px;right:22px;width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff65;border-radius:50%;background:#20271fee;color:white;cursor:pointer}.av-lightbox-close>.icon{width:22px;height:22px}
.av-lightbox-zoom{position:absolute;z-index:3;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;background:#252d23ed;border:1px solid #ffffff50;border-radius:10px;padding:4px;color:#fff;white-space:nowrap}
.av-lightbox-zoom button{font:500 13px var(--font-sans);border:0;color:inherit;background:none;cursor:pointer;min-width:38px;min-height:38px;padding:8px;border-radius:6px}.av-lightbox-zoom button:hover{background:#ffffff24}.av-lightbox-zoom button:disabled{opacity:.35;cursor:default}.av-lightbox-zoom output{font:13px var(--font-sans);min-width:50px;text-align:center}.av-lightbox-zoom .icon{width:19px;height:19px}
.av-lightbox-download{position:absolute;z-index:3;bottom:22px;right:24px;min-height:46px;padding:11px 17px;display:flex;align-items:center;gap:9px;border:1px solid #f6f8ee;border-radius:9px;background:#f6f8ee;color:#263d32;font:600 14px var(--font-sans);cursor:pointer}.av-lightbox-download>.icon{width:19px;height:19px}
.av-lightbox-dialog :focus-visible{outline:3px solid #c8dea9;outline-offset:3px}
.av-download-dialog progress{width:100%;accent-color:#344e3d}.av-download-dialog [data-download-result]{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.album-visitor .av-hero{grid-template-columns:minmax(0,1fr) 220px}.album-visitor .av-gallery-toolbar{flex-wrap:wrap}.av-lightbox-zoom{left:24px;transform:none}.av-lightbox-download{right:24px}}
@media(max-width:640px){
 .album-visitor .av-header{padding:12px 18px;min-height:76px}.av-brand-logo{max-width:220px;max-height:58px}.av-brand-name{font-size:22px}
 .album-visitor .av-main{padding:0 16px}.album-visitor .av-hero{grid-template-columns:minmax(0,1fr) 110px;gap:14px;padding:18px 0}.album-visitor .av-hero h1{font-size:29px;margin-bottom:9px}.album-visitor .av-hero-image{height:116px;border-radius:6px}.album-visitor .av-event-meta{font-size:11px;gap:5px 12px}.album-visitor .av-event-meta .icon{width:13px;height:13px}.album-visitor .av-description{font-size:12px;margin-top:8px}
 .album-visitor .av-face-finder{flex-direction:row;align-items:center;gap:12px;padding:0 0 16px;flex-wrap:wrap}.album-visitor .av-face-cta{font-size:13px;padding:10px 12px;min-height:44px}.av-face-cta>.icon{width:18px;height:18px}.av-how-trigger{font-size:12px}.av-how-popover{left:auto;right:0}.av-face-help{margin-left:auto}.album-visitor .av-face-filter-note{width:100%}
 .album-visitor .av-collection-head{padding-top:12px;gap:8px;flex-wrap:wrap}.album-visitor .av-tabs{width:auto;gap:0}.album-visitor .av-tabs .av-button{font-size:12px;padding:8px;min-height:38px;white-space:nowrap}.av-collection-head>[data-av-count]{font-size:11px;margin-left:auto}
 .album-visitor .av-gallery-toolbar{gap:8px;padding:9px 0 12px;flex-wrap:wrap}.album-visitor .av-album-filters{flex-basis:100%;width:100%}.av-album-trigger{font-size:13px}.av-album-options{width:100%;box-sizing:border-box;max-width:100%}.av-gallery-toolbar>.av-button{font-size:12px;padding:8px;min-height:38px;margin-left:auto}
 .album-visitor .av-photo-grid{margin-left:-16px;margin-right:-16px}.album-visitor .av-photo-card{min-width:75px}.album-visitor .av-selection-bar{padding:10px;gap:8px}.av-selection-bar>strong{flex-basis:auto}.av-selection-bar>div{gap:5px}.av-selection-bar .av-button{font-size:11px;padding:6px 8px;min-height:36px}
 .av-lightbox-stage{inset:70px 0 116px}.av-lightbox-close{top:15px;right:15px}.av-lightbox-zoom{bottom:20px;left:12px;max-width:calc(100vw - 100px);gap:0;padding:3px}.av-lightbox-zoom button{font-size:11px;min-width:32px;padding:7px}.av-lightbox-zoom output{font-size:11px;min-width:37px}.av-lightbox-download{right:12px;bottom:20px;padding:12px;min-height:46px}.av-lightbox-download>span{display:none}
}
@media(prefers-reduced-motion:reduce){.av-photo-card,.av-how-popover,.av-album-options,.av-lightbox-stage>img{animation:none!important;transition:none!important}}

/* Small screens keep the event facts and tools, without repeating descriptions. */
@media(max-width:640px){
 .album-visitor .av-hero .av-description{display:none}
 .album-visitor .av-event-meta li:last-child:nth-child(4){display:none}
 .album-visitor .av-collection-head>[data-av-count]{display:none}
 .av-how-trigger{display:grid;place-items:center;width:30px;min-height:30px;padding:0;font-size:0;border:1px solid #b6aa99;border-radius:50%}
 .av-how-trigger:after{content:'?';font:600 16px/1 var(--font-sans)}

}
@media(max-width:900px){.fpf-main{grid-template-columns:1fr 1.2fr;gap:30px}.fpf-main>nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}}
@media(max-width:640px){.fotume-public-footer{padding:32px 20px 20px;margin-top:0}.fpf-main{grid-template-columns:1fr;gap:24px}.fpf-main>nav{grid-column:auto}.fpf-bottom{flex-direction:column;align-items:flex-start;gap:16px}.fpf-bottom nav{flex-wrap:wrap;gap:12px}.av-preview-bar{padding:10px 16px}.av-preview-bar small{display:none}}
@media(prefers-reduced-motion:reduce){.album-visitor *,.av-selfie-dialog *,.av-lightbox-dialog *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.av-brand-label{font:600 18px/1.3 var(--font-sans);letter-spacing:-.02em;max-width:28ch}.av-identity:has(.av-brand-logo){gap:22px}
@media(max-width:640px){.av-brand-label{font-size:14px;max-width:16ch}.av-identity:has(.av-brand-logo){gap:14px}.av-identity:has(.av-brand-logo) .av-brand-logo{max-width:45vw}}

/* A contextual request opens the contact channel; it never removes a photo. */
.av-lightbox-support{position:absolute;z-index:4;top:18px;left:24px;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border:1px solid #ffffff65;border-radius:9px;background:#20271fee;color:#fff;text-decoration:none;font:600 13px var(--font-sans);line-height:1.4}.av-lightbox-support>.icon{width:17px;height:17px}.av-lightbox-support:hover{background:#354632}
@media(max-width:600px){.av-lightbox-support{top:15px;left:12px;max-width:calc(100vw - 82px)}}
