/**
 * Standalone page templates: About, Contact, Legal, Advertise.
 */

.pitchside-shell--page {
    max-width: min(52rem, var(--pitchside-max));
}

.pitchside-shell--page:not(:has(.pitchside-sidebar)) {
    grid-template-columns: 1fr;
}

.pitchside-page {
    min-width: 0;
}

.pitchside-page__header {
    margin: 0 0 1.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid color-mix(in srgb, var(--pitchside-ink) 10%, transparent);
}

.pitchside-page__kicker {
    margin: 0 0 0.35rem;
    font-family: var(--pitchside-condensed);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pitchside-accent);
}

.pitchside-page__title {
    margin: 0;
    font-family: var(--pitchside-condensed);
    font-size: clamp(1.85rem, 5vw, 2.7rem);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.08;
    color: var(--pitchside-titles);
}

.pitchside-page--about .pitchside-page__title {
    font-size: clamp(1.4rem, 3.2vw, 1.85rem);
    letter-spacing: 0.02em;
}

.pitchside-page__lead {
    margin: 0.65rem 0 0;
    max-width: none;
    color: var(--pitchside-muted);
    font-size: 1.05rem;
    line-height: 1.55;
}

.pitchside-page--contact .pitchside-page__lead {
    max-width: none;
}

.pitchside-page__hero {
    margin: 0 0 1.5rem;
}

.pitchside-page__hero img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.pitchside-page__grid {
    display: grid;
    gap: 1.5rem;
}

.pitchside-page__body {
    font-family: var(--pitchside-serif);
    font-size: 1.125rem;
    line-height: 1.65;
    color: color-mix(in srgb, var(--pitchside-ink) 92%, #000);
}

.pitchside-page__body > *:first-child {
    margin-top: 0;
}

.pitchside-page__body > *:last-child {
    margin-bottom: 0;
}

.pitchside-page__body p {
    margin: 0 0 1rem;
}

.pitchside-page__body h2,
.pitchside-page__body h3 {
    margin: 1.75rem 0 0.65rem;
    font-family: var(--pitchside-condensed);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    line-height: 1.15;
    color: var(--pitchside-titles);
}

.pitchside-page__body h2 {
    font-size: clamp(1.25rem, 3vw, 1.55rem);
}

.pitchside-page__body h3 {
    font-size: 1.1rem;
}

.pitchside-page__body a {
    color: var(--pitchside-accent);
    text-decoration: none;
}

.pitchside-page__body a:hover,
.pitchside-page__body a:focus-visible {
    color: var(--pitchside-primary);
}

.pitchside-page__body ul,
.pitchside-page__body ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
}

.pitchside-page__body li + li {
    margin-top: 0.35rem;
}

.pitchside-page--narrow .pitchside-page__body {
    max-width: 40rem;
}

.pitchside-page--about .pitchside-page__body,
.pitchside-page--about .pitchside-page__body .wp-block-group,
.pitchside-page--about .pitchside-page__body .has-background,
.pitchside-page--about .pitchside-page__body p,
.pitchside-page--about .pitchside-page__body ul,
.pitchside-page--about .pitchside-page__body ol,
.pitchside-page--about .pitchside-page__body li,
.pitchside-page__body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.pitchside-page__body > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.pitchside-page--about .pitchside-page__body {
    font-size: 1.08rem;
    line-height: 1.8;
}

.pitchside-page--about .pitchside-page__body ul,
.pitchside-page--about .pitchside-page__body ol,
.pitchside-page--about .pitchside-page__body .wp-block-list,
.pitchside-page--about .pitchside-page__body ul.wp-block-list,
.pitchside-page--about .pitchside-page__body ol.wp-block-list {
    margin: 0 0 1.15rem 1.25rem;
    padding-left: 1.25rem;
    padding-inline-start: 1.25rem;
    list-style-position: outside;
}

.pitchside-page--about .pitchside-page__body ul,
.pitchside-page--about .pitchside-page__body ul.wp-block-list {
    list-style-type: disc;
}

.pitchside-page--about .pitchside-page__body ol,
.pitchside-page--about .pitchside-page__body ol.wp-block-list {
    list-style-type: decimal;
}

.pitchside-page--about .pitchside-page__body h2,
.pitchside-page--about .pitchside-page__body h3 {
    margin: 1.6rem 0 0.55rem;
    padding: 0;
    border: 0;
    text-transform: none;
    letter-spacing: 0.01em;
    font-size: 1.2rem;
}

.pitchside-page__follow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.25rem;
    margin-top: 2rem;
    padding-top: 1.15rem;
    border-top: 1px solid color-mix(in srgb, var(--pitchside-ink) 10%, transparent);
}

.pitchside-page__follow-label {
    margin: 0;
    font-family: var(--pitchside-condensed);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pitchside-muted);
}

.pitchside-page-links {
    margin-top: 1.5rem;
    font-size: 0.9rem;
}

@media (min-width: 40rem) {
    .pitchside-shell--page {
        padding-inline: 1rem;
    }
}

@media (min-width: 48rem) {
    .pitchside-shell--page {
        max-width: min(58rem, var(--pitchside-max));
    }

    .pitchside-shell--page:has(.pitchside-page--wide) {
        max-width: min(64rem, var(--pitchside-max));
    }

    .pitchside-shell--page:has(.pitchside-page--narrow) {
        max-width: min(46rem, var(--pitchside-max));
    }
}

/**
 * Contact only: What to include (left) + form (right).
 */
.pitchside-contact-split {
    display: grid;
    gap: 1.5rem;
    margin: 1.75rem 0 1.75rem;
    align-items: start;
}

.pitchside-contact-split.wp-block-columns {
    display: grid;
    flex-wrap: unset;
}

.pitchside-contact-split .wp-block-column {
    margin: 0;
    width: 100%;
    flex-basis: auto !important;
}

.pitchside-contact-split__copy > *:first-child,
.pitchside-contact-split__copy .wp-block-heading:first-child {
    margin-top: 0;
}

.pitchside-contact-split__copy > *:last-child {
    margin-bottom: 0;
}

.pitchside-contact-split__form .wpcf7 {
    margin-top: 0;
}

.pitchside-contact-split__copy {
    order: 1;
}

.pitchside-contact-split__form {
    order: 2;
}

@media (min-width: 64rem) {
    .pitchside-contact-split,
    .pitchside-contact-split.wp-block-columns {
        grid-template-columns: minmax(22rem, 1.25fr) minmax(16rem, 0.9fr);
        column-gap: 2.75rem;
        row-gap: 0;
        margin-top: 2.25rem;
    }

    .pitchside-contact-split__form {
        order: 1;
    }

    .pitchside-contact-split__copy {
        order: 2;
    }
}

/**
 * Contact Form 7 — matches comment form / editorial controls.
 */
.pitchside-page__body .wpcf7 {
    margin-top: 0.35rem;
}

.pitchside-page__body .wpcf7 form {
    display: grid;
    gap: 0.55rem;
    margin: 0;
}

.pitchside-page__body .wpcf7 form > p {
    margin: 0;
}

.pitchside-page__body .wpcf7 form > p:has(.wpcf7-submit) {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: 100%;
    margin-top: 0.15rem;
}

.pitchside-page__body .wpcf7 label {
    display: block;
    margin: 0 0 0.25rem;
    font-family: var(--pitchside-sans);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--pitchside-ink);
}

.pitchside-page__body .wpcf7 .wpcf7-form-control-wrap {
    display: block;
}

.pitchside-page__body .wpcf7 input[type="text"],
.pitchside-page__body .wpcf7 input[type="email"],
.pitchside-page__body .wpcf7 input[type="url"],
.pitchside-page__body .wpcf7 input[type="tel"],
.pitchside-page__body .wpcf7 input[type="number"],
.pitchside-page__body .wpcf7 input[type="date"],
.pitchside-page__body .wpcf7 select,
.pitchside-page__body .wpcf7 textarea {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0.6rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--pitchside-ink) 16%, transparent);
    border-radius: var(--pitchside-radius);
    background: var(--pitchside-input-bg);
    color: var(--pitchside-ink);
    font: inherit;
    line-height: 1.4;
    box-sizing: border-box;
    outline: none;
    box-shadow: none;
    appearance: none;
}

.pitchside-page__body .wpcf7 textarea {
    min-height: 7.5rem;
    resize: vertical;
}

.pitchside-page__body .wpcf7 input:focus,
.pitchside-page__body .wpcf7 input:focus-visible,
.pitchside-page__body .wpcf7 select:focus,
.pitchside-page__body .wpcf7 select:focus-visible,
.pitchside-page__body .wpcf7 textarea:focus,
.pitchside-page__body .wpcf7 textarea:focus-visible {
    outline: none;
    box-shadow: none;
    border-color: var(--pitchside-ink);
}

.pitchside-page__body .wpcf7 .wpcf7-not-valid {
    border-color: #b42318;
}

.pitchside-page__body .wpcf7 .wpcf7-not-valid-tip {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: #b42318;
}

.pitchside-page__body .wpcf7 .wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 10rem;
    min-height: 2.5rem;
    margin: 0;
    padding: 0.55rem 1.15rem;
    border: 0;
    border-radius: var(--pitchside-radius);
    background: var(--pitchside-accent);
    color: #fff;
    font-family: var(--pitchside-condensed);
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
}

.pitchside-page__body .wpcf7 .wpcf7-submit:hover,
.pitchside-page__body .wpcf7 .wpcf7-submit:focus-visible {
    filter: brightness(1.06);
    outline: none;
}

.pitchside-page__body .wpcf7 .wpcf7-spinner {
    display: none !important;
}

.pitchside-page__body .wpcf7 .wpcf7-submit:disabled {
    cursor: wait;
    opacity: 0.85;
}

.pitchside-page__body .wpcf7 .wpcf7-response-output {
    margin: 0.65rem 0 0;
    padding: 0.7rem 0.85rem;
    border: 1px solid color-mix(in srgb, var(--pitchside-ink) 14%, transparent);
    background: transparent;
    font-size: 0.9rem;
    line-height: 1.45;
}

.pitchside-page__body .wpcf7 form.sent .wpcf7-response-output {
    border-color: color-mix(in srgb, #15803d 45%, transparent);
    color: #15803d;
}

.pitchside-page__body .wpcf7 form.failed .wpcf7-response-output,
.pitchside-page__body .wpcf7 form.aborted .wpcf7-response-output,
.pitchside-page__body .wpcf7 form.invalid .wpcf7-response-output,
.pitchside-page__body .wpcf7 form.unaccepted .wpcf7-response-output,
.pitchside-page__body .wpcf7 form.spam .wpcf7-response-output {
    border-color: color-mix(in srgb, #b42318 45%, transparent);
    color: #b42318;
}

