/* Approved prototype visitor styles; no demo state or assets imported. */
.album-visitor{--av-paper:#faf9f4;--av-ink:#263d32;--av-muted:#697469;background:var(--av-paper);color:var(--av-ink);font:16px var(--font-sans);overflow-wrap:anywhere}.album-visitor button{font-family:inherit}.av-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px clamp(18px,4vw,64px);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{display:inline-block;margin-left:8px;padding:4px 8px;background:#fff9e6;border-radius:5px;font-size:12px;font-weight:600}.av-preview-bar small{color:#59684f;font-size:13px}.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:disabled{opacity:.4;cursor:default}.av-button .icon{width:18px;height:18px;flex:none}.av-button b{font-size:13px;font-weight:500}.av-header{max-width:1536px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px clamp(20px,5vw,80px);border-bottom:1px solid #e0e4d9}.av-identity{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600}.av-monogram{display:grid;place-items:center;width:44px;height:44px;background:#344e3d;color:#f4f3e9;border-radius:50%;font-size:14px;letter-spacing:.02em;flex:none}.av-identity small{display:block;font-size:13px;font-weight:400;color:var(--av-muted);margin-top:4px}.av-header nav{display:flex;gap:8px;flex:none}.av-header nav .av-button{border-color:transparent}.av-main{max-width:1536px;margin:auto;padding:0 clamp(20px,5vw,80px)}.av-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,90px);align-items:center;padding:54px 0 70px}.av-hero-copy{min-width:0;padding:18px 0}.av-kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.065em;text-transform:uppercase;color:#63715e;margin:0 0 20px;line-height:1.6}.av-kicker .icon{width:16px;height:16px}.av-hero h1{font-family:var(--font-display);font-size:clamp(42px,5.4vw,80px);line-height:1.08;letter-spacing:-.035em;font-weight:400;margin:0 0 18px;text-wrap:balance}.av-album-name{font-size:19px;font-weight:500;margin:0 0 20px}.av-description{font-size:17px;line-height:1.75;color:var(--av-muted);max-width:40ch;white-space:pre-line}.av-hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}.av-hero-actions>.btn{min-height:48px;padding:13px 20px;gap:12px}.av-hero-actions>span{font-size:14px;color:#62705a}.av-hero-signature{display:block;font-family:var(--font-display);font-style:italic;font-size:22px;margin-top:44px;color:#738265}.av-hero-image{margin:0;width:100%;height:clamp(340px,40vw,560px);display:flex;align-items:center;justify-content:center;background:#e6eadf;border-radius:8px;overflow:hidden;box-shadow:0 12px 38px #263d320d}.av-hero-image img{display:block;width:100%;height:100%;object-fit:contain}.av-empty-cover{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;text-align:center;background:linear-gradient(140deg,#e6ebdf,#f1f2e8);color:#74846b}.av-empty-cover>.icon{width:62px;height:62px;stroke-width:1}.av-empty-cover>span{font-family:var(--font-display);font-size:29px;line-height:1.35}.av-awaiting{display:inline-block;padding:9px 14px;border:1px solid #ccd5bf;border-radius:99px}.av-collection{padding:40px 0 16px;border-top:1px solid #d9dfd0;scroll-margin-top:80px}.av-collection-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}.av-collection-head h2{font-family:var(--font-display);font-size:clamp(32px,3.4vw,47px);line-height:1.15;font-weight:400;letter-spacing:-.025em;margin:0 0 14px}.av-collection-head p:not(.av-kicker){font-size:16px;line-height:1.65;color:var(--av-muted);margin:0}.av-collection-head .av-kicker{margin-bottom:12px}.av-tabs{display:flex;align-items:center;gap:5px;flex:none;padding:4px;border:1px solid #d4dccb;border-radius:10px}.av-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;min-height:44px;padding:10px 14px;border-radius:6px;color:#64715c;font:500 15px var(--font-sans);cursor:pointer;white-space:nowrap}.av-tabs button[aria-pressed=true]{background:#354e3d;color:#faf9f4}.av-tabs .icon{width:17px;height:17px}.av-tabs span{font-size:12px;opacity:.8}.av-photo-grid{columns:3;column-gap:22px}.av-photo-card{position:relative;break-inside:avoid;margin:0 0 22px;min-width:0}.av-photo-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:6px;background:#e8ecdf;overflow:hidden;cursor:zoom-in}.av-photo-open img{display:block;width:100%;height:auto;object-fit:contain;transition:filter .25s ease}.av-enlarge{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:7px;background:#f9f8f1ed;padding:8px 10px;border-radius:6px;color:#334a39;font-size:13px;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease}.av-enlarge .icon{width:16px;height:16px}.av-photo-open:hover .av-enlarge,.av-photo-open:focus-visible .av-enlarge{opacity:1;transform:none}.av-heart{position:absolute;right:11px;top:11px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #fff9;background:#fbfaf4ee;color:#354e3d;border-radius:50%;cursor:pointer;transition:background .18s ease,color .18s ease}.av-heart .icon{width:19px;height:19px}.av-heart.is-liked{background:#354e3d;color:#f6f4e8;border-color:#354e3d}.av-heart.is-liked .icon{fill:currentColor;stroke-width:1.2}.av-photo-caption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:#6a7564;font-size:13px;line-height:1.6}.av-photo-caption>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.av-photo-caption>small{font-size:12px;flex:none;color:#89927f}.av-endnote{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 10px 52px;font-size:15px;color:#738168;text-align:center}.av-endnote .icon{width:18px;height:18px;flex:none}.av-empty-state{padding:65px 24px 78px;border:1px dashed #ccd5c2;text-align:center;border-radius:10px;background:#f3f5ec}.av-empty-state>.icon{width:38px;height:38px;color:#7c8c70}.av-empty-state h3{font-family:var(--font-display);font-weight:400;font-size:32px;line-height:1.2;margin:20px 0 16px}.av-empty-state p{color:var(--av-muted);font-size:16px;line-height:1.7;max-width:54ch;margin:0 auto 24px}.av-footer{max-width:1536px;margin:20px auto 0;padding:34px clamp(20px,5vw,80px);border-top:1px solid #d9dfd0;display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap}.av-footer strong{font-size:17px;font-weight:500}.av-footer p:not(.av-scope-note){font-size:14px;color:var(--av-muted);margin:9px 0 0}.av-footer>img{width:115px;height:auto}.av-scope-note{flex-basis:100%;font-size:13px;line-height:1.6;color:#74806d;margin:0}.av-unavailable{min-height:80vh;display:flex;align-items:center;flex-direction:column;padding:50px 24px}.av-unavailable>div{margin:auto;max-width:650px;text-align:center;padding:60px 0}.av-unavailable .icon{width:48px;height:48px;color:#7c8b71}.av-unavailable h1{font-family:var(--font-display);font-size:clamp(35px,5vw,58px);font-weight:400;line-height:1.15}.av-unavailable p{line-height:1.8;color:var(--av-muted)}
#dialog:has(.av-lightbox){width:min(1180px,calc(100vw - 32px));max-width:min(1180px,calc(100vw - 32px));background:#f7f8f1;max-height:94dvh}#dialog:has(.av-lightbox) .modal-inner{padding:25px}.av-lightbox:focus{outline:none}.av-lightbox header{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 38px 20px 0}.av-lightbox header p{font-size:13px;color:#68745e;line-height:1.6;margin:0 0 6px}.av-lightbox h2{font-size:20px;font-weight:500;margin:0;overflow-wrap:anywhere}.av-lightbox header>span{font-size:14px;color:#68745e;flex:none}.av-lightbox-image{height:min(65dvh,760px);width:100%;display:flex;align-items:center;justify-content:center;background:#17241c;border-radius:6px;overflow:hidden}.av-lightbox-image img{display:block;width:100%;height:100%;object-fit:contain}.av-lightbox footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px}.av-lightbox-nav{display:flex;gap:8px}.av-lightbox footer>p{font-size:13px;color:#69765f;flex-basis:100%;margin:0}.av-lightbox [aria-pressed=true]{background:#e2e9d6}.album-visitor :focus-visible,.av-lightbox :focus-visible{outline:3px solid #829a64;outline-offset:4px}
@media(max-width:1000px){.av-hero{gap:30px}.av-hero h1{font-size:clamp(42px,5.9vw,65px)}.av-collection-head{align-items:start;flex-direction:column;gap:22px}.av-photo-grid{columns:2;column-gap:18px}.av-preview-bar small{display:none}}
@media(max-width:640px){.av-preview-bar{padding:10px 16px;gap:10px}.av-preview-bar>div>.icon{display:none}.av-preview-bar>div{font-size:13px}.av-preview-bar b{display:table;margin:5px 0 0}.av-preview-bar .av-button{padding:8px 10px;font-size:13px}.av-header{padding:20px;gap:14px;align-items:start;flex-direction:column}.av-identity{font-size:17px}.av-header nav{width:100%;border-top:1px solid #e2e6d9;padding-top:10px;margin-bottom:-8px;justify-content:space-between}.av-header nav .av-button{font-size:14px;padding:7px 8px}.av-hero{grid-template-columns:1fr;gap:24px;padding:34px 0 40px}.av-hero-copy{padding:0}.av-hero h1{font-size:46px;max-width:13ch}.av-kicker{font-size:12px;margin-bottom:16px}.av-album-name{font-size:18px;margin-bottom:16px}.av-description{font-size:16px;max-width:none;margin-bottom:0}.av-hero-actions{gap:16px;margin-top:24px}.av-hero-signature{display:none}.av-hero-image{height:390px}.av-hero.is-empty .av-hero-image{height:270px}.av-empty-cover>span{font-size:26px}.av-collection{padding-top:30px;scroll-margin-top:70px}.av-collection-head h2{font-size:33px}.av-collection-head p:not(.av-kicker){font-size:15px}.av-tabs{width:100%}.av-tabs button{flex:1;padding:10px 12px}.av-photo-grid{column-gap:12px}.av-photo-card{margin-bottom:17px}.av-heart{width:38px;height:38px;right:7px;top:7px}.av-photo-caption{font-size:12px;margin-top:7px}.av-photo-caption>small{display:none}.av-enlarge{display:none}.av-endnote{font-size:14px;padding:30px 0 35px}.av-footer{gap:20px;padding-top:28px}.av-footer>div{flex-basis:100%}.av-empty-state{padding:42px 18px}.av-empty-state h3{font-size:29px}#dialog:has(.av-lightbox){width:calc(100vw - 16px);max-width:calc(100vw - 16px)}#dialog:has(.av-lightbox) .modal-inner{padding:18px 12px}.av-lightbox h2{font-size:17px}.av-lightbox header{gap:12px;padding-bottom:15px}.av-lightbox-image{height:58dvh;min-height:200px}.av-lightbox footer{gap:12px;padding-top:14px}.av-lightbox .av-button{font-size:13px;padding:8px 10px}.av-lightbox footer>.av-button{margin-left:auto}.av-lightbox header>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.album-visitor *,.av-lightbox *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Visitor controls and shared public footer. Photographs keep their full proportions. */
.av-institution-logo{display:flex;align-items:center;justify-content:center;max-width:170px;min-width:76px;min-height:58px;border-radius:8px;padding:9px 14px}.av-institution-logo.on-dark{background:#344e3d}.av-institution-logo.on-light{background:#fff;border:1px solid #dce2d6}.av-institution-logo img{display:block;width:auto;max-width:142px;max-height:58px;object-fit:contain}.av-hero{padding:34px 0 45px;gap:55px}.av-hero h1{font-size:clamp(40px,4.5vw,68px)}.av-hero-image{height:clamp(280px,29vw,400px)}.av-face-caption{display:flex;align-items:start;gap:8px;font-size:14px;line-height:1.65;color:#66745f;margin-top:18px;max-width:42ch}.av-face-caption>.icon{width:19px;height:19px;margin-top:3px;flex:none}.av-gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:17px 0 22px}.av-layout-controls{display:flex;gap:6px}.av-layout-controls [aria-pressed=true],.av-gallery-toolbar>[aria-pressed=true]{background:#e3ead9;border-color:#90a37e;color:#263d32}.av-thumbnail-control{display:flex;align-items:center;gap:10px;color:#5e6e56;font-size:14px;min-height:44px}.av-thumbnail-control>.icon{width:17px;height:17px}.av-thumbnail-control input{width:130px;min-height:30px;accent-color:#344e3d;cursor:pointer}.av-photo-grid.av-layout-mosaic{columns:var(--av-effective-thumb,var(--av-thumb));column-gap:18px}.av-photo-grid.av-layout-grid{columns:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--av-effective-thumb,var(--av-thumb))),1fr));gap:18px;align-items:start}.av-layout-grid .av-photo-card{margin:0}.av-layout-grid .av-photo-open{height:calc(var(--av-effective-thumb,var(--av-thumb)) * 1.12)}.av-layout-grid .av-photo-open img{width:100%;height:100%;object-fit:contain}.av-photo-check{position:absolute;left:12px;top:12px;width:28px;height:28px;display:grid;place-items:center;border:2px solid #fff;background:#fdfdf5dd;box-shadow:0 1px 4px #13241833;border-radius:7px;color:#fff}.av-photo-check .icon{width:20px;height:20px}.is-selected .av-photo-check{background:#344e3d}.av-photo-card.is-selected .av-photo-open{outline:3px solid #547644;outline-offset:3px}.av-selection-bar{position:sticky;top:44px;z-index:7;background:#edf1e5;border:1px solid #c8d4bb;border-radius:10px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px;box-shadow:0 6px 22px #263d3210;margin-bottom:22px}.av-selection-bar>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.av-selection-bar strong{display:block;font-size:16px}.av-selection-bar>div>span{display:block;font-size:13px;color:#6b7a60;margin-top:5px}.av-selection-bar .btn{min-height:44px}.av-inline-note{background:#eff1e7;border:1px solid #dde4d2;border-radius:8px;color:#5c6b52;padding:12px 15px;font-size:14px;line-height:1.65}.av-prototype-delivery{font-size:13px;line-height:1.6;color:#738067;margin:0 0 22px}.av-button:disabled,.album-visitor .btn:disabled{cursor:default;opacity:.45}.av-collection-head{margin-bottom:12px}
.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}
.av-download-panel h2{font:400 35px/1.2 var(--font-display);color:#2d4535}.av-download-panel p{font-size:15px;line-height:1.75;color:#6a795e}.av-download-panel progress{width:100%;height:10px;accent-color:#344e3d}.av-download-panel [data-download-link] a{margin-top:14px;display:inline-flex;gap:10px;min-height:48px}.admin-brand-upload-preview{display:flex;align-items:center;justify-content:center;min-height:140px;border:1px solid #d4ddc9;border-radius:10px;margin-bottom:18px;padding:20px}.admin-brand-upload-preview.on-dark{background:#344e3d}.admin-brand-upload-preview.on-light{background:white}.admin-brand-upload-preview img{width:auto;max-width:260px;max-height:110px;object-fit:contain}
@media(max-width:900px){.av-hero{gap:30px}.fpf-main{grid-template-columns:1fr 1.2fr;gap:30px}.fpf-main>nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.av-thumbnail-control{margin-left:auto}.av-selection-bar{align-items:start;flex-direction:column}.av-selection-bar>div:last-child{width:100%}}
@media(max-width:640px){.av-hero{gap:28px;padding:32px 0 34px}.av-hero h1{font-size:43px}.av-hero-image{height:330px}.av-hero-actions{gap:10px;align-items:stretch}.av-hero-actions>.btn{width:100%;justify-content:center}.av-hero-actions .av-button{flex:1}.av-hero-actions>span{align-self:center}.av-header{gap:18px}.av-institution-logo{max-width:132px;padding:8px 10px;min-width:70px}.av-institution-logo img{max-width:112px;max-height:48px}.av-identity{font-size:16px}.av-identity>span:last-child{min-width:0}.av-face-caption{font-size:13px}.av-gallery-toolbar{gap:12px;align-items:stretch}.av-layout-controls{flex:1}.av-layout-controls .av-button{flex:1;padding:8px 11px;font-size:14px}.av-thumbnail-control{width:100%;justify-content:space-between;margin:0;order:3}.av-thumbnail-control input{width:42%}.av-gallery-toolbar>.av-button{font-size:14px;padding:8px 11px}.av-photo-grid{--av-effective-thumb:calc(var(--av-thumb) * .64)}.av-photo-grid.av-layout-mosaic{column-gap:12px}.av-photo-grid.av-layout-grid{gap:12px}.av-selection-bar{padding:15px;top:42px;gap:13px}.av-selection-bar>div:last-child{gap:8px}.av-selection-bar .av-button{font-size:13px;padding:8px 10px}.av-selection-bar .btn{width:100%;justify-content:center}.av-photo-check{left:7px;top:7px;width:26px;height:26px}.av-prototype-delivery{font-size:12px}.fotume-public-footer{margin-top:32px;padding:32px 20px 24px}.fpf-main{grid-template-columns:1fr;gap:27px}.fpf-brand p{font-size:14px}.fpf-invitation h2{font-size:30px}.fpf-invitation .btn{font-size:14px;width:100%;justify-content:space-between}.fpf-main>nav{gap:18px;font-size:14px}.fpf-bottom{margin-top:27px;padding-top:21px;gap:16px}.fpf-bottom nav{gap:12px 20px}}

.av-photo-zoom{display:flex;align-items:center;gap:7px;flex-basis:100%;padding-bottom:4px}.av-photo-zoom output{min-width:48px;text-align:center;font-size:14px}.av-photo-zoom>button:first-child,.av-photo-zoom>button:nth-child(3){width:44px;font-size:21px;padding:5px}.av-lightbox-image.is-zoomed{display:block;overflow:auto;overscroll-behavior:contain;cursor:move}.av-lightbox-image.is-zoomed img{width:calc(100% * var(--photo-zoom));height:calc(100% * var(--photo-zoom));max-width:none;max-height:none;object-fit:contain}
@media(max-width:640px){.av-photo-zoom{gap:5px}.av-photo-zoom .av-button{font-size:13px}.av-photo-zoom output{font-size:13px;min-width:44px}}

/* Revision 08: a clear facial-search entry and a compact two-choice dialog. */
.album-visitor{--av-accent:#a74322;--av-accent-hover:#8b341a;--av-accent-soft:#f8ece4}
.av-hero{grid-template-columns:minmax(0,1fr) 310px;column-gap:64px;row-gap:18px;padding:32px 0;align-items:end}
.av-hero-copy{grid-area:1/1;padding:0}
.av-hero .av-kicker{margin-bottom:12px}
.av-hero h1{font-size:clamp(40px,4.3vw,64px);margin-bottom:14px}
.av-hero .av-description{font-size:16px;line-height:1.6;margin:0;max-width:60ch}
.av-hero-image{grid-area:1/2/3/3;height:230px;box-shadow:none;align-self:center;background:#e9ece3}
.av-event-meta{grid-area:2/1;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;list-style:none;padding:0;margin:0;font-size:13px;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;flex:none}
.av-face-finder{background:var(--av-accent-soft);border:1px solid #ead3c4;border-radius:14px;padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:32px}
.av-face-intro{display:flex;align-items:center;gap:22px;min-width:0}
.av-face-emblem{position:relative;width:70px;height:70px;border-radius:18px;background:#fff9f3;border:1px solid #edcfbc;color:var(--av-accent);display:grid;place-items:center;flex:none}
.av-face-emblem>.icon:first-child{width:39px;height:39px;stroke-width:1.35}
.av-face-emblem>.av-face-spark{position:absolute;width:19px;height:19px;right:-6px;top:-5px;background:#f8ece4;border-radius:5px}
.av-face-eyebrow{font:650 12px/1.4 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:#9a4429;margin:0 0 6px}
.av-face-finder h2{font:500 26px/1.25 var(--font-sans);letter-spacing:-.035em;margin:0 0 7px;color:#44372e}
.av-face-intro p:last-child{font-size:15px;line-height:1.65;color:#776255;margin:0}
.av-face-actions{width:250px;flex:none;position:relative;text-align:center}
.av-face-cta{background:#a74322;color:#fff;border:1px solid #a74322;min-height:50px;border-radius:9px;padding:12px 18px;font:600 15px/1.5 var(--font-sans);display:inline-flex;align-items:center;justify-content:center;gap:11px;cursor:pointer;text-decoration:none;transition:background 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.av-face-cta:hover{background:#8b341a;border-color:#8b341a;box-shadow:0 3px 10px #8b341a18}
.av-face-cta:active{transform:translateY(1px)}
.av-face-cta>.icon{width:20px;height:20px;flex:none}
.av-face-cta>.icon:last-child:not(:first-child){width:17px;height:17px;margin-left:5px}
.av-face-cta:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}
.av-face-actions>.av-face-cta{width:100%}
.av-face-how{font-size:13px;color:#785f50;margin-top:8px;text-align:left}
.av-face-how summary{cursor:pointer;min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px;list-style:none;border-radius:5px}
.av-face-how summary::-webkit-details-marker{display:none}
.av-face-how summary:after{content:'+';font-size:17px}
.av-face-how[open] summary:after{content:'−'}
.av-face-how p{font-size:14px;line-height:1.65;margin:8px 0}
.av-face-how small{display:block;font-size:12px;line-height:1.6;color:#866c5b}
.av-face-finder :focus-visible,.av-selfie-dialog :focus-visible{outline:3px solid #bb684a;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:900px){.av-hero{column-gap:30px;grid-template-columns:minmax(0,1fr) 235px}.av-face-finder{padding:24px;gap:22px}.av-face-intro{gap:18px}.av-face-emblem{width:60px;height:60px}.av-face-actions{width:225px}.av-face-finder h2{font-size:24px}}
@media(max-width:640px){
 .av-header{padding:18px 20px 12px}.av-header nav{margin-bottom:0;padding-top:8px}.av-identity{font-size:15px}.av-identity small{font-size:12px}
 .av-hero{grid-template-columns:minmax(0,1fr) 95px;gap:18px 15px;padding:26px 0 24px;align-items:center}
 .av-hero-copy{grid-area:1/1}.av-hero .av-kicker{font-size:11px;letter-spacing:.04em;margin-bottom:9px}.av-hero h1{font-size:36px;line-height:1.08;margin-bottom:9px;max-width:none}.av-hero .av-description{font-size:14px;line-height:1.5}
 .av-hero-image,.av-hero.is-empty .av-hero-image{grid-area:1/2;height:144px;min-height:0;align-self:center;border-radius:7px}.av-hero-image .av-empty-cover>.icon{width:30px;height:30px}.av-hero-image .av-empty-cover>span{display:none}
 .av-event-meta{grid-area:2/1/3/3;font-size:12px;gap:8px 17px}.av-event-meta .icon{width:14px;height:14px}
 .av-face-finder{padding:20px;border-radius:12px;flex-direction:column;align-items:stretch;gap:19px;margin-bottom:26px}
 .av-face-intro{align-items:start;gap:14px}.av-face-emblem{width:44px;height:48px;border-radius:12px}.av-face-emblem>.icon:first-child{width:28px;height:28px}.av-face-emblem>.av-face-spark{width:15px;height:15px;right:-5px;top:-4px}
 .av-face-eyebrow{font-size:10px;letter-spacing:.065em;margin-bottom:6px}.av-face-finder h2{font-size:22px;line-height:1.3;margin-bottom:6px}.av-face-intro p:last-child{font-size:14px;line-height:1.65}
 .av-face-actions{width:100%}.av-face-cta{font-size:15px;min-height:50px}.av-face-actions>.av-face-cta{justify-content:center}.av-face-how{margin-top:5px;font-size:12px}.av-face-how summary{min-height:32px}
 .av-collection{padding-top:26px}.av-collection-head h2{font-size:31px}
 #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}
}
@media(prefers-reduced-motion:reduce){.av-face-cta,.av-selfie-choices>button{transition:none;transform:none}}
/* Real facial results stay within this album; matching never changes favorites. */
.av-face-result-summary{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid #e8ceba;background:#fff6ed;border-radius:10px;margin:-12px 0 28px;color:#765237}.av-face-result-summary>.icon{width:25px;height:25px;flex:none}.av-face-result-summary>div{flex:1}.av-face-result-summary strong{font-size:16px;font-weight:650}.av-face-result-summary p{font-size:13px;line-height:1.6;margin:5px 0 0}.av-tabs button[data-av=face-results][aria-pressed=true]{background:#a74322;color:#fff}.av-face-progress{padding:22px 16px;border:1px solid #e5d5c1;border-radius:12px;background:#faf2e7;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center}.av-face-progress>.icon{width:35px;height:35px;color:#a74322}.av-face-progress strong{font-size:17px;line-height:1.5}.av-face-progress progress{width:100%;height:9px;accent-color:#a74322}.av-face-progress>span{font-size:14px;color:#936242}.av-face-progress p{font-size:13px;line-height:1.7;color:#8a725c;margin:0}.av-face-choice-image{position:relative;width:min(100%,270px);margin:16px auto;background:#e8ded1}.av-face-choice-image img{width:100%;height:100%;display:block;object-fit:contain}.av-face-choice-image button{position:absolute;padding:0;border:2px solid #fff;background:#c85b291c;box-shadow:0 0 0 1px #a74322;border-radius:5px;cursor:pointer;min-height:20px;min-width:20px}.av-face-choice-image button:hover{border-color:#a74322;background:#c85b2933}.av-face-choice-image button span{position:absolute;top:-12px;left:-8px;border-radius:50%;background:#a74322;color:white;width:24px;height:24px;display:grid;place-items:center;font-size:12px}.av-face-choice-list{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}.av-face-choice-list .av-button{font-size:13px;min-height:44px}.av-empty-state>.av-button{margin:4px}
@media(max-width:640px){.av-face-result-summary{gap:12px;flex-wrap:wrap;padding:16px}.av-face-result-summary>div{min-width:200px}.av-face-result-summary>.av-button{margin-left:auto;font-size:13px}.av-tabs{gap:2px}.av-tabs button{padding:9px 6px;font-size:12px;gap:5px}.av-tabs .icon{width:15px;height:15px}.av-tabs span{font-size:11px}}
/* Wrap whole controls on small screens, never the words Mosaico or Grade. */
@media(max-width:640px){.av-layout-controls{flex:0 0 auto}.av-layout-controls .av-button,.av-gallery-toolbar>.av-button{white-space:nowrap}.av-gallery-toolbar>.av-button{margin-left:auto}}
.av-photo-open>.av-composed-photo{display:block;width:100%;height:auto;object-fit:contain}.av-layout-grid .av-photo-open>.av-composed-photo{height:100%}.av-lightbox-image>.av-composed-photo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}.av-lightbox-image.is-zoomed>.av-composed-photo{width:calc(100% * var(--photo-zoom));height:calc(100% * var(--photo-zoom));max-width:none;max-height:none}
/* Sale protection is a separate display layer; confirmed templates and JPEGs stay intact. */
.av-sale-preview{position:relative;display:block;width:100%;min-width:0;overflow:hidden}
.av-sale-preview>.photo{display:block;width:100%;height:auto;object-fit:contain}
.av-sale-watermark{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;user-select:none}
.av-layout-grid .av-sale-preview,.av-hero-image>.av-sale-preview,.av-lightbox-image>.av-sale-preview{height:100%}
.av-layout-grid .av-sale-preview>.photo,.av-hero-image>.av-sale-preview>.photo,.av-lightbox-image>.av-sale-preview>.photo{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.av-lightbox-image.is-zoomed>.av-sale-preview{width:calc(100% * var(--photo-zoom));height:calc(100% * var(--photo-zoom));max-width:none;max-height:none}
.av-lightbox-image.is-zoomed>.av-sale-preview>.photo{width:100%;height:100%;max-width:100%;max-height:100%}
