/* ELEVEN11 Studio — loader "Marca em construção".
   Segura a abertura até o filme estar íntegro; o logotipo se desenha com o download e viaja até o cabeçalho.
   Tokens vêm de studio.css/modular.css (--bg, --accent, --display, --gutter). */
.film-loader{position:fixed;inset:0;z-index:60;display:grid;place-items:center;color:#eeeff0;font-family:var(--display);--k:2.4;--bw:132px;--bgap:15px;--bfs:14px;--bpad:15px}
.film-loader[hidden]{display:none}
html[data-loader=loading]{overflow:hidden}
html.loader-travel .site-header .brand{visibility:hidden}
/* Sem JS ou com JS travado antes de assumir o estado, o loader some sozinho. */
html:not([data-loader]) .film-loader{animation:loader-failsafe 0s 20s forwards}
@keyframes loader-failsafe{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.film-loader{display:none}}

.loader-fade{position:absolute;inset:0;background:var(--bg,#0b0b0d);transition:opacity 1s ease .25s}
html[data-loader=done] .loader-fade{opacity:0}

.loader-logo{position:relative;display:inline-flex;align-items:center;gap:calc(var(--bgap)*var(--k));transform-origin:0 0;will-change:transform;transition:transform 1.15s cubic-bezier(.76,0,.24,1)}
.loader-logo svg{width:calc(var(--bw)*var(--k));height:auto;display:block;overflow:visible}
.loader-logo span{font-size:calc(var(--bfs)*var(--k));line-height:1;letter-spacing:-.02em;border-left:1px solid #656569;padding-left:calc(var(--bpad)*var(--k));color:#eeeff0;white-space:nowrap}
.loader-logo .p{fill:#fff;transform-box:fill-box;transform-origin:left center;transform:scaleX(0);transition:transform .55s cubic-bezier(.16,1,.3,1)}
.loader-logo .p.v{transform-origin:center bottom;transform:scaleY(0)}
.loader-logo .p.d{transform-origin:center top;transform:scaleY(0)}
.loader-logo .p.on{transform:none}
.loader-logo .pl{fill:var(--accent,#fb923c);opacity:.16;transition:opacity .6s,filter .6s}
.film-loader.is-full .loader-logo .pl{opacity:1;filter:drop-shadow(0 0 6px rgba(251,146,60,.6))}

.loader-meta{position:absolute;left:50%;top:calc(50% + var(--bw)*var(--k)*.17);transform:translateX(-50%);display:flex;align-items:center;gap:16px;font:500 11px var(--mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:#9a9aa3;transition:opacity .35s}
.loader-meta i{display:block;position:relative;width:calc(var(--bw)*var(--k));height:1px;background:#ffffff30}
.loader-meta i b{position:absolute;inset:0;background:var(--accent,#fb923c);transform:scaleX(0);transform-origin:left;transition:transform .25s linear}
.loader-meta span{font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}
.film-loader.is-full .loader-meta,html[data-loader=done] .loader-meta{opacity:0}

.loader-skip{position:absolute;left:50%;bottom:max(38px,env(safe-area-inset-bottom,0px) + 30px);transform:translateX(-50%);background:none;border:0;border-bottom:1px solid #ffffff30;padding:2px 0;color:#9a9aa3;font:500 11px var(--mono,monospace);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;animation:loader-fade .6s both;transition:opacity .3s}
.loader-skip:hover{color:#eeeff0;border-color:#eeeff0}
.loader-skip:focus-visible{outline:2px solid var(--accent,#fb923c);outline-offset:4px}
html[data-loader=done] .loader-skip{opacity:0;pointer-events:none}
@keyframes loader-fade{from{opacity:0}}

/* Visitas com cache: o filme chega em instantes, a saída encurta. */
.film-loader.is-fast .loader-logo{transition-duration:.55s}
.film-loader.is-fast .loader-fade{transition:opacity .45s ease .1s}
