/* ---------------------------------------------------------------------------
 * Content-page sections (.afe-c): the relaid-out internal pages (About,
 * Programs, Grants, Cultural Plan …). Each section is a full-width group on
 * the 1320 grid; sections with a background are bands. Mirrors the
 * "Content pages · relayout" boards in Figma.
 * ------------------------------------------------------------------------ */
/* Section rules match the page body on the front end (.afe-prose) and the canvas in the editor (.is-root-container). */
:is(.afe-prose, .is-root-container) > .afe-c { margin-block: 0 !important; padding-block: clamp(2rem, 4vw, 3rem); }
:is(.afe-prose, .is-root-container) > .afe-c:first-child { padding-top: clamp(2.25rem, 4.5vw, 3.5rem); }
:is(.afe-prose, .is-root-container) > .afe-c.has-background { padding-block: clamp(3.5rem, 7vw, 6rem); }
:is(.afe-prose, .is-root-container) > .afe-c.has-background:last-child { margin-bottom: calc(var(--wp--preset--spacing--60) * -1) !important; }
:is(.afe-prose, .is-root-container) > .afe-c:not(.has-background) + .afe-c.has-background,
:is(.afe-prose, .is-root-container) > .afe-c.has-background + .afe-c:not(.has-background) { margin-top: clamp(1rem, 2vw, 1.5rem) !important; }
:is(.afe-prose, .is-root-container) > .afe-c + .afe-cta { margin-top: clamp(1.5rem, 3vw, 3rem) !important; }
:is(.afe-prose, .is-root-container) > .afe-cta:last-child { margin-bottom: calc(var(--wp--preset--spacing--60) * -1) !important; }

.afe-c > * + * { margin-block: 0; }
.afe-c :where(h2.wp-block-heading) { margin-block: 0 8px !important; }
/* Page rule shrinks headings inside columns; content sections keep the H2 scale. */
:is(.afe-prose, .is-root-container) .afe-c .wp-block-column h2.wp-block-heading { font-size: var(--wp--preset--font-size--xl); }
:is(.afe-prose, .is-root-container) .afe-cta .wp-block-column h2.wp-block-heading { font-size: var(--wp--preset--font-size--xxl); }
.afe-c :where(h2.wp-block-heading) + * { margin-top: 0 !important; }
.afe-c > .afe-c-desc { margin-top: 0 !important; font-size: var(--wp--preset--font-size--intro); color: var(--wp--preset--color--muted); max-width: 800px; }
.afe-c > :is(.afe-c-grid, .wp-block-columns, .afe-c-pills, .afe-c-accordion, .afe-testimonial) { margin-top: 32px !important; }
.afe-c > p + p { margin-top: 16px !important; }
.afe-c > h2 + p:not(.afe-c-desc) { margin-top: 24px !important; }
.afe-c .afe-c-eyebrow { margin: 0 0 8px !important; font: 700 .8125rem/1.2 var(--afe-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.afe-c.has-background .afe-c-eyebrow { color: var(--afe-ink); opacity: .7; }

/* Grids (core grid layout with a minimum column width) */
.afe-c-grid { gap: 24px; }
.afe-c-grid > * { margin: 0 !important; }

/* Text + media rows */
.afe-c .afe-c-split { gap: 32px 52px !important; margin-block: 0; }
.afe-c-split .wp-block-column > * + * { margin-top: 16px; }
.afe-c-split .wp-block-column > h2 + * { margin-top: 0; }
.afe-c-split .wp-block-column > .afe-c-eyebrow + h2 { margin-top: 0; }
.afe-c-meta { position: relative; padding-left: 26px; font: 600 1rem/1.4 var(--afe-ui); }
.afe-c-meta::before { content: ""; position: absolute; left: 0; top: .1em; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Media */
.afe-c .afe-c-img { margin: 0 !important; }
.afe-c .afe-c-img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--md); }
.afe-c .afe-c-img--portrait img { aspect-ratio: 4 / 5; }
.afe-c .afe-c-img--contain { padding: 40px; border-radius: 16px; background: var(--wp--preset--color--surface); }
.afe-c .afe-c-img--contain.afe-c-img--on-band { background: var(--afe-paper); }
.afe-c .afe-c-img--contain img { aspect-ratio: auto; max-height: 520px; object-fit: contain; border-radius: 0; }
.afe-c :is(.wp-block-embed, .wp-block-video) { margin: 0 !important; }
.afe-c :is(.wp-block-embed__wrapper, .wp-block-video video) { overflow: hidden; border-radius: 16px; background: var(--wp--preset--color--surface-2); }
.afe-c .wp-block-video video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.afe-c :is(.wp-block-embed, .wp-block-video) figcaption { margin: 12px 0 0; text-align: left; font: 800 1.25rem/1.25 var(--afe-ui); color: var(--afe-ink); }
.afe-c .wp-block-column > :is(.wp-block-embed, .wp-block-video) + :is(.wp-block-embed, .wp-block-video) { margin-top: 32px !important; }

/* Photo cards */
.afe-c-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--wp--custom--radius--md); background: var(--afe-paper); box-shadow: var(--wp--preset--shadow--card); }
.afe-c-card .afe-c-card__img { margin: 0 !important; }
.afe-c-card .afe-c-card__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.afe-c-card .afe-c-card__img--top img { object-position: 50% 30%; } /* portraits: keep the face in the 4:3 crop */
.afe-c-card__body { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 24px 24px 28px; }
.afe-c-card__body > * { margin: 0 !important; }
.afe-c-card__body h3 { font: 800 1.25rem/1.25 var(--afe-ui) !important; text-transform: none; letter-spacing: 0; }
.afe-c-card__body p { color: var(--wp--preset--color--muted); font-size: 1rem; }
.afe-c-card__body .wp-block-buttons { margin-top: auto !important; padding-top: 4px; }

/* Tinted panels */
:is(.afe-prose, .is-root-container) .afe-c .afe-c-panel { display: flex; flex-direction: column; gap: 12px; padding: 32px; border-radius: 16px; }
.afe-c-panel > * { margin: 0 !important; }
.afe-c-panel h3 { font-size: var(--wp--preset--font-size--md) !important; line-height: 1.05; }
.afe-c-panel p { font: 500 1rem/1.5 var(--afe-ui); }
.afe-c-panel .wp-block-buttons { margin-top: auto !important; padding-top: 8px; }
.afe-c-grid--compact { gap: 20px; }
:is(.afe-prose, .is-root-container) .afe-c .afe-c-grid--compact .afe-c-panel { padding: 24px; }
.afe-c-grid--compact .afe-c-panel h3 { font-size: 1.1875rem !important; }
.afe-c-grid--compact .afe-c-panel p { font-weight: 400; }

/* Bands */
.afe-c--band .is-style-subtitle { margin: 0; max-width: none; }
.afe-c .afe-c-band-cols { gap: 24px 52px !important; margin-top: 32px !important; }
.afe-c-band-cols .wp-block-column > * { margin: 0; }
.afe-c-band-cols .wp-block-column > * + * { margin-top: 14px; }
.afe-c-band-cols .wp-block-column > h3 { font-size: var(--wp--preset--font-size--md); }
.afe-c-band-cols .wp-block-column > * + h3 { margin-top: 28px; }
.afe-c-note { display: inline-block; padding: 10px 16px; border-radius: 999px; background: var(--afe-paper); font: 600 1rem/1.3 var(--afe-ui); }

/* Documents (core/file rows) */
.afe-c-docs { display: grid; gap: 16px; }
.afe-c .afe-c-doc { display: flex; align-items: center; gap: 16px; margin: 0 !important; padding: 16px 18px; border: 1px solid var(--afe-line); border-radius: var(--wp--custom--radius--md); background: var(--afe-paper); }
.afe-c .afe-c-doc::before { content: ""; flex: none; width: 40px; height: 40px; border-radius: 8px; background: var(--wp--preset--color--red-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E") center / 20px no-repeat; }
.afe-c .afe-c-doc > a:first-of-type { flex: 1; font: 700 1rem/1.3 var(--afe-ui); color: var(--afe-ink); text-decoration: none; }
.afe-c .afe-c-doc > a:first-of-type::after { content: "PDF"; display: block; margin-top: 2px; font: 400 .8125rem/1.3 var(--afe-ui); color: var(--wp--preset--color--muted); }
.afe-c .afe-c-doc > a:first-of-type:hover { text-decoration: underline; }
.afe-c .afe-c-doc .wp-block-file__button { flex: none; width: 36px; height: 36px; padding: 0; overflow: hidden; border: 2px solid var(--afe-ink); border-radius: 50%; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m-5-5 5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / 18px no-repeat; color: transparent; font-size: 0; }
.afe-c .afe-c-doc .wp-block-file__button:hover { background-color: var(--wp--preset--color--surface); }
.afe-c .wp-block-column .afe-c-docs { margin-top: 8px; }

/* Outline link pills */
.afe-c-pills { gap: 10px !important; }
.afe-c-pills .wp-block-button__link { padding: .6em 1em; border-width: 1px !important; border-color: var(--afe-line) !important; font: 600 .9375rem/1.2 var(--afe-ui); text-transform: none; letter-spacing: 0; }
.afe-c-pills .wp-block-button__link[target="_blank"]::after { content: " ↗"; }

/* Video grid */
.afe-c-video { display: flex; flex-direction: column; gap: 10px; }
.afe-c-video > * { margin: 0 !important; }
.afe-c-video h3 { font: 800 1.125rem/1.3 var(--afe-ui) !important; text-transform: none; letter-spacing: 0; }
.afe-c-byline { font-size: .875rem; color: var(--wp--preset--color--muted); }

/* Staff */
.afe-c-person { display: flex; gap: 24px; align-items: flex-start; padding: 24px; border: 1px solid var(--afe-line); border-radius: 16px; background: var(--afe-paper); }
.afe-c .afe-c-person__img { flex: none; width: 180px; margin: 0 !important; }
.afe-c .afe-c-person__img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wp--custom--radius--md); }
.afe-c-person__body { flex: 1; min-width: 0; }
.afe-c-person__body > * { margin: 0 !important; }
.afe-c-person__body > * + * { margin-top: 10px !important; }
.afe-c-person__body h3 { font: 800 1.25rem/1.25 var(--afe-ui) !important; text-transform: none; letter-spacing: 0; }
.afe-c-person__body .afe-c-eyebrow { margin-top: 4px !important; }
.afe-c-person__body p { font-size: 1rem; }
.afe-c-email a { font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 600px) {
	.afe-c-person { flex-direction: column; }
	.afe-c .afe-c-person__img { width: 140px; }
}

/* Board names */
:is(.afe-prose, .is-root-container) .afe-c .afe-c-names { columns: 2 200px; column-gap: 32px; padding: 0; list-style: none; font: 500 1rem/1.4 var(--afe-ui); }
.afe-c-names li { break-inside: avoid; margin: 0 0 10px !important; }

/* Stats */
.afe-c-stats { gap: 20px; }
.afe-c-stat { padding-top: 24px; border-top: 4px solid var(--afe-ink); }
.afe-c-stat > * { margin: 0 !important; }
.afe-c-stat__num { font: 400 var(--wp--preset--font-size--xl)/1 var(--afe-display); text-transform: uppercase; }
.afe-c-stat__label { margin-top: 12px !important; font: 500 1rem/1.5 var(--afe-ui); }

/* Letter */
.afe-c-sign { margin-top: 24px !important; font-size: .9375rem; }
:is(.afe-prose, .is-root-container) .afe-c .afe-c-aside { padding: 28px; border-radius: 16px; }
.afe-c-aside > * { margin: 0 !important; }
.afe-c-aside > * + * { margin-top: 12px !important; }
.afe-c-aside h3 { font-size: var(--wp--preset--font-size--md); }
.afe-c-aside :is(p, li) { font-size: 1rem; }
.afe-c .wp-block-column > .afe-c-img--contain + .afe-c-aside { margin-top: 24px !important; }

/* Two-column tables (award recipients) */
.afe-c .afe-c-table { margin: 0 !important; }
.afe-c-table table { width: 100%; border-collapse: collapse; }
.afe-c-table td { padding: 12px 0; border: 0; border-top: 1px solid var(--afe-ink); vertical-align: top; font: 600 1rem/1.4 var(--afe-ui); }
.afe-c-table td:first-child { width: 42%; padding-right: 16px; font-weight: 400; font-size: .875rem; }
.afe-c-table-card h3 { font-size: var(--wp--preset--font-size--lg) !important; }
.afe-c-table-card .afe-c-table { margin-top: 4px !important; }

/* Accordion of years */
.afe-c-accordion > * { margin: 0 !important; }
.afe-c-accordion .wp-block-details { max-width: none !important; margin: 0 !important; padding: 20px 0; border-bottom: 1px solid var(--afe-line); }
.afe-c-accordion summary { display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; font: 400 var(--wp--preset--font-size--md)/1.1 var(--afe-display); }
.afe-c-accordion summary::-webkit-details-marker { display: none; }
.afe-c-accordion summary::after { content: ""; width: 20px; height: 20px; flex: none; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s var(--afe-ease); }
.afe-c-accordion details[open] summary::after { transform: rotate(90deg); }
.afe-c-accordion .afe-c-table { margin-top: 16px !important; }
.afe-c-accordion .afe-c-table td { border-top-color: var(--afe-line); }

/* Quote section sits on the grid like the home page testimonial */
.afe-c--quote .afe-testimonial { margin-top: 0 !important; }

/* Relaid-out pages open on the page header (no hero photo); the featured image stays for sharing. */
main:has(> :is(.afe-prose, .is-root-container) > .afe-c:first-child) > .wp-block-post-featured-image { display: none; }

/* Panel extras: lists, label/value facts, fine print */
.afe-c-panel ul { margin: 0; padding-left: 1.1em; font: 400 1rem/1.5 var(--afe-ui); }
.afe-c-panel li + li { margin-top: 6px; }
.afe-c-panel .afe-c-eyebrow { margin: 0 !important; }
.afe-c .afe-c-facts td { display: block; width: auto !important; padding: 0; border: 0; }
.afe-c .afe-c-facts tr { display: block; padding: 10px 0; border-top: 1px solid var(--afe-ink); }
.afe-c .afe-c-facts td:first-child { font-size: .875rem; color: var(--wp--preset--color--muted); }
.afe-c-note-text { font-size: .875rem !important; color: var(--wp--preset--color--muted); }
.afe-c > .wp-block-buttons { margin-top: 24px !important; }

/* Spreadsheet download rows */
.afe-c .afe-c-doc--sheet::before { background-color: var(--wp--preset--color--green-light); }
.afe-c .afe-c-doc--sheet > a:first-of-type::after { content: "Spreadsheet"; }

/* Embedded third-party form (Little Green Light) in a card */
.afe-c-embed { margin-top: 24px !important; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--afe-line); border-radius: 16px; background: var(--afe-paper); box-shadow: var(--wp--preset--shadow--card); }
.afe-c-embed iframe { width: 100% !important; max-width: 100%; border: 0; }

/* Band list (e.g. homelands) reads in two columns */
.afe-c--band .afe-c-names { margin-top: 16px !important; font-size: 1.0625rem; }

/* ---------------------------------------------------------------------------
 * Form pages: a Gravity Form in a card (.afe-c-formcard) with an aside stack.
 * Scoped here so forms elsewhere (Armory hub) keep their own styling.
 * ------------------------------------------------------------------------ */
.afe-c .afe-c-split--form { gap: 32px 40px !important; }
.afe-c-formcard { padding: clamp(1.5rem, 3.5vw, 2.5rem); border: 1px solid var(--afe-line); border-radius: 16px; background: var(--afe-paper); box-shadow: var(--wp--preset--shadow--card); }
.afe-c-formcard > * { margin: 0 !important; }
.afe-c-formcard > * + * { margin-top: 16px !important; }
.afe-c-formcard > h2.wp-block-heading { font-size: var(--wp--preset--font-size--lg) !important; }
.afe-c-formcard > .gform_wrapper, .afe-c-formcard > .gform_confirmation_wrapper { margin-top: 24px !important; }
.afe-c-aside-stack { display: flex; flex-direction: column; gap: 20px; }
.afe-c-aside-stack > * { margin: 0 !important; }
:is(.afe-prose, .is-root-container) .afe-c .afe-c-aside-stack .afe-c-panel { padding: 28px; }
.afe-c .afe-c-img--wide img { aspect-ratio: 23 / 14; border-radius: 16px; }
.afe-c-aside-stack .afe-c-facts td:last-child { overflow-wrap: anywhere; }
@media (min-width: 782px) { .afe-c-split--form > .wp-block-column:last-child > .afe-c-aside-stack { position: sticky; top: calc(var(--afe-sticky-offset) + 24px); } }

.afe-c-formcard .gform_wrapper { --afe-field-border: var(--wp--preset--color--muted); font-family: var(--afe-ui); }
.afe-c-formcard .gform_wrapper .gform_fields { row-gap: 22px; column-gap: 20px; }
.afe-c-formcard .gform_wrapper :is(.gfield_label, legend.gfield_label) { margin-bottom: 8px; padding: 0; font: 600 1rem/1.35 var(--afe-ui); color: var(--afe-ink); }
.afe-c-formcard .gform_wrapper .gfield_required { margin-left: 4px; color: var(--afe-red-ink); font-size: .8125rem; font-weight: 500; }
.afe-c-formcard .gform_wrapper .gfield_description { padding-top: 6px; font-size: .875rem; line-height: 1.45; color: var(--wp--preset--color--muted); }
.afe-c-formcard .gform_wrapper :is(.gfield_label, legend) + .gfield_description { padding: 0 0 8px; }
.afe-c-formcard .gform_wrapper :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], textarea, select) {
	box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid var(--afe-field-border); border-radius: 8px; background: var(--afe-paper);
	font: 500 1rem/1.4 var(--afe-ui); color: var(--afe-ink); transition: border-color .15s, box-shadow .15s;
}
.afe-c-formcard .gform_wrapper textarea { min-height: 140px; }
.afe-c-formcard .gform_wrapper select { appearance: none; padding-right: 40px; background: var(--afe-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; }
.afe-c-formcard .gform_wrapper :is(input, textarea, select):focus { outline: none; border-color: var(--afe-ink); box-shadow: 0 0 0 3px var(--wp--preset--color--yellow-light); }
.afe-c-formcard .gform_wrapper .ginput_complex { gap: 12px 12px; }
.afe-c-formcard .gform_wrapper .ginput_complex label, .afe-c-formcard .gform_wrapper .gform-field-label--type-sub { padding-top: 4px; font-size: .8125rem; color: var(--wp--preset--color--muted); }
.afe-c-formcard .gform_wrapper .gfield_checkbox, .afe-c-formcard .gform_wrapper .gfield_radio { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); gap: 10px 20px; }
.afe-c-formcard .gform_wrapper .gchoice { display: flex; align-items: flex-start; gap: 10px; margin: 0; }
.afe-c-formcard .gform_wrapper .gchoice label, .afe-c-formcard .gform_wrapper .ginput_container_consent label { font: 400 1rem/1.4 var(--afe-ui); max-width: none; }
.afe-c-formcard .gform_wrapper :is(input[type="checkbox"], input[type="radio"]) { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--afe-ink); }
.afe-c-formcard .gform_wrapper .ginput_container_consent { display: flex; align-items: flex-start; gap: 10px; }
.afe-c-formcard .gform_wrapper .gform_drop_area { padding: 28px 20px; border: 1.5px dashed var(--afe-field-border); border-radius: 10px; background: var(--wp--preset--color--surface); text-align: center; }
.afe-c-formcard .gform_wrapper .gform_drop_instructions { font: 500 1rem/1.4 var(--afe-ui); color: var(--wp--preset--color--muted); }
.afe-c-formcard .gform_wrapper .gform_button_select_files { margin-left: 6px; padding: .45em 1em; border: 2px solid var(--afe-ink); border-radius: 999px; background: var(--afe-paper); font: 400 .875rem/1 var(--afe-display); text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.afe-c-formcard .gform_wrapper .gfield--type-section { margin-top: 12px; padding: 20px 0 0; border-top: 1px solid var(--afe-line); border-bottom: 0; }
.afe-c-formcard .gform_wrapper .gsection_title { margin: 0; font: 400 var(--wp--preset--font-size--md)/1.1 var(--afe-display); text-transform: uppercase; }
.afe-c-formcard .gform_wrapper .gform_footer { margin: 28px 0 0; padding: 0; }
.afe-c-formcard .gform_wrapper .gform_footer :is(input[type="submit"], button) {
	min-height: 0; padding: .8em 1.8em .7em; border: 2px solid var(--afe-green-ink); border-radius: 999px; background: var(--afe-green-ink); color: var(--afe-paper);
	font: 400 1.0625rem/1 var(--afe-display); text-transform: uppercase; letter-spacing: .04em; cursor: pointer; transition: background .15s, border-color .15s;
}
.afe-c-formcard .gform_wrapper .gform_footer :is(input[type="submit"], button):hover { background: var(--afe-ink); border-color: var(--afe-ink); }
/* Save & Continue is the secondary action: green outline; fills black on hover like other outline buttons. */
.afe-c-formcard .gform_wrapper :is(.gform_footer, .gform_page_footer) button.gform_save_link { display: inline-flex; align-items: center; gap: .5em; background: transparent; color: var(--afe-green-ink); }
.afe-c-formcard .gform_wrapper :is(.gform_footer, .gform_page_footer) button.gform_save_link:hover { color: var(--afe-paper); }
.afe-c-formcard .gform_wrapper .gform_save_link svg { width: 1.1em; height: 1.1em; }
.afe-c-formcard .gform_wrapper .gform_save_link svg :is(path, g) { fill: currentColor; }
.afe-c-formcard .gform_wrapper .gfield_error :is(input, textarea, select) { border-color: var(--wp--preset--color--red); }
.afe-c-formcard .gform_wrapper .gform_validation_errors { border-radius: 10px; }
.afe-c-formcard .gform_wrapper .gform_heading { display: none; }
.afe-c-formcard .gform_wrapper .charleft { font-size: .8125rem; color: var(--wp--preset--color--muted); }

/* Long-form policy text */
.afe-c-prose .wp-block-column > p, .afe-c-prose .wp-block-column > :is(h2, h3) { max-width: 72ch; }
.afe-c-prose .wp-block-column > h3 { margin-top: 32px; font-size: var(--wp--preset--font-size--md); }
/* Long documents (Privacy Policy) use H2 sections at the H3 size and spacing; beats the section-H2 rules above. */
:is(.afe-prose, .is-root-container) .afe-c .afe-c-prose .wp-block-column > h2.wp-block-heading { margin: 32px 0 0 !important; font-size: var(--wp--preset--font-size--md); }
.afe-c .afe-c-prose .wp-block-column > h2.wp-block-heading + * { margin-top: 16px !important; }
.afe-c-prose .wp-block-column > p + p { margin-top: 12px; }
:is(.afe-prose, .is-root-container) > .afe-c:is(.afe-c--gform, .afe-c--prose):first-child { padding-top: clamp(1.75rem, 3vw, 2.5rem); }
.afe-c-formcard .gform_wrapper input[type="file"] { max-width: 100%; padding: 10px; border: 1.5px dashed var(--afe-field-border); border-radius: 10px; background: var(--wp--preset--color--surface); font: 500 .9375rem/1.4 var(--afe-ui); }
.afe-c-formcard .gform_wrapper input[type="file"]::file-selector-button { margin-right: 12px; padding: .5em 1.1em; border: 2px solid var(--afe-ink); border-radius: 999px; background: var(--afe-paper); font: 400 .875rem/1 var(--afe-display); text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.afe-c-formcard .gform_wrapper .gfield_choice_all_toggle { margin-top: 12px; padding: .45em 1em; border: 2px solid var(--afe-ink); border-radius: 999px; background: var(--afe-paper); font: 400 .8125rem/1 var(--afe-display); text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.afe-c-formcard .gform_wrapper .ginput_container_time { min-width: 72px; }
.afe-c-formcard .gform_wrapper .ginput_container_time input { width: 100%; min-width: 64px; }
.afe-c-formcard .gform_wrapper .gfield_time_ampm select { min-width: 92px; }
.afe-c-formcard .gform_wrapper .ginput_container_date input { min-width: 160px; }
.afe-c > :first-child { margin-top: 0 !important; }

/* Photo galleries: 4-up cropped grid */
.afe-c--gallery .wp-block-gallery { margin-top: 32px !important; --wp--style--unstable-gallery-gap: 12px; gap: 12px; }
@media (min-width: 900px) {
	.afe-c--gallery .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) { width: calc(25% - 9px); }
}
.afe-c--gallery .wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 3; height: 100%; object-fit: cover; border-radius: 8px; }
.afe-c--gallery .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { border-radius: 0 0 8px 8px; }
.afe-c--gallery + .afe-c--gallery { border-top: 1px solid var(--afe-line); }

/* Product cards (Shop) */
.afe-c-product { display: flex; flex-direction: column; gap: 12px; }
.afe-c-product > * { margin: 0 !important; }
.afe-c .afe-c-product__img { padding: 24px; border-radius: 16px; background: var(--wp--preset--color--surface); }
.afe-c .afe-c-product__img img { display: block; width: 100%; aspect-ratio: 10 / 13; object-fit: contain; }
.afe-c-product h3 { font: 800 1.25rem/1.25 var(--afe-ui) !important; text-transform: none; letter-spacing: 0; }

/* Sponsor strip */
.afe-c-sponsor { gap: 24px 40px; padding-block: 24px; border-block: 1px solid var(--afe-line); }
.afe-c-sponsor > p { margin: 0; max-width: 60ch; }
.afe-c .afe-c-sponsor__logo { margin: 0; padding: 18px 24px; border-radius: 12px; background: var(--afe-ink); }
.afe-c .afe-c-sponsor__logo img { display: block; width: auto; max-width: 240px; max-height: 80px; }

/* Map embed in a text + media row */
.afe-c-embed--map { margin: 0 !important; padding: 0; border: 0; box-shadow: none; }
.afe-c-embed--map iframe { display: block; width: 100%; height: 420px !important; border-radius: 12px !important; }

/* Older Gravity Forms markup (e.g. Arts Awards nomination): same look */
.afe-c-formcard .gform_legacy_markup_wrapper ul.gform_fields { margin: 0; padding: 0; list-style: none; display: grid; gap: 22px; }
.afe-c-formcard .gform_legacy_markup_wrapper li.gfield { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.afe-c-formcard .gform_legacy_markup_wrapper .ginput_container :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="file"]) { width: 100% !important; }
.afe-c-formcard .gform_legacy_markup_wrapper .ginput_complex { display: flex; flex-wrap: wrap; gap: 12px; }
.afe-c-formcard .gform_legacy_markup_wrapper .ginput_complex > span { flex: 1 1 200px; width: auto !important; margin: 0 !important; padding: 0 !important; }
.afe-c-formcard .gform_legacy_markup_wrapper .gsection { margin: 12px 0 0 !important; padding: 20px 0 0 !important; border-top: 1px solid var(--afe-line); border-bottom: 0; }
.afe-c-formcard .gform_legacy_markup_wrapper .gfield_required { color: var(--afe-red-ink); }

/* Phone tap targets: 44px minimum */
@media (max-width: 781px) {
	.afe-c-pills .wp-block-button__link, .afe-c-card__body .wp-block-button__link { min-height: 44px; display: inline-flex; align-items: center; }
	.afe-c .afe-c-doc .wp-block-file__button { width: 44px; height: 44px; }
	.afe-c-formcard .gform_wrapper :is(.gfield_choice_all_toggle, .gform_button_select_files) { min-height: 44px; padding-inline: 1.2em; }
	.afe-c-formcard .gform_wrapper .gform-datepicker-toggle { min-width: 44px; min-height: 44px; }
	.afe-c-formcard .gform_wrapper input[type="file"]::file-selector-button { min-height: 40px; }
}

/* ---------------------------------------------------------------------------
 * Stacked layouts (phones + tablets, where columns stack)
 * ------------------------------------------------------------------------ */
@media (max-width: 1100px) {
	/* Image-left rows: keep heading and text first so media sits under its own section. */
	.afe-c-split--flip > .wp-block-column:first-child { order: 2; }
	/* Form pages: key facts (deadline, amount, template) before a long form. */
	.afe-c-split--form > .wp-block-column:last-child { order: -1; }
}
@media (max-width: 781px) {
	/* The page rule crops column images on phones; logos and flyers must stay whole. */
	:is(.afe-prose, .is-root-container) .afe-c .wp-block-column figure.wp-block-image.afe-c-img--contain img { object-fit: contain; max-height: 60vh; }
	.afe-c .afe-c-img--contain { padding: 24px; }
	/* Embedded third-party forms get the width back on phones. */
	.afe-c-embed { padding: 8px; }
	.afe-c-formcard { padding: 20px; }
}

/* Long galleries open on the first 16 photos (app.js adds the toggle). */
.afe-c--gallery .wp-block-gallery.is-collapsed > figure:nth-of-type(n+17) { display: none !important; }
.afe-c-gallery-more { margin-top: 24px; }

/* Screen-reader-only headings (WCAG 1.3.1 outline): hidden on the site, shown dimmed in the editor so staff can find and edit them. */
.afe-c > .screen-reader-text:first-child + * { margin-top: 0 !important; } /* the visible content still starts the section */
.is-root-container .wp-block-heading.screen-reader-text {
	position: static !important; width: auto; height: auto; margin: 0 0 8px !important; overflow: visible; clip: auto; clip-path: none;
	font: 600 .8125rem/1.3 var(--afe-ui); text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--muted); opacity: .8;
}
.is-root-container .wp-block-heading.screen-reader-text::before { content: "Screen readers only · "; font-weight: 400; }
