/* Additions for the Hugo build on top of the designer's main.css / subpage.css. */

/* Statement cards (not quotations): no opening quote mark. */
.testi--plain .testi__card blockquote::before { content: none; }
.testi--plain .testi__author a { color: inherit; }

/* Markdown-rendered blocks inside leads and cards. */
.sp-lead > p + p, .sp-hero__lead > p + p, .sp-cap__desc > p + p { margin-top: 0.8em; }
.sp-cap__quote { margin-top: 0.8em; font-style: italic; }
.sp-info .sp-contact__actions, .sp-are .sp-contact__actions { margin-top: clamp(20px, 2.4vw, 32px); display: flex; flex-wrap: wrap; gap: 14px; }

/* Article body without a table of contents. */
.sp-article--solo { grid-template-columns: minmax(0, 860px); }

/* Attribution under a quoted statement. */
.sp-statement__by { margin-top: 20px; text-align: center; color: var(--text-dim); font-family: var(--mono); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; }
.sp-statement__by strong { color: var(--text); font-weight: 400; }

/* Contact page: embedded form beside the map. */
.sp-contact-form__grid { margin-top: clamp(28px, 4vw, 52px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); align-items: stretch; }
.sp-contact-form__grid .hs-form-wrapper { min-height: 420px; }
.sp-contact-form__map { width: 100%; height: 100%; min-height: 420px; border: 1px solid var(--line); }
@media (max-width: 900px) { .sp-contact-form__grid { grid-template-columns: 1fr; } }

/* Homepage: linked step titles keep the heading colour. */
.process__detail a { color: inherit; text-decoration: none; }

/* Markdown horizontal rules and images in article bodies. */
.sp-prose hr { height: 1px; margin: 2.4em 0; border: 0; background: var(--line); }
.sp-prose img { max-width: 100%; height: auto; }
.sp-cover img { display: block; width: 100%; max-height: 460px; object-fit: contain; border: 1px solid var(--line); background: #0c0d0c; }
.sp-story-figure { border-top: 0; padding-top: 0; }
