/* One-shot cinematic entrance. The supplied automotive film carries the
   transition; CSS only handles framing and the final cross-fade into content. */
.an-entry {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    overflow: hidden;
    background: #020507;
    color: #eef6fa;
    isolation: isolate;
}
html.an-entry-armed body { background: #020507; }
html.an-entry-armed body > aside,
html.an-entry-armed body > main,
html.an-entry-armed body > .sidebar-backdrop,
html.an-entry-armed body > .mobile-menu,
html.an-entry-armed body > .mobile-tab-bar { visibility: hidden; }
.an-entry.is-running { display: block; }
html.an-entry-running,
body.an-entry-running { overflow: hidden; }
body.an-entry-running > :not(#an-entry) {
    visibility: visible;
    opacity: 0;
    filter: blur(8px);
    transform: scale(.992);
}
body.an-entry-reveal > :not(#an-entry) {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
    transition: opacity .86s ease, filter 1s ease, transform 1s cubic-bezier(.2,.7,.2,1);
}
.an-entry__video {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: 0;
    background: #020507;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transform: scale(1.012);
    animation: an-film-in .48s ease forwards;
}
.an-entry__veil {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(4,14,22,.18), transparent 28%, transparent 70%, rgba(2,8,12,.46)),
        linear-gradient(90deg, rgba(28,61,80,.11), transparent 42%, rgba(14,33,46,.12));
    box-shadow: inset 0 0 0 1px rgba(196,222,235,.06);
}
.an-entry__signature {
    position: absolute;
    z-index: 3;
    left: clamp(24px,4.5vw,72px);
    bottom: clamp(28px,4.5vh,58px);
    display: grid;
    gap: 7px;
    opacity: 0;
    animation: an-film-signature .8s ease 1s forwards;
    text-shadow: 0 2px 18px rgba(0,0,0,.7);
}
.an-entry__signature b {
    font: 700 clamp(17px,1.75vw,26px)/1 var(--sans);
    letter-spacing: .26em;
}
.an-entry__signature span {
    color: rgba(228,241,247,.68);
    font: 600 11px/1.2 var(--sans);
    letter-spacing: .22em;
}
.an-entry__skip,
body > .an-entry .an-entry__skip {
    position: absolute;
    z-index: 4;
    left: auto;
    right: clamp(18px,3vw,46px);
    top: clamp(18px,3vw,38px);
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(220,238,247,.38);
    border-radius: 999px;
    background: rgba(5,15,22,.45);
    color: rgba(242,248,251,.88);
    font: 600 12px/1 var(--sans);
    backdrop-filter: blur(10px);
    cursor: pointer;
}
.an-entry__skip:hover {
    border-color: rgba(236,246,250,.84);
    background: rgba(18,43,57,.58);
    color: #fff;
}
.an-entry.is-leaving {
    animation: an-film-out .88s cubic-bezier(.4,0,.2,1) forwards;
    pointer-events: none;
}
.an-entry.is-leaving .an-entry__video {
    transform: scale(1.028);
    filter: blur(1.5px);
    transition: transform 1.05s ease, filter .8s ease;
}

@keyframes an-film-in {
    to { opacity: 1; transform: scale(1); }
}
@keyframes an-film-signature {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: .82; transform: none; }
}
@keyframes an-film-out {
    to { opacity: 0; visibility: hidden; }
}

@media (max-width: 700px) {
    .an-entry__video { object-fit: contain; }
    .an-entry__signature { left: 20px; bottom: 24px; }
    .an-entry__signature span { font-size: 10px; letter-spacing: .16em; }
}
@media (prefers-reduced-motion: reduce) {
    body.an-entry-running > :not(#an-entry) { opacity: 1; filter: none; transform: none; }
    .an-entry { display: none !important; }
}
