/* uv-cinematic.css — intro title sequence + filmic hero */
.uv-intro{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;background:#0d100e;overflow:hidden;will-change:transform;animation:uvIntroExit 1s cubic-bezier(.76,0,.24,1) forwards 2.1s}
.uv-intro__in{position:relative;text-align:center;padding:20px}
.uv-intro__mark{font-family:var(--font-display,'Montserrat',sans-serif);font-weight:200;font-size:clamp(34px,7vw,92px);letter-spacing:.05em;color:#F2E9DF;opacity:0;transform:translateY(22px);animation:uvIntroMark 1s cubic-bezier(.16,1,.3,1) forwards .15s}
.uv-intro__line{height:1px;width:0;margin:20px auto 0;background:linear-gradient(90deg,transparent,#B08D57 50%,transparent);animation:uvIntroLine 1.1s cubic-bezier(.16,1,.3,1) forwards .5s}
.uv-intro__sub{font-family:var(--font-body,'Inter',sans-serif);font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:#B08D57;margin-top:16px;opacity:0;animation:uvIntroSub .9s ease forwards .85s}
@keyframes uvIntroMark{to{opacity:1;transform:none}}
@keyframes uvIntroLine{to{width:min(260px,54vw)}}
@keyframes uvIntroSub{to{opacity:1}}
@keyframes uvIntroExit{to{transform:translateY(-100%);visibility:hidden}}
.uv-intro.is-removed{display:none}
.uv-hero__bg img{animation:uvKen 22s ease-in-out infinite alternate}
@keyframes uvKen{0%{transform:scale(1.03)}100%{transform:scale(1.13) translate(-1.6%,-1.2%)}}
.uv-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
@media (prefers-reduced-motion:reduce){.uv-intro{animation:none;display:none}.uv-hero__bg img{animation:none}}
