/* I1 has no permanent looping animation: the light remains after the greeting. */
:root{--mvv-gold:#947039;--mvv-birth-delay:.45s;--mvv-birth-duration:2.1s;--mvv-wink-delay:3.65s}
:root[data-theme=noche],:root[data-theme=vigilia]{--mvv-gold:#dfbd7a}
svg.brand-emblem{color:var(--accent,#285d86);fill:currentColor;overflow:visible}
.brand-intro svg.brand-emblem{color:#dfbd7a}
.brand-button{display:inline-grid;place-items:center;flex-shrink:0;min-width:48px;min-height:48px;margin:0;padding:0;border:0;border-radius:12px;background:transparent;color:var(--accent,#285d86);cursor:pointer;-webkit-tap-highlight-color:transparent}
.brand-button:focus-visible{outline:2px solid var(--accent,#285d86);outline-offset:5px}
.luz-brand{gap:14px}
.luz-brand .brand-button .brand-emblem{width:76px;height:76px}
.luz-brand .mvv-brand-name{display:block;min-width:0;font:500 32px/1.05 Lora,Georgia,serif;letter-spacing:-.8px;text-decoration:none;color:var(--text);text-transform:none;font-kerning:normal}
.luz-brand .mvv-brand-subtitle{display:block;font:500 20px/1.2 Lora,Georgia,serif;letter-spacing:.1px;margin-top:3px;color:var(--accent)}
.luz-brand .mvv-brand-name small{font:400 13px/1.4 'DM Sans',sans-serif;text-transform:none;letter-spacing:.15px;margin-top:6px;color:var(--muted)}
.brand-intro{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#000;color:#dfbd7a;animation:mvv-intro-exit .35s ease 4.75s forwards}
.brand-intro-button{display:grid;place-items:center;width:clamp(160px,46vw,280px);aspect-ratio:1;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;border-radius:28px}
.brand-intro-button svg{width:100%;height:auto}
.brand-intro-button:focus{outline:none}
.brand-intro-button:focus-visible{outline:2px solid var(--mvv-gold);outline-offset:18px}
html[data-brand-intro] #root{visibility:hidden}
html[data-brand-intro]{overflow:hidden}
.mvv-spark{transform-box:fill-box;transform-origin:center}
.mvv-eye-right{transform-box:view-box;transform-origin:154px 148px}
.mvv-stem-right{transform-box:view-box;transform-origin:176px 145px}
.mvv-smile{transform-box:view-box;transform-origin:120px 210px}
/* Both sizes use the same rhythm: absence, emergence, stillness, then a wink.
 * 0–.45s: dark; .45–2.55s: light grows; 2.55–3.65s: quiet pause. */
:is(.brand-intro,.mvv-replay) .mvv-spark{opacity:0;will-change:opacity,transform;animation:mvv-light-birth var(--mvv-birth-duration) cubic-bezier(.45,0,.25,1) var(--mvv-birth-delay) both}
:is(.brand-intro,.mvv-replay) .mvv-eye-right{animation:mvv-wink .5s ease-in-out var(--mvv-wink-delay) both}
:is(.brand-intro,.mvv-replay) .mvv-stem-right{animation:mvv-nod .5s ease-in-out var(--mvv-wink-delay) both}
:is(.brand-intro,.mvv-replay) .mvv-smile{animation:mvv-smile-lift .5s ease-in-out var(--mvv-wink-delay) both}
/* One uninterrupted interpolation, without animated filters or intermediate stops. */
@keyframes mvv-light-birth{from{opacity:0;transform:scale(.28)}to{opacity:1;transform:scale(1)}}
@keyframes mvv-wink{0%,100%{transform:scaleY(1)}42%,62%{transform:scaleY(.13)}}
@keyframes mvv-nod{0%,100%{transform:rotate(0)}48%,60%{transform:rotate(4deg)}}
@keyframes mvv-smile-lift{0%,100%{transform:rotate(0)}48%,60%{transform:rotate(-3deg)}}
@keyframes mvv-intro-exit{to{opacity:0;visibility:hidden}}
@media(max-width:600px){.luz-brand{gap:10px}.luz-brand .brand-button .brand-emblem{width:66px;height:66px}.luz-brand .mvv-brand-name{font-size:28px;letter-spacing:-.6px}.luz-brand .mvv-brand-subtitle{font-size:18px;letter-spacing:0}.luz-brand .mvv-brand-name small{font-size:12px;letter-spacing:0;margin-top:5px}}
:root[data-motion=off] .brand-intro{display:none;animation:none}
:root[data-motion=off] .brand-emblem *{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none;animation:none}.brand-emblem *{animation:none!important;transform:none!important;filter:none!important;opacity:1!important}}
@media print{.brand-intro{display:none!important}}
.logo-sound-preview{margin:20px 0;max-width:340px}
.logo-sound-preview .logo-sound-try{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px;background:var(--accent-soft);font:600 16px/1.4 'DM Sans',sans-serif}
.logo-sound-try .brand-emblem{width:88px;height:88px}
.logo-sound-error{display:block;margin-top:10px;font-size:16px;line-height:1.5;color:var(--danger)}

.brand-intro.mvv-intro-reset,.brand-intro.mvv-intro-reset *{animation:none!important}
