/* Accueil quotidien : le logo existant, une respiration bleue, puis le poste. */
.bienvenue[hidden] { display: none; }
.bienvenue {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    overflow: hidden;
    pointer-events: none;
    background: var(--pp-surface);
    animation: bienvenue-voile 2.15s ease both;
}
.bienvenue__halo {
    position: absolute;
    width: min(640px, 120vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(35 114 222 / .16), rgb(6 182 212 / .06) 45%, transparent 70%);
    animation: bienvenue-halo 1.8s ease-out both;
}
.bienvenue__contenu { position: relative; text-align: center; padding: 24px; }
.bienvenue .marque { flex-direction: column; gap: 1.5rem; }
.bienvenue .marque__logo {
    filter: drop-shadow(0 18px 28px rgb(35 114 222 / .22));
    animation: bienvenue-logo 950ms cubic-bezier(.16, 1, .3, 1) both;
}
.bienvenue .marque__texte {
    gap: .65rem;
    animation: bienvenue-texte 700ms 250ms ease both;
}
.bienvenue .marque__nom { font-size: clamp(1.75rem, 6vw, 2.5rem); }
.bienvenue .marque__sous { font-size: .65rem; letter-spacing: .16em; }
.bienvenue__trait {
    display: block;
    width: 56px;
    height: 3px;
    margin: 1.75rem auto 0;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--pp-brand-400), var(--pp-cyan-500));
    animation: bienvenue-trait 850ms 500ms ease both;
}
@keyframes bienvenue-voile {
    0%, 76% { opacity: 1; visibility: visible; }
    100% { opacity: 0; visibility: hidden; }
}
@keyframes bienvenue-logo {
    from { opacity: 0; transform: translateY(16px) scale(.8) rotate(-8deg); }
    to { opacity: 1; transform: translateY(0) scale(1) rotate(0); }
}
@keyframes bienvenue-halo {
    from { opacity: 0; transform: scale(.6); }
    to { opacity: 1; transform: scale(1); }
}
@keyframes bienvenue-texte {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes bienvenue-trait {
    from { opacity: 0; transform: scaleX(0); }
    to { opacity: 1; transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    .bienvenue, .bienvenue * { animation: none !important; }
}
@media print {
    .bienvenue { display: none; }
}
