.tutorial-hero {
    padding: calc(var(--header-height) + var(--sp-10)) 0 var(--sp-16);
    background:
        radial-gradient(ellipse at 85% 20%, rgba(149, 213, 178, .24), transparent 35%),
        linear-gradient(135deg, var(--clr-bg-light), var(--clr-bg-cream) 72%);
    border-bottom: 1px solid var(--clr-gray-200);
}

.tutorial-hero .breadcrumbs {
    margin-bottom: var(--sp-10);
}

.tutorial-hero__copy {
    max-width: 800px;
}

.tutorial-hero__topic {
    display: inline-flex;
    margin-bottom: var(--sp-3);
    padding: var(--sp-1) var(--sp-3);
    color: var(--clr-primary-dark);
    background: rgba(149, 213, 178, .3);
    border: 1px solid var(--clr-accent-light);
    border-radius: var(--radius-full);
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tutorial-hero__title {
    margin-bottom: var(--sp-4);
    color: var(--clr-heading);
    font-family: var(--ff-heading);
    font-size: clamp(var(--fs-3xl), 5vw, var(--fs-5xl));
    line-height: var(--lh-tight);
}

.tutorial-hero__description {
    max-width: 680px;
    color: var(--clr-gray-600);
    font-size: var(--fs-md);
    line-height: var(--lh-relaxed);
}

.tutorial-article-wrap {
    padding-top: var(--sp-12);
    padding-bottom: var(--sp-16);
    background: var(--clr-bg-cream);
}

.tutorial-article {
    padding: clamp(var(--sp-6), 5vw, var(--sp-12));
    background: var(--clr-white);
    border: 1px solid var(--clr-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.tutorial-article__byline {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--sp-3) var(--sp-6);
    margin-bottom: var(--sp-8);
    padding-bottom: var(--sp-4);
    color: var(--clr-gray-500);
    border-bottom: 1px solid var(--clr-gray-200);
    font-size: var(--fs-sm);
}

.tutorial-article__byline a {
    color: var(--clr-primary);
    font-weight: var(--fw-semibold);
}

.tutorial-article > p:first-of-type {
    color: var(--clr-gray-800);
    font-size: var(--fs-md);
}

.tutorial-article h2 {
    padding-top: var(--sp-3);
    color: var(--clr-heading);
    font-family: var(--ff-heading);
    font-size: clamp(var(--fs-xl), 3vw, var(--fs-2xl));
    line-height: var(--lh-snug);
}

.tutorial-article h3 {
    color: var(--clr-heading);
    font-family: var(--ff-heading);
}

.tutorial-article pre {
    overflow-x: auto;
    background: #18251f;
    border: 1px solid #263a30;
    border-left: 4px solid var(--clr-accent);
    border-radius: var(--radius-md);
    color: #e7f2eb;
    font-size: var(--fs-sm);
    line-height: 1.75;
    white-space: pre;
    overflow-wrap: normal;
    word-break: normal;
}

.tutorial-article pre code {
    padding: 0;
    color: inherit;
    font-size: inherit;
    white-space: inherit;
    word-break: normal;
}

.tutorial-article > ul,
.tutorial-article > ol {
    color: var(--clr-gray-700);
}

.tutorial-article :focus-visible {
    outline: 3px solid var(--clr-cta);
    outline-offset: 3px;
}

.tutorial-article__related {
    margin-top: var(--sp-10);
    padding: var(--sp-6);
    background: var(--clr-bg-light);
    border: 1px solid var(--clr-accent-light);
    border-left: 4px solid var(--clr-primary);
    border-radius: var(--radius-md);
}

.tutorial-article__related h2 {
    margin-top: 0;
    padding-top: 0;
    font-size: var(--fs-lg);
}

.tutorial-article__related p {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .tutorial-hero {
        padding-bottom: var(--sp-12);
    }

    .tutorial-hero .breadcrumbs {
        margin-bottom: var(--sp-8);
    }

    .tutorial-article-wrap {
        padding-top: var(--sp-8);
        padding-bottom: var(--sp-10);
    }

    .tutorial-article {
        border-radius: var(--radius-md);
    }
}
