/* Brand assets and colors taken from michaelwoolheater.com, 2026-10-12. */
@font-face{font-family:'MW Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url('/assets/fraunces.woff2') format('woff2')}
@font-face{font-family:'MW Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url('/assets/fraunces-italic.woff2') format('woff2')}
@font-face{font-family:'MW Jakarta';font-style:normal;font-display:swap;font-weight:200 800;src:url('/assets/jakarta.woff2') format('woff2')}
@font-face{font-family:'MW Outfit';font-style:normal;font-display:swap;font-weight:100 900;src:url('/assets/outfit.woff2') format('woff2')}
@font-face{font-family:'MW Marker';font-style:normal;font-display:swap;font-weight:400;src:url('/assets/marker.woff2') format('woff2')}
:root{--bg:oklch(20.5% .004 264);--fg:oklch(98.5% 0 0);--panel:oklch(24.5% .004 264);--muted:oklch(74% 0 0);--accent:#e8c07a;--coral:#ff96c8;--font:'MW Jakarta',sans-serif;--heading:'MW Fraunces',Georgia,serif}
.brand img{width:190px;height:74px}.brand-name{border-left:1px solid #ffffff25;padding-left:18px;font:600 10px/1.7 var(--font);letter-spacing:.2em}.brand-name span{letter-spacing:.13em;font-size:8px}.hero h1{font-weight:360;font-style:italic;letter-spacing:-.045em;line-height:.9;font-variation-settings:'opsz' 144,'SOFT' 100;font-size:clamp(110px,12vw,175px)}.hero h1 span{font:400 .98em/1.05 'MW Marker',cursive;letter-spacing:-.055em;color:#fff;margin-top:16px;transform:rotate(-3deg);text-shadow:0 0 80px #e8c07a13}.hero h1 span:after{background:#fff;width:140px;left:calc(50% - 70px);height:3px;bottom:-8px;box-shadow:none}.hero-copy{font-family:'MW Outfit',sans-serif;font-size:19px;font-weight:350;color:#d0d1d4}.eyebrow{font:600 10px/1.6 var(--font);letter-spacing:.22em;color:#c6c6ca}.eyebrow:before,.eyebrow:after{background:#e8c07a}.primary{background:white;color:#141518;font-family:var(--font);font-size:12px;box-shadow:0 0 0 0 #ffffff8c,0 0 22px 6px #ef444459,0 0 44px 12px #3b82f638}.primary.large{animation:mw-pulse 2.4s ease-in-out infinite;font-size:15px;padding:22px 34px;letter-spacing:.025em}.primary:hover{background:#f2f2f2}.ambient-a{background:#e8c07a;opacity:.15;left:-15vw;top:-10vh;filter:blur(100px)}.ambient-b{background:#60a5fa;opacity:.13;right:-15vw;bottom:-10vh;filter:blur(100px)}.spark{color:#e8c07a;opacity:.65}.orb{border-color:#e8c07a12}.dot{background:#e8c07a;box-shadow:0 0 12px #e8c07a66}.hero .tiny{letter-spacing:.2em;font-size:9px}.footer{font-size:9px;letter-spacing:.13em}.admin-page{font-family:var(--font)!important}.admin-page h1,.admin-page h2,.admin-page h3,.admin-stat-value{font-family:var(--heading)!important}.admin-button,.admin-tab,.admin-stat-value span{font-family:var(--font)!important}.admin-button-primary{background:#fff!important;border-color:#fff!important;color:#1a1a1a!important;box-shadow:0 0 18px #ef444420,0 0 30px #3b82f618!important}.admin-button-primary:hover{background:#f1f1f1!important}.countdown strong{font-family:'MW Outfit',sans-serif}.page h1{font-weight:400}.share-panel h2{font-family:'MW Outfit',sans-serif;letter-spacing:-.03em;font-weight:450}.modal h2{font-weight:400}.camera-label .dot{display:inline-block}.photo-float{opacity:.2;border-color:#ffffff22}
@keyframes mw-pulse{0%,100%{box-shadow:0 0 0 0 #ffffff8c,0 0 22px 6px #ef444459,0 0 44px 12px #3b82f638}50%{box-shadow:0 0 0 6px #fff0,0 0 34px 10px #ef44448c,0 0 70px 22px #3b82f659}}
@media(max-width:900px){.hero h1{font-size:138px}}@media(orientation:portrait) and (min-width:700px){.hero h1{font-size:170px}}@media(max-width:600px){.brand img{width:140px;height:55px}.brand-name{display:none}.hero h1{font-size:112px}.hero-copy{font-size:17px}.brand{gap:0}.primary.large{font-size:14px}.header .tag{max-width:120px}}@media(prefers-reduced-motion:reduce){.primary.large{animation:none}}
.shell{padding:24px 36px}.brand img{width:165px;height:65px}.brand-name{font-size:9px;padding-left:14px}.hero-content{max-width:650px}.hero-copy{margin:26px auto 30px;font-size:17px;max-width:360px}.hero .tiny{margin-top:23px;font-size:8px;letter-spacing:.14em}.compact-footer{justify-content:center;border-top:0;padding-top:15px}.compact-footer .steps,.compact-footer .copyright{display:none}.compact-footer .booth-lock{font-size:8px;letter-spacing:.22em;opacity:.65}.hero-content>*{animation:mw-reveal .75s cubic-bezier(.2,.7,.2,1) both}.hero-content>.eyebrow{animation-delay:.04s}.hero-content>h1{animation-delay:.12s}.hero-content>.hero-copy{animation-delay:.2s}.hero-content>.primary{animation:mw-reveal .75s .28s cubic-bezier(.2,.7,.2,1) both,mw-pulse 2.4s 1s ease-in-out infinite}.hero-content>.tiny{animation-delay:.38s}.page,.guest-photo,.admin-page{animation:mw-reveal .45s cubic-bezier(.2,.7,.2,1) both}.ambient-a{animation:mw-ambient 24s ease-in-out infinite}.ambient-b{animation:mw-ambient 30s -12s ease-in-out infinite reverse}.closing-scene{animation:mw-close .38s cubic-bezier(.4,0,.2,1) both}.closing-scene .share-panel{animation:mw-sheet-close .25s ease both}.icon-btn{transition:background .2s,transform .2s}.icon-btn:hover{background:#ffffff10;transform:rotate(6deg)}.secondary:active,.primary:active{scale:.97}.share-panel{border-radius:16px}.qr{border-radius:8px}.hero{min-height:520px}.spark{font-size:26px}.photo-float{opacity:.17}
@keyframes mw-reveal{from{opacity:0;translate:0 14px;filter:blur(4px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes mw-ambient{50%{translate:6vw 8vh;scale:1.12}}@keyframes mw-close{to{opacity:0;scale:.98;filter:blur(5px)}}@keyframes mw-sheet-close{to{opacity:0;translate:0 28px}}
@media(orientation:portrait) and (min-width:700px){.hero{min-height:700px}.hero-content{padding-bottom:55px}}@media(max-width:600px){.shell{padding:16px 20px}.brand img{width:130px;height:51px}.hero{min-height:520px}.hero-copy{font-size:15px;max-width:300px}.hero .tiny{font-size:7px}.hero-content{padding:28px 0}.camera-scene{margin-top:17px}.compact-footer{padding-top:10px}.brand-name{display:none}}@media(prefers-reduced-motion:reduce){.hero-content>*,.hero-content>.primary,.page,.guest-photo,.admin-page,.ambient,.closing-scene,.closing-scene .share-panel{animation:none!important}.closing-scene{opacity:0}}
.camera-label svg{width:16px;height:16px;vertical-align:middle;margin-right:5px}.empty>svg{width:32px;height:32px}.camera-label{display:inline-flex;align-items:center}.camera-top{align-items:flex-start}.qr svg{stroke:none;fill:#0f1117}
.brand img{width:100px;height:40px}.brand-name{font-size:8px;padding-left:12px}.brand-name span{font-size:7px}.brand{gap:12px}.edition-tabs{display:flex;justify-content:center;gap:4px;border:1px solid #ffffff1c;border-radius:99px;padding:4px;background:#16171cdd;backdrop-filter:blur(16px);width:max-content;margin:0 auto 20px}.edition-tab{padding:8px 17px;border:0;border-radius:99px;background:none;font:500 11px var(--font);color:#bbb;transition:background .2s,color .2s;min-height:36px}.edition-tab.selected{background:#fff;color:#17181c}.edition-tab:hover{color:#e8c07a}.edition-tab.selected:hover{color:#17181c}.result-editions{position:absolute;top:20px;left:50%;translate:-50% 0;z-index:2}.result-editions .edition-tabs{margin-bottom:0}.result-editions .edition-tab{padding:5px 14px;min-height:30px;font-size:10px}.guest-photo h1{font-size:clamp(27px,4vw,43px);margin-bottom:20px}.guest-photo>img{transition:opacity .2s}.edition-change{animation:edition-fade .35s ease both}.moment-gallery{display:grid;gap:30px}.moment-set{padding-top:18px;border-top:1px solid var(--line)}.moment-set-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.moment-set-head>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.moment-set-head a{font-size:11px}.moment-set-head svg{width:14px;height:14px}.moment-versions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.moment-version{text-decoration:none;min-width:0}.moment-version img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:10px;transition:filter .2s}.moment-version:hover img{filter:brightness(1.08)}.moment-version span{display:block;padding:10px 4px 0;color:var(--muted);font-size:11px;letter-spacing:.03em}@keyframes edition-fade{from{opacity:.35}to{opacity:1}}@media(max-width:700px){.camera-top .camera-label{max-width:42%;font-size:10px}.result-editions{top:65px}.result-editions .edition-tab{font-size:9px;padding:5px 13px}.reset{font-size:9px;right:15px;top:22px}}@media(max-width:600px){.brand img{width:86px;height:34px}.moment-versions{gap:6px}.moment-version span{font-size:10px;text-align:center}.moment-version img{border-radius:7px}.edition-tab{font-size:10px;padding:7px 15px}.moment-set-head a{font-size:10px}.header .tag{max-width:140px}.guest-photo .tiny{font-size:10px}.brand{gap:0}}@media(prefers-reduced-motion:reduce){.edition-change{animation:none}}
.camera-scene video{object-fit:contain!important}
.result-scene{display:flex;flex-direction:column;padding:62px 16px 185px}.result-scene .result-photo{flex:1;width:100%;height:100%;min-height:0;object-fit:contain}.result-scene .share-panel{bottom:16px}.result-scene .result-editions{top:20px}@media(max-width:700px){.result-scene{padding-top:95px;padding-bottom:172px}.result-scene .result-editions{top:56px}.result-scene .share-panel{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:12px;bottom:12px}.result-scene .qr{width:80px;height:80px;padding:6px}.result-scene .qr svg{width:68px;height:68px}.result-scene .share-panel h2{font-size:15px;line-height:1.35}.result-scene .share-panel p{font-size:10px;line-height:1.5;margin:5px 0 8px}.result-scene .share-buttons{gap:6px;flex-wrap:wrap}.result-scene .share-buttons button{padding:7px 9px;gap:6px;font-size:10px;min-height:36px}.result-scene .share-buttons svg{width:14px;height:14px}.result-scene .share-panel:has(#upload-retry){display:block}}@media(max-width:360px){.result-scene{padding-bottom:215px}}
.brand-name{font-size:9px;letter-spacing:.12em}.brand-name span{letter-spacing:.08em;font-size:6px}@media(max-width:600px){.brand{gap:8px}.brand img{width:72px;height:28px}.brand-name{display:block;font-size:7px;padding-left:8px;white-space:nowrap}.brand-name span{font-size:5px}.header{gap:12px}.header .tag{max-width:110px}}@media(max-width:360px){.header .tag{max-width:70px;padding-left:8px;padding-right:8px}.brand-name{font-size:6px}.brand-name span{font-size:4px}}

/* Camera, capture sparkle and original MWM artwork share one Moment lockup. */
.brand{min-width:0;gap:0;flex-shrink:1}.brand img.moment-logo{display:block;width:280px;height:auto;max-width:100%;object-fit:contain}.header-actions{flex-shrink:0}
@media(max-width:700px){.brand img.moment-logo{width:218px}.header .tag{max-width:110px}}
@media(max-width:600px){.brand img.moment-logo{width:188px}.header-actions{gap:8px}.header .tag{max-width:88px}.header{gap:12px}}
@media(max-width:370px){.brand img.moment-logo{width:165px}.header .tag{max-width:65px;padding-left:8px;padding-right:8px}.header{gap:8px}}

/* Guest booth: one headline, one action, and a discreet PIN-protected exit. */
.shell.booth-shell{padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));min-height:100dvh}
.booth-shell .booth-welcome{min-height:0;margin:0;overflow:visible;display:grid;place-items:center}
.booth-shell .booth-welcome .hero-content{max-width:100%;padding:0;display:flex;flex-direction:column;align-items:center;gap:clamp(28px,5vh,52px)}
.booth-shell .booth-welcome h1.booth-title{font-family:var(--heading);font-size:clamp(44px,10.5vw,154px);font-weight:400;font-style:italic;letter-spacing:-.045em;line-height:1.08;white-space:nowrap;margin:0;cursor:default}
.booth-shell .booth-welcome .primary.large{font-size:clamp(13px,1.8vw,18px);line-height:1.3;padding:22px 28px;min-height:62px;max-width:100%;white-space:nowrap}
.booth-exit{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:10;width:40px;height:40px;opacity:.7;color:var(--muted);background:transparent;border-color:#ffffff19}
.booth-exit:hover{opacity:1;transform:none;color:var(--fg)}
.booth-shell .camera-scene{margin-top:44px}
@media(max-height:500px){.booth-shell .booth-welcome .hero-content{gap:22px}.booth-shell .booth-welcome h1.booth-title{font-size:clamp(44px,9vw,100px)}}

.admin-access{width:min(100%,460px);margin:clamp(32px,8vh,100px) auto;padding:28px 0}.admin-access h1{font-family:var(--heading);font-weight:400;font-size:clamp(32px,5vw,46px);line-height:1.15;margin:14px 0 18px}.admin-access p{color:var(--muted);font-size:14px;line-height:1.7}.admin-access strong{overflow-wrap:anywhere;color:var(--fg)}.admin-access form{display:flex;flex-direction:column;gap:9px;margin-top:26px}.admin-access label{font-size:12px;margin-top:10px}.admin-access input{width:100%;min-height:50px;padding:12px 14px;background:#ffffff06;border:1px solid #ffffff24;border-radius:10px;color:var(--fg);font-size:16px}.admin-access input[readonly]{color:#b7b8bf}.admin-access .primary{margin-top:16px;min-height:48px}.admin-access .auth-help{font-size:12px;margin:4px 0}.auth-recover{display:inline-block;margin-top:24px;font-size:12px}.auth-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:22px;flex-wrap:wrap}.auth-toolbar span{color:var(--muted);font-size:11px}.auth-toolbar button{font-size:11px;min-height:36px}

/* A quiet public event picker; the menu stays above the centered content. */
.shell.event-picker-shell{min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
.event-picker-shell>.header{flex:0 0 auto;gap:20px}
.public-event-picker{flex:1;display:flex;align-items:center;justify-content:center;width:100%;margin:0 auto;padding:clamp(24px,4vh,48px) 0;text-align:center}
.event-picker-content{width:min(100%,800px);display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3vh,28px);min-width:0}
.public-event-picker h1{font-family:var(--heading);font-size:clamp(26px,5vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.035em;white-space:nowrap;margin:0}
.public-event-picker .event-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));width:100%;gap:14px}
.public-event-picker .event-picker-grid.single-event{max-width:520px}
.public-event-picker .event-card{text-align:center;align-items:center;justify-content:center;min-width:0;min-height:170px;padding:22px;gap:8px}
.public-event-picker .event-card h3{font-family:'MW Marker',cursive;font-weight:400;font-size:clamp(24px,3.3vw,32px);line-height:1.25;letter-spacing:-.025em;max-width:100%;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.public-event-picker .event-card small,.public-event-picker .event-num{white-space:nowrap}
.public-event-picker .event-card .chosen{align-self:center;margin-top:5px;line-height:1}
.public-event-picker .event-picker-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,520px);margin:0;padding:24px 16px;gap:14px;min-width:0}
.event-picker-controls h2{font-family:var(--heading);font-size:clamp(18px,2.5vw,25px);font-weight:500;line-height:1.25;letter-spacing:-.025em;white-space:nowrap;margin:0}
.event-picker-controls p{font-size:clamp(12px,1.65vw,14px);line-height:1.5;white-space:nowrap;margin:0}
.event-picker-controls .primary{min-height:50px;white-space:nowrap;padding:15px 26px;font-size:14px}
.public-event-picker .empty h2,.public-event-picker .empty p{text-wrap:balance}
.booth-shell .booth-welcome h1.booth-title{font-size:clamp(26px,7.6vw,132px);white-space:nowrap}
@media(max-width:370px){.shell.event-picker-shell{padding-left:20px;padding-right:20px}.event-picker-controls p{font-size:11px}.public-event-picker .event-card{padding:18px;min-height:154px}}

/* Living prism light and floating event prints on the ready-to-capture screen. */
.booth-shell:has(.booth-welcome){isolation:isolate;background:#10131dcc}
.booth-shell .booth-welcome{isolation:isolate;position:static}
.booth-prism,.booth-welcome .floating-photos,.booth-sparkles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.booth-prism{background:radial-gradient(ellipse at 50% 50%,#14142000 5%,#10131d55 70%)}
.prism-wash{position:absolute;inset:-35%;background:conic-gradient(from 20deg at 48% 50%,#36d9b555,#6684ff99,#dc68da88,#ffa76c66,#51dbbe66,#6684ff88,#36d9b555);filter:blur(65px);animation:moment-spectrum 28s linear infinite;opacity:.7}
.prism-beam{position:absolute;width:32vw;min-width:140px;height:150%;top:-25%;background:linear-gradient(90deg,transparent,#91baff24 22%,#d8b4fa44 44%,#fff6bb30 55%,#84f7e529 68%,transparent);transform:rotate(28deg);filter:blur(8px);mix-blend-mode:screen;animation:moment-refract 19s ease-in-out infinite alternate}
.prism-beam-a{left:4%}.prism-beam-b{right:2%;animation-delay:-10s;animation-direction:alternate-reverse;opacity:.65}
.prism-halo{position:absolute;inset:12% -30%;border:1px solid #dcceff24;border-radius:50%;transform:rotate(-28deg);box-shadow:0 0 70px #b0a1ef18,inset 0 0 70px #a5dff518;animation:moment-halo 20s ease-in-out infinite alternate}
.booth-welcome .hero-content{z-index:2;transform:translate(var(--drift-x,0px),var(--drift-y,0px));transition:transform .5s ease-out}
.booth-headline{animation:moment-title-drift 9s ease-in-out infinite!important}
.booth-shell .booth-welcome h1.booth-title{color:#fff9ee;text-shadow:0 0 18px #f8d8ff55,0 0 55px #a6b4ff66,0 2px 20px #0d102c88;animation:moment-text-glow 8s ease-in-out infinite}
.booth-shell .booth-welcome .primary.large{min-height:48px;min-width:0;padding:14px 24px;font-size:clamp(12px,1.45vw,16px);font-weight:400;letter-spacing:.015em;color:#fff9ee;background:#ffffff0e;border:1px solid #ffffff65;box-shadow:inset 0 1px 0 #ffffff19,0 8px 30px #0b0e2726;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:none;transition:background .25s,border-color .25s,transform .25s}
.booth-shell .booth-welcome .primary.large:hover{background:#ffffff21;border-color:#ffffffb3;transform:translateY(-2px)}
.booth-shell .booth-exit{background:#15182944;backdrop-filter:blur(10px);color:#e0def0}
.moment-float{position:absolute;width:clamp(100px,16vw,230px);aspect-ratio:4/5;border:5px solid #f7f2e9bf;border-bottom-width:20px;border-radius:3px;background:#f7f2e9;box-shadow:0 16px 50px #07091c66;opacity:.58;transform:rotate(var(--tilt));animation:moment-print-drift 13s ease-in-out infinite;will-change:translate}
.moment-float img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82)}
.moment-float-0{left:5%;top:9%;--tilt:-12deg;animation-delay:-2s}.moment-float-1{right:6%;top:6%;--tilt:11deg;animation-delay:-7s}.moment-float-2{left:10%;bottom:7%;--tilt:8deg;animation-delay:-10s}.moment-float-3{right:8%;bottom:5%;--tilt:-9deg;animation-delay:-5s}
.booth-sparkles i{position:absolute;width:3px;height:3px;background:#fff3d9;border-radius:50%;box-shadow:0 0 9px 2px #d8ceff99;animation:moment-twinkle 5s ease-in-out infinite;animation-delay:calc(var(--i)*-.73s)}
.booth-sparkles i:nth-child(3n){width:12px;height:12px;background:linear-gradient(90deg,transparent 42%,#fff5d8 50%,transparent 58%),linear-gradient(transparent 42%,#fff5d8 50%,transparent 58%);border-radius:0;box-shadow:none}
@keyframes moment-spectrum{to{transform:rotate(360deg);filter:blur(65px) hue-rotate(55deg)}}
@keyframes moment-refract{to{translate:14vw 3vh;transform:rotate(42deg);opacity:.35}}
@keyframes moment-halo{to{transform:rotate(-15deg) scale(1.15);translate:0 4vh}}
@keyframes moment-title-drift{50%{translate:0 -7px;transform:rotate(-.5deg)}}
@keyframes moment-text-glow{50%{text-shadow:0 0 24px #bdf8ee66,0 0 65px #db97de88,0 2px 20px #0d102c88}}
@keyframes moment-print-drift{50%{translate:8px -18px;transform:rotate(calc(var(--tilt) + 3deg))}}
@keyframes moment-twinkle{0%,100%{opacity:.15;scale:.6}50%{opacity:.9;scale:1.2}}
@media(max-width:600px){.moment-float{width:clamp(92px,27vw,145px);border-width:4px;border-bottom-width:15px;opacity:.6}.moment-float-0{left:-3%;top:11%}.moment-float-1{right:-2%;top:7%}.moment-float-2{left:-1%;bottom:10%}.moment-float-3{right:-3%;bottom:6%}.booth-shell .booth-welcome .hero-content{gap:30px}.prism-wash{filter:blur(40px)}}
@media(max-height:500px){.moment-float{width:100px;opacity:.35}.moment-float-0,.moment-float-2{left:0}.moment-float-1,.moment-float-3{right:0}.booth-shell .booth-welcome .hero-content{gap:22px}}
@media(prefers-reduced-motion:reduce){.booth-prism *,.booth-headline,.booth-shell .booth-welcome h1.booth-title,.moment-float,.booth-sparkles i{animation:none!important}.booth-welcome .hero-content{transform:none!important;transition:none}.prism-wash{transform:rotate(15deg)}.booth-sparkles i{opacity:.4}}

/* The edits develop at center stage; the QR panel appears only when saved. */
.share-panel[hidden]{display:none}
.photo-processing{position:absolute;inset:0;z-index:4;display:grid;place-items:center;background:#0c102568;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);padding:20px;text-align:center}
.processing-card{width:min(100%,380px);padding:32px 22px;border:1px solid #ffffff2c;border-radius:24px;background:linear-gradient(135deg,#25263bd9,#171c2cdd);box-shadow:0 20px 80px #080b2599,0 0 70px #b19bed22}
.processing-emblem{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:210px;height:100px;margin:0 auto 20px;color:#c6b5ec}
.processing-emblem>span{font:300 28px/1 monospace;text-shadow:0 0 20px #c9a9ff99}
.processing-emblem img{width:94px;height:80px;object-fit:contain;filter:drop-shadow(0 0 12px #bca1ff55);animation:processing-breathe 3s ease-in-out infinite}
.processing-emblem i{position:absolute;font-style:normal;color:#ffe7ad;animation:moment-twinkle 2.5s ease-in-out infinite;left:25px;top:0;font-size:20px}.processing-emblem i:nth-last-child(2){left:auto;right:12px;top:24px;animation-delay:-1s;font-size:26px}.processing-emblem i:last-child{left:65%;top:auto;bottom:0;animation-delay:-1.7s;font-size:13px}
.processing-card h2{font-family:var(--heading);font-size:clamp(25px,4vw,36px);font-weight:400;letter-spacing:-.03em;color:#fff7ee;text-shadow:0 0 20px #d3b5ff66}
.processing-card p{font-size:13px;line-height:1.6;color:#dfdaeb;margin:12px auto 24px;max-width:270px;text-wrap:balance}
.processing-track{height:2px;width:100px;margin:auto;overflow:hidden;background:#ffffff18}.processing-track i{display:block;height:100%;width:40%;background:linear-gradient(90deg,#9ce5da,#dcb6fa,#f4d39a);animation:processing-track 1.8s ease-in-out infinite}
.processing-dots{animation:processing-breathe 1.5s ease-in-out infinite}
.moment-celebration{position:fixed;inset:0;z-index:12;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#c4adff22,transparent 60%);transition:opacity .4s}
.celebration-copy{position:absolute;left:0;right:0;top:max(85px,15%);text-align:center;font:400 clamp(28px,5vw,54px)/1.2 var(--heading);font-style:italic;color:#fff8e9;text-shadow:0 0 25px #d6b8ff99,0 2px 15px #080b24;padding:0 20px;animation:mw-reveal .3s ease both}.celebration-copy span{color:#efd59f;font-size:.7em}
.moment-celebration>i{position:absolute;left:var(--x);top:-22px;width:7px;height:12px;background:var(--color);border-radius:1px;animation:moment-confetti 1.9s var(--delay) cubic-bezier(.2,.6,.5,1) both}
.moment-celebration>i:nth-child(3n){border-radius:50%;width:6px;height:6px}.moment-celebration.celebration-out{opacity:0}
@keyframes moment-confetti{0%{opacity:0;transform:translate(0,-3vh) rotate(0)}8%{opacity:1}100%{opacity:0;transform:translate(var(--sway),105dvh) rotate(var(--turn))}}
@keyframes processing-breathe{50%{opacity:.55;scale:.97}}
@keyframes processing-track{from{translate:-100% 0}to{translate:350% 0}}
@media(prefers-reduced-motion:reduce){.processing-emblem *,.processing-dots,.processing-track i,.celebration-copy{animation:none!important}.processing-track i{width:100%}.moment-celebration>i{display:none}}

/* A brief Moment reveal replaces the former extra landing screen. */
.intro-shell{isolation:isolate;background:#10131d;min-height:100dvh;overflow:hidden}
.intro-shell .moment-intro{position:static;min-height:0;flex:1;opacity:1;transition:opacity .45s ease,filter .45s ease}
.intro-depth{position:relative;width:min(82vw,650px);transform:translate(var(--intro-x,0px),var(--intro-y,0px));transition:transform .55s ease-out;z-index:2}
.intro-logo-reveal{position:relative;z-index:2;animation:moment-logo-arrive 1.5s cubic-bezier(.16,.75,.2,1) both,moment-intro-float 6s 1.5s ease-in-out infinite}
.intro-logo-reveal img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 26px #d5b5f955) drop-shadow(0 0 65px #91caff33)}
.intro-orbit{position:absolute;inset:-85% -10%;border:1px solid #e6d2ff33;border-radius:50%;box-shadow:0 0 20px #c8a8ff18;transform:rotate(-25deg);animation:moment-intro-orbit 9s ease-in-out infinite alternate}
.intro-orbit-b{inset:-110% 10%;transform:rotate(32deg);border-color:#a9e7df26;animation-direction:alternate-reverse}
.moment-intro.intro-out{opacity:0;filter:blur(8px)}
.event-picker-content{animation:mw-reveal .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes moment-logo-arrive{from{opacity:0;transform:translateY(18px) scale(.9);filter:blur(12px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes moment-intro-float{50%{translate:0 -9px;transform:rotate(-.7deg)}}
@keyframes moment-intro-orbit{to{transform:rotate(8deg) scale(1.08);translate:0 -12px}}
@media(prefers-reduced-motion:reduce){.intro-depth{transform:none;transition:none}.intro-logo-reveal,.intro-orbit,.event-picker-content{animation:none!important}.intro-shell .moment-intro{transition:opacity .1s}.moment-intro.intro-out{filter:none}}

/* Moment's evening palette: graphite, pearl light, and brushed champagne gold. */
:root{--bg:#1b1b1c;--panel:#252525;--accent:#cbb485;--muted:#b3b0aa}
.ambient-a{background:#b6a17a;opacity:.07}.ambient-b{background:#d4d2cc;opacity:.045}
.primary{box-shadow:0 0 25px #cbb48518}.primary.large,.hero-content>.primary{animation:mw-reveal .75s ease both}
.admin-button-primary{box-shadow:0 0 20px #cbb48518!important}
.shell.booth-shell:has(.booth-welcome),.intro-shell{background:#191919}
.booth-prism{background:radial-gradient(ellipse at 50% 45%,#34322f66 0%,#1c1c1c44 45%,#161616aa 100%)}
.prism-wash{background:conic-gradient(from 20deg at 48% 50%,#181818,#c4b08a27,#57565444,#f2ece229,#222222,#9a886523,#181818);opacity:.5;filter:blur(65px);animation:moment-neutral-light 32s ease-in-out infinite alternate}
.prism-beam{background:linear-gradient(90deg,transparent,#eee8db05 22%,#f3eee31c 44%,#d5bc8b19 55%,#ffffff08 68%,transparent);filter:blur(14px);opacity:.55}
.prism-beam-b{opacity:.3}
.prism-halo{border-color:#d4c29d0d;box-shadow:0 0 55px #d4c29d05,inset 0 0 55px #ffffff04}
.booth-shell .booth-exit{background:#20202066;color:#d9d5cc;border-color:#ffffff1c}
.booth-shell .booth-welcome h1.booth-title{font-size:clamp(28px,8vw,144px);font-weight:650;letter-spacing:-.055em;color:#faf7ef;text-shadow:0 2px 24px #0009;animation:moment-pearl-shimmer 9s ease-in-out infinite;background:linear-gradient(110deg,#f7f3eb 15%,#fff 34%,#cbb485 47%,#fffaf0 54%,#f7f3eb 70%);background-size:280% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.booth-headline{animation:moment-title-drift 12s ease-in-out infinite!important}
.booth-shell .booth-welcome .primary.large{background:#ffffff08;border-color:#c8b58b80;color:#ede8df;box-shadow:inset 0 1px 0 #ffffff0c,0 8px 26px #0002;font-weight:450}
.booth-shell .booth-welcome .primary.large:hover{background:#cbb48516;border-color:#d7c59e}
.booth-sparkles i{background:#efe4c9;box-shadow:0 0 7px 1px #d6c39b55;width:2px;height:2px;opacity:.4}
.booth-sparkles i:nth-child(3n){width:9px;height:9px;background:linear-gradient(90deg,transparent 45%,#e8ddc5aa 50%,transparent 55%),linear-gradient(transparent 45%,#e8ddc5aa 50%,transparent 55%);box-shadow:none}
.moment-float{width:clamp(95px,12vw,180px);opacity:.2;border:3px solid #ded8ca;border-bottom-width:12px;box-shadow:0 12px 40px #0005;background:#ded8ca}
.moment-float img{filter:grayscale(.55) saturate(.45)}
.moment-float-0{left:4%;top:7%;--tilt:-11deg}.moment-float-1{right:5%;top:6%;--tilt:9deg}.moment-float-2{left:7%;bottom:6%;--tilt:7deg}.moment-float-3{right:7%;bottom:5%;--tilt:-10deg}
.moment-float-4{left:24%;top:1%;--tilt:8deg;animation-delay:-8s;opacity:.12}.moment-float-5{right:25%;bottom:-3%;--tilt:10deg;animation-delay:-4s;opacity:.13}.moment-float-6{left:-3%;top:39%;--tilt:-7deg;animation-delay:-11s;opacity:.11}.moment-float-7{right:-3%;top:40%;--tilt:7deg;animation-delay:-6s;opacity:.12}
.intro-logo-reveal img{filter:drop-shadow(0 0 24px #d4c29d2a) drop-shadow(0 0 60px #ffffff10)}
.intro-orbit{border-color:#d4c29d22;box-shadow:0 0 20px #c8b58b08}.intro-orbit-b{border-color:#eeeeee12}
.photo-processing{background:#18181888}.processing-card{background:linear-gradient(135deg,#343330ee,#202020ee);border-color:#cbb48533;box-shadow:0 20px 80px #0008,0 0 55px #cbb4850c}
.processing-emblem{color:#cbb485}.processing-emblem>span{text-shadow:0 0 18px #cbb48544}.processing-emblem img{filter:drop-shadow(0 0 10px #cbb48525)}.processing-emblem i{color:#e8d7b0}
.processing-card h2{color:#f7f3eb;text-shadow:0 0 18px #cbb48522}.processing-card p{color:#c9c5bb}.processing-track i{background:linear-gradient(90deg,#a38b5e,#f6f2e9,#cbb485)}
.moment-celebration{background:radial-gradient(ellipse at 50% 30%,#cbb48517,transparent 60%)}.celebration-copy{color:#f7f3eb;text-shadow:0 0 25px #cbb48555,0 2px 15px #000}.celebration-copy span{color:#d8c397}
.count-ring{border-color:#ffffff30;box-shadow:0 0 60px #cbb48520}
@keyframes moment-neutral-light{to{transform:rotate(35deg) scale(1.08);translate:3vw 4vh}}
@keyframes moment-pearl-shimmer{0%,20%{background-position:100% 50%}75%,100%{background-position:0% 50%}}
@media(max-width:600px){.moment-float{width:clamp(82px,23vw,125px);opacity:.18;border-width:3px;border-bottom-width:10px}.moment-float-0{left:-5%;top:10%}.moment-float-1{right:-4%;top:9%}.moment-float-2{left:0;bottom:10%}.moment-float-3{right:-3%;bottom:7%}.moment-float-4{left:32%;top:0;opacity:.1}.moment-float-5{right:29%;bottom:-3%;opacity:.12}.moment-float-6{left:-9%;top:35%;opacity:.09}.moment-float-7{right:-9%;top:57%;opacity:.09}}
@media(prefers-reduced-motion:reduce){.prism-wash,.booth-shell .booth-welcome h1.booth-title{animation:none!important}}

/* Clear photo-first results, with sharing and completion in a separate tray. */
.prism-halo,.intro-orbit,.orb{display:none}
.booth-shell .result-scene{display:grid;grid-template-rows:minmax(160px,1fr) auto;aspect-ratio:auto;height:calc(100dvh - 94px);max-height:none;background:#111}
.result-scene>.result-photo{display:block;min-height:0;max-height:100%;object-fit:contain;grid-row:1}
.result-scene .share-panel{position:relative;bottom:auto;left:auto;transform:none;translate:none;width:auto;max-width:700px;margin:14px auto 18px;padding:20px 24px;background:#242423f5;border-color:#cbb48526;box-shadow:0 10px 30px #0004;border-radius:18px;gap:16px;grid-row:2}
.result-scene .share-panel.result-sharing{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:22px;row-gap:16px;width:calc(100% - 36px)}
.share-qr{display:grid;justify-items:center;gap:7px;grid-row:1}.share-qr>span{font-size:10px;color:#c9c2b5;letter-spacing:.04em}
.result-sharing .qr{width:106px;height:106px;padding:7px}.result-sharing .qr svg{width:92px;height:92px}
.share-copy{align-self:center;min-width:0}.result-sharing .share-copy h2{font:500 clamp(18px,2.1vw,24px)/1.25 'MW Outfit',sans-serif;letter-spacing:-.025em;text-wrap:balance;color:#f6f2e9}
.result-sharing .share-copy p{margin:9px 0 5px;font-size:13px;color:#bdb9b1}.share-looks{font-size:11px;color:#cbb485;white-space:nowrap;letter-spacing:.02em}
.result-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;border-top:1px solid #ffffff12;padding-top:16px}
.result-actions button{min-height:46px;white-space:nowrap;padding:11px 18px;font-size:13px;font-weight:500;gap:8px;box-shadow:none}.result-actions .primary{background:#eee8db;color:#24221d;border-color:#eee8db}.result-actions svg{width:18px;height:18px}
.delete-photo-button{display:flex;align-items:center;justify-content:center;border:0;border-radius:99px;background:transparent;color:#b9afa7}.delete-photo-button:hover{background:#ffffff09;color:#f0ded4}
.result-reset{grid-column:1/-1;text-align:center;font-size:10px;letter-spacing:.04em;color:#938e84;margin-top:-5px}
.delete-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.modal .delete-confirm-actions .primary{margin:0;width:auto;background:#e5d8c1;color:#2b241c;box-shadow:none}.delete-confirm-actions button{font-size:13px;min-height:48px;padding:12px}
#delete-error:not(:empty){color:#e5baaa;font-size:13px;margin-top:12px}
@media(max-width:600px){.booth-shell .result-scene{height:calc(100dvh - 82px);grid-template-rows:minmax(140px,1fr) auto}.result-scene .share-panel.result-sharing{width:calc(100% - 20px);padding:16px;gap:13px;margin:10px auto}.result-sharing .qr{width:88px;height:88px;padding:6px}.result-sharing .qr svg{width:76px;height:76px}.share-qr>span{font-size:9px}.result-sharing .share-copy h2{font-size:18px}.result-sharing .share-copy p{font-size:11px}.share-looks{font-size:10px}.result-actions{gap:6px;padding-top:13px;grid-template-columns:1.15fr 1fr auto}.result-actions button{font-size:11px;padding:10px 12px;gap:5px}.result-actions svg{width:15px;height:15px}}
@media(max-width:370px){.result-actions button{padding:10px 8px;font-size:10px}.result-sharing .share-copy h2{font-size:16px}.result-sharing .qr{width:76px;height:76px}.result-sharing .qr svg{width:64px;height:64px}}
@media(max-height:500px) and (min-width:650px){.booth-shell .result-scene{height:calc(100dvh - 84px);grid-template-columns:minmax(0,1fr) minmax(280px,330px);grid-template-rows:1fr;align-items:center}.result-scene .share-panel.result-sharing{grid-row:1;grid-column:2;width:calc(100% - 20px);margin:10px;padding:16px;gap:12px}.result-sharing .qr{width:84px;height:84px}.result-sharing .qr svg{width:70px;height:70px}.result-actions button{font-size:11px;padding:10px}.result-sharing .share-copy h2{font-size:18px}.result-scene .result-editions{left:26%;top:65px}}

/* Done fires two visible confetti cannons, followed by a slow fall. */
.moment-celebration{z-index:60;background:radial-gradient(ellipse at 50% 65%,#d5b36420,transparent 65%);perspective:700px}
.moment-celebration>i.confetti-piece{display:block;left:var(--launch);top:86%;width:var(--w);height:var(--h);background:var(--color);border-radius:1px;border:1px solid #fff5;box-shadow:0 1px 3px #0005;opacity:0;will-change:transform;animation:moment-cannon var(--duration) var(--delay) cubic-bezier(.15,.55,.4,1) both}
.moment-celebration>i.confetti-piece:nth-child(4n){border-radius:50%;width:8px;height:8px}
.moment-celebration>i.confetti-piece:nth-child(7n){width:4px;height:23px;border-radius:2px}
.moment-celebration .celebration-copy{z-index:2;top:35%;font-size:clamp(34px,6vw,68px);text-shadow:0 2px 35px #000,0 0 35px #d5b36470}
@keyframes moment-cannon{0%{opacity:0;transform:translate3d(0,0,0) rotate(0) rotateY(0)}4%{opacity:1}38%{opacity:1;transform:translate3d(calc(var(--dx)*.6),var(--rise),0) rotate(calc(var(--turn)*.45)) rotateY(180deg)}78%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),var(--fall),0) rotate(var(--turn)) rotateY(540deg)}}
@media(prefers-reduced-motion:reduce){.moment-celebration>i.confetti-piece{display:block;left:var(--still-x);top:var(--still-y);opacity:.9;animation:none!important;transform:rotate(var(--turn));will-change:auto}.moment-celebration .celebration-copy{animation:none!important}}

/* The photograph fills the viewport; one cohesive floating control group. */
:root{--moment-tile:clamp(104px,14vmin,152px)}
.booth-shell:has(.result-scene){padding:0;min-height:100dvh}
.booth-shell .result-scene{position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-height:none;min-height:0;aspect-ratio:auto;border-radius:0;display:block;overflow:hidden;background:#111}
.result-scene>.result-photo{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}
.result-scene .camera-top{top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:70px;pointer-events:none}
.result-scene .result-editions{position:fixed;left:50%;top:max(20px,env(safe-area-inset-top));translate:-50% 0;z-index:5}
.result-scene .share-panel.result-sharing{position:fixed;inset:auto max(24px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) auto;display:flex;flex-direction:column;width:auto;max-width:none;margin:0;padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;backdrop-filter:none;transform:none;translate:none;gap:9px;z-index:6;animation:mw-reveal .4s ease both}
.result-tile-row{display:flex;align-items:stretch;gap:10px}
.moment-tile{width:var(--moment-tile);height:var(--moment-tile);min-width:var(--moment-tile);min-height:var(--moment-tile);padding:10px;border:1px solid #cbb48566;border-radius:16px;background:#242320ed;box-shadow:0 6px 25px #0006,inset 0 1px 0 #ffffff0c;color:#f5f0e5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-family:var(--font);font-size:11px;font-weight:500;line-height:1;letter-spacing:.035em;text-transform:none}
.moment-tile>span{white-space:nowrap}.action-tile svg{width:32px;height:32px;stroke:#d7c39a;stroke-width:1.4}.action-tile:hover{background:#39352dee;border-color:#d7c39a}.action-tile:active{scale:.97}
.designer-qr{width:calc(var(--moment-tile) - 29px);height:calc(var(--moment-tile) - 29px);padding:0;background:#fbf8f0;border-radius:5px;display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.designer-qr svg{display:block;width:100%;height:100%;fill:#171715;stroke:none}.gallery-qr-tile{gap:5px;padding:7px}.gallery-qr-tile>span{font-size:9px;color:#ddcfaf;letter-spacing:.055em}.qr-pending{font-size:9px;line-height:1.3;color:#4d473c;text-align:center}
.result-reset{margin:0;align-self:flex-end;font-size:10px;color:#e0d8c9;background:#1c1b19aa;border:1px solid #ffffff14;padding:5px 10px;border-radius:99px;backdrop-filter:blur(12px)}
.start-gallery-code{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:4}
.celebration-canvas{display:block!important;opacity:1!important}
@media(max-width:600px){.result-scene .camera-top{top:20px;left:16px}.result-scene .camera-top .camera-label{display:none}.result-scene .result-editions{top:22px;left:16px;translate:0 0}.result-scene .share-panel.result-sharing{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));gap:8px}.result-tile-row{gap:8px}.start-gallery-code{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}
@media(max-width:370px){:root{--moment-tile:88px}.moment-tile{border-radius:13px;font-size:10px}.gallery-qr-tile>span{font-size:8px}.action-tile svg{width:28px;height:28px}}
@media(max-height:500px) and (min-width:650px){:root{--moment-tile:96px}.result-scene .result-editions{top:20px;left:50%;translate:-50% 0}.result-scene .share-panel.result-sharing{right:20px;bottom:16px}.start-gallery-code{right:20px;bottom:16px}}
.result-scene>.share-panel:not(.result-sharing){position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));width:min(90%,600px);margin:0;transform:translateX(-50%);z-index:6}

/* A quiet editorial gallery, with chronological browsing and a maker's mark. */
.client-gallery-shell .header{justify-content:flex-start}
.client-gallery{max-width:1200px;margin-top:36px;margin-bottom:62px}
.gallery-header{width:100%;padding:38px clamp(18px,4vw,52px) 30px;margin:0 auto 30px;text-align:center;border:1px solid #cbb4852b;border-radius:22px;background:linear-gradient(145deg,#cbb48509,#ffffff02 55%,#cbb48505);box-shadow:inset 0 1px 0 #ffffff05}
.gallery-header>.eyebrow{justify-content:center;font-size:9px;letter-spacing:.2em}
.client-gallery .gallery-header>h1{font-family:'MW Marker',cursive;font-weight:400;font-style:normal;font-size:clamp(36px,6.5vw,80px);line-height:1.2;letter-spacing:-.035em;transform:rotate(-1deg);text-shadow:0 3px 24px #e8c07a22;margin:16px auto 20px;max-width:100%;text-wrap:balance;overflow-wrap:anywhere}
.gallery-meta{display:flex;flex-direction:column;align-items:center;gap:22px;margin:0}
.gallery-date-range{min-width:0;max-width:100%}
.gallery-date-label,.gallery-sort-label{display:block;font:500 9px/1.5 var(--font);letter-spacing:.2em;text-transform:uppercase;color:#bba783;margin-bottom:9px}
.gallery-date-values{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:8px;font:400 clamp(19px,2.4vw,24px)/1.4 var(--heading);letter-spacing:-.02em;color:#eee8dc}
.gallery-date-divider{font:300 .8em var(--font);color:#8f7c58}
.gallery-sort{width:min(100%,520px);min-width:0}
.gallery-sort-label{text-align:center;color:var(--muted)}
.gallery-sort-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:3px;padding:4px;border:1px solid #cbb4853d;border-radius:99px;background:#ffffff03;box-shadow:inset 0 1px 0 #ffffff06}
.gallery-sort-options button{min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:99px;background:transparent;color:#bdb8ae;font:500 11px/1.4 var(--font);white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.gallery-sort-options button[aria-pressed="true"]{color:#f6eedb;background:linear-gradient(135deg,#cbb48524,#cbb48510);border-color:#cbb48544;box-shadow:0 2px 9px #0002}
.gallery-sort-options button:hover{color:#fff9ed;background-color:#cbb48512}
.gallery-sort-options button:focus-visible{outline:2px solid #dfca9f;outline-offset:3px}
.gallery-sort-options button>span{color:#cbb485}
.client-gallery .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.client-gallery-shell .gallery-footer{display:flex;flex-direction:column;justify-content:center;gap:0;width:min(100%,1200px);align-self:center;text-align:center;padding:34px 0 16px;border-top-color:#cbb48522}
.gallery-footer-title{font:400 italic 27px/1.25 var(--heading);letter-spacing:-.035em;color:#f0ebe1}
.gallery-footer-credit{font:400 10px/1.7 var(--font);letter-spacing:.03em;color:#aaa397;margin:8px 0 20px}
.gallery-footer-credit>span{color:#d4c6ac}
.gallery-maker-logo{display:block;position:relative;width:116px;aspect-ratio:1634/638;isolation:isolate}
.gallery-maker-logo img{display:block;width:100%;height:auto;opacity:.85;filter:drop-shadow(0 0 6px #cbb48530);animation:gallery-logo-glow 7s ease-in-out infinite}
.gallery-maker-logo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 36%,#ddc89b80 44%,#fff7e4 50%,#ddc89b80 56%,transparent 64%);background-size:350% 100%;background-position:110% 0;mask:url('/assets/logo.png') center/contain no-repeat;-webkit-mask:url('/assets/logo.png') center/contain no-repeat;animation:gallery-logo-shimmer 8s ease-in-out infinite}
@keyframes gallery-logo-glow{0%,100%{filter:drop-shadow(0 0 5px #cbb48528);opacity:.8}50%{filter:drop-shadow(0 0 10px #cbb48565);opacity:1}}
@keyframes gallery-logo-shimmer{0%,18%{background-position:110% 0;opacity:0}24%{opacity:1}58%{background-position:-10% 0;opacity:1}64%,100%{background-position:-10% 0;opacity:0}}
@media(max-width:600px){.client-gallery{margin-top:28px}.gallery-header{padding:26px 16px 22px;margin-bottom:24px;border-radius:18px}.gallery-header>.eyebrow{font-size:8px;letter-spacing:.16em;gap:9px}.gallery-header>.eyebrow:before,.gallery-header>.eyebrow:after{width:18px}.client-gallery .gallery-header>h1{margin:14px auto 16px}.gallery-meta{gap:18px}.gallery-date-label,.gallery-sort-label{font-size:8px;margin-bottom:7px;letter-spacing:.17em}.gallery-date-values{font-size:clamp(18px,5vw,24px);gap:6px}.gallery-sort-options button{padding:10px 8px;font-size:10px;min-height:44px;gap:5px}.client-gallery-shell .gallery-footer{padding:28px 0 20px}.gallery-footer-title{font-size:25px}}
@media(max-width:340px){.gallery-header{padding-left:12px;padding-right:12px}.gallery-sort-options button{padding:10px 4px;font-size:9px;gap:4px}.gallery-footer-credit{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gallery-maker-logo img,.gallery-maker-logo:after{animation:none!important}.gallery-maker-logo:after{display:none}.gallery-sort-options button{transition:none}}
