:root {
    color-scheme: light;
    font-family: Georgia, "Times New Roman", serif;
    font-synthesis: none;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    min-width: 320px;
    background: #86c9ec;
}

a {
    color: inherit;
}

.coming-soon {
    position: relative;
    isolation: isolate;
    display: grid;
    min-height: 100vh;
    min-height: 100svh;
    place-items: center;
    overflow: hidden;
    padding: clamp(2rem, 6vw, 6rem);
    color: #163b53;
    background:
        linear-gradient(90deg, rgba(232, 247, 255, .55) 0%, rgba(232, 247, 255, .13) 47%, rgba(255, 255, 255, 0) 72%),
        url("images/Angel%20Manor%20Background.jpg") center center / cover no-repeat;
}

.atmosphere {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 20% 33%, rgba(255, 255, 255, .6), transparent 26%),
        linear-gradient(180deg, rgba(51, 165, 227, .06), rgba(255, 255, 255, .11));
}

.content-card {
    width: min(43rem, 45vw);
    margin-right: auto;
    text-align: center;
    text-shadow: 0 1px 12px rgba(255, 255, 255, .72);
    animation: reveal 1.1s ease-out both;
}

.eyebrow {
    margin: 0 0 1.15rem;
    color: #405e72;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: clamp(.68rem, .85vw, .84rem);
    font-weight: 600;
    letter-spacing: .3em;
    text-transform: uppercase;
}

h1 {
    margin: 0;
    color: #15374e;
    font-size: clamp(3.3rem, 7.2vw, 7.75rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .86;
}

h1:focus {
    outline: none;
}

.ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    width: min(21rem, 70%);
    margin: 1.8rem auto 1.15rem;
    color: #b7424e;
}

.ornament span {
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: .58;
}

.ornament i {
    font-size: .72rem;
    font-style: normal;
}

.coming-soon-label {
    margin: 0;
    color: #193e55;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: clamp(.88rem, 1.35vw, 1.18rem);
    font-weight: 500;
    letter-spacing: .52em;
    text-transform: uppercase;
}

.invitation {
    margin: 1.3rem 0 2.25rem;
    color: #345b72;
    font-size: clamp(1rem, 1.45vw, 1.25rem);
    font-style: italic;
}

.contact {
    display: inline-flex;
    flex-direction: column;
    gap: .6rem;
    color: #183f58;
    font-family: "Segoe UI", Arial, sans-serif;
}

.contact a {
    padding: .2rem .15rem .32rem;
    border-bottom: 1px solid rgba(24, 63, 88, .5);
    font-size: clamp(.92rem, 1.25vw, 1.08rem);
    letter-spacing: .075em;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease;
}

.contact a:hover,
.contact a:focus-visible {
    color: #a63140;
    border-color: #a63140;
}

.contact a:focus-visible {
    outline: 2px solid #a63140;
    outline-offset: 5px;
}

.contact p {
    margin: 0;
    color: #4b6575;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .88rem;
    font-style: italic;
    letter-spacing: .12em;
}

.copyright {
    position: absolute;
    bottom: 1.25rem;
    left: clamp(1.25rem, 3vw, 3rem);
    margin: 0;
    color: rgba(18, 55, 78, .7);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}

@keyframes reveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 800px) {
    .coming-soon {
        align-items: end;
        padding: 2rem 1.25rem 4.5rem;
        background-position: 59% center;
    }

    .content-card {
        width: min(34rem, 100%);
        margin: 0 auto;
        padding: 1.8rem 1.25rem 1.65rem;
        border: 1px solid rgba(255, 255, 255, .62);
        border-radius: 1.25rem;
        background: rgba(239, 249, 255, .76);
        box-shadow: 0 18px 60px rgba(29, 94, 132, .2);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
    }

    h1 {
        font-size: clamp(3.4rem, 15vw, 5.5rem);
    }

    .invitation {
        margin-bottom: 1.55rem;
    }

    .copyright {
        bottom: 1.2rem;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);
        text-align: center;
    }
}

@media (max-height: 650px) and (max-width: 800px) {
    .coming-soon {
        align-items: center;
        padding-block: 1.25rem 3.6rem;
    }

    .content-card {
        padding-block: 1.2rem;
    }

    .eyebrow {
        margin-bottom: .65rem;
        font-size: .62rem;
    }

    .invitation {
        margin-block: .75rem 1rem;
        font-size: .92rem;
    }

    .ornament {
        margin-block: .8rem .65rem;
    }

    .coming-soon-label {
        font-size: .78rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .content-card {
        animation: none;
    }
}

#blazor-error-ui {
    display: none;
}
