:root {
    --hvmors-black: #000;
    --hvmors-white: #fff;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }

body.hvmors-cs {
    min-height: 100vh;
    min-height: 100svh;
    background: var(--hvmors-white);
    color: var(--hvmors-black);
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.hvmors-cs__stage {
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: clamp(28px, 6vw, 80px);
}

.hvmors-cs__identity {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hvmors-logo {
    display: block;
    width: min(100%, var(--hvmors-logo-width, 520px));
    height: auto;
    overflow: visible;
    fill: currentColor;
}

.hvmors-logo__mask {
    transform-box: fill-box;
    transform-origin: left center;
    transform: scaleX(0);
    animation: hvmors-reveal 1.8s cubic-bezier(.65, 0, .2, 1) .12s forwards;
}

.hvmors-logo__letter {
    opacity: 0;
    transform: translateY(4px);
    animation: hvmors-letter .34s cubic-bezier(.2, .75, .25, 1) forwards;
}

.hvmors-logo__letter--h { animation-delay: 2.04s; }
.hvmors-logo__letter--v { animation-delay: 2.16s; }
.hvmors-logo__letter--m { animation-delay: 2.28s; }
.hvmors-logo__letter--o { animation-delay: 2.40s; }
.hvmors-logo__letter--r { animation-delay: 2.52s; }
.hvmors-logo__letter--s { animation-delay: 2.64s; }

.hvmors-cs__contacts {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-top: clamp(34px, 5vw, 54px);
    opacity: 0;
    transform: translateY(5px);
    animation: hvmors-contact .45s ease 3.05s forwards;
}

.hvmors-cs__message,
.hvmors-cs__email,
.hvmors-cs__social a {
    color: inherit;
    text-decoration: none;
}

.hvmors-cs__message {
    max-width: 680px;
    text-align: center;
    font-size: 13px;
    line-height: 1.65;
    letter-spacing: .05em;
}

.hvmors-cs__email {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: .08em;
}

.hvmors-cs__social {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 24px;
}

.hvmors-cs__social a {
    position: relative;
    font-size: 10px;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hvmors-cs__email::after,
.hvmors-cs__social a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -3px;
    height: 1px;
    background: currentColor;
    transition: right .25s ease;
}

.hvmors-cs__email { position: relative; }
.hvmors-cs__email:hover::after,
.hvmors-cs__social a:hover::after { right: 0; }

@keyframes hvmors-reveal {
    to { transform: scaleX(1); }
}

@keyframes hvmors-letter {
    to { opacity: 1; transform: translateY(0); }
}

@keyframes hvmors-contact {
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
    .hvmors-logo { width: min(88vw, var(--hvmors-logo-width, 520px)); }
    .hvmors-cs__stage { padding-left: 22px; padding-right: 22px; }
}

@media (prefers-reduced-motion: reduce) {
    .hvmors-logo__mask,
    .hvmors-logo__letter,
    .hvmors-cs__contacts {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}
