
html, body{
    margin:0;
    padding:0;
    background:#000;
    overflow-x:hidden;
    font-family:Arial,sans-serif;
    color:#f3f3f3;
}

.site-wrap{
    width:100%;
    max-width:1536px;
    margin:0 auto;
    background:#000;
}

img{
    display:block;
    width:100%;
    height:auto;
}

.header-section{
    position:relative;
    width:100%;
    background:#000;
}

.header-hotspot{
    position:absolute;
    top:36.8%;
    height:18.2%;
    display:block;
    z-index:20;
}

.about-link{ left:65.45%; width:7.35%; }
.focus-link{ left:73.75%; width:7.35%; }
.status-link{ left:81.95%; width:7.85%; }
.contact-link{ left:90.55%; width:8.75%; }

.hero{
    position:relative;
    width:100%;
    aspect-ratio:3/2;
    background:#000;
    overflow:hidden;
}

.slide,
.black-frame{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#000;
    opacity:0;
    transition:opacity 2.8s ease-in-out;
}

.slide.active,
.black-frame.active{
    opacity:1;
}

.black-frame{
    background:#000;
}

.bottom{
    position:relative;
    width:100%;
    background:#000;
}

.email-link{
    position:absolute;
    left:31%;
    top:86%;
    width:38%;
    height:8%;
    display:block;
    z-index:20;
}

.content-page{
    min-height:58vh;
    padding:clamp(2rem, 6vw, 5rem);
    background:
      radial-gradient(circle at top, rgba(45,90,140,.22), transparent 38%),
      #050607;
    border-top:1px solid rgba(255,255,255,.14);
}

.content-page h1{
    margin:0 0 1.25rem;
    font-size:clamp(2rem, 6vw, 4rem);
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#4fa2ff;
}

.content-page p{
    max-width:900px;
    font-size:clamp(1.05rem, 2vw, 1.35rem);
    line-height:1.55;
    color:#e8edf4;
}

.page-button,
.plain-link{
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(79,162,255,.7);
    padding:.85rem 1.15rem;
    display:inline-block;
    margin-top:1rem;
}

.plain-link{
    color:#79bbff;
    border:none;
    padding:0;
    text-decoration:underline;
}

@media (max-width: 700px){
    .header-hotspot{
        top:36.5%;
        height:19%;
    }

    .email-link{
        left:28%;
        top:86%;
        width:44%;
        height:14%;
    }
}


/* Hero slideshow controls */
.slide-control{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:40;
    width:54px;
    height:76px;
    border:1px solid rgba(255,255,255,.28);
    background:rgba(0,0,0,.28);
    color:white;
    font-size:3rem;
    line-height:1;
    cursor:pointer;
    opacity:.38;
    transition:opacity .2s ease, background .2s ease, border-color .2s ease;
}

.slide-control:hover,
.slide-control:focus{
    opacity:.9;
    background:rgba(0,0,0,.58);
    border-color:rgba(255,255,255,.62);
    outline:none;
}

.prev-slide{
    left:clamp(.5rem, 2vw, 1.25rem);
}

.next-slide{
    right:clamp(.5rem, 2vw, 1.25rem);
}

.autoplay-toggle{
    position:absolute;
    right:clamp(.6rem, 2vw, 1.25rem);
    bottom:clamp(.6rem, 2vw, 1.25rem);
    z-index:40;
    border:1px solid rgba(255,255,255,.3);
    background:rgba(0,0,0,.35);
    color:#fff;
    padding:.55rem .8rem;
    font-size:.82rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    cursor:pointer;
    opacity:.48;
    transition:opacity .2s ease, background .2s ease;
}

.autoplay-toggle:hover,
.autoplay-toggle:focus{
    opacity:.95;
    background:rgba(0,0,0,.62);
    outline:none;
}

.slide-dots{
    position:absolute;
    left:50%;
    bottom:clamp(.7rem, 2vw, 1.35rem);
    transform:translateX(-50%);
    z-index:40;
    display:flex;
    gap:.45rem;
    align-items:center;
    justify-content:center;
    padding:.35rem .5rem;
    border-radius:999px;
    background:rgba(0,0,0,.28);
    opacity:.48;
    transition:opacity .2s ease;
}

.hero:hover .slide-dots,
.slide-dots:focus-within{
    opacity:.9;
}

.slide-dot{
    width:.62rem;
    height:.62rem;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.7);
    background:rgba(255,255,255,.18);
    cursor:pointer;
    padding:0;
}

.slide-dot.active{
    background:#fff;
}

@media (max-width: 700px){
    .slide-control{
        width:42px;
        height:58px;
        font-size:2.35rem;
        opacity:.32;
    }

    .autoplay-toggle{
        font-size:.68rem;
        padding:.45rem .6rem;
    }

    .slide-dot{
        width:.5rem;
        height:.5rem;
    }
}


.logo-home-link{
    position:absolute;
    left:0;
    top:0;
    width:29%;
    height:100%;
    display:block;
    z-index:21;
}

.content-page h2{
    margin-top:2rem;
    color:#79bbff;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.content-page ul{
    max-width:900px;
    color:#e8edf4;
    font-size:clamp(1.02rem, 1.8vw, 1.22rem);
    line-height:1.55;
}

.page-button + .page-button{
    margin-left:.6rem;
}

.navigation-row{
    margin-top:2rem;
    display:flex;
    gap:.75rem;
    flex-wrap:wrap;
}

.note-panel{
    max-width:960px;
    border:1px solid rgba(79,162,255,.35);
    background:rgba(0,0,0,.22);
    padding:1rem 1.15rem;
    margin:1.25rem 0;
}
