/* Motion Studio: layered entrances, camera drift and responsive feedback. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-spring:cubic-bezier(.22,1.18,.4,1)}
html[data-effects='on'] body.effects-ready .creator-id{animation:studioRise .8s var(--motion-ease) both}
html[data-effects='on'] body.effects-ready .hero-intro{animation:studioRise .9s .2s var(--motion-ease) both}
html[data-effects='on'] body.effects-ready .hero-actions{animation:studioRise .9s .32s var(--motion-ease) both}
html[data-effects='on'] .hero .cta-note{animation:studioRise .8s .4s var(--motion-ease) both}
html[data-effects='on'] .hero-content-types>span{animation:studioRise .8s .48s var(--motion-ease) both}
html[data-effects='on'] .hero-content-types>span:nth-child(2){animation-delay:.58s}
html[data-effects='on'] .hero-content-types>span:nth-child(3){animation-delay:.68s}
html[data-effects='on'] .hero-line>span{animation-duration:1.2s;animation-timing-function:var(--motion-ease)}
html[data-effects='on'] .hero.is-cinematic .video-card video,
html[data-effects='on'] .hero.is-cinematic .video-fallback{animation:studioCamera 16s ease-in-out infinite alternate;transform-origin:60% 30%}
html[data-effects='on'] .hero:after{content:'';position:absolute;inset:-25%;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 36%,#ffe1ed09 47%,transparent 58%);animation:studioLight 13s ease-in-out infinite}
html[data-effects='on'] .hero .cta,
html[data-effects='on'] .invitation .cta{animation:studioGlow 6s 1.4s ease-in-out infinite}
html[data-effects='on'] .hero .cta:after,
html[data-effects='on'] .invitation .cta:after{content:'';position:absolute;inset:-60% -100%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#ffffff65 49%,transparent 56%);animation:studioSheen 7s 1.8s ease-in-out infinite}
.watch-link .play-mini{position:relative;transition:background .25s,scale .4s var(--motion-spring)}
.watch-link:hover .play-mini,.watch-link:focus-visible .play-mini{scale:1.12;background:#ffd2e51c}
html[data-effects='on'] .play-mini:after{content:'';position:absolute;inset:-1px;border:1px solid #ffd3e15c;border-radius:50%;animation:studioPulse 4.5s 2s ease-out infinite;pointer-events:none}
.filters{position:relative;isolation:isolate}
.filters:before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:var(--filter-width,0px);translate:var(--filter-left,4px) 0;border-radius:30px;background:#f1e9e8;z-index:-1;pointer-events:none;transition:translate .5s var(--motion-spring),width .45s var(--motion-ease);opacity:0}
.filters.has-indicator:before{opacity:1}
.filters.has-indicator button.active,.filters.has-indicator button.active:hover{background:transparent}
.filters button{position:relative;z-index:1;transition:color .2s,background .2s}
html[data-effects='on'] .preview-tile img{transition:transform .9s var(--motion-ease),filter .6s}
html[data-effects='on'] .preview-tile:hover img{transform:scale(1.075)}
html[data-effects='on'] .preview-tile:hover .tile-caption strong{translate:0 -2px}
.tile-caption strong{transition:translate .45s var(--motion-ease)}
html[data-effects='on'] .peek-card.is-peeking img{transition:filter .9s var(--motion-ease),transform 1.2s var(--motion-ease)}
html[data-effects='on'] .peek-card.is-peeking .peek-corner{animation-duration:8s}
html[data-effects='on'] .hero.mode-switching{animation:studioMode .6s var(--motion-ease)}
html[data-effects='on'] .hero.mode-switching .hero-copy{animation:studioRise .65s var(--motion-ease)}
html[data-effects='on'] dialog[open]{animation:studioDialog .42s var(--motion-ease)}
html[data-effects='on'] dialog[open]::backdrop{animation:studioBackdrop .35s ease-out}
html[data-effects='on'] .sticky-access:not([hidden]){animation:studioDock .5s var(--motion-spring)}
html[data-effects='on'] .reveal-item.is-visible .eyebrow{animation:studioRise .8s .08s var(--motion-ease) both}
html[data-effects='on'] .reveal-item.is-visible h2{animation:studioRise .9s .14s var(--motion-ease) both}
@keyframes studioRise{from{opacity:0;translate:0 22px}to{opacity:1;translate:0 0}}
@keyframes studioCamera{from{transform:scale(1.015) translateX(.3%)}to{transform:scale(1.065) translateX(-.5%)}}
@keyframes studioLight{0%,15%{translate:-28% 0;opacity:0}40%,65%{opacity:1}90%,100%{translate:28% 0;opacity:0}}
@keyframes studioGlow{0%,65%,100%{box-shadow:0 0 0 1px #ffd6e51a,0 8px 30px #e17ba91c}35%{box-shadow:0 0 0 1px #ffd6e540,0 10px 42px #e17ba940}}
@keyframes studioSheen{0%,45%{translate:-40% 0;opacity:0}52%{opacity:.65}70%,100%{translate:40% 0;opacity:0}}
@keyframes studioPulse{0%,55%{scale:1;opacity:0}60%{opacity:.7}100%{scale:1.55;opacity:0}}
@keyframes studioMode{from{opacity:.72}to{opacity:1}}
@keyframes studioDialog{from{opacity:0;translate:0 24px;scale:.965}to{opacity:1;translate:0 0;scale:1}}
@keyframes studioBackdrop{from{opacity:0}to{opacity:1}}
@keyframes studioDock{from{opacity:0;translate:0 100%}to{opacity:1;translate:0 0}}
@media(max-width:700px){html[data-effects='on'] .hero.is-cinematic .video-card video,html[data-effects='on'] .hero.is-cinematic .video-fallback{animation-duration:20s}html[data-effects='on'] .hero:after{display:none}html[data-effects='on'] .hero .cta{animation-duration:8s}.filters:before{transition-duration:.35s}}
html[data-page-hidden='true'] *,html[data-page-hidden='true'] *:before,html[data-page-hidden='true'] *:after{animation-play-state:paused!important}
html[data-effects='off'] .hero.is-cinematic .video-card video,html[data-effects='off'] .hero.is-cinematic .video-fallback{transform:none}
html[data-effects='off'] .filters:before{transition:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion-opt-in='true']) .hero.is-cinematic .video-card video,html:not([data-motion-opt-in='true']) .hero.is-cinematic .video-fallback{transform:none}}

/* Real creator photo presentation; video controls return when a video is configured. */
html[data-media='photos'] #hero-video,html[data-media='photos'] .video-controls,html[data-media='photos'] [data-play],html[data-media='photos'] [data-video-only]{display:none!important}
.wordmark:before{content:'L'}
html[data-media='photos'] .video-fallback{opacity:1}

/* Preserve the different colors and settings of each creator session. */
.tile-detail img{filter:none;object-position:50% 30%}

/* Lexivee: a typographic signature, with no monogram or duplicate photo label. */
.header .wordmark{font:500 28px/1 var(--display);letter-spacing:.045em;text-transform:lowercase;color:#ffe2ea;white-space:nowrap}
.header .wordmark:before{content:none;display:none}
.footer-brand{text-transform:lowercase;letter-spacing:.04em;font-weight:500}
html[data-media='photos'] .video-card figcaption{display:none}
.hero-backword{display:none}
.tile-label{display:none}
.tile-caption strong{line-height:1.08}
@media(max-width:700px){.header .wordmark{font-size:24px;letter-spacing:.025em}.hero.is-cinematic h1{font-size:44px}.hero.is-cinematic:lang(fr) h1,.hero.is-cinematic:lang(de) h1{font-size:39px}.tile-caption strong{font-size:21px}}
@media(max-width:359px){.header .wordmark{font-size:21px}.hero.is-cinematic h1{font-size:39px}.hero.is-cinematic:lang(fr) h1,.hero.is-cinematic:lang(de) h1{font-size:34px}.tile-caption strong{font-size:18px}}

.geo-credit{font-size:9px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
