/* Compact V4-style galleries and self-contained vector logo. */
.topbar{mix-blend-mode:normal;background:linear-gradient(#050713d9,transparent)}
.brand{width:150px;height:auto}.brand svg{display:block;width:100%;height:auto;filter:none}footer>svg{display:block;width:120px;height:auto;flex-shrink:0}
.wedding-wall{position:absolute;inset:33svh 2vw 3svh;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px;max-width:1440px;margin:0 auto}
body .wedding-film,body:not(.quiet) .wedding-film.film-one,body:not(.quiet) .wedding-film.film-two,body:not(.quiet) .wedding-film.film-three,body:not(.quiet) .wedding-film.film-four,body.quiet .wedding-film.film-four{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-height:0;aspect-ratio:auto!important;margin:0!important;transform:none!important;border-radius:9px;padding:3px;overflow:hidden;will-change:auto}
.wedding-film video{display:block;width:100%;height:100%;object-fit:cover;border-radius:6px}.wedding-film:after{display:none}
.floating-gallery,body.quiet .floating-gallery{width:min(1440px,96vw);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:34px auto 0}
.float-card,.float-card:nth-child(even){margin:0;width:100%;padding:3px;border-radius:9px;overflow:hidden;will-change:auto}.float-card video{border-radius:6px}
body.quiet .wedding-wall{position:relative;inset:auto;width:96%;grid-template-rows:auto;margin:28svh auto 40px}body.quiet .wedding-film{aspect-ratio:16/10!important}
@keyframes odemEntrance{from{opacity:0;transform:translateY(22px);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes odemLight{from{opacity:.65;transform:translateX(-65%) rotate(-20deg)}to{opacity:0;transform:translateX(130%) rotate(-20deg)}}
.choice-title{animation:odemEntrance .8s cubic-bezier(.22,.7,.2,1) both}.choice-copy{animation:odemEntrance .9s .1s both}.brand{animation:odemEntrance .65s both}
.chooser:after{content:"";position:absolute;z-index:8;inset:0;background:linear-gradient(100deg,transparent 30%,#75dfff26 49%,transparent 65%);pointer-events:none;animation:odemLight 1.1s ease-out both}
#odem-pointer{position:fixed;inset:0;width:100%;height:100%;z-index:9999;pointer-events:none}
@media(max-width:767px){
 .topbar{grid-template-columns:108px 1fr;padding:0 10px}.brand{width:104px}.path-switcher button{font-size:9px;padding:9px 8px;letter-spacing:.04em}
 .wedding-films{padding-left:6px;padding-right:6px}
 .wedding-wall,body.quiet .wedding-wall{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:6px;margin:22px auto 0}
 body .wedding-film,body:not(.quiet) .wedding-film.film-one,body:not(.quiet) .wedding-film.film-two,body:not(.quiet) .wedding-film.film-three,body:not(.quiet) .wedding-film.film-four,body.quiet .wedding-film.film-four{aspect-ratio:4/3!important;height:auto!important;margin:0!important}
 .event-stage{padding-left:6px;padding-right:6px}
 .floating-gallery,body.quiet .floating-gallery{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:25px}
 .float-card,.float-card:nth-child(even){margin:0;aspect-ratio:9/13}
 footer>svg{width:120px}
}
@media(prefers-reduced-motion:reduce){.choice-title,.choice-copy,.brand,.chooser:after{animation:none!important}.chooser:after,#odem-pointer{display:none!important}}
