/* NOVUS — Prose ------------------------------------------------------------- */

.poly-prose__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(40px, 6vw, 104px);
}

.poly-prose--aside .poly-prose__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    align-items: start;
}

.poly-prose__main { max-width: 74ch; }

.poly-prose__title { color: var(--poly-title); margin-bottom: clamp(1.4rem, 2.4vw, 2.2rem); }

.poly-prose__body {
    font-size: clamp(1rem, 1.15vw, 1.075rem);
    line-height: 1.8;
    color: var(--poly-body);
}

.poly-prose__body > * + * { margin-top: 1.1em; }

.poly-prose__body h2,
.poly-prose__body h3 {
    margin-top: 2.1em;
    font-family: var(--poly-font-display);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.15;
    color: var(--poly-title);
}

.poly-prose__body h2 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
.poly-prose__body h3 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); }

.poly-prose__body ul,
.poly-prose__body ol { display: grid; gap: .55em; padding-left: 0; }

.poly-prose__body ul li {
    position: relative;
    padding-left: 1.6em;
}

.poly-prose__body ul li::before {
    content: "";
    position: absolute;
    left: .2em;
    top: .72em;
    width: .5em;
    height: .5em;
    border-radius: 50%;
    background: var(--poly-accent);
}

.poly-prose__body a {
    color: var(--poly-brand);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
}

.poly-prose__body strong { color: var(--poly-title); }

/* ------------------------------------------------------------------ aside */

.poly-prose__aside {
    position: sticky;
    top: calc(var(--poly-header-h, 80px) + 32px);
    display: grid;
    gap: .8rem;
    padding: clamp(26px, 2.6vw, 36px);
    background: var(--poly-mist);
    border: 1px solid var(--poly-line);
    border-radius: var(--poly-radius-lg);
}

.poly-section--mist .poly-prose__aside { background: var(--poly-white); }

.poly-prose__aside-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: var(--poly-radius);
    background: var(--poly-brand);
    color: var(--poly-white);
}

.poly-prose__aside-icon .poly-icon { width: 22px; height: 22px; }

.poly-prose__aside-title {
    margin-top: .4rem;
    font-family: var(--poly-font-display);
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: -.02em;
    color: var(--poly-title);
}

.poly-prose__aside-text { font-size: .95rem; line-height: 1.65; }
.poly-prose__aside .poly-btn { justify-self: start; margin-top: .6rem; }

@media (max-width: 960px) {
    .poly-prose--aside .poly-prose__grid { grid-template-columns: minmax(0, 1fr); }
    .poly-prose__aside { position: static; }
}
