* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    background:#f6f8fb;
    color:#17243a;
    font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;
}

a {
    color:inherit;
}

img {
    max-width:100%;
    height:auto;
}

.wrap {
    width:min(1120px,calc(100% - 40px));
    margin:auto;
}

.skip {
    position:absolute;
    left:-9999px;
}

.skip:focus {
    left:12px;
    top:12px;
    background:white;
    padding:10px;
    z-index:20;
}

header {
    background:#fff;
    border-bottom:1px solid #e4e9f1;
}

.head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    min-height:83px;
}

.brand {
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
    font-weight:800;
    color:#153d69;
}

.brand img {
    width:165px;
}

.brand span {
    font-size:13px;
    letter-spacing:.12em;
}

nav {
    display:flex;
    gap:25px;
}

nav a {
    text-decoration:none;
    font-weight:600;
    font-size:14px;
}

nav a:hover,.card a:hover {
    color:#216bc0;
}

.hero {
    background:linear-gradient(100deg,rgba(7,23,47,.94),rgba(13,44,82,.78)),url('/assets/img/space.webp') center/cover;
    color:white;
    padding:110px 0;
}

.eyebrow {
    color:#8bc9ff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.2em;
}

.hero h1 {
    font-size:clamp(38px,6vw,65px);
    line-height:1.1;
    max-width:730px;
    margin:15px 0;
}

.hero p {
    max-width:620px;
    color:#d7e5f4;
    font-size:19px;
}

.button {
    display:inline-block;
    background:#3b95ee;
    color:white;
    text-decoration:none;
    border-radius:7px;
    padding:12px 23px;
    font-weight:700;
    margin-top:16px;
}

.section {
    padding:70px 0;
}

.section h2 {
    font-size:clamp(26px,3vw,36px);
    margin:0 0 8px;
}

.muted {
    color:#617088;
    margin-top:0;
}

.grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:30px;
}

.card {
    background:white;
    border:1px solid #e2e8f1;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(16,34,65,.04);
}

.card img {
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    display:block;
}

.card-body {
    padding:23px;
}

.tag {
    font-size:12px;
    color:#3578bb;
    letter-spacing:.09em;
    font-weight:800;
}

.card h3 {
    margin:8px 0;
    font-size:22px;
    line-height:1.3;
}

.card h3 a {
    text-decoration:none;
}

.card p {
    color:#526178;
    margin:0 0 15px;
}

.card .link {
    color:#1665b2;
    font-weight:700;
    text-decoration:none;
}

.upcoming {
    border:1px dashed #b9c9dd;
    background:#f9fbff;
}

.placeholder {
    aspect-ratio:16/9;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#163456,#315c85);
    color:#d5eaff;
    font-size:50px;
}

.focus {
    background:#112b4c;
    color:#fff;
    padding:64px 0;
}

.focus p {
    color:#d4e1ee;
    max-width:640px;
}

.focus h2 {
    font-size:32px;
    margin:10px 0;
}

footer {
    padding:32px 0;
    background:#0b1b31;
    color:#c5d4e6;
}

footer .wrap {
    display:flex;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}

footer a {
    color:#d7e9fc;
    text-decoration:none;
    margin-left:15px;
}

.prose {
    max-width:790px;
    padding:55px 0 90px;
}

.prose h1 {
    line-height:1.2;
}

@media(max-width:800px) {
    .grid {
        grid-template-columns:1fr 1fr;
    }
    .head {
        flex-direction:column;
        align-items:flex-start;
        padding:15px 0;
    }
    nav {
        gap:15px;
        flex-wrap:wrap;
    }
    .hero {
        padding:75px 0;
    }
}

@media(max-width:560px) {
    .grid {
        grid-template-columns:1fr;
    }
    .hero {
        padding:62px 0;
    }
    .hero p {
        font-size:16px;
    }
    nav {
        font-size:13px;
    }
}
