@charset "UTF-8";

/* The original logo is an optional, non-blocking introduction to the home. */
.home-intro{display:none;pointer-events:none}
.home-intro *{pointer-events:none}
html.home-intro-pending .home-intro,html.home-intro-leaving .home-intro{
    display:grid;
    position:fixed;
    inset:0;
    bottom:var(--mobile-action-space,0px);
    z-index:90;
    place-items:center;
    overflow:hidden;
    isolation:isolate;
    background:#fffaf1;
    opacity:1;
    visibility:visible;
    transition:opacity 280ms ease,visibility 0s linear 280ms;
}
html.home-intro-pending .home-intro{animation:home-intro-failsafe 2.2s linear both}
.home-intro::before,.home-intro::after{
    content:'';
    position:absolute;
    width:clamp(220px,36vw,480px);
    aspect-ratio:1;
    border:1px solid #9aaf8b3d;
    border-radius:46% 54% 57% 43% / 52% 42% 58% 48%;
    box-shadow:0 0 0 26px #b4c3a311;
    pointer-events:none;
}
.home-intro::before{left:-16vw;bottom:-21vh;transform:rotate(-18deg)}
.home-intro::after{right:-15vw;top:-24vh;transform:rotate(22deg)}
.home-intro-brand{position:relative;z-index:1;width:min(330px,76vw)}
.home-intro-logo{display:block;width:100%;max-width:100%;height:auto;transform-origin:50% 55%}
html.home-intro-pending .home-intro-logo{animation:home-intro-logo-in 620ms cubic-bezier(.2,.7,.3,1) both}
.home-intro-line{display:block;width:54px;height:2px;margin:25px auto 0;border-radius:999px;background:#b94b33;transform-origin:center}
html.home-intro-pending .home-intro-line{animation:home-intro-line-in 650ms cubic-bezier(.2,.7,.3,1) 250ms both}

/* Leaving preserves the overlay for its fade when pending is removed. */
html.home-intro-leaving .home-intro{animation:none;opacity:0;visibility:hidden}
@keyframes home-intro-logo-in{
    from{opacity:0;transform:translateY(7px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes home-intro-line-in{
    from{opacity:0;transform:scaleX(.08)}
    to{opacity:1;transform:scaleX(1)}
}
@keyframes home-intro-failsafe{
    0%,84%{opacity:1;visibility:visible}
    100%{opacity:0;visibility:hidden}
}
@media(prefers-reduced-motion:reduce){
    .home-intro,html.home-intro-pending .home-intro,html.home-intro-leaving .home-intro{display:none!important;animation:none!important;transition:none!important}
    .home-intro *{animation:none!important;transition:none!important}
}
@media print{
    .home-intro,html.home-intro-pending .home-intro,html.home-intro-leaving .home-intro{display:none!important;animation:none!important;transition:none!important}
}
