/* ==========================================================================
   Motomarine v3 · 404 page
   .cs-404 = centred block: soft solid numeral with a red zero, h1, lead,
   buttons and a row of helpful links. --card = white card with a solid
   two-tone numeral on a light band.
   ========================================================================== */

.cs-404 {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    padding: 20px 0;
    text-align: center;
}
.cs-404__code {
    display: block;
    margin-bottom: 16px;
    font-family: var(--font-heading);
    font-size: 140px;
    font-weight: 700;
    line-height: 1;
    /* Outlined digits need air, the tight tracking made the strokes collide */
    letter-spacing: .04em;
    /* Fill in the page colour and paint it over the stroke, so the overlapping
       contours inside a glyph do not show as seams */
    color: var(--white);
    -webkit-text-stroke: 3px var(--border-strong);
    paint-order: stroke fill;
    user-select: none;
}
.cs-404__code span {
    color: var(--white);
    -webkit-text-stroke-color: var(--primary);
}
.bg-lighter .cs-404__code,
.bg-lighter .cs-404__code span {
    color: var(--bg-light);
}
.bg-dark .cs-404__code,
.bg-dark .cs-404__code span {
    color: var(--heading);
}
.bg-dark .cs-404__code {
    -webkit-text-stroke-color: rgba(255, 255, 255, .35);
}
@media (max-width: 575px) {
    .cs-404__code {
        -webkit-text-stroke-width: 1.5px;
    }
}
.cs-404 h1 {
    margin-bottom: 14px;
    font-size: var(--h2);
}
.cs-404 .lead {
    max-width: 560px;
    margin: 0 auto 28px;
}
.cs-404 .cs-btn-row {
    margin-bottom: 40px;
}
.cs-404__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 20px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
    font-size: 14px;
}
.cs-404__links span {
    color: var(--muted);
}
.cs-404__links a {
    font-weight: 500;
    color: var(--heading);
}
.cs-404__links a:hover {
    color: var(--primary);
}

/* --- Card on a light band: solid two-tone numeral in a white card --- */
.cs-404--card {
    padding: 56px 48px 40px;
    border-radius: 0;
    background: var(--white);
    box-shadow: var(--shadow);
}
.cs-404__code--solid {
    margin-bottom: 12px;
    font-size: 110px;
    color: var(--heading);
}
.cs-404__code--solid span {
    color: var(--primary);
}
.cs-404--card h1 {
    font-size: var(--h3);
}
.cs-404--card .lead {
    font-size: 16px;
}

/* --- Responsive --- */
@media (max-width: 767px) {
    .cs-404__code {
        font-size: 110px;
    }
    .cs-404--card {
        padding: 40px 28px 32px;
    }
    .cs-404__code--solid {
        font-size: 84px;
    }
}
@media (max-width: 575px) {
    .cs-404__code {
        font-size: 88px;
    }
    .cs-404--card {
        padding: 32px 20px 28px;
    }
    .cs-404__code--solid {
        font-size: 72px;
    }
}
/* ===== 404 ===== */


/* ==========================================================================
   v5 · Modern 404
   Corner dots behind the page, helpful links as pills, the card version on
   a light shadow.
   ========================================================================== */
.cs-404 {
    position: relative;
}
.cs-404::before {
    content: '';
    position: absolute;
    top: -40px;
    right: 0;
    width: 220px;
    height: 220px;
    background-image: radial-gradient(rgba(41, 64, 111, .22) 1.5px, transparent 1.6px);
    background-size: 14px 14px;
    -webkit-mask-image: linear-gradient(225deg, #000, transparent 70%);
    mask-image: linear-gradient(225deg, #000, transparent 70%);
    pointer-events: none;
}
.cs-404 > * {
    position: relative;
}
.cs-404--card {
    overflow: hidden;
    border: 1px solid var(--border-light);
    box-shadow: rgba(15, 23, 43, .05) 0 1px 3px 0;
}
.cs-404--card::before {
    top: 0;
}
.cs-404__links a {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid var(--border-light);
    border-radius: 40px;
    background: var(--white);
    transition: border-color .2s ease, color .2s ease;
}
.cs-404__links a:hover {
    border-color: var(--primary);
    color: var(--primary);
}
.bg-dark .cs-404::before {
    background-image: radial-gradient(rgba(255, 255, 255, .18) 1.5px, transparent 1.6px);
}
.bg-dark .cs-404__links a {
    border-color: rgba(255, 255, 255, .15);
    background: rgba(255, 255, 255, .04);
}
