@font-face {
    font-family: "Neou";
    src: url("../fonts/neou-thin.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 400;
    font-display: swap;
}
@font-face {
    font-family: "Neou";
    src: url("../fonts/neou-bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root { --white:#fff; --gold:#c9a25e; --teal:#183943; }
* { box-sizing:border-box; }

html, body {
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    overflow:hidden !important;
}

body.brillsworth-coming-soon {
    font-family:Roboto,Arial,sans-serif;
    color:var(--white);
    overflow:hidden !important;
}

.brillsworth-coming-soon .page {
    position:relative;
    display:grid;
    place-items:center;
    width:100%;
    height:100vh;
    height:100svh;
    height:100dvh;
    padding:2rem 1.25rem;
    isolation:isolate;
    background:var(--teal);
    overflow:hidden;
}

.brillsworth-coming-soon .page::before {
    content:"";
    position:absolute;
    z-index:-2;
    inset:0;
    background:url("../images/banner2.webp") center / cover no-repeat;
    transform:scale(1.015);
}

.brillsworth-coming-soon .page::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg,rgba(10,35,42,.62),rgba(10,35,42,.25) 53%,rgba(10,35,42,.5));
}

.brillsworth-coming-soon .card {
    position:relative;
    padding:clamp(3.5rem,8vw,5rem) clamp(3rem,8vw,5.5rem);
    text-align:center;
    text-shadow:0 1px 10px rgba(0,0,0,.18);
    animation:appear .8s ease-out both;
}

.brillsworth-coming-soon .text-frame {
    position:absolute;
    z-index:0;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
    left:-30%;
    top:-20px;
    transform:scale(1.2);
}

.brillsworth-coming-soon .card > :not(.text-frame) {
    position:relative;
    z-index:1;
}

.brillsworth-coming-soon .logo {
    width:clamp(150px,22vw,220px);
    height:auto;
    margin:0 auto 1rem;
    display:block;
}

.brillsworth-coming-soon .construction-text {
    margin:1rem 0 2.25rem;
    font-size:clamp(.78rem,3.22vw,2.3rem);
    font-weight:100;
    line-height:1.45;
}

.brillsworth-coming-soon h1 {
    display:inline-block;
    margin:0;
    font-family:"Neou",Arial,sans-serif;
    font-weight:100;
    font-size:clamp(3.7rem,8.2vw,6.2rem);
    letter-spacing:.01em;
    line-height:.84;
}

.brillsworth-coming-soon h1 strong {
    font-weight:700;
    letter-spacing:-.04em;
    margin-top:.12em;
}

.brillsworth-coming-soon .prompt {
    margin:2.35rem 0 .9rem;
    font-size:clamp(.78rem,1.12vw,.95rem);
    font-weight:300;
    letter-spacing:.015em;
}

.brillsworth-coming-soon .contact {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.65rem 1.4rem;
    margin:0;
    color:rgba(255,255,255,.94);
    font-size:clamp(.76rem,1.05vw,.9rem);
    font-weight:300;
    line-height:1.5;
}

.brillsworth-coming-soon .contact-item {
    display:inline-flex;
    align-items:center;
    gap:.45rem;
}

.brillsworth-coming-soon .contact svg {
    width:1rem;
    height:1rem;
    flex:none;
    stroke:#fff;
    stroke-width:1.8;
    fill:none;
}

.brillsworth-coming-soon .contact a {
    color:var(--white);
    text-decoration:none;
    border-bottom:1px solid rgb(255 255 255 / 0%);
    transition:border-color .2s ease,color .2s ease;
}

.brillsworth-coming-soon .contact a:hover {
    color:var(--gold);
    border-color:var(--gold);
}

@keyframes appear {
    from { opacity:0; transform:translateY(14px); }
    to { opacity:1; transform:none; }
}

@media (min-width:601px) and (max-width:900px) {
    .brillsworth-coming-soon .card {
        width:min(540px,86vw);
        padding:4rem 4.5rem;
    }
    .brillsworth-coming-soon h1 {
        font-size:clamp(3.5rem,8vw,4.8rem);
    }
}

@media (max-width:600px) {
    .brillsworth-coming-soon .page {
        min-height:100svh;
        padding:1.25rem;
    }
    .brillsworth-coming-soon .card {
        width:min(480px,100%);
        padding:3.25rem 2.5rem;
    }
    .brillsworth-coming-soon .text-frame {
        display:block;
        inset:0;
        left:-30%;
        top:-20px;
        width:100%;
        height:100%;
        transform:scale(1.2);
    }
    .brillsworth-coming-soon .construction-text {
        margin:.8rem 0 1.75rem;
        font-size:.78rem;
    }
    .brillsworth-coming-soon h1 {
        font-size:clamp(3rem,15vw,4.5rem);
    }
    .brillsworth-coming-soon .prompt {
        margin:1.75rem 0 .75rem;
    }
    .brillsworth-coming-soon .contact {
        row-gap:.55rem;
    }
}

@media (max-width:360px) {
    .brillsworth-coming-soon .page { padding:1rem; }
    .brillsworth-coming-soon .card { padding:2.25rem 1.7rem; }
    .brillsworth-coming-soon .logo { width:135px; }
    .brillsworth-coming-soon .construction-text {
        margin:.65rem 0 1.25rem;
        font-size:.72rem;
    }
    .brillsworth-coming-soon h1 {
        font-size:clamp(2.7rem,15vw,3.35rem);
    }
    .brillsworth-coming-soon .prompt {
        margin:1.25rem 0 .65rem;
        font-size:.72rem;
    }
    .brillsworth-coming-soon .contact {
        font-size:.7rem;
        gap:.45rem .75rem;
    }
}

@media (max-height:600px) and (orientation:landscape) {
    .brillsworth-coming-soon .page {
        min-height:540px;
        padding:1.25rem;
    }
    .brillsworth-coming-soon .card {
        width:min(620px,100%);
        padding:2.25rem 4rem;
    }
    .brillsworth-coming-soon .text-frame { transform:none; }
    .brillsworth-coming-soon .logo { width:130px; }
    .brillsworth-coming-soon .construction-text {
        margin:.45rem 0 1rem;
        font-size:.75rem;
    }
    .brillsworth-coming-soon h1 {
        font-size:clamp(2.5rem,7vw,4rem);
    }
    .brillsworth-coming-soon .prompt {
        margin:1rem 0 .45rem;
    }
}

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