:root {
    --dd-ink: #172839;
    --dd-accent: #245b8b;
    --dd-soft: #f0f5f9;
}

body {
    color: var(--dd-ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

a {
    color: var(--dd-accent);
}

.navbar-brand {
    letter-spacing: -.04em;
    color: var(--dd-ink);
}

.hero {
    background: linear-gradient(125deg, #f1f6fa, #ffffff 65%);
}

    .hero em {
        color: var(--dd-accent);
        font-style: normal;
    }

.eyebrow {
    color: #366787;
    text-transform: uppercase;
    font-size: .78rem;
    letter-spacing: .12em;
    font-weight: 700;
}

.lead {
    color: #354c60;
}

.btn-primary {
    background: var(--dd-accent);
    border-color: var(--dd-accent);
}

    .btn-primary:hover {
        background: #1a476c;
        border-color: #1a476c;
    }

.mock {
    border-radius: 1.2rem;
}

.mock-row {
    display: flex;
    gap: 1rem;
    align-items: center;
    border-top: 1px solid #e8edf2;
    padding: 1.1rem 0;
}

.dot {
    display: inline-block;
    border-radius: 50%;
    flex: 0 0 .65rem;
    height: .65rem;
}

.feature-card {
    border: 1px solid #e1eaf0;
    border-radius: 1rem;
    padding: 1.6rem;
}

    .feature-card h3 {
        font-size: 1.16rem;
        font-weight: 700;
    }

    .feature-card p {
        color: #566879;
    }

.feature-symbol {
    width: 2.8rem;
    height: 2.8rem;
    display: grid;
    place-items: center;
    border-radius: .7rem;
    background: var(--dd-soft);
    color: var(--dd-accent);
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.callout {
    background: var(--dd-soft);
}

.article {
    max-width: 860px;
}

    .article h1 {
        font-size: clamp(2.1rem,4vw,3.2rem);
        font-weight: 750;
        letter-spacing: -.04em;
        margin: 1rem 0 1.5rem;
    }

    .article h2 {
        font-size: 1.5rem;
        margin-top: 2.2rem;
        font-weight: 700;
    }

    .article p {
        line-height: 1.7;
    }

.notice {
    padding: 1.2rem;
    background: var(--dd-soft);
    border-left: 3px solid var(--dd-accent);
    border-radius: .25rem;
    margin-top: 2rem;
}

.steps > div {
    border-left: 3px solid #c7dbea;
    padding: .35rem 0 .35rem 1.5rem;
    margin: 1.4rem 0;
}

.steps p {
    margin-bottom: 0;
}
