/* Reusable, content-width introduction for the homepage and regular pages. */
:is(.site-main, .editor-styles-wrapper) .im-intro {
    box-sizing: border-box;
    width: min(100% - 40px, 900px);
    max-width: 900px;
    margin: clamp(36px, 5vw, 72px) auto clamp(40px, 5vw, 64px);
    padding: 0;
    font-family: var(--im-font, "Inter", system-ui, sans-serif);
    text-align: center;
}

:is(.site-main, .editor-styles-wrapper) .im-intro--left {
    text-align: left;
}

:is(.site-main, .editor-styles-wrapper) .im-intro-heading {
    margin: 0;
    color: var(--im-deep, #6a2316);
    font-family: var(--im-font-display, "Fraunces", Georgia, serif);
    font-size: clamp(30px, 4vw, 54px);
    font-weight: 600;
    letter-spacing: -.01em;
    line-height: 1.15;
    text-align: inherit;
    text-wrap: balance;
}

:is(.site-main, .editor-styles-wrapper) .im-intro-body {
    max-width: 720px;
    margin: 18px auto 0;
    color: var(--im-ink, #2b1d16);
    font-family: inherit;
    font-size: clamp(16px, 1.5vw, 19px);
    line-height: 1.65;
    text-align: inherit;
}

:is(.site-main, .editor-styles-wrapper) .im-intro--left .im-intro-body {
    margin-left: 0;
}

:is(.site-main, .editor-styles-wrapper) .im-intro-body p {
    margin: 0 0 .8em;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

:is(.site-main, .editor-styles-wrapper) .im-intro-body p:last-child {
    margin-bottom: 0;
}

:is(.site-main, .editor-styles-wrapper) .im-intro-body a {
    color: var(--im-accent, #a8401f);
    text-decoration: underline;
    text-underline-offset: .15em;
}